From dd2f30862d271781d0eec9264ae3341e78dab791 Mon Sep 17 00:00:00 2001 From: Saad Date: Sun, 25 Aug 2024 20:55:55 -0400 Subject: [PATCH] update ecma js demo uses puremvc from NPM registry --- .../ecma/assets/index-0MBlhyuv.js | 13 ------------- .../ecma/assets/index-CjLqF_GI.js | 13 +++++++++++++ .../ecma/assets/index-CtjMmi5U.css | 1 + .../ecma/assets/index-VK0D6HqQ.css | 1 - .../JS/Demo_JS_EmployeeAdmin/ecma/index.html | 18 +++++++++--------- 5 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-0MBlhyuv.js create mode 100644 pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CjLqF_GI.js create mode 100644 pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CtjMmi5U.css delete mode 100644 pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-VK0D6HqQ.css diff --git a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-0MBlhyuv.js b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-0MBlhyuv.js deleted file mode 100644 index 570a835..0000000 --- a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-0MBlhyuv.js +++ /dev/null @@ -1,13 +0,0 @@ -var U=Object.defineProperty;var $=(i,e,t)=>e in i?U(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var c=(i,e,t)=>($(i,typeof e!="symbol"?e+"":e,t),t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const d of a.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function t(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(r){if(r.ep)return;r.ep=!0;const a=t(r);fetch(r.href,a)}})();class R{constructor(e,t){this._notifyMethod=e,this._notifyContext=t}notifyObserver(e){this._notifyMethod.call(this._notifyContext,e)}compareNotifyContext(e){return this._notifyContext===e}get notifyMethod(){return this._notifyMethod}set notifyMethod(e){this._notifyMethod=e}get notifyContext(){return this._notifyContext}set notifyContext(e){this._notifyContext=e}}class f{constructor(e){if(f.instanceMap.get(e)!=null)throw new Error(f.MULTITON_MSG);this.multitonKey=e,f.instanceMap.set(this.multitonKey,this),this.mediatorMap=new Map,this.observerMap=new Map,this.initializeView()}initializeView(){}static getInstance(e,t){return f.instanceMap==null&&(f.instanceMap=new Map),f.instanceMap.get(e)==null&&f.instanceMap.set(e,t(e)),f.instanceMap.get(e)}registerObserver(e,t){this.observerMap.get(e)!=null?this.observerMap.get(e).push(t):this.observerMap.set(e,new Array(t))}notifyObservers(e){if(this.observerMap.has(e.name)){let t=this.observerMap.get(e.name).slice();for(let n=0;n0){let n=new R(e.handleNotification.bind(e),e);for(let r=0;rnew f(e))}static getInstance(e,t){return g.instanceMap==null&&(g.instanceMap=new Map),g.instanceMap.get(e)==null&&g.instanceMap.set(e,t(e)),g.instanceMap.get(e)}executeCommand(e){let t=this.commandMap.get(e.name);if(t==null)return;let n=t();n.initializeNotifier(this.multitonKey),n.execute(e)}registerCommand(e,t){this.commandMap.get(e)==null&&this.view.registerObserver(e,new R(this.executeCommand,this)),this.commandMap.set(e,t)}hasCommand(e){return this.commandMap.has(e)}removeCommand(e){this.hasCommand(e)&&(this.view.removeObserver(e,this),this.commandMap.delete(e))}static removeController(e){g.instanceMap.delete(e)}static get MULTITON_MSG(){return"Controller instance for this Multiton key already constructed!"}}class p{constructor(e){if(p.instanceMap.get(e)!=null)throw new Error(p.MULTITON_MSG);this.multitonKey=e,p.instanceMap.set(this.multitonKey,this),this.proxyMap=new Map,this.initializeModel()}initializeModel(){}static getInstance(e,t){return p.instanceMap==null&&(p.instanceMap=new Map),p.instanceMap.get(e)==null&&p.instanceMap.set(e,t(e)),p.instanceMap.get(e)}registerProxy(e){e.initializeNotifier(this.multitonKey),this.proxyMap.set(e.proxyName,e),e.onRegister()}retrieveProxy(e){return this.proxyMap.get(e)||null}hasProxy(e){return this.proxyMap.has(e)}removeProxy(e){let t=this.proxyMap.get(e);return t!=null&&(this.proxyMap.delete(e),t.onRemove()),t}static removeModel(e){p.instanceMap.delete(e)}static get MULTITON_MSG(){return"Model instance for this Multiton key already constructed!"}}class P{constructor(e,t=null,n=""){this._name=e,this._body=t,this._type=n}get name(){return this._name}get body(){return this._body}set body(e){this._body=e}get type(){return this._type}set type(e){this._type=e}toString(){let e="Notification Name: "+this.name;return e+=` -Body:`+(this.body==null?"null":this.body.toString()),e+=` -Type:`+(this.type==null?"null":this.type),e}}class M{constructor(e){if(M.instanceMap[e]!=null)throw new Error(M.MULTITON_MSG);this.initializeNotifier(e),M.instanceMap.set(this.multitonKey,this),this.initializeFacade()}initializeFacade(){this.initializeModel(),this.initializeController(),this.initializeView()}static getInstance(e,t){return M.instanceMap==null&&(M.instanceMap=new Map),M.instanceMap.get(e)==null&&M.instanceMap.set(e,t(e)),M.instanceMap.get(e)}initializeModel(){this.model==null&&(this.model=p.getInstance(this.multitonKey,e=>new p(e)))}initializeController(){this.controller==null&&(this.controller=g.getInstance(this.multitonKey,e=>new g(e)))}initializeView(){this.view==null&&(this.view=f.getInstance(this.multitonKey,e=>new f(e)))}registerCommand(e,t){this.controller.registerCommand(e,t)}hasCommand(e){return this.controller.hasCommand(e)}removeCommand(e){this.controller.removeCommand(e)}registerProxy(e){this.model.registerProxy(e)}removeProxy(e){return this.model.removeProxy(e)}hasProxy(e){return this.model.hasProxy(e)}retrieveProxy(e){return this.model.retrieveProxy(e)}registerMediator(e){this.view.registerMediator(e)}removeMediator(e){return this.view.removeMediator(e)}hasMediator(e){return this.view.hasMediator(e)}retrieveMediator(e){return this.view.retrieveMediator(e)}sendNotification(e,t=null,n=""){this.notifyObservers(new P(e,t,n))}notifyObservers(e){this.view.notifyObservers(e)}initializeNotifier(e){this.multitonKey=e}static hasCore(e){return this.instanceMap.has(e)}static removeCore(e){M.instanceMap.get(e)!=null&&(p.removeModel(e),f.removeView(e),g.removeController(e),this.instanceMap.delete(e))}static get MULTITON_MSG(){return"Facade instance for this Multiton key already constructed!"}}class C{constructor(){}sendNotification(e,t=null,n=""){this.facade!=null&&this.facade.sendNotification(e,t,n)}initializeNotifier(e){this.multitonKey=e}get facade(){if(this.multitonKey==null)throw new Error(C.MULTITON_MSG);return M.getInstance(this.multitonKey,e=>new M(e))}static get MULTITON_MSG(){return"multitonKey for this Notifier not yet initialized!"}}class B extends C{constructor(){super()}execute(e){}}class z extends B{constructor(){super(),this.subCommands=[],this.initializeMacroCommand()}initializeMacroCommand(){}addSubCommand(e){this.subCommands.push(e)}execute(e){for(;this.subCommands.length>0;){let n=this.subCommands.shift()();n.initializeNotifier(this.multitonKey),n.execute(e)}}}class b extends C{constructor(e,t=null){super(),this._mediatorName=e||b.NAME,this._viewComponent=t}onRegister(){}onRemove(){}listNotificationInterests(){return[]}handleNotification(e){}get mediatorName(){return this._mediatorName}get viewComponent(){return this._viewComponent}set viewComponent(e){this._viewComponent=e}static get NAME(){return"Mediator"}}class T extends C{constructor(e,t=null){super(),this._proxyName=e||T.NAME,this._data=t}onRegister(){}onRemove(){}get proxyName(){return this._proxyName}get data(){return this._data}set data(e){this._data=e}static get NAME(){return"Proxy"}}const w={Controller:g,Model:p,View:f,SimpleCommand:B,MacroCommand:z,Facade:M,Mediator:b,Notification:P,Notifier:C,Observer:R,Proxy:T},h=class h{constructor(e,t){this.id=e,this.name=t}static get list(){return[h.ACCT,h.SALES,h.PLANT,h.SHIPPING,h.QC]}static get comboList(){let e=h.list;return e.unshift(h.NONE_SELECTED),e}equals(e){return this.id===e.id&&this.name===e.name}};c(h,"NONE_SELECTED",new h(0,"---None Selected---")),c(h,"ACCT",new h(1,"Accounting")),c(h,"SALES",new h(2,"Sales")),c(h,"PLANT",new h(3,"Plant")),c(h,"SHIPPING",new h(4,"Shipping")),c(h,"QC",new h(5,"Quality Control"));let I=h;const o=class o{constructor(e,t){this.id=e,this.name=t}static get list(){return[o.ADMIN,o.ACCT_PAY,o.ACCT_RCV,o.EMP_BENEFITS,o.GEN_LEDGER,o.PAYROLL,o.INVENTORY,o.PRODUCTION,o.QUALITY_CTL,o.SALES,o.ORDERS,o.CUSTOMERS,o.SHIPPING,o.RETURNS]}static get comboList(){let e=o.list;return e.unshift(o.NONE_SELECTED),e}equals(e){return this.id===e.id&&this.name===e.name}};c(o,"NONE_SELECTED",new o(0,"--None Selected---")),c(o,"ADMIN",new o(1,"Administrator")),c(o,"ACCT_PAY",new o(2,"Accounts Payable")),c(o,"ACCT_RCV",new o(3,"Accounts Receivable")),c(o,"EMP_BENEFITS",new o(4,"Employee Benefits")),c(o,"GEN_LEDGER",new o(5,"General Ledger")),c(o,"PAYROLL",new o(6,"Payroll")),c(o,"INVENTORY",new o(7,"Inventory")),c(o,"PRODUCTION",new o(7,"Production")),c(o,"QUALITY_CTL",new o(8,"Quality Control")),c(o,"SALES",new o(9,"Sales")),c(o,"ORDERS",new o(10,"Orders")),c(o,"CUSTOMERS",new o(11,"Customers")),c(o,"SHIPPING",new o(12,"Shipping")),c(o,"RETURNS",new o(13,"Returns"));let y=o;class N{constructor(e,t,n,r,a,d,m,E){this.id=e,this.username=t||"",this.first=n||"",this.last=r||"",this.email=a||"",this.password=d||"",this.department=m||I.NONE_SELECTED,this.roles=E||[]}isValid(e){return this.username!==""&&this.first!==""&&this.last!==""&&this.email!==""&&this.password!==""&&this.password===e&&this.department.id!==0}}class x extends w.Proxy{static get NAME(){return"RoleProxy"}constructor(){super(x.NAME,[])}addRoleToUser(e,t){e.roles.push(t)}removeRoleFromUser(e,t){for(let n=0;n{window.location.hash.slice(1)})}animateIn(){let e=this.element.getBoundingClientRect().x,t=0,n=350;(function r(a,d){let m=new Date-a;if(m - `,document.getElementById("userList_table").appendChild(t)}add(e){this.delegate.onNew()}update(e){for(let t of document.getElementsByName("users")){if(e.id!==parseInt(t.value))continue;let n=t.nextElementSibling.querySelectorAll("span");n[0].textContent=`${e.last}, ${e.first}`,n[1].textContent=e.username,n[2].textContent=e.first,n[3].textContent=e.last,n[4].textContent=e.email,n[5].textContent=e.password,n[6].textContent=e.department.name;break}}delete(e){let t=document.getElementsByName("users"),n=Array.from(t).find(r=>r.checked);if(n){let r=parseInt(n.value),a=this.users.find(d=>d.id===r);a&&(this.delegate.onDelete(a),n.parentElement.remove())}}reset(){document.getElementsByName("users").forEach(e=>e.checked=!1),document.getElementById("userList_delete").disabled=!0}navToForm(e){if(e.target.tagName.toLowerCase()!=="input")return;document.getElementById("userList_delete").disabled=!1;let t=parseInt(e.target.value);this.delegate.onSelect(this.users.find(n=>n.id===t))}mediaChange(e){e.matches&&(this.element.style.left="0px")}get users(){return this._users}set users(e){this._users=e}set delegate(e){this._delegate=e}get delegate(){return this._delegate}}class D extends w.Mediator{static get NAME(){return"UserListMediator"}constructor(){super(D.NAME,new k)}onRegister(){this.userList.delegate={onNew:()=>this.onNew(),onSelect:e=>this.onSelect(e),onDelete:e=>this.onDelete(e)},this.userProxy=this.facade.retrieveProxy(L.NAME),this.userList.users=this.userProxy.users,this.userProxy.users.forEach(e=>this.userList.save(e))}onNew(){this.userList.reset(),this.sendNotification(u.NEW_USER)}onSelect(e){this.userList.animateOut(),this.sendNotification(u.USER_SELECTED,e)}onDelete(e){this.userProxy.remove(e),this.sendNotification(u.USER_DELETED)}listNotificationInterests(){return[u.USER_ADDED,u.USER_UPDATED,u.CANCEL_SELECTED]}handleNotification(e){switch(e.name){case u.USER_ADDED:this.userList.save(e.body),this.userList.reset();break;case u.USER_UPDATED:this.userList.update(e.body),this.userList.reset();break;case u.CANCEL_SELECTED:this.userList.animateIn(),this.userList.reset();break}}get userList(){return this.viewComponent}}class v{constructor(){c(this,"mode",v.MODE_ADD);this.element=document.getElementById("userForm"),document.getElementById("department").innerHTML=I.comboList.map(e=>``).join(""),document.getElementById("userForm_role").addEventListener("click",this.navToRoles.bind(this)),document.getElementById("userForm_back").addEventListener("click",this.navBack.bind(this)),document.getElementById("userForm_submit").addEventListener("click",this.save.bind(this)),document.getElementById("userForm_cancel").addEventListener("click",this.navBack.bind(this)),window.matchMedia("(max-width: 767px)").addEventListener("change",this.mediaChange.bind(this))}static get MODE_ADD(){return"modeAdd"}static get MODE_EDIT(){return"modeEdit"}animateIn(){this.element.style.display="block";let e=this.element.getBoundingClientRect().x,t=0,n=500;(function r(a,d){let m=new Date-a;if(m{this.element.style.display="none"})}save(e){let t=document.getElementById("department"),n=new N(this.user?this.user.id:0,document.getElementById("username").value,document.getElementById("first").value,document.getElementById("last").value,document.getElementById("email").value,document.getElementById("password").value,new I(t.selectedIndex,t.options[t.selectedIndex].text),this.user?this.user.roles:[]);n.isValid(document.getElementById("confirm").value)?this.mode===v.MODE_ADD?this.delegate.add(n):this.delegate.update(n):alert("Invalid Form.")}update(e){this.user=e,this.mode=v.MODE_EDIT,["first","last","email","username","password"].forEach(t=>document.getElementById(t).value=e[t]),document.getElementById("confirm").value=e.password,document.getElementById("department").selectedIndex=e.department.id,document.getElementById("userForm_submit").innerText="Update"}reset(){this.user=null,["first","last","email","username","password","confirm"].forEach(e=>document.getElementById(e).value=""),document.getElementById("department").selectedIndex=0,document.getElementById("userForm_submit").innerText="Save",this.mode=v.MODE_ADD}navToRoles(){this.delegate.showRoles()}navBack(){this.animateOut(),this.delegate.cancel()}mediaChange(e){e.matches?(this.element.style.left=window.innerWidth+"px",this.element.style.display="none"):this.element.style.display="block"}set delegate(e){this._delegate=e}get delegate(){return this._delegate}}class O extends w.Mediator{static get NAME(){return"UserFormMediator"}constructor(){super(O.NAME,new v)}onRegister(){this.userForm.delegate={add:e=>this.onAdd(e),update:e=>this.onUpdate(e),cancel:()=>this.onCancel(),showRoles:()=>this.showRoles()},this.userProxy=this.facade.retrieveProxy(L.NAME)}onAdd(e){e.id=this.userProxy.newInsertId(),this.userProxy.add(e),this.facade.sendNotification(u.USER_ADDED,e),this.userForm.reset()}onUpdate(e){this.userProxy.update(e),this.facade.sendNotification(u.USER_UPDATED,e),this.userForm.reset()}onCancel(){this.facade.sendNotification(u.CANCEL_SELECTED),this.userForm.reset()}showRoles(){this.facade.sendNotification(u.ROLE_SHOW)}listNotificationInterests(){return[u.NEW_USER,u.USER_DELETED,u.USER_SELECTED]}handleNotification(e){switch(e.name){case u.NEW_USER:this.userForm.reset();break;case u.USER_DELETED:this.userForm.reset();break;case u.USER_SELECTED:this.userForm.animateIn(),this.userForm.update(e.body);break}}get userForm(){return this.viewComponent}}class F{constructor(){this.element=document.getElementById("userRole"),this.roleSet=new Set,document.getElementById("roles").innerHTML=y.comboList.map(e=>``).join(""),document.getElementById("roles").addEventListener("change",this.roleChange.bind(this)),document.getElementById("userRole_add").addEventListener("click",this.update.bind(this)),document.getElementById("userRole_remove").addEventListener("click",this.delete.bind(this)),document.getElementById("userRole_dismiss").addEventListener("click",this.animateOut.bind(this)),window.matchMedia("(max-width: 767px)").addEventListener("change",this.mediaQueryChange.bind(this))}animateIn(){this.element.style.display="block";let e=this.element.getBoundingClientRect().height,t=0,n=500;(function r(a,d,m){let E=new Date-a;if(E{this.element.style.display="none"})}saveAll(e){e.length&&this.roleSet.add(...e),console.log(this.roleSet),document.getElementById("userRole_list").innerHTML=e.map(t=>`
  • ${t.name}
  • `).join("")}update(e){let t=document.getElementById("roles"),n=t.options[t.selectedIndex],r=y.comboList.find(a=>a.id===parseInt(n.value));console.log("adding"),console.log(this.roleSet),!this.roleSet.has(r)&&(this.roleSet.add(r),this.delegate.add(this._user,r),document.getElementById("userRole_list").innerHTML+=`
  • ${n.text}
  • `)}delete(e){let t=document.getElementById("roles"),n=t.options[t.selectedIndex],r=y.comboList.find(a=>a.id===parseInt(n.value));console.log("removing"),console.log(this.roleSet),this.roleSet.has(r)&&(this.roleSet.delete(r),Array.from(document.getElementById("userRole_list").children).forEach(a=>{r.id===parseInt(a.dataset.id)&&(this._user&&this.delegate.remove(this._user,r),a.remove())}))}reset(){this._user=null,this.roleSet=new Set,document.getElementById("userRole_list").innerHTML="";let e=document.getElementById("roles");e.selectedIndex=0,e.dispatchEvent(new Event("change",{bubbles:!0}))}roleChange(e){let t=e.target.selectedIndex;document.getElementById("userRole_add").disabled=t===0,document.getElementById("userRole_remove").disabled=t===0}mediaQueryChange(e){e.matches?this.element.style.display="none":this.element.style.display="block"}set user(e){this._user=e}set delegate(e){this._delegate=e}get delegate(){return this._delegate}}class A extends w.Mediator{static get NAME(){return"UserRoleMediator"}constructor(){super(A.NAME,new F)}onRegister(){this.userRole.delegate={add:(e,t)=>this.onAddRole(e,t),remove:(e,t)=>this.onRemoveRole(e,t)},this.roleProxy=this.facade.retrieveProxy(x.NAME)}onAddRole(e,t){this.roleProxy.addRoleToUser(e,t)}onRemoveRole(e,t){this.roleProxy.removeRoleFromUser(e,t)}listNotificationInterests(){return[u.NEW_USER,u.USER_ADDED,u.USER_UPDATED,u.USER_DELETED,u.USER_SELECTED,u.CANCEL_SELECTED,u.ROLE_SHOW]}handleNotification(e){switch(e.name){case u.NEW_USER:this.userRole.reset();break;case u.USER_ADDED:this.userRole.reset();break;case u.USER_UPDATED:this.userRole.reset();break;case u.USER_DELETED:this.userRole.reset();break;case u.USER_SELECTED:let t=e.body;this.userRole.user=t,this.userRole.saveAll(t.roles);break;case u.CANCEL_SELECTED:this.userRole.reset();break;case u.ROLE_SHOW:this.userRole.animateIn();break}}get userRole(){return this.viewComponent}}class G extends w.SimpleCommand{execute(e){let t=new L;t.add(new N(1,"lstooge","Larry","Stooge","larry@stooges.com","ijk456",I.ACCT,[y.EMP_BENEFITS])),t.add(new N(2,"cstooge","Curly","Stooge","curly@stooges.com","xyz987",I.SALES,[y.ACCT_RCV,y.GEN_LEDGER])),t.add(new N(3,"mstooge","Moe","Stooge","moe@stooges.com","abc123",I.PLANT,[y.PRODUCTION,y.SALES,y.SHIPPING])),this.facade.registerProxy(t),this.facade.registerProxy(new x),this.facade.registerMediator(new D),this.facade.registerMediator(new O),this.facade.registerMediator(new A)}}class u extends w.Facade{static get STARTUP(){return"startup"}static get NEW_USER(){return"newUser"}static get CANCEL_SELECTED(){return"cancelSelected"}static get USER_SELECTED(){return"userSelected"}static get USER_ADDED(){return"userAdded"}static get USER_UPDATED(){return"userUpdated"}static get USER_DELETED(){return"userDeleted"}static get ROLE_SHOW(){return"roleShow"}static get ROLE_HIDDEN(){return"roleHidden"}static get BACK(){return"back"}constructor(e){super(e)}initializeController(){super.initializeController(),this.registerCommand(u.STARTUP,()=>new G)}static getInstance(e){return w.Facade.getInstance(e,t=>new u(t))}startup(e){this.sendNotification(u.STARTUP,e)}}document.addEventListener("DOMContentLoaded",()=>{u.getInstance("EmployeeAdmin").startup()}); diff --git a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CjLqF_GI.js b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CjLqF_GI.js new file mode 100644 index 0000000..c407266 --- /dev/null +++ b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CjLqF_GI.js @@ -0,0 +1,13 @@ +var A=Object.defineProperty;var P=(i,e,t)=>e in i?A(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var c=(i,e,t)=>P(i,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const d of a.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function t(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(r){if(r.ep)return;r.ep=!0;const a=t(r);fetch(r.href,a)}})();class O{constructor(e,t){this._notifyMethod=e,this._notifyContext=t}notifyObserver(e){this._notifyMethod.call(this._notifyContext,e)}compareNotifyContext(e){return this._notifyContext===e}get notifyMethod(){return this._notifyMethod}set notifyMethod(e){this._notifyMethod=e}get notifyContext(){return this._notifyContext}set notifyContext(e){this._notifyContext=e}}class g{constructor(e){if(g.instanceMap.get(e)!=null)throw new Error(g.MULTITON_MSG);this.multitonKey=e,g.instanceMap.set(this.multitonKey,this),this.mediatorMap=new Map,this.observerMap=new Map,this.initializeView()}initializeView(){}static getInstance(e,t){return g.instanceMap==null&&(g.instanceMap=new Map),g.instanceMap.get(e)==null&&g.instanceMap.set(e,t(e)),g.instanceMap.get(e)}registerObserver(e,t){this.observerMap.get(e)!=null?this.observerMap.get(e).push(t):this.observerMap.set(e,new Array(t))}notifyObservers(e){if(this.observerMap.has(e.name)){let t=this.observerMap.get(e.name).slice();for(let n=0;n0){let n=new O(e.handleNotification.bind(e),e);for(let r=0;rnew g(e))}static getInstance(e,t){return p.instanceMap==null&&(p.instanceMap=new Map),p.instanceMap.get(e)==null&&p.instanceMap.set(e,t(e)),p.instanceMap.get(e)}executeCommand(e){let t=this.commandMap.get(e.name);if(t==null)return;let n=t();n.initializeNotifier(this.multitonKey),n.execute(e)}registerCommand(e,t){this.commandMap.get(e)==null&&this.view.registerObserver(e,new O(this.executeCommand,this)),this.commandMap.set(e,t)}hasCommand(e){return this.commandMap.has(e)}removeCommand(e){this.hasCommand(e)&&(this.view.removeObserver(e,this),this.commandMap.delete(e))}static removeController(e){p.instanceMap.delete(e)}static get MULTITON_MSG(){return"Controller instance for this Multiton key already constructed!"}}class M{constructor(e){if(M.instanceMap.get(e)!=null)throw new Error(M.MULTITON_MSG);this.multitonKey=e,M.instanceMap.set(this.multitonKey,this),this.proxyMap=new Map,this.initializeModel()}initializeModel(){}static getInstance(e,t){return M.instanceMap==null&&(M.instanceMap=new Map),M.instanceMap.get(e)==null&&M.instanceMap.set(e,t(e)),M.instanceMap.get(e)}registerProxy(e){e.initializeNotifier(this.multitonKey),this.proxyMap.set(e.proxyName,e),e.onRegister()}retrieveProxy(e){return this.proxyMap.get(e)||null}hasProxy(e){return this.proxyMap.has(e)}removeProxy(e){let t=this.proxyMap.get(e);return t!=null&&(this.proxyMap.delete(e),t.onRemove()),t}static removeModel(e){M.instanceMap.delete(e)}static get MULTITON_MSG(){return"Model instance for this Multiton key already constructed!"}}class B{constructor(e,t=null,n=""){this._name=e,this._body=t,this._type=n}get name(){return this._name}get body(){return this._body}set body(e){this._body=e}get type(){return this._type}set type(e){this._type=e}toString(){let e="Notification Name: "+this.name;return e+=` +Body:`+(this.body==null?"null":this.body.toString()),e+=` +Type:`+(this.type==null?"null":this.type),e}}class f{constructor(e){if(f.instanceMap[e]!=null)throw new Error(f.MULTITON_MSG);this.initializeNotifier(e),f.instanceMap.set(this.multitonKey,this),this.initializeFacade()}initializeFacade(){this.initializeModel(),this.initializeController(),this.initializeView()}static getInstance(e,t){return f.instanceMap==null&&(f.instanceMap=new Map),f.instanceMap.get(e)==null&&f.instanceMap.set(e,t(e)),f.instanceMap.get(e)}initializeModel(){this.model==null&&(this.model=M.getInstance(this.multitonKey,e=>new M(e)))}initializeController(){this.controller==null&&(this.controller=p.getInstance(this.multitonKey,e=>new p(e)))}initializeView(){this.view==null&&(this.view=g.getInstance(this.multitonKey,e=>new g(e)))}registerCommand(e,t){this.controller.registerCommand(e,t)}hasCommand(e){return this.controller.hasCommand(e)}removeCommand(e){this.controller.removeCommand(e)}registerProxy(e){this.model.registerProxy(e)}removeProxy(e){return this.model.removeProxy(e)}hasProxy(e){return this.model.hasProxy(e)}retrieveProxy(e){return this.model.retrieveProxy(e)}registerMediator(e){this.view.registerMediator(e)}removeMediator(e){return this.view.removeMediator(e)}hasMediator(e){return this.view.hasMediator(e)}retrieveMediator(e){return this.view.retrieveMediator(e)}sendNotification(e,t=null,n=""){this.notifyObservers(new B(e,t,n))}notifyObservers(e){this.view.notifyObservers(e)}initializeNotifier(e){this.multitonKey=e}static hasCore(e){return this.instanceMap.has(e)}static removeCore(e){f.instanceMap.get(e)!=null&&(M.removeModel(e),g.removeView(e),p.removeController(e),this.instanceMap.delete(e))}static get MULTITON_MSG(){return"Facade instance for this Multiton key already constructed!"}}class S{constructor(){}sendNotification(e,t=null,n=""){this.facade!=null&&this.facade.sendNotification(e,t,n)}initializeNotifier(e){this.multitonKey=e}get facade(){if(this.multitonKey==null)throw new Error(S.MULTITON_MSG);return f.getInstance(this.multitonKey,e=>new f(e))}static get MULTITON_MSG(){return"multitonKey for this Notifier not yet initialized!"}}class U extends S{constructor(){super()}execute(e){}}class C extends S{constructor(e,t=null){super(),this._mediatorName=e||C.NAME,this._viewComponent=t}onRegister(){}onRemove(){}listNotificationInterests(){return[]}handleNotification(e){}get mediatorName(){return this._mediatorName}get viewComponent(){return this._viewComponent}set viewComponent(e){this._viewComponent=e}static get NAME(){return"Mediator"}}class x extends S{constructor(e,t=null){super(),this._proxyName=e||x.NAME,this._data=t}onRegister(){}onRemove(){}get proxyName(){return this._proxyName}get data(){return this._data}set data(e){this._data=e}static get NAME(){return"Proxy"}}const h=class h{constructor(e,t){this.id=e,this.name=t}static get list(){return[h.ACCT,h.SALES,h.PLANT,h.SHIPPING,h.QC]}static get comboList(){let e=h.list;return e.unshift(h.NONE_SELECTED),e}equals(e){return this.id===e.id&&this.name===e.name}};c(h,"NONE_SELECTED",new h(0,"---None Selected---")),c(h,"ACCT",new h(1,"Accounting")),c(h,"SALES",new h(2,"Sales")),c(h,"PLANT",new h(3,"Plant")),c(h,"SHIPPING",new h(4,"Shipping")),c(h,"QC",new h(5,"Quality Control"));let I=h;const o=class o{constructor(e,t){this.id=e,this.name=t}static get list(){return[o.ADMIN,o.ACCT_PAY,o.ACCT_RCV,o.EMP_BENEFITS,o.GEN_LEDGER,o.PAYROLL,o.INVENTORY,o.PRODUCTION,o.QUALITY_CTL,o.SALES,o.ORDERS,o.CUSTOMERS,o.SHIPPING,o.RETURNS]}static get comboList(){let e=o.list;return e.unshift(o.NONE_SELECTED),e}equals(e){return this.id===e.id&&this.name===e.name}};c(o,"NONE_SELECTED",new o(0,"--None Selected---")),c(o,"ADMIN",new o(1,"Administrator")),c(o,"ACCT_PAY",new o(2,"Accounts Payable")),c(o,"ACCT_RCV",new o(3,"Accounts Receivable")),c(o,"EMP_BENEFITS",new o(4,"Employee Benefits")),c(o,"GEN_LEDGER",new o(5,"General Ledger")),c(o,"PAYROLL",new o(6,"Payroll")),c(o,"INVENTORY",new o(7,"Inventory")),c(o,"PRODUCTION",new o(8,"Production")),c(o,"QUALITY_CTL",new o(9,"Quality Control")),c(o,"SALES",new o(10,"Sales")),c(o,"ORDERS",new o(11,"Orders")),c(o,"CUSTOMERS",new o(12,"Customers")),c(o,"SHIPPING",new o(13,"Shipping")),c(o,"RETURNS",new o(14,"Returns"));let y=o;class N{constructor(e,t,n,r,a,d,m,E){this.id=e,this.username=t||"",this.first=n||"",this.last=r||"",this.email=a||"",this.password=d||"",this.department=m||I.NONE_SELECTED,this.roles=E||[]}isValid(e){return this.username!==""&&this.first!==""&&this.last!==""&&this.email!==""&&this.password!==""&&this.password===e&&this.department.id!==0}}class R extends x{static get NAME(){return"RoleProxy"}constructor(){super(R.NAME,[])}addRoleToUser(e,t){e.roles.push(t)}removeRoleFromUser(e,t){for(let n=0;n{window.location.hash.slice(1)})}animateIn(){let e=this.element.getBoundingClientRect().x,t=0,n=350;(function r(a,d){let m=new Date-a;if(m + `,document.getElementById("userList_table").appendChild(t)}add(e){this.delegate.onNew()}update(e){for(let t of document.getElementsByName("users")){if(e.id!==parseInt(t.value))continue;let n=t.nextElementSibling.querySelectorAll("span");n[0].textContent=`${e.last}, ${e.first}`,n[1].textContent=e.username,n[2].textContent=e.first,n[3].textContent=e.last,n[4].textContent=e.email,n[5].textContent=e.password,n[6].textContent=e.department.name;break}}delete(e){let t=document.getElementsByName("users"),n=Array.from(t).find(r=>r.checked);if(n){let r=parseInt(n.value),a=this.users.find(d=>d.id===r);a&&(this.delegate.onDelete(a),n.parentElement.remove())}}reset(){document.getElementsByName("users").forEach(e=>e.checked=!1),document.getElementById("userList_delete").disabled=!0}navToForm(e){if(e.target.tagName.toLowerCase()!=="input")return;document.getElementById("userList_delete").disabled=!1;let t=parseInt(e.target.value);this.delegate.onSelect(this.users.find(n=>n.id===t))}mediaChange(e){e.matches&&(this.element.style.left="0px")}get users(){return this._users}set users(e){this._users=e}set delegate(e){this._delegate=e}get delegate(){return this._delegate}}class T extends C{static get NAME(){return"UserListMediator"}constructor(){super(T.NAME,new $)}onRegister(){this.userList.delegate={onNew:()=>this.onNew(),onSelect:e=>this.onSelect(e),onDelete:e=>this.onDelete(e)},this.userProxy=this.facade.retrieveProxy(L.NAME),this.userList.users=this.userProxy.users,this.userProxy.users.forEach(e=>this.userList.save(e))}onNew(){this.userList.reset(),this.sendNotification(u.NEW_USER)}onSelect(e){this.userList.animateOut(),this.sendNotification(u.USER_SELECTED,e)}onDelete(e){this.userProxy.remove(e),this.sendNotification(u.USER_DELETED)}listNotificationInterests(){return[u.USER_ADDED,u.USER_UPDATED,u.CANCEL_SELECTED]}handleNotification(e){switch(e.name){case u.USER_ADDED:this.userList.save(e.body),this.userList.reset();break;case u.USER_UPDATED:this.userList.update(e.body),this.userList.reset();break;case u.CANCEL_SELECTED:this.userList.animateIn(),this.userList.reset();break}}get userList(){return this.viewComponent}}class w{constructor(){c(this,"mode",w.MODE_ADD);this.element=document.getElementById("userForm"),document.getElementById("department").innerHTML=I.comboList.map(e=>``).join(""),document.getElementById("userForm_role").addEventListener("click",this.navToRoles.bind(this)),document.getElementById("userForm_back").addEventListener("click",this.navBack.bind(this)),document.getElementById("userForm_submit").addEventListener("click",this.save.bind(this)),document.getElementById("userForm_cancel").addEventListener("click",this.navBack.bind(this)),window.matchMedia("(max-width: 767px)").addEventListener("change",this.mediaChange.bind(this))}static get MODE_ADD(){return"modeAdd"}static get MODE_EDIT(){return"modeEdit"}animateIn(){this.element.style.display="block";let e=this.element.getBoundingClientRect().x,t=0,n=500;(function r(a,d){let m=new Date-a;if(m{this.element.style.display="none"})}save(e){let t=document.getElementById("department"),n=new N(this.user?this.user.id:0,document.getElementById("username").value,document.getElementById("first").value,document.getElementById("last").value,document.getElementById("email").value,document.getElementById("password").value,new I(t.selectedIndex,t.options[t.selectedIndex].text),this.user?this.user.roles:[]);n.isValid(document.getElementById("confirm").value)?this.mode===w.MODE_ADD?this.delegate.add(n):this.delegate.update(n):alert("Invalid Form.")}update(e){this.user=e,this.mode=w.MODE_EDIT,["first","last","email","username","password"].forEach(t=>document.getElementById(t).value=e[t]),document.getElementById("confirm").value=e.password,document.getElementById("department").selectedIndex=e.department.id,document.getElementById("userForm_submit").innerText="Update"}reset(){this.user=null,["first","last","email","username","password","confirm"].forEach(e=>document.getElementById(e).value=""),document.getElementById("department").selectedIndex=0,document.getElementById("userForm_submit").innerText="Save",this.mode=w.MODE_ADD}navToRoles(){this.delegate.showRoles()}navBack(){this.animateOut(),this.delegate.cancel()}mediaChange(e){e.matches?(this.element.style.left=window.innerWidth+"px",this.element.style.display="none"):this.element.style.display="block"}set delegate(e){this._delegate=e}get delegate(){return this._delegate}}class b extends C{static get NAME(){return"UserFormMediator"}constructor(){super(b.NAME,new w)}onRegister(){this.userForm.delegate={add:e=>this.onAdd(e),update:e=>this.onUpdate(e),cancel:()=>this.onCancel(),showRoles:()=>this.showRoles()},this.userProxy=this.facade.retrieveProxy(L.NAME)}onAdd(e){e.id=this.userProxy.newInsertId(),this.userProxy.add(e),this.facade.sendNotification(u.USER_ADDED,e),this.userForm.reset()}onUpdate(e){this.userProxy.update(e),this.facade.sendNotification(u.USER_UPDATED,e),this.userForm.reset()}onCancel(){this.facade.sendNotification(u.CANCEL_SELECTED),this.userForm.reset()}showRoles(){this.facade.sendNotification(u.ROLE_SHOW)}listNotificationInterests(){return[u.NEW_USER,u.USER_DELETED,u.USER_SELECTED]}handleNotification(e){switch(e.name){case u.NEW_USER:this.userForm.reset();break;case u.USER_DELETED:this.userForm.reset();break;case u.USER_SELECTED:this.userForm.animateIn(),this.userForm.update(e.body);break}}get userForm(){return this.viewComponent}}class k{constructor(){this.element=document.getElementById("userRole"),this.roleSet=new Set,document.getElementById("roles").innerHTML=y.comboList.map(e=>``).join(""),document.getElementById("roles").addEventListener("change",this.roleChange.bind(this)),document.getElementById("userRole_add").addEventListener("click",this.update.bind(this)),document.getElementById("userRole_remove").addEventListener("click",this.delete.bind(this)),document.getElementById("userRole_dismiss").addEventListener("click",this.animateOut.bind(this)),window.matchMedia("(max-width: 767px)").addEventListener("change",this.mediaQueryChange.bind(this))}animateIn(){this.element.style.display="block";let e=this.element.getBoundingClientRect().height,t=0,n=500;(function r(a,d,m){let E=new Date-a;if(E{this.element.style.display="none"})}saveAll(e){e.length&&this.roleSet.add(...e),document.getElementById("userRole_list").innerHTML=e.map(t=>`
  • ${t.name}
  • `).join("")}update(e){let t=document.getElementById("roles"),n=t.options[t.selectedIndex],r=y.comboList.find(a=>a.id===parseInt(n.value));this.roleSet.has(r)||(this.roleSet.add(r),this.delegate.add(this._user,r),document.getElementById("userRole_list").innerHTML+=`
  • ${n.text}
  • `)}delete(e){let t=document.getElementById("roles"),n=t.options[t.selectedIndex],r=y.comboList.find(a=>a.id===parseInt(n.value));this.roleSet.has(r)&&(this.roleSet.delete(r),Array.from(document.getElementById("userRole_list").children).forEach(a=>{r.id===parseInt(a.dataset.id)&&(this._user&&this.delegate.remove(this._user,r),a.remove())}))}reset(){this._user=null,this.roleSet=new Set,document.getElementById("userRole_list").innerHTML="";let e=document.getElementById("roles");e.selectedIndex=0,e.dispatchEvent(new Event("change",{bubbles:!0}))}roleChange(e){let t=e.target.selectedIndex;document.getElementById("userRole_add").disabled=t===0,document.getElementById("userRole_remove").disabled=t===0}mediaQueryChange(e){e.matches?this.element.style.display="none":this.element.style.display="block"}set user(e){this._user=e}set delegate(e){this._delegate=e}get delegate(){return this._delegate}}class D extends C{static get NAME(){return"UserRoleMediator"}constructor(){super(D.NAME,new k)}onRegister(){this.userRole.delegate={add:(e,t)=>this.onAddRole(e,t),remove:(e,t)=>this.onRemoveRole(e,t)},this.roleProxy=this.facade.retrieveProxy(R.NAME)}onAddRole(e,t){this.roleProxy.addRoleToUser(e,t)}onRemoveRole(e,t){this.roleProxy.removeRoleFromUser(e,t)}listNotificationInterests(){return[u.NEW_USER,u.USER_ADDED,u.USER_UPDATED,u.USER_DELETED,u.USER_SELECTED,u.CANCEL_SELECTED,u.ROLE_SHOW]}handleNotification(e){switch(e.name){case u.NEW_USER:this.userRole.reset();break;case u.USER_ADDED:this.userRole.reset();break;case u.USER_UPDATED:this.userRole.reset();break;case u.USER_DELETED:this.userRole.reset();break;case u.USER_SELECTED:let t=e.body;this.userRole.user=t,this.userRole.saveAll(t.roles);break;case u.CANCEL_SELECTED:this.userRole.reset();break;case u.ROLE_SHOW:this.userRole.animateIn();break}}get userRole(){return this.viewComponent}}class z extends U{execute(e){let t=new L;t.add(new N(1,"lstooge","Larry","Stooge","larry@stooges.com","ijk456",I.ACCT,[y.EMP_BENEFITS])),t.add(new N(2,"cstooge","Curly","Stooge","curly@stooges.com","xyz987",I.SALES,[y.ACCT_RCV,y.GEN_LEDGER])),t.add(new N(3,"mstooge","Moe","Stooge","moe@stooges.com","abc123",I.PLANT,[y.PRODUCTION,y.SALES,y.SHIPPING])),this.facade.registerProxy(t),this.facade.registerProxy(new R),this.facade.registerMediator(new T),this.facade.registerMediator(new b),this.facade.registerMediator(new D)}}class u extends f{static get STARTUP(){return"startup"}static get NEW_USER(){return"newUser"}static get CANCEL_SELECTED(){return"cancelSelected"}static get USER_SELECTED(){return"userSelected"}static get USER_ADDED(){return"userAdded"}static get USER_UPDATED(){return"userUpdated"}static get USER_DELETED(){return"userDeleted"}static get ROLE_SHOW(){return"roleShow"}static get ROLE_HIDDEN(){return"roleHidden"}static get BACK(){return"back"}constructor(e){super(e)}initializeController(){super.initializeController(),this.registerCommand(u.STARTUP,()=>new z)}static getInstance(e){return f.getInstance(e,t=>new u(t))}startup(e){this.sendNotification(u.STARTUP,e)}}document.addEventListener("DOMContentLoaded",()=>{u.getInstance("EmployeeAdmin").startup()}); diff --git a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CtjMmi5U.css b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CtjMmi5U.css new file mode 100644 index 0000000..06be6a1 --- /dev/null +++ b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-CtjMmi5U.css @@ -0,0 +1 @@ +@charset "UTF-8";*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:16px;line-height:1.5;letter-spacing:.01em;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{vertical-align:middle;border-style:none}ol,ul,dl{margin:0;padding:0;list-style:none}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}html{height:100%}body{position:relative;min-height:100%;margin:0;padding:0;overflow-y:auto}.fluid{width:100%;min-width:320px;max-width:1024px;margin:0 auto}img.flexible{height:auto;max-width:100%}@media screen and (max-width: 767px){.fluid{position:relative;width:100%;height:450px;padding:15px;overflow-x:hidden}#userList{position:absolute;top:0;left:0;width:100%;height:450px;z-index:1}#userForm{display:none;position:absolute;top:0;left:100%;width:100%;height:450px;z-index:20;background-color:#fff}#userRole{display:none;position:absolute;top:0;left:0;width:100%;height:420px;z-index:30}}@media screen and (min-width: 768px) and (max-width: 1023px){.fluid{padding:0 2.275%}#userList{height:320px;margin-bottom:10px}#userForm{height:450px;margin-bottom:10px}#userRole{height:300px;margin-bottom:10px}}@media screen and (min-width: 1024px){.fluid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:10px}#userList{grid-column:span 2;height:400px}#userForm{grid-column:1/2;grid-row:2;height:450px}#userRole{grid-column:2/3;grid-row:2;height:450px}}#userList .wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;height:100%;padding:0 10px;border-radius:10px}#userList main{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;overflow-y:auto}#userList main ul{width:100%;border-collapse:collapse;border-spacing:0}#userList main ul li:first-child{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1}#userList main ul li:first-child span{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1}#userList main ul li label{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex}#userList main ul li label span{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;padding:10px}#userList main ul li input{display:none}#userList footer{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;width:100%;padding:10px;margin-top:auto}@media screen and (max-width: 767px){#userList main ul li label span:nth-child(n+2),#userList main ul li:first-child span:nth-child(n+2){display:none}#userList main ul li{position:relative}#userList main ul>:not(:first-child):after{content:"▶";position:absolute;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0);right:10px;cursor:pointer}}@media screen and (min-width: 768px) and (max-width: 1023px){#userList main ul li span:first-child{display:none}}@media screen and (min-width: 1024px){#userList main ul li span:first-child{display:none}}#userForm .wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;height:100%;padding:0 10px;border-radius:10px}#userForm header button{display:none}#userForm main{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;overflow-y:auto}#userForm main ul li{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;padding:5px 0}#userForm main ul li label{-webkit-box-flex:1;-webkit-flex:1 0 90px;-moz-box-flex:1;flex:1 0 90px;max-width:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#userForm main ul li input,#userForm main ul li select{-webkit-box-flex:1;-webkit-flex:1 0 230px;-moz-box-flex:1;flex:1 0 230px;width:100%}#userForm footer{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;width:100%;padding:10px;margin-top:auto}@media screen and (max-width: 767px){#userForm header{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}#userForm header button{display:inline-block;height:30px;padding:0 7px;margin-right:10px}}#userRole .wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;height:100%;padding:0 10px;border-radius:10px}#userRole #screen{visibility:hidden}#userRole header button{display:none}#userRole main{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;overflow-y:auto}#userRole footer{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;width:100%;padding:10px;margin-top:auto}#userRole footer select{-webkit-box-flex:2;-webkit-flex:2;-moz-box-flex:2;flex:2}@media screen and (max-width: 767px){#userRole #screen{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#80808080;border-radius:5px;visibility:visible;z-index:-10}#userRole .wrapper{margin-top:30px;background-color:#fff}#userRole header{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}#userRole header button{display:inline-block;height:30px;padding:0 7px;margin-right:10px}}:root{--light-theme-color: #ffffff;--light-theme-disabled: #eaeded;--light-theme-background: #0d6efd;--light-theme-background-hover: #0b5ed7;--light-theme-background-disabled: #cad2d3;--light-theme-border: #0a58ca;--light-theme-border-focus: #129fea;--light-theme-border-hover: #0078e7;--light-theme-heading-color: #4b4b4b;--light-theme-row-color: #cccccc;--light-theme-row-color-hover: #f5f5f5;--light-theme-row-color-focus: #dddddd;--dark-theme-color: #ffffff;--dark-theme-background: #121212;--dark-theme-background-hover: #333333;--dark-theme-border: #cccccc}#userList main ul{border:1px solid var(--light-theme-row-color)}.wrapper{border:solid 1px var(--light-theme-row-color)}h2{color:var(--light-theme-heading-color);font-size:1.25em;font-weight:700}input{width:100%;padding:.5em .6em;font-family:Helvetica,Arial,sans-serif;font-size:100%;border:1px solid var(--light-theme-row-color);border-radius:4px;-webkit-box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus)}input:focus{border-color:var(--light-theme-border-focus);outline:0;caret-color:var(--light-theme-border)}input[type=text][disabled]{color:var(--light-theme-background-disabled);border:1px solid #ccc;border-radius:4px;background-color:#eaeded;-webkit-box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);cursor:not-allowed}select{height:2.25em;font-size:100%;border:1px solid var(--light-theme-row-color);border-radius:4px;-webkit-box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus)}select:focus{border-color:var(--light-theme-border-focus);outline:0}button{padding:7px 15px;color:var(--light-theme-color);font-size:100%;border-color:transparent;border-radius:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button[disabled]{opacity:.4;border:none;background-color:var(--light-theme-background-disabled);background-image:none;-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;pointer-events:none}button.primary{color:var(--light-theme-color);background-color:var(--light-theme-background);border-color:transparent;text-align:center;text-transform:capitalize;word-wrap:break-word;white-space:nowrap;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-moz-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}button.primary:hover{background-color:var(--light-theme-background-hover);border-color:var(--light-theme-border-hover);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px #ffffff26,0 1px 1px #00000013}button.outline-primary{color:var(--light-theme-background);border:1px solid var(--light-theme-background);background-color:var(--light-theme-color)}button.outline-primary:hover{color:var(--light-theme-color);background-color:var(--light-theme-background)}ul.table li:first-child{font-weight:700}ul.table li:first-child span{background-color:var(--light-theme-row-color)}ul.table li{padding:0}ul.table li:hover{background-color:var(--light-theme-row-color-hover)}ul.table li span{padding:5px;border-bottom:1px solid var(--light-theme-row-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}ul.table li input:checked+label{color:var(--light-theme-color);background-color:var(--light-theme-background)}ul.table li label span:hover:after{color:var(--light-theme-color);opacity:1}ul.list li{padding:10px 0;border-bottom:1px solid var(--light-theme-row-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:background-color .3s ease;-moz-transition:background-color .3s ease;transition:background-color .3s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}ul.list li:hover{background-color:var(--light-theme-row-color-hover)}ul li:first-child strong{padding:10px;color:var(--light-theme-color);background-color:var(--light-theme-background-hover);text-align:left}:root{--dark-theme-color: #ffffff;--dark-theme-background: #121212;--dark-theme-background-hover: #333333;--dark-theme-border: #cccccc}@media (prefers-color-scheme: dark){body{color:var(--dark-theme-color);background-color:var(--dark-theme-background)}.wrapper{border-color:var(--dark-theme-color)}h2{color:var(--dark-theme-color)}ul.table li:first-child span,ul.table li:hover{background-color:var(--dark-theme-background-hover)}ul.table li input:checked+label{color:var(--dark-theme-color);background-color:var(--dark-theme-background-hover)}button.primary{background-color:var(--dark-theme-background)}button.outline-primary{color:var(--dark-theme-background)}} diff --git a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-VK0D6HqQ.css b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-VK0D6HqQ.css deleted file mode 100644 index 44aa83c..0000000 --- a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/assets/index-VK0D6HqQ.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:16px;line-height:1.5;letter-spacing:.01em;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}img{vertical-align:middle;border-style:none}ol,ul,dl{margin:0;padding:0;list-style:none}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}html{height:100%}body{position:relative;min-height:100%;margin:0;padding:0;overflow-y:auto}.fluid{width:100%;min-width:320px;max-width:1024px;margin:0 auto}img.flexible{height:auto;max-width:100%}@media screen and (max-width: 767px){.fluid{position:relative;width:100%;height:450px;padding:15px;overflow-x:hidden}#userList{position:absolute;top:0;left:0;width:100%;height:450px;z-index:1}#userForm{display:none;position:absolute;top:0;left:100%;width:100%;height:450px;z-index:20;background-color:#fff}#userRole{display:none;position:absolute;top:0;left:0;width:100%;height:420px;z-index:30}}@media screen and (min-width: 768px) and (max-width: 1023px){.fluid{padding:0 2.275%}#userList{height:320px;margin-bottom:10px}#userForm{height:450px;margin-bottom:10px}#userRole{height:300px;margin-bottom:10px}}@media screen and (min-width: 1024px){.fluid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:10px}#userList{grid-column:span 2;height:400px}#userForm{grid-column:1/2;grid-row:2;height:450px}#userRole{grid-column:2/3;grid-row:2;height:450px}}#userList .wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;height:100%;padding:0 10px;border-radius:10px}#userList main{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;overflow-y:auto}#userList main ul{width:100%;border-collapse:collapse;border-spacing:0}#userList main ul li:first-child{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1}#userList main ul li:first-child span{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1}#userList main ul li label{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex}#userList main ul li label span{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;padding:10px}#userList main ul li input{display:none}#userList footer{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;width:100%;padding:10px;margin-top:auto}@media screen and (max-width: 767px){#userList main ul li label span:nth-child(n+2),#userList main ul li:first-child span:nth-child(n+2){display:none}#userList main ul li{position:relative}#userList main ul>:not(:first-child):after{content:"▶";position:absolute;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0);right:10px;cursor:pointer}}@media screen and (min-width: 768px) and (max-width: 1023px){#userList main ul li span:first-child{display:none}}@media screen and (min-width: 1024px){#userList main ul li span:first-child{display:none}}#userForm .wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;height:100%;padding:0 10px;border-radius:10px}#userForm header button{display:none}#userForm main{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;overflow-y:auto}#userForm main ul li{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;padding:5px 0}#userForm main ul li label{-webkit-box-flex:1;-webkit-flex:1 0 90px;-moz-box-flex:1;flex:1 0 90px;max-width:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#userForm main ul li input,#userForm main ul li select{-webkit-box-flex:1;-webkit-flex:1 0 230px;-moz-box-flex:1;flex:1 0 230px;width:100%}#userForm footer{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;width:100%;padding:10px;margin-top:auto}@media screen and (max-width: 767px){#userForm header{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}#userForm header button{display:inline-block;height:30px;padding:0 7px;margin-right:10px}}#userRole .wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;height:100%;padding:0 10px;border-radius:10px}#userRole #screen{visibility:hidden}#userRole header button{display:none}#userRole main{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column;overflow-y:auto}#userRole footer{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;justify-content:flex-end;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;width:100%;padding:10px;margin-top:auto}#userRole footer select{-webkit-box-flex:2;-webkit-flex:2;-moz-box-flex:2;flex:2}@media screen and (max-width: 767px){#userRole #screen{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#80808080;border-radius:5px;visibility:visible;z-index:-10}#userRole .wrapper{margin-top:30px;background-color:#fff}#userRole header{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}#userRole header button{display:inline-block;height:30px;padding:0 7px;margin-right:10px}}:root{--light-theme-color: #ffffff;--light-theme-disabled: #eaeded;--light-theme-background: #0d6efd;--light-theme-background-hover: #0b5ed7;--light-theme-background-disabled: #cad2d3;--light-theme-border: #0a58ca;--light-theme-border-focus: #129fea;--light-theme-border-hover: #0078e7;--light-theme-heading-color: #4b4b4b;--light-theme-row-color: #cccccc;--light-theme-row-color-hover: #f5f5f5;--light-theme-row-color-focus: #dddddd;--dark-theme-color: #ffffff;--dark-theme-background: #121212;--dark-theme-background-hover: #333333;--dark-theme-border: #cccccc}#userList main ul{border:1px solid var(--light-theme-row-color)}.wrapper{border:solid 1px var(--light-theme-row-color)}h2{color:var(--light-theme-heading-color);font-size:1.25em;font-weight:700}input{width:100%;padding:.5em .6em;font-family:Helvetica,Arial,sans-serif;font-size:100%;border:1px solid var(--light-theme-row-color);border-radius:4px;-webkit-box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus)}input:focus{border-color:var(--light-theme-border-focus);outline:0;caret-color:var(--light-theme-border)}input[type=text][disabled]{color:var(--light-theme-background-disabled);border:1px solid #ccc;border-radius:4px;background-color:#eaeded;-webkit-box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);cursor:not-allowed}select{height:2.25em;font-size:100%;border:1px solid var(--light-theme-row-color);border-radius:4px;-webkit-box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus);box-shadow:inset 0 1px 3px var(--light-theme-row-color-focus)}select:focus{border-color:var(--light-theme-border-focus);outline:0}button{padding:7px 15px;color:var(--light-theme-color);font-size:100%;border-color:transparent;border-radius:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button[disabled]{opacity:.4;border:none;background-color:var(--light-theme-background-disabled);background-image:none;-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;pointer-events:none}button.primary{color:var(--light-theme-color);background-color:var(--light-theme-background);border-color:transparent;text-align:center;text-transform:capitalize;word-wrap:break-word;white-space:nowrap;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-moz-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}button.primary:hover{background-color:var(--light-theme-background-hover);border-color:var(--light-theme-border-hover);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px #ffffff26,0 1px 1px #00000013}button.outline-primary{color:var(--light-theme-background);border:1px solid var(--light-theme-background);background-color:var(--light-theme-color)}button.outline-primary:hover{color:var(--light-theme-color);background-color:var(--light-theme-background)}ul.table li:first-child{font-weight:700}ul.table li:first-child span{background-color:var(--light-theme-row-color)}ul.table li{padding:0}ul.table li:hover{background-color:var(--light-theme-row-color-hover)}ul.table li span{padding:5px;border-bottom:1px solid var(--light-theme-row-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}ul.table li input:checked+label{color:var(--light-theme-color);background-color:var(--light-theme-background)}ul.table li label span:hover:after{color:var(--light-theme-color);opacity:1}ul.list li{padding:10px 0;border-bottom:1px solid var(--light-theme-row-color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:background-color .3s ease;-moz-transition:background-color .3s ease;transition:background-color .3s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}ul.list li:hover{background-color:var(--light-theme-row-color-hover)}ul li:first-child strong{padding:10px;color:var(--light-theme-color);background-color:var(--light-theme-background-hover);text-align:left}:root{--dark-theme-color: #ffffff;--dark-theme-background: #121212;--dark-theme-background-hover: #333333;--dark-theme-border: #cccccc}@media (prefers-color-scheme: dark){body{color:var(--dark-theme-color);background-color:var(--dark-theme-background)}.wrapper{border-color:var(--dark-theme-color)}h2{color:var(--dark-theme-color)}ul.table li:first-child span,ul.table li:hover{background-color:var(--dark-theme-background-hover)}ul.table li input:checked+label{color:var(--dark-theme-color);background-color:var(--dark-theme-background-hover)}button.primary{background-color:var(--dark-theme-background)}button.outline-primary{color:var(--dark-theme-background)}} diff --git a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/index.html b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/index.html index ce5cc61..65d477f 100644 --- a/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/index.html +++ b/pages/demos/JS/Demo_JS_EmployeeAdmin/ecma/index.html @@ -4,8 +4,8 @@ Employee Admin - - + +
    @@ -46,27 +46,27 @@

    User Form

    • - +
    • - +
    • - +
    • - +
    • - +
    • - +
    • @@ -102,4 +102,4 @@

      User Roles

    - \ No newline at end of file +