sunrise-cms/public/javascripts/adminOccupancyTypes.min.js

1 line
5.3 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,a=document.querySelector("main").dataset.urlPrefix,s=document.querySelector("#container--occupancyTypes");let c=exports.occupancyTypes;delete exports.occupancyTypes;const t=new Set,o=e=>{const a=e.currentTarget,s=a.closest(".container--occupancyType"),c=Number.parseInt(s.dataset.occupancyTypeId,10);t.has(c)?t.delete(c):t.add(c),a.innerHTML=t.has(c)?'<i class="fas fa-fw fa-minus" aria-hidden="true"></i>':'<i class="fas fa-fw fa-plus" aria-hidden="true"></i>';const o=s.querySelectorAll(".panel-block");for(const e of o)e.classList.toggle("is-hidden")},n=e=>{e.preventDefault();const s=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;cityssm.postJSON(a+"/admin/doMoveOccupancyTypeUp",{occupancyTypeId:s},e=>{e.success?(c=e.occupancyTypes,i()):bulmaJS.alert({title:"Error Moving "+exports.aliases.occupancy+" Type",message:e.errorMessage,contextualColorName:"danger"})})},l=e=>{e.preventDefault();const s=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;cityssm.postJSON(a+"/admin/doMoveOccupancyTypeDown",{occupancyTypeId:s},e=>{e.success?(c=e.occupancyTypes,i()):bulmaJS.alert({title:"Error Moving "+exports.aliases.occupancy+" Type",message:e.errorMessage,contextualColorName:"danger"})})},i=()=>{if(0!==c.length){s.innerHTML="";for(const e of c){const a=document.createElement("div");if(a.className="panel container--occupancyType",a.dataset.occupancyTypeId=e.occupancyTypeId.toString(),a.innerHTML='<div class="panel-heading"><div class="level is-mobile"><div class="level-left"><div class="level-item"><button class="button is-small button--toggleOccupancyTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">'+(t.has(e.occupancyTypeId)?'<i class="fas fa-fw fa-minus" aria-hidden="true"></i>':'<i class="fas fa-fw fa-plus" aria-hidden="true"></i>')+'</button></div><div class="level-item"><h2 class="title is-4">'+cityssm.escapeHTML(e.occupancyType)+'</h2></div></div><div class="level-right"><div class="level-item"><button class="button is-primary is-small button--editOccupancyType" type="button"><span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span><span>Edit '+exports.aliases.occupancy+' Type</span></button></div><div class="level-item"><button class="button is-success is-small button--addOccupancyTypeField" type="button"><span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span><span>Add Field</span></button></div><div class="level-item"><div class="field has-addons"><div class="control"><button class="button is-small button--moveOccupancyTypeUp" data-tooltip="Move Up" type="button" aria-label="Move Up"><i class="fas fa-arrow-up" aria-hidden="true"></i></button></div><div class="control"><button class="button is-small button--moveOccupancyTypeDown" data-tooltip="Move Down" type="button" aria-label="Move Down"><i class="fas fa-arrow-down" aria-hidden="true"></i></button></div></div></div></div></div></div>',0===e.occupancyTypeFields.length)a.insertAdjacentHTML("beforeend",'<div class="panel-block is-block'+(t.has(e.occupancyTypeId)?"":" is-hidden")+'"><div class="message is-info"><p class="message-body">There are no additional fields.</p></div></div>');else for(const s of e.occupancyTypeFields){const c=document.createElement("div");c.className="panel-block is-block container--occupancyTypeField",t.has(e.occupancyTypeId)||c.classList.add("is-hidden"),c.dataset.occupancyTypeFieldId=s.occupancyTypeFieldId.toString(),c.innerHTML='<div class="level is-mobile"><div class="level-left"><div class="level-item"><a class="has-text-weight-bold button--editOccupancyTypeField" href="#">'+cityssm.escapeHTML(s.occupancyTypeField)+'</a></div></div><div class="level-right"><div class="level-item"><div class="field has-addons"><div class="control"><button class="button is-small button--moveOccupancyTypeFieldUp" data-tooltip="Move Up" type="button" aria-label="Move Up"><i class="fas fa-arrow-up" aria-hidden="true"></i></button></div><div class="control"><button class="button is-small button--moveOccupancyTypeFieldDown" data-tooltip="Move Down" type="button" aria-label="Move Down"><i class="fas fa-arrow-down" aria-hidden="true"></i></button></div></div></div></div></div>',a.append(c)}a.querySelector(".button--toggleOccupancyTypeFields").addEventListener("click",o),a.querySelector(".button--moveOccupancyTypeUp").addEventListener("click",n),a.querySelector(".button--moveOccupancyTypeDown").addEventListener("click",l),s.append(a)}}else s.innerHTML='<div class="message is-warning><p class="message-body">There are no active '+exports.aliases.occupancy.toLowerCase()+" types.</p></div>"};document.querySelector("#button--addOccupancyType").addEventListener("click",()=>{let s;const t=e=>{e.preventDefault(),cityssm.postJSON(a+"/admin/doAddOccupancyType",e.currentTarget,e=>{e.success?(s(),c=e.occupancyTypes,i()):bulmaJS.alert({title:"Error Adding "+exports.aliases.occupancy+" Type",message:e.errorMessage,contextualColorName:"danger"})})};cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyType",{onshow:a=>{e.populateAliases(a)},onshown:(e,a)=>{s=a,e.querySelector("#occupancyTypeAdd--occupancyType").focus(),e.querySelector("form").addEventListener("submit",t),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),i()})();