cityssm/lottery-licence-manager

View on GitHub
public/javascripts/main.min.js

Summary

Maintainability
A
0 mins
Test Coverage
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const llm={arrayToObject:(e,t)=>{const s={};for(const r of e)s[r[t]]=r;return s},formatDollarsAsHTML:e=>e<0?'<span class="has-text-danger">($'+(-1*e).toFixed(2)+")</span>":"$"+e.toFixed(2),initializeDateRangeSelector:(e,t)=>{const s=e.querySelector("[data-field='rangeType']").querySelector("select"),r=e.querySelector("[data-field='range']").querySelector("select"),a=r.querySelector("[data-range-type='']"),i=r.querySelector("[data-range-type='year']"),n=r.querySelector("[data-range-type='quarter']"),l=r.querySelector("[data-range-type='month']"),o=e.querySelector("[data-field='start']").querySelector("input"),d=e.querySelector("[data-field='end']").querySelector("input"),c=()=>{const e=r.value;if(""===e)return;let s="",a="";const i=e.split("-");if(1===i.length)s=i[0]+"-01-01",a=i[0]+"-12-31";else if("q"===i[1]){const e=3*(Number.parseInt(i[2],10)-1);s=i[0]+"-"+("0"+(e+1).toString()).slice(-2)+"-01";const t=new Date(Number.parseInt(i[0],10),e+3,0);a=i[0]+"-"+("0"+(t.getMonth()+1).toString()).slice(-2)+"-"+t.getDate().toString()}else{const e=Number.parseInt(i[1],10)-1;s=i[0]+"-"+("0"+(e+1).toString()).slice(-2)+"-01";const t=new Date(Number.parseInt(i[0],10),e+1,0);a=i[0]+"-"+("0"+(t.getMonth()+1).toString()).slice(-2)+"-"+t.getDate().toString()}o.value=s,d.setAttribute("min",s),d.value=a,t&&t()};s.addEventListener("change",()=>{const e=s.value;""===e?(r.setAttribute("readonly","readonly"),r.classList.add("is-readonly"),a.classList.remove("is-hidden"),i.classList.add("is-hidden"),n.classList.add("is-hidden"),l.classList.add("is-hidden"),r.value="",o.removeAttribute("readonly"),o.classList.remove("is-readonly"),d.removeAttribute("readonly"),d.classList.remove("is-readonly")):(r.removeAttribute("readonly"),r.classList.remove("is-readonly"),"year"===e?(i.classList.remove("is-hidden"),r.value=i.children[0].value):i.classList.add("is-hidden"),"quarter"===e?(n.classList.remove("is-hidden"),r.value=n.children[0].value):n.classList.add("is-hidden"),"month"===e?(l.classList.remove("is-hidden"),r.value=l.children[0].value):l.classList.add("is-hidden"),a.classList.add("is-hidden"),o.setAttribute("readonly","readonly"),o.classList.add("is-readonly"),d.setAttribute("readonly","readonly"),d.classList.add("is-readonly"),c())}),r.addEventListener("change",c),o.addEventListener("change",()=>{d.setAttribute("min",o.value),t()}),d.addEventListener("change",t)},getDefaultConfigProperty:(e,t)=>{try{const s=window.localStorage.getItem("defaultConfigProperties");if(s){const r=JSON.parse(s);return void t(r[e])}}catch(e){}const s=document.querySelector("main").dataset.urlPrefix;cityssm.postJSON(s+"/dashboard/doGetDefaultConfigProperties",{},s=>{try{window.localStorage.setItem("defaultConfigProperties",JSON.stringify(s))}catch(e){}t(s[e])})},initializeTabs:(e,t)=>{if(!e)return;const s=e.classList.contains("panel-tabs")||e.classList.contains("menu-list"),r=e.querySelectorAll(s?"a":"li"),a=s?r:e.querySelectorAll("a"),i=e=>{e.preventDefault();const i=e.currentTarget,n=document.querySelector(i.getAttribute("href"));for(const[e,t]of r.entries())t.classList.remove("is-active"),a[e].setAttribute("aria-selected","false");(s?i:i.parentElement).classList.add("is-active"),i.setAttribute("aria-selected","true");const l=n.parentElement.querySelectorAll(".tab-content");for(const e of l)e.classList.remove("is-active");n.classList.add("is-active"),(null==t?void 0:t.onshown)&&t.onshown(n)};for(const e of r)(s?e:e.querySelector("a")).addEventListener("click",i)}};