cityssm/contract-expiration-tracker

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

Summary

Maintainability
A
0 mins
Test Coverage
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=document.querySelector("#navbar--contractCategoryUsersMaint");if(!e)return;const t=exports.urlPrefix,o=exports.customizations_contractCategory_alias;let r,a,n,s,c,i,l;const u=()=>r.querySelector("#ccuFilterTab--userName").classList.contains("is-hidden")?"contractCategory":"userName",d=e=>{e.preventDefault();const o=e.currentTarget.closest(".panel-block"),r=o.dataset.userName,a=o.dataset.contractCategory;bulmaJS.confirm({message:"Are you sure you want to remove this permission?",okButton:{text:"Yes, Remove Permission",callbackFunction:()=>{cityssm.postJSON(t+"/admin/doRemoveContractCategoryUser",{userName:r,contractCategory:a},e=>{e.success&&o.remove()})}}})},m=()=>{l.innerHTML='<div class="has-text-centered"><i class="fas fa-4x fa-spinner fa-pulse" aria-hidden="true"></i><br /><em>Loading...</em></div>',i.value="";const e=u(),o="contractCategory"===e?{contractCategory:a.value}:{userName:c.value};cityssm.postJSON(t+"/admin/doGetContractCategoryUsers",o,t=>{if(0===t.contractCategoryUsers.length)return void(l.innerHTML='<div class="message is-info"><p class="message-body">No permissions found.</p></div>');const o=document.createElement("div");o.className="panel";for(const r of t.contractCategoryUsers){const t=document.createElement("div");t.className="panel-block",t.dataset.userName=r.userName,t.dataset.contractCategory=r.contractCategory,t.innerHTML='<button class="button is-danger is-light has-tooltip-right has-tooltip-arrow mr-2" data-tooltip="Remove Permission" type="button"><i class="fas fa-trash" aria-hidden="true"></i><span class="is-sr-only">Remove Permission</span></button>',t.querySelector("button").addEventListener("click",d),t.insertAdjacentText("beforeend","contractCategory"===e?r.userName:r.contractCategory),o.append(t)}l.innerHTML="",l.append(o)})};let y=[],p=[];const g=()=>{p=exports.contractCategories,(()=>{const e=a.value;a.innerHTML="",i.innerHTML='<option value="">(Select)</option>';for(const t of p){const o=document.createElement("option");o.value=t,o.textContent=t,a.append(o),i.append(o.cloneNode(!0)),t===e&&(o.selected=!0)}})()},v=e=>{e.preventDefault();const r=e.currentTarget.closest(".ccuFilterTab"),a=r.querySelector("[name='userName']").value;if(""===a)return void bulmaJS.alert("A user name is required.");const n=r.querySelector("[name='contractCategory']").value;if(""===n)return void bulmaJS.alert("A "+o+" is required.");const s=l.querySelectorAll(".panel-block");for(const e of s)if(e.dataset.userName===a&&e.dataset.contractCategory===n)return void bulmaJS.alert("Permission already assigned.");cityssm.postJSON(t+"/admin/doAddContractCategoryUser",{userName:a,contractCategory:n},e=>{e.success&&("contractCategory"===u()?f():m())})},f=()=>{cityssm.postJSON(t+"/admin/doGetUserNames",{},e=>{y=e.userNames,(()=>{const e=c.value;c.innerHTML="",n.value="",s.innerHTML="";for(const t of y){const o=document.createElement("option");o.value=t,o.textContent=t,c.append(o),s.append(o.cloneNode()),t===e&&(o.selected=!0)}m()})()})};e.addEventListener("click",()=>{cityssm.openHtmlModal("contractCategoryUsersMaint",{onshow:e=>{r=e,c=e.querySelector("#ccuFilter--userName"),i=e.querySelector("#ccuAdd--contractCategory"),a=e.querySelector("#ccuFilter--contractCategory"),n=e.querySelector("#ccuAdd--userName"),s=e.querySelector("#ccuAdd--userName-datalist"),l=e.querySelector("#ccu--results");const t=e.querySelectorAll("[data-customization='contractCategory.alias']");for(const e of t)e.textContent=o;bulmaJS.init(e);const u=e.querySelectorAll(".tabs a");for(const e of u)e.addEventListener("click",m);f(),g()},onshown:e=>{bulmaJS.toggleHtmlClipped(),c.addEventListener("change",m),a.addEventListener("change",m);const t=e.querySelectorAll(".ccuAddButton");for(const e of t)e.addEventListener("click",v)},onhidden:()=>{r=void 0},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})})})();