@social-mail/social-mail-client 1.2.255 → 1.2.256
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminAppIndex.pack.js +12 -2
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +2 -2
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/controls/repeater/InfiniteRepeater.d.ts.map +1 -1
- package/dist/common/controls/repeater/InfiniteRepeater.js +5 -0
- package/dist/common/controls/repeater/InfiniteRepeater.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +5 -0
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +1 -1
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/store/Store.pack.js +5 -0
- package/dist/public/store/Store.pack.js.map +1 -1
- package/dist/public/store/Store.pack.min.js +1 -1
- package/dist/public/store/Store.pack.min.js.map +1 -1
- package/dist/public/store/StoreApp.pack.js +7 -2
- package/dist/public/store/StoreApp.pack.js.map +1 -1
- package/dist/public/store/StoreApp.pack.min.js +1 -1
- package/dist/public/store/StoreApp.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +12 -2
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +2 -2
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js +7 -2
- package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/web-controls/package.json +1 -1
- package/node_modules/@web-atoms/web-controls/src/mobile-app/MobileApp.tsx +3 -3
- package/package.json +2 -2
- package/src/common/controls/repeater/InfiniteRepeater.tsx +5 -0
|
@@ -491,7 +491,7 @@ and limitations under the License.
|
|
|
491
491
|
overflow: hidden;
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
|
-
`.installGlobal();_export("Drawer",Drawer=class Drawer extends AtomControl{init(){}preCreate(){this.element.dataset.drawerPage="drawer-page";this.bindEvent(this.element,"click",(e=>e.defaultPrevented?null:this.closeDrawer()));this.runAfterInit((()=>this.app.runAsync((()=>{var _b;return(_b=this.init)===null||_b===void 0?void 0:_b.call(this)}))))}closeDrawer(){const ce=new CustomEvent("closeDrawer",{bubbles:true});this.element.dispatchEvent(ce)}});delete Drawer.prototype.init;historyBackCalled=false;_export("BasePage",BasePage=class BasePage extends AtomControl{constructor(){super(...arguments);this.disableAutoFocus=false}get route(){return this.routeUrl}set route(url){var _b,_c;if(!url){return}if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===url){return}url=Route.encodeUrl(url);if(this.routeUrl===url){return}this.routeUrl=url;(_c=this.reouteDisposable)===null||_c===void 0?void 0:_c.dispose();let last=void 0;setTimeout((()=>last=url),100);const state={url};history.pushState(state,"",url);const eventRegistration=e=>{var _b;if(historyBackCalled){return}if(((_b=e.state)===null||_b===void 0?void 0:_b.url)===last){this.cancel()}};window.addEventListener("popstate",eventRegistration);const d={dispose(){var _b;window.removeEventListener("popstate",eventRegistration);if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===state.url){historyBackCalled=true;history.back();setTimeout((()=>historyBackCalled=false),500)}}};this.reouteDisposable=this.registerDisposable(d)}get hideToolbar(){var _b,_c;return((_c=(_b=this.element)===null||_b===void 0?void 0:_b.dataset)===null||_c===void 0?void 0:_c.hideToolbar)?true:false}set hideToolbar(v){this.element.dataset.hideToolbar=v?"true":"false"}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield PopupService.confirm({message:this.closeWarning}))){return}}this.cancel()}))}onPropertyChanged(name){var _b;super.onPropertyChanged(name);switch(name){case"footerRenderer":this.recreate(name,"footer");break;case"iconRenderer":this.recreate(name,"icon");break;case"titleRenderer":this.recreate(name,"title");break;case"actionRenderer":this.recreate(name,"action");break;case"headerRenderer":this.recreate(name,"header");break;case"pullToRefreshRenderer":this.pullToRefreshElement=this.recreate(name,"pull-to-refresh");(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove();this.enablePullToRefreshEvents();break;case"actionBarRenderer":this.recreate(name,"action-bar");break}}init(){}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(({dataset:{pageElement}})=>!pageElement||pageElement==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}recreate(renderer,name){var _b,_c,_d;const node=(_c=(_b=this[renderer])===null||_b===void 0?void 0:_b.call(this))!==null&&_c!==void 0?_c:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.dataset.pageElement===name){this.dispose(e);e.remove();break}}if(node){const na=(_d=node.attributes)!==null&&_d!==void 0?_d:node.attributes={};na["data-page-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-page-element="${name}"]`)}return null}preCreate(){this.element.dataset.basePage="base-page";this.iconClass="";this.viewModelTitle=null;const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});this.runAfterInit((()=>{if(!this.element){return}const anyAutofocus=this.element.querySelector(`*[autofocus]`);if(!anyAutofocus){if(this.disableAutoFocus){return}const windowContent=this.element.querySelector(`[data-page-element="content"]`);if(windowContent){const firstInput=windowContent.querySelector("input,textarea");if(firstInput){firstInput.focus();return}}return}anyAutofocus.focus()}));setTimeout((p=>{p.dataset.pageState="ready"}),1,this.element);this.titleRenderer=()=>XNode.create("span",{"data-text-overflow":"ellipsis",class:"title-text",text:Bind.oneWay((()=>this.viewModelTitle||this.title))});this.iconRenderer=()=>XNode.create("i",{"data-icon-button":"icon-button",class:Bind.oneWay((()=>this.iconClass)),eventClick:e1=>this.dispatchIconClickEvent(e1)});this.actionBarRenderer=()=>XNode.create("div",null);this.runAfterInit((()=>{var _b,_c,_d,_e;(_c=(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove)===null||_c===void 0?void 0:_c.call(_b);this.initialized=true;this.enablePullToRefreshEvents();try{document.body.dispatchEvent(new CustomEvent("pageNavigated",{detail:{title:this.title,route:this.route||((_e=(_d=Object.getPrototypeOf(this))===null||_d===void 0?void 0:_d.constructor)===null||_e===void 0?void 0:_e.name)},bubbles:true,cancelable:true}))}catch(_f){}}))}render(node,e,creator){var _b,_c;if(e||((_b=node===null||node===void 0?void 0:node.attributes)===null||_b===void 0?void 0:_b["data-page-element"])){super.render(node,e,creator);return}this.render=super.render;const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};let extracted={};if(!na["data-page-element"]){na["data-page-element"]="content";extracted=this.extractControlProperties(node)}super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);this.contentElement=this.element.querySelector("[data-page-element='content']");setTimeout((()=>{}),100)}enablePullToRefreshEvents(){var _b;const e=this.pullToRefreshElement;if(!e){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=void 0;return e}if(this.pullToRefreshDisposable){return}let elementAdded=false;const touchStart=te=>{var _b;if(!this.pullToRefreshElement){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=null;return}if(this.contentElement.scrollTop>0){return}const isMouseEvent=te.type==="mousedown";const moveEventName=isMouseEvent?"mousemove":"touchmove";const endEventName=isMouseEvent?"mouseup":"touchend";const startY=isMouseEvent?te.screenY:te.touches[0].screenY;this.pullToRefreshElement.dataset.mode="down";if(isMouseEvent){te.stopPropagation();te.preventDefault()}const d=new AtomDisposableList;d.add((()=>{this.contentElement.style.removeProperty("touch-action")}));d.add(this.bindEvent(this.contentElement,moveEventName,(me=>{const screenY=isMouseEvent?me.screenY:me.touches[0].screenY;const diffX=Math.min(75,screenY-startY);if(diffX>5){if(!elementAdded){this.contentElement.style.touchAction="none";elementAdded=true;this.element.appendChild(this.pullToRefreshElement)}}else{return}this.contentElement.style.transform=`translateY(${diffX}px)`;if(diffX>50){this.pullToRefreshElement.dataset.mode="up"}else{this.pullToRefreshElement.dataset.mode="down"}}),null,{passive:true}));d.add(this.bindEvent(this.contentElement,endEventName,(ue=>{ue.stopPropagation();if(isMouseEvent){ue.stopImmediatePropagation();ue.preventDefault()}d.dispose();const done=()=>{delete this.pullToRefreshElement.dataset.mode;this.contentElement.style.transform=``;this.pullToRefreshElement.style.transform="";this.pullToRefreshElement.remove();elementAdded=false};const diffX=ue.screenY-startY;if(diffX<=50){done();return}const ce=new CustomEvent("reloadPage",{detail:this,bubbles:true,cancelable:true});this.contentElement.dispatchEvent(ce);if(ce.defaultPrevented){done();return}this.pullToRefreshElement.dataset.mode="loading";const promise=ce.promise;if(!promise){done();return}promise.then(done,done)}),null,{passive:!isMouseEvent}))};const ed=new AtomDisposableList;ed.add(this.bindEvent(this.contentElement,"mousedown",touchStart));ed.add(this.bindEvent(this.contentElement,"touchstart",touchStart,null,{passive:true}));this.pullToRefreshDisposable=ed}dispatchIconClickEvent(e){const ce=new CustomEvent("iconClick",{bubbles:true});e.target.dispatchEvent(ce)}hide(){var _b;const{element}=this;if(!element){return}element.dataset.pageState="hidden";element._logicalParent=element.parentElement;this.scrollTop=(_b=this.contentElement)===null||_b===void 0?void 0:_b.scrollTop;setTimeout((()=>{element===null||element===void 0?void 0:element.remove()}),400)}show(){this.element._logicalParent.appendChild(this.element);setTimeout((()=>{if(this.scrollTop){}this.element.dataset.pageState="ready"}),1)}});__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"closeWarning",void 0);__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"pullToRefreshRenderer",void 0);delete BasePage.prototype.init;_export("ContentPage",ContentPage=class ContentPage extends BasePage{});_export("TabbedPage",TabbedPage=class TabbedPage extends BasePage{});_export("default",MobileApp=class MobileApp extends AtomControl{static pushPage(pageUri,parameters={},clearHistory=false){return __awaiter(this,void 0,void 0,(function*(){const mobileApp=this.current;const page=yield AtomLoader.loadClass(pageUri,parameters!==null&¶meters!==void 0?parameters:{},mobileApp.app);const result=yield mobileApp.loadPage(page,clearHistory);return result}))}popTo(w){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){while(this.selectedPage!==w){this.selectedPage.cancel();yield sleep(500)}}))))}back(){return __awaiter(this,void 0,void 0,(function*(){if(this.pages.length===0){const drawer=this.drawer;if(drawer&&!this.hideDrawer){const drawerPage=new drawer(this.app);const modalClose=ce=>{var _b;let start=ce.target;const de=drawerPage.element;while(start){if(start===de){return}start=start.parentElement}ce.preventDefault();(_b=ce.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(ce);ce.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};const dispatchCloseDrawer=de=>{if(de.defaultPrevented){return}de.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};this.element.appendChild(drawerPage.element);setTimeout((()=>{this.element.dataset.drawer="visible";drawerPage.bindEvent(this.element,"click",dispatchCloseDrawer);drawerPage.bindEvent(document.body,"click",modalClose,null,true)}),10);this.hideDrawer=()=>{this.element.dataset.drawer="";setTimeout((()=>{const de=drawerPage.element;drawerPage.dispose();de.remove()}),400);this.hideDrawer=undefined};return false}return true}this.selectedPage.cancel("cancelled");return false}))}init(){return __awaiter(this,void 0,void 0,(function*(){}))}preCreate(){MobileApp.current=this;window.addEventListener("backButton",(ce=>{const{detail}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){if(yield this.back()){detail()}}))))}));this.drawer=null;this.element.dataset.pageApp="page-app";const container=this.container=document.createElement("div");container.dataset.container="true";this.element.appendChild(container);this.pages=[];this.selectedPage=null;this.bindEvent(this.element,"iconClick",(e=>this.back()));this.bindEvent(this.element,"closeDrawer",(e=>{var _b;(_b=this.hideDrawer)===null||_b===void 0?void 0:_b.call(this)}));const navigationService=this.app.resolve(NavigationService);navigationService.registerNavigationHook(((uri,{target,clearHistory})=>{if(/^(app|root)$/.test(target)){return this.loadPageForReturn(uri,clearHistory)}}));this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}loadPageForReturn(url,clearHistory){var _b;return __awaiter(this,void 0,void 0,(function*(){(_b=this.defaultPage)!==null&&_b!==void 0?_b:this.defaultPage=url;const page=yield AtomLoader.loadControl(url,this.app);if(url.query&&url.query.title){page.title||(page.title=url.query.title.toString())}const p=yield this.loadPage(page,clearHistory);try{return yield p}catch(ex){if((ex.message?ex.message:ex)==="cancelled"){console.warn(ex);return}throw ex}}))}loadPage(page,clearHistory){return __awaiter(this,void 0,void 0,(function*(){page.title||(page.title=StringHelper.fromPascalToTitleCase(Object.getPrototypeOf(page).constructor.name));const{parameters}=page;const route=parameters===null||parameters===void 0?void 0:parameters[displayRouteSymbol];if(route){page.route=route}const selectedPage=this.selectedPage;if(selectedPage){selectedPage.hide();this.pages.add(selectedPage)}const hasPages=!clearHistory&&this.pages.length;if(clearHistory){for(const iterator of this.pages){const e=iterator.element;iterator.dispose();e.remove()}this.pages.length=0;this.selectedPage=null}if(!hasPages){page.element.dataset.pageState="ready";page.iconClass="fas fa-bars"}else{page.iconClass="fas fa-arrow-left"}this.container.appendChild(page.element);this.selectedPage=page;const vm=page.viewModel;const element=page.element;return new Promise(((resolve,reject)=>{const closeFactory=(callback,result)=>r=>{if(clearHistory){this.app.runAsync((()=>this.loadPageForReturn(this.defaultPage,true)));return}element.removeAttribute("data-page-state");const last=this.pages.pop();last.show();setTimeout((()=>{page.dispose();element.remove();callback(r!==null&&r!==void 0?r:result);this.selectedPage=last}),300)};const cancel=closeFactory(reject,"cancelled");const close=closeFactory(resolve);if(vm){vm.cancel=cancel;vm.close=close}page.cancel=cancel;page.close=close}))}))}});MobileApp.drawer=XNode.prepare("drawer",true,true);_export("isMobileView",isMobileView=/Android|iPhone/i.test(navigator.userAgent)||window.visualViewport.width<500||window.forceMobileLayout);isPopupPage=Symbol("isPopupPage");PopupWindowEx=class PopupWindowEx extends PopupWindow{};_a=isPopupPage;PopupWindowEx[_a]=true;root=isMobileView?ContentPage:PopupWindowEx;_export("PopupWindowPage",PopupWindowPage=class PopupWindowPage extends root{});PageNavigator.pushPageForResult=(page,parameters,clearHistory)=>{var _b,_c;if(!isMobileView&&page[isPopupPage]){const popupPage=page;const options=Object.assign(Object.assign({},(_b=popupPage.dialogOptions)!==null&&_b!==void 0?_b:{}),{parameters:{parameters}});(_c=options.modal)!==null&&_c!==void 0?_c:options.modal=true;if(options.modal){return page.showModal(options)}return page.showWindow(options)}return MobileApp.pushPage(page,parameters,clearHistory)}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MobileApp");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","../mobile-app/MobileApp","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomControl,ChildEnumerator,MobileApp,styled,DesktopApp;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_mobileAppMobileApp){MobileApp=_mobileAppMobileApp.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
494
|
+
`.installGlobal();_export("Drawer",Drawer=class Drawer extends AtomControl{init(){}preCreate(){this.element.dataset.drawerPage="drawer-page";this.bindEvent(this.element,"click",(e=>e.defaultPrevented?null:this.closeDrawer()));this.runAfterInit((()=>this.app.runAsync((()=>{var _b;return(_b=this.init)===null||_b===void 0?void 0:_b.call(this)}))))}closeDrawer(){const ce=new CustomEvent("closeDrawer",{bubbles:true});this.element.dispatchEvent(ce)}});delete Drawer.prototype.init;historyBackCalled=false;_export("BasePage",BasePage=class BasePage extends AtomControl{constructor(){super(...arguments);this.disableAutoFocus=false}get route(){return this.routeUrl}set route(url){var _b,_c;if(!url){return}if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===url){return}url=Route.encodeUrl(url);if(this.routeUrl===url){return}this.routeUrl=url;(_c=this.reouteDisposable)===null||_c===void 0?void 0:_c.dispose();let last=void 0;setTimeout((()=>last=url),100);const state={url};history.pushState(state,"",url);const eventRegistration=e=>{var _b;if(historyBackCalled){return}if(((_b=e.state)===null||_b===void 0?void 0:_b.url)===last){this.cancel()}};window.addEventListener("popstate",eventRegistration);const d={dispose(){var _b;window.removeEventListener("popstate",eventRegistration);if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===state.url){historyBackCalled=true;history.back();setTimeout((()=>historyBackCalled=false),500)}}};this.reouteDisposable=this.registerDisposable(d)}get hideToolbar(){var _b,_c;return((_c=(_b=this.element)===null||_b===void 0?void 0:_b.dataset)===null||_c===void 0?void 0:_c.hideToolbar)?true:false}set hideToolbar(v){this.element.dataset.hideToolbar=v?"true":"false"}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield PopupService.confirm({message:this.closeWarning}))){return}}this.cancel()}))}onPropertyChanged(name){var _b;super.onPropertyChanged(name);switch(name){case"footerRenderer":this.recreate(name,"footer");break;case"iconRenderer":this.recreate(name,"icon");break;case"titleRenderer":this.recreate(name,"title");break;case"actionRenderer":this.recreate(name,"action");break;case"headerRenderer":this.recreate(name,"header");break;case"pullToRefreshRenderer":this.pullToRefreshElement=this.recreate(name,"pull-to-refresh");(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove();this.enablePullToRefreshEvents();break;case"actionBarRenderer":this.recreate(name,"action-bar");break}}init(){}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(({dataset:{pageElement}})=>!pageElement||pageElement==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}recreate(renderer,name){var _b,_c,_d;const node=(_c=(_b=this[renderer])===null||_b===void 0?void 0:_b.call(this))!==null&&_c!==void 0?_c:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.dataset.pageElement===name){this.dispose(e);e.remove();break}}if(node){const na=(_d=node.attributes)!==null&&_d!==void 0?_d:node.attributes={};na["data-page-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-page-element="${name}"]`)}return null}preCreate(){this.element.dataset.basePage="base-page";this.iconClass="";this.viewModelTitle=null;const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});this.runAfterInit((()=>{if(!this.element){return}const anyAutofocus=this.element.querySelector(`*[autofocus]`);if(!anyAutofocus){if(this.disableAutoFocus){return}const windowContent=this.element.querySelector(`[data-page-element="content"]`);if(windowContent){const firstInput=windowContent.querySelector("input,textarea");if(firstInput){firstInput.focus();return}}return}anyAutofocus.focus()}));setTimeout((p=>{p.dataset.pageState="ready"}),1,this.element);this.titleRenderer=()=>XNode.create("span",{"data-text-overflow":"ellipsis",class:"title-text",text:Bind.oneWay((()=>this.viewModelTitle||this.title))});this.iconRenderer=()=>XNode.create("i",{"data-icon-button":"icon-button",class:Bind.oneWay((()=>this.iconClass)),eventClick:e1=>this.dispatchIconClickEvent(e1)});this.actionBarRenderer=()=>XNode.create("div",null);this.runAfterInit((()=>{var _b,_c,_d,_e;(_c=(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove)===null||_c===void 0?void 0:_c.call(_b);this.initialized=true;this.enablePullToRefreshEvents();try{document.body.dispatchEvent(new CustomEvent("pageNavigated",{detail:{title:this.title,route:this.route||((_e=(_d=Object.getPrototypeOf(this))===null||_d===void 0?void 0:_d.constructor)===null||_e===void 0?void 0:_e.name)},bubbles:true,cancelable:true}))}catch(_f){}}))}render(node,e,creator){var _b,_c;if(e||((_b=node===null||node===void 0?void 0:node.attributes)===null||_b===void 0?void 0:_b["data-page-element"])){super.render(node,e,creator);return}this.render=super.render;const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};let extracted={};if(!na["data-page-element"]){na["data-page-element"]="content";extracted=this.extractControlProperties(node)}super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);this.contentElement=this.element.querySelector("[data-page-element='content']");setTimeout((()=>{this.contentElement.scrollTop=0;this.contentElement.scrollLeft=0}),100)}enablePullToRefreshEvents(){var _b;const e=this.pullToRefreshElement;if(!e){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=void 0;return e}if(this.pullToRefreshDisposable){return}let elementAdded=false;const touchStart=te=>{var _b;if(!this.pullToRefreshElement){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=null;return}if(this.contentElement.scrollTop>0){return}const isMouseEvent=te.type==="mousedown";const moveEventName=isMouseEvent?"mousemove":"touchmove";const endEventName=isMouseEvent?"mouseup":"touchend";const startY=isMouseEvent?te.screenY:te.touches[0].screenY;this.pullToRefreshElement.dataset.mode="down";if(isMouseEvent){te.stopPropagation();te.preventDefault()}const d=new AtomDisposableList;d.add((()=>{this.contentElement.style.removeProperty("touch-action")}));d.add(this.bindEvent(this.contentElement,moveEventName,(me=>{const screenY=isMouseEvent?me.screenY:me.touches[0].screenY;const diffX=Math.min(75,screenY-startY);if(diffX>5){if(!elementAdded){this.contentElement.style.touchAction="none";elementAdded=true;this.element.appendChild(this.pullToRefreshElement)}}else{return}this.contentElement.style.transform=`translateY(${diffX}px)`;if(diffX>50){this.pullToRefreshElement.dataset.mode="up"}else{this.pullToRefreshElement.dataset.mode="down"}}),null,{passive:true}));d.add(this.bindEvent(this.contentElement,endEventName,(ue=>{ue.stopPropagation();if(isMouseEvent){ue.stopImmediatePropagation();ue.preventDefault()}d.dispose();const done=()=>{delete this.pullToRefreshElement.dataset.mode;this.contentElement.style.transform=``;this.pullToRefreshElement.style.transform="";this.pullToRefreshElement.remove();elementAdded=false};const diffX=ue.screenY-startY;if(diffX<=50){done();return}const ce=new CustomEvent("reloadPage",{detail:this,bubbles:true,cancelable:true});this.contentElement.dispatchEvent(ce);if(ce.defaultPrevented){done();return}this.pullToRefreshElement.dataset.mode="loading";const promise=ce.promise;if(!promise){done();return}promise.then(done,done)}),null,{passive:!isMouseEvent}))};const ed=new AtomDisposableList;ed.add(this.bindEvent(this.contentElement,"mousedown",touchStart));ed.add(this.bindEvent(this.contentElement,"touchstart",touchStart,null,{passive:true}));this.pullToRefreshDisposable=ed}dispatchIconClickEvent(e){const ce=new CustomEvent("iconClick",{bubbles:true});e.target.dispatchEvent(ce)}hide(){var _b;const{element}=this;if(!element){return}element.dataset.pageState="hidden";element._logicalParent=element.parentElement;this.scrollTop=(_b=this.contentElement)===null||_b===void 0?void 0:_b.scrollTop;setTimeout((()=>{element===null||element===void 0?void 0:element.remove()}),400)}show(){this.element._logicalParent.appendChild(this.element);setTimeout((()=>{if(this.scrollTop){this.contentElement.scrollTop=this.scrollTop}this.element.dataset.pageState="ready"}),1)}});__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"closeWarning",void 0);__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"pullToRefreshRenderer",void 0);delete BasePage.prototype.init;_export("ContentPage",ContentPage=class ContentPage extends BasePage{});_export("TabbedPage",TabbedPage=class TabbedPage extends BasePage{});_export("default",MobileApp=class MobileApp extends AtomControl{static pushPage(pageUri,parameters={},clearHistory=false){return __awaiter(this,void 0,void 0,(function*(){const mobileApp=this.current;const page=yield AtomLoader.loadClass(pageUri,parameters!==null&¶meters!==void 0?parameters:{},mobileApp.app);const result=yield mobileApp.loadPage(page,clearHistory);return result}))}popTo(w){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){while(this.selectedPage!==w){this.selectedPage.cancel();yield sleep(500)}}))))}back(){return __awaiter(this,void 0,void 0,(function*(){if(this.pages.length===0){const drawer=this.drawer;if(drawer&&!this.hideDrawer){const drawerPage=new drawer(this.app);const modalClose=ce=>{var _b;let start=ce.target;const de=drawerPage.element;while(start){if(start===de){return}start=start.parentElement}ce.preventDefault();(_b=ce.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(ce);ce.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};const dispatchCloseDrawer=de=>{if(de.defaultPrevented){return}de.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};this.element.appendChild(drawerPage.element);setTimeout((()=>{this.element.dataset.drawer="visible";drawerPage.bindEvent(this.element,"click",dispatchCloseDrawer);drawerPage.bindEvent(document.body,"click",modalClose,null,true)}),10);this.hideDrawer=()=>{this.element.dataset.drawer="";setTimeout((()=>{const de=drawerPage.element;drawerPage.dispose();de.remove()}),400);this.hideDrawer=undefined};return false}return true}this.selectedPage.cancel("cancelled");return false}))}init(){return __awaiter(this,void 0,void 0,(function*(){}))}preCreate(){MobileApp.current=this;window.addEventListener("backButton",(ce=>{const{detail}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){if(yield this.back()){detail()}}))))}));this.drawer=null;this.element.dataset.pageApp="page-app";const container=this.container=document.createElement("div");container.dataset.container="true";this.element.appendChild(container);this.pages=[];this.selectedPage=null;this.bindEvent(this.element,"iconClick",(e=>this.back()));this.bindEvent(this.element,"closeDrawer",(e=>{var _b;(_b=this.hideDrawer)===null||_b===void 0?void 0:_b.call(this)}));const navigationService=this.app.resolve(NavigationService);navigationService.registerNavigationHook(((uri,{target,clearHistory})=>{if(/^(app|root)$/.test(target)){return this.loadPageForReturn(uri,clearHistory)}}));this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}loadPageForReturn(url,clearHistory){var _b;return __awaiter(this,void 0,void 0,(function*(){(_b=this.defaultPage)!==null&&_b!==void 0?_b:this.defaultPage=url;const page=yield AtomLoader.loadControl(url,this.app);if(url.query&&url.query.title){page.title||(page.title=url.query.title.toString())}const p=yield this.loadPage(page,clearHistory);try{return yield p}catch(ex){if((ex.message?ex.message:ex)==="cancelled"){console.warn(ex);return}throw ex}}))}loadPage(page,clearHistory){return __awaiter(this,void 0,void 0,(function*(){page.title||(page.title=StringHelper.fromPascalToTitleCase(Object.getPrototypeOf(page).constructor.name));const{parameters}=page;const route=parameters===null||parameters===void 0?void 0:parameters[displayRouteSymbol];if(route){page.route=route}const selectedPage=this.selectedPage;if(selectedPage){selectedPage.hide();this.pages.add(selectedPage)}const hasPages=!clearHistory&&this.pages.length;if(clearHistory){for(const iterator of this.pages){const e=iterator.element;iterator.dispose();e.remove()}this.pages.length=0;this.selectedPage=null}if(!hasPages){page.element.dataset.pageState="ready";page.iconClass="fas fa-bars"}else{page.iconClass="fas fa-arrow-left"}this.container.appendChild(page.element);this.selectedPage=page;const vm=page.viewModel;const element=page.element;return new Promise(((resolve,reject)=>{const closeFactory=(callback,result)=>r=>{if(clearHistory){this.app.runAsync((()=>this.loadPageForReturn(this.defaultPage,true)));return}element.removeAttribute("data-page-state");const last=this.pages.pop();last.show();setTimeout((()=>{page.dispose();element.remove();callback(r!==null&&r!==void 0?r:result);this.selectedPage=last}),300)};const cancel=closeFactory(reject,"cancelled");const close=closeFactory(resolve);if(vm){vm.cancel=cancel;vm.close=close}page.cancel=cancel;page.close=close}))}))}});MobileApp.drawer=XNode.prepare("drawer",true,true);_export("isMobileView",isMobileView=/Android|iPhone/i.test(navigator.userAgent)||window.visualViewport.width<500||window.forceMobileLayout);isPopupPage=Symbol("isPopupPage");PopupWindowEx=class PopupWindowEx extends PopupWindow{};_a=isPopupPage;PopupWindowEx[_a]=true;root=isMobileView?ContentPage:PopupWindowEx;_export("PopupWindowPage",PopupWindowPage=class PopupWindowPage extends root{});PageNavigator.pushPageForResult=(page,parameters,clearHistory)=>{var _b,_c;if(!isMobileView&&page[isPopupPage]){const popupPage=page;const options=Object.assign(Object.assign({},(_b=popupPage.dialogOptions)!==null&&_b!==void 0?_b:{}),{parameters:{parameters}});(_c=options.modal)!==null&&_c!==void 0?_c:options.modal=true;if(options.modal){return page.showModal(options)}return page.showWindow(options)}return MobileApp.pushPage(page,parameters,clearHistory)}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MobileApp");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","../mobile-app/MobileApp","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomControl,ChildEnumerator,MobileApp,styled,DesktopApp;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_mobileAppMobileApp){MobileApp=_mobileAppMobileApp.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
495
495
|
|
|
496
496
|
html, body {
|
|
497
497
|
width: 100vw;
|
|
@@ -1270,7 +1270,7 @@ html, body {
|
|
|
1270
1270
|
border: solid 1px gray;
|
|
1271
1271
|
}
|
|
1272
1272
|
|
|
1273
|
-
`.installGlobal("[data-load-more=load-more]");pagedItemsSetter=AtomControl.registerProperty("paged-items","paged-items",((control,element,value)=>{var _b,_c;if(value&&value.items){let cancelToken=control[loadMoreSet];(_b=control.footerRenderer)!==null&&_b!==void 0?_b:control.footerRenderer=()=>XNode.create("div",{"data-load-more":"load-more","data-click-event":"load-more-items"},XNode.create("span",{text:"Load more ... "}));(_c=control.headerRenderer)!==null&&_c!==void 0?_c:control.headerRenderer=()=>XNode.create("div",{class:"scroll-header","style-height":"1px","style-width":"100%"});if(!cancelToken){control[loadMoreSet]=cancelToken=new CancelToken;control.bindEvent(control.element,"loadMoreItems",(e=>{const ce=new CustomEvent("moreItems",{detail:{pagedItems:control.pagedItems,cancelToken},bubbles:false});control.element.dispatchEvent(ce)}))}else{cancelToken.cancel();control[loadMoreSet]=cancelToken=new CancelToken}const items=control.items;if(items&&Array.isArray(items)){items.clear();items.addAll(value.items)}else{control.items=value.items}const autoScroll=control.element.getAttribute("data-auto-scroll")!=="false";if(autoScroll){setTimeout((()=>{var _b;const ce=(_b=control.element)===null||_b===void 0?void 0:_b.firstElementChild;ce===null||ce===void 0?void 0:ce.scrollIntoView()}),100)}control.footer=value.total&&value.items&&value.items.length<value.total;control.pagedItems=value}}));scrollToBottom=({target,detail:{type,index}})=>{if(!(type==="add"&&index===0)&&type!=="reset"){return}setTimeout((()=>{const e=target.firstElementChild;console.log(e);e===null||e===void 0?void 0:e.scrollIntoView(true)}),1)};_export("default",InfiniteRepeater=class InfiniteRepeater{});_a=InfiniteRepeater;InfiniteRepeater.pagedItems=start=>{const setter=start(0);const setters=pagedItemsSetter(Bind.oneWayAsync(setter));setters["event-more-items"]=Bind.event(((s,e)=>__awaiter(void 0,void 0,void 0,(function*(){var _b,_c;const st=(_c=(_b=s.items)===null||_b===void 0?void 0:_b.length)!==null&&_c!==void 0?_c:0;if(!st){return}const cancelToken=s[loadMoreSet];const loader=start(st);const results=yield loader(s,e.target,cancelToken);s.items.addAll(results.items);s.footer=results.items.length>0}))));return setters}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/core/dist/core/Bind","../../../common/validators/Validators","../../../common/controls/password/PasswordStrength","@web-atoms/core/dist/view-model/Action","../../../services/EntityService","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,PasswordBox,Bind,Validators,PasswordStrength,Action,EntityService,DateTime,Checkbox,EditUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonValidatorsValidators){Validators=_commonValidatorsValidators.Validators},function(_commonControlsPasswordPasswordStrength){PasswordStrength=_commonControlsPasswordPasswordStrength.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",EditUserPage=class EditUserPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){var _a,_b;var _c,_d;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;if(!this.model.userID){(_a=(_c=this.model).createFolder)!==null&&_a!==void 0?_a:_c.createFolder=true}(_b=(_d=this.model).changePassword)!==null&&_b!==void 0?_b:_d.changePassword={newPassword:"",forceChangePasswordOnLogin:true};this.title=this.model.userID?`Reset Password for ${this.model.displayName} (${this.model.userID}, ${this.model.userName})`:"Add New User";this.renderer=XNode.create("div",null,XNode.create(Form,null,!this.model.userID&&XNode.create(FormField,{label:"Display Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.displayName))})),!this.model.userID&&XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.userName))})),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create(FormField,{label:"Force Change Password"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.changePassword.forceChangePasswordOnLogin)),text:"Force user to change password on next login."})),XNode.create(FormField,{label:"Create Drive"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.createFolder)),text:"Create Drive for this user"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"reset-password",text:"Save"}))))}))}resetPassword(){return __awaiter(this,void 0,void 0,(function*(){const entityService=this.resolve(EntityService);this.model.dateUpdated=DateTime.now;const clone=entityService.cloner(this.model).include((x=>x.changePassword)).copy;yield entityService.save(clone)}))}});__decorate([Action({onEvent:"reset-password",success:"Information saved successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditUserPage.prototype,"resetPassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage");System.register(["@web-atoms/core/dist/style/styled","../PageNavigator","./MobileApp","@web-atoms/core/dist/web/core/AtomUI","../basic/AtomRepeater"],(function(_export,_context){"use strict";var styled,PageNavigator,ContentPage,isMobileView,descendentElementIterator,AtomRepeater,MasterDetailPage,findItem;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_MobileApp){ContentPage=_MobileApp.ContentPage;isMobileView=_MobileApp.isMobileView},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default}],execute:function(){styled.css`
|
|
1273
|
+
`.installGlobal("[data-load-more=load-more]");pagedItemsSetter=AtomControl.registerProperty("paged-items","paged-items",((control,element,value)=>{var _b,_c;if(value&&value.items){let cancelToken=control[loadMoreSet];(_b=control.footerRenderer)!==null&&_b!==void 0?_b:control.footerRenderer=()=>XNode.create("div",{"data-load-more":"load-more","data-click-event":"load-more-items"},XNode.create("span",{text:"Load more ... "}));(_c=control.headerRenderer)!==null&&_c!==void 0?_c:control.headerRenderer=()=>XNode.create("div",{class:"scroll-header","style-height":"1px","style-width":"100%"});if(!cancelToken){control[loadMoreSet]=cancelToken=new CancelToken;control.bindEvent(control.element,"loadMoreItems",(e=>{const ce=new CustomEvent("moreItems",{detail:{pagedItems:control.pagedItems,cancelToken},bubbles:false});control.element.dispatchEvent(ce)}))}else{cancelToken.cancel();control[loadMoreSet]=cancelToken=new CancelToken}const items=control.items;if(items&&Array.isArray(items)){items.clear();items.addAll(value.items)}else{control.items=value.items}const autoScroll=control.element.getAttribute("data-auto-scroll")!=="false";if(autoScroll){setTimeout((()=>{var _b;const ce=(_b=control.element)===null||_b===void 0?void 0:_b.firstElementChild;const scrollX=window.scrollX;const scrollY=window.scrollY;ce===null||ce===void 0?void 0:ce.scrollIntoView();setTimeout((()=>{window.scrollTo(scrollX,scrollY)}),100)}),100)}control.footer=value.total&&value.items&&value.items.length<value.total;control.pagedItems=value}}));scrollToBottom=({target,detail:{type,index}})=>{if(!(type==="add"&&index===0)&&type!=="reset"){return}setTimeout((()=>{const e=target.firstElementChild;console.log(e);e===null||e===void 0?void 0:e.scrollIntoView(true)}),1)};_export("default",InfiniteRepeater=class InfiniteRepeater{});_a=InfiniteRepeater;InfiniteRepeater.pagedItems=start=>{const setter=start(0);const setters=pagedItemsSetter(Bind.oneWayAsync(setter));setters["event-more-items"]=Bind.event(((s,e)=>__awaiter(void 0,void 0,void 0,(function*(){var _b,_c;const st=(_c=(_b=s.items)===null||_b===void 0?void 0:_b.length)!==null&&_c!==void 0?_c:0;if(!st){return}const cancelToken=s[loadMoreSet];const loader=start(st);const results=yield loader(s,e.target,cancelToken);s.items.addAll(results.items);s.footer=results.items.length>0}))));return setters}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/core/dist/core/Bind","../../../common/validators/Validators","../../../common/controls/password/PasswordStrength","@web-atoms/core/dist/view-model/Action","../../../services/EntityService","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,PasswordBox,Bind,Validators,PasswordStrength,Action,EntityService,DateTime,Checkbox,EditUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonValidatorsValidators){Validators=_commonValidatorsValidators.Validators},function(_commonControlsPasswordPasswordStrength){PasswordStrength=_commonControlsPasswordPasswordStrength.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",EditUserPage=class EditUserPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){var _a,_b;var _c,_d;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;if(!this.model.userID){(_a=(_c=this.model).createFolder)!==null&&_a!==void 0?_a:_c.createFolder=true}(_b=(_d=this.model).changePassword)!==null&&_b!==void 0?_b:_d.changePassword={newPassword:"",forceChangePasswordOnLogin:true};this.title=this.model.userID?`Reset Password for ${this.model.displayName} (${this.model.userID}, ${this.model.userName})`:"Add New User";this.renderer=XNode.create("div",null,XNode.create(Form,null,!this.model.userID&&XNode.create(FormField,{label:"Display Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.displayName))})),!this.model.userID&&XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.userName))})),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create(FormField,{label:"Force Change Password"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.changePassword.forceChangePasswordOnLogin)),text:"Force user to change password on next login."})),XNode.create(FormField,{label:"Create Drive"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.createFolder)),text:"Create Drive for this user"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"reset-password",text:"Save"}))))}))}resetPassword(){return __awaiter(this,void 0,void 0,(function*(){const entityService=this.resolve(EntityService);this.model.dateUpdated=DateTime.now;const clone=entityService.cloner(this.model).include((x=>x.changePassword)).copy;yield entityService.save(clone)}))}});__decorate([Action({onEvent:"reset-password",success:"Information saved successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditUserPage.prototype,"resetPassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage");System.register(["@web-atoms/core/dist/style/styled","../PageNavigator","./MobileApp","@web-atoms/core/dist/web/core/AtomUI","../basic/AtomRepeater"],(function(_export,_context){"use strict";var styled,PageNavigator,ContentPage,isMobileView,descendentElementIterator,AtomRepeater,MasterDetailPage,findItem;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_MobileApp){ContentPage=_MobileApp.ContentPage;isMobileView=_MobileApp.isMobileView},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default}],execute:function(){styled.css`
|
|
1274
1274
|
& > [data-page-element=content] {
|
|
1275
1275
|
display: grid;
|
|
1276
1276
|
& > * {
|