@social-mail/social-mail-client 1.0.80 → 1.0.82
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 +80 -21
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +44 -7
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/controls/repeater/InfiniteRepeater.js +19 -2
- package/dist/common/controls/repeater/InfiniteRepeater.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +80 -21
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +44 -7
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/mails/MailboxContacts.js +61 -19
- package/dist/web/page/mails/MailboxContacts.js.map +1 -1
- package/package.json +1 -1
- package/src/common/controls/repeater/InfiniteRepeater.tsx +17 -1
- package/src/web/page/mails/MailboxContacts.tsx +39 -7
|
@@ -666,7 +666,20 @@ and limitations under the License.
|
|
|
666
666
|
}
|
|
667
667
|
}
|
|
668
668
|
}
|
|
669
|
-
`.withId("repeater-styles").installGlobal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/repeater-style");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","./InlinePopup","./MergeNode","./ItemPath","./styles/ui-display-none-style","./styles/popup-style","./styles/suggestion-popup","./styles/repeater-style","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,Colors,StringHelper,WatchProperty,XNode,AtomControl,PopupWindow,InlinePopup,MergeNode,ItemPath,repeaterPopupCss,ChildEnumerator,SelectAllControl,AtomRepeater,popupCSS,getParentRepeaterItem,MatchTrue,MatchFalse,ArrowToString,MatchCaseInsensitive,MatchAnyCaseInsensitive,SameObjectValue,getFirstChild,hoverItem,dragOver;function askSuggestion(items,itemRenderer,match,options){class Suggestions extends PopupWindow{create(){var _a;this.title=(_a=options===null||options===void 0?void 0:options.title)!==null&&_a!==void 0?_a:"Select";this.render(XNode.create("div",{class:popupCSS},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.close(e.detail)},items}))))}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);options!==null&&options!==void 0?options:options={};if(typeof options.maximize==="undefined"){if(typeof options.width==="undefined"){options.maxWidth="90%";options.minWidth="300px"}if(typeof options.height==="undefined"){options.height="80%"}}return Suggestions.showModal(options)}function askSuggestionPopup(opener,items,itemRenderer,match,selectedItem){const updateSearch="search"in opener;const itemsInOpener="items"in opener;class Suggestions extends InlinePopup{get items(){return itemsInOpener?this.opener.items:items}onPropertyChanged(name){if(updateSearch&&name==="search"){opener.search=this.search}super.onPropertyChanged(name)}create(){this.anchorItem=selectedItem;this.opener=opener;if(this.opener.search){this.search=this.opener.search}if(selectedItem){this.anchorIndex=items.indexOf(selectedItem)}const disableSearch=opener.disableSearch;if(itemsInOpener){this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.anchorItem=e.detail;setTimeout((()=>this.close(e.detail)),100)},items:Bind.oneWay((()=>this.opener.items))}))));return}this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),scrollToSelection:true,eventItemClick:e=>{this.close(e.detail)},items}))))}onKey(e){var _a;const suggested=match?(_a=this.items)===null||_a===void 0?void 0:_a.filter(match(this.search)):this.items;switch(e.key){case"Enter":const anchorItem=this.anchorItem;if(!anchorItem){return}this.anchorIndex=0;this.close(anchorItem);this.anchorItem=null;this.search="";break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);return Suggestions.showControl(opener)}function SelectorCheckBox(_a,...nodes){var{text,icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}),...nodes)}return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),...nodes)}function SelectAll(_a,...nodes){var{text="Select All",icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}))}return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),...nodes)}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c)}e.innerHTML=""}function disposeChild(owner,e){const ac=e.atomControl;if(ac){ac.dispose();return}disposeChildren(owner,e);owner.unbind(e);owner.unbindEvent(e);e.remove()}function defaultComparer(left,right){if(left&&right){if(left instanceof Date){if(right instanceof Date){return left.getTime()===right.getTime()}return false}}return left===right}function updateDragDrop(e,force=false){if(!e){return}if(force){e.draggable=false}else{force=e.draggable}e=e.firstElementChild;while(e){updateDragDrop(e,force);e=e.nextElementSibling}}_export({askSuggestion,askSuggestionPopup,SelectorCheckBox,SelectAll,disposeChildren,disposeChild,defaultComparer,default:void 0});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreColors){Colors=_webAtomsCoreDistCoreColors.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_MergeNode){MergeNode=_MergeNode.default},function(_ItemPath){ItemPath=_ItemPath.default},function(_stylesUiDisplayNoneStyle){},function(_stylesPopupStyle){repeaterPopupCss=_stylesPopupStyle.repeaterPopupCss},function(_stylesSuggestionPopup){},function(_stylesRepeaterStyle){},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator}],execute:function(){popupCSS=repeaterPopupCss;_export("getParentRepeaterItem",getParentRepeaterItem=target=>{let eventName;let repeater;let index;let root;while(target){const a=target.atomControl;if(a!==undefined&&a instanceof AtomRepeater){repeater=a;break}if(index===undefined){const itemIndex=target.getAttribute("data-item-index");if(typeof itemIndex!=="undefined"){root=target;index=~~itemIndex}}if(eventName===undefined){const itemClickEvent=target.getAttribute("data-click-event");if(itemClickEvent){eventName=itemClickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}}target=target.parentElement}if(index===void 0||repeater===void 0){return undefined}const item=repeater.items[~~index];return[eventName,repeater,item,index,root]});_export("MatchTrue",MatchTrue=(...a)=>true);_export("MatchFalse",MatchFalse=(...a)=>false);_export("ArrowToString",ArrowToString=item=>{var _a,_b;return(_b=(_a=item.label)===null||_a===void 0?void 0:_a.toString())!==null&&_b!==void 0?_b:item.toString()});_export("MatchCaseInsensitive",MatchCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsRegExp(s);return item=>r.test(textField(item))});_export("MatchAnyCaseInsensitive",MatchAnyCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsAnyWordRegExp(s);return item=>r.test(textField(item))});_export("SameObjectValue",SameObjectValue=item=>item);SelectAllControl=class SelectAllControl extends AtomControl{preCreate(){this.element.dataset.selectAll="select-all";this.items=[];this.selectedItems=[];this.render(XNode.create(SelectAllControl,{"data-is-selected":Bind.oneWay((()=>this.items.length>0&&this.items.length===this.selectedItems.length),false)}));this.bindEvent(this.element,"click",(()=>{const si=this.selectedItems;const items=this.items;if(!si){return}if(!items){return}if(items.length===0){return}if(items.length===si.length){si.clear()}else{si.length=0;si.push(...items);si.refresh()}}))}};__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"selectedItems",void 0);getFirstChild=container=>{let child=container.firstElementChild;while(child&&!child.hasAttribute("data-item-index")){child=child.nextElementSibling}return child};_export("default",AtomRepeater=class AtomRepeater extends AtomControl{constructor(){super(...arguments);this.bubbleEvents=true}static from(element){while(element){const{atomControl}=element;if(atomControl instanceof AtomRepeater){return atomControl}element=element.parentElement}}set refreshEventScope(v){this.registerDisposable(v.listen((ce=>{this.refreshItem(ce.detail)})))}get allSelected(){const selectedItems=this.selectedItems;const items=this.items;if(!(items&&selectedItems)){return false}return items.length&&items.length===selectedItems.length}get value(){var _a;if(this.initialValue!==undefined){return this.initialValue}const sp=this.selectedItem;if(sp===undefined){return sp}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;return vp(sp)}set value(v){var _a,_b;this.initialValue=v;if(!this.items||!this.items.length){AtomBinder.refreshValue(this,"value");return}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;const c=(_b=this.comparer)!==null&&_b!==void 0?_b:defaultComparer;const selectedItem=this.items.find((item=>c(vp(item),v)));this.selectedItem=selectedItem;delete this.initialValue}get selectedItem(){var _a;return(_a=this.selectedItems)===null||_a===void 0?void 0:_a[0]}set selectedItem(value){var _a;const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];const first=si[0];if(value===first){return}si.set(0,value)}onPropertyChanged(name){var _a,_b;switch(name){case"items":(_a=this.itemsDisposable)===null||_a===void 0?void 0:_a.dispose();const items=this.items;const d=items===null||items===void 0?void 0:items.watch(((target,type,index,item)=>{switch(type){case"add":case"remove":case"set":this.updatePartial(type,index,item);break;default:this.updateItems();break}this.dispatchCustomEvent("items-updated",{type,items,index});AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value")}));if(d){this.itemsDisposable=this.registerDisposable(d)}const iv=this.initialValue;if(iv){this.value=iv}this.updateItems();this.dispatchCustomEvent("items-updated",{type:"reset",items,index:0});if(this.scrollToSelection){this.bringSelectionIntoView()}break;case"selectedItems":(_b=this.selectedItemsDisposable)===null||_b===void 0?void 0:_b.dispose();const selectedItems=this.selectedItems;const sd=selectedItems===null||selectedItems===void 0?void 0:selectedItems.watch((()=>{this.updateClasses();if(this.scrollToSelection){this.bringSelectionIntoView()}if(this.selectedItem){delete this.initialValue}AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value");AtomBinder.refreshValue(this,"allSelected");this.dispatchCustomEvent("selection-updated",selectedItems)}));if(sd){this.selectedItemsDisposable=this.registerDisposable(sd)}this.updateClasses();this.dispatchCustomEvent("selection-updated",selectedItems);AtomBinder.refreshValue(this,"allSelected");break;case"itemRenderer":case"watch":this.updateItems();break;case"visibilityFilter":this.updateVisibility();break;case"header":case"headerRenderer":this.updateHeaderFooter("header",this.headerPresenter,this.header,this.headerRenderer,true);break;case"footer":case"footerRenderer":this.updateHeaderFooter("footer",this.footerPresenter,this.footer,this.footerRenderer);break}}bringSelectionIntoView(force){if(force){const selection=this.selectedItem;if(selection){const element=this.elementForItem(selection);element===null||element===void 0?void 0:element.scrollIntoView()}return}if(this.bringIntoViewId){clearTimeout(this.bringIntoViewId)}this.bringIntoViewId=setTimeout((()=>{clearTimeout(this.bringIntoViewId);this.bringIntoViewId=undefined;this.bringSelectionIntoView(true)}),100)}forEach(action,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let start=getFirstChild(container);while(start){const index=start.dataset.itemIndex;const item=items[~~index];action(item,start);start=start.nextElementSibling}}*any(fx,itemSelector,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let node=getFirstChild(container);while(node){const index=node.dataset.itemIndex;const item=items[~~index];let element=node;if(itemSelector){element=element.querySelector(itemSelector)}const ie={item,element};if(fx){if(fx(item)){yield ie}continue}yield ie;node=node.nextElementSibling}}*all(container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);while(element){const index=element.dataset.itemIndex;const item=items[~~index];yield{item,element};element=element.nextElementSibling}}elementAt(index,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const indexText=index.toString();const element=ChildEnumerator.find(container,(e=>e.getAttribute("data-item-index")===indexText));return element}elementForItem(itemToFind,container){const index=this.items.indexOf(itemToFind);return this.elementAt(index,container)}refreshItem(item,fx,index=-1){if(index===-1){index=this.items.indexOf(item)}if(fx===null||fx===void 0?void 0:fx.then){const finalize=v=>{this.refreshItem(item,v,index)};fx.then(finalize,finalize);return}if(fx instanceof MergeNode){this.mergeItem(index,fx);return}this.updatePartial("set",index,item)}mergeItem(index,m){var _a,_b,_c;const item=this.items[index];if(!item){return}if((_b=(_a=m.classes)===null||_a===void 0?void 0:_a[0])===null||_b===void 0?void 0:_b.remove){this.items.removeAt(index);return}const container=(_c=this.itemsPresenter)!==null&&_c!==void 0?_c:this.element;const node=this.itemRenderer(item,index,this);const sourceElement=document.createElement("div");sourceElement.style.display="none";container.appendChild(sourceElement);this.render(node,sourceElement);const targetElement=this.elementAt(index);for(const iterator of m.classes){if(typeof iterator==="string"){const source=sourceElement.querySelectorAll(iterator);const target=targetElement.querySelectorAll(iterator);for(let i=0;i<source.length&&i<target.length;i++){const element=source[i];const te=target[i];for(const name of te.getAttributeNames()){te.removeAttribute(name)}te.innerHTML=element.innerHTML;for(const name of element.getAttributeNames()){te.setAttribute(name,element.getAttribute(name))}}continue}if(iterator.parent){const targetParent=/self|\*/.test(iterator.parent)?targetElement:targetElement.querySelector(iterator.parent);if(!targetParent){continue}for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetParent.appendChild(i)}continue}let targetPrevious=targetElement.querySelector(iterator.after);for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetPrevious.insertAdjacentElement("afterend",i);targetPrevious=i}}this.dispose(sourceElement);sourceElement.remove()}updatePartial(key,index,item,container){var _a,_b,_c,_d,_e,_f,_g;const items=this.items;if(!items){return}const ir=this.itemRenderer;if(!ir){return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;let start=getFirstChild(container);let ei;while(start){ei=~~start.getAttribute("data-item-index");if(ei===index){break}start=start.nextElementSibling}if(key!=="add"&&!start){return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);const isRemove=key==="remove";if(isRemove||key==="set"){const current=start;start=start.nextElementSibling;const ac=current.atomControl;if(ac){ac.dispose()}else{this.unbind(current);this.unbindEvent(current)}current.remove()}const end=((_d=this.footerElement)===null||_d===void 0?void 0:_d.parentElement)===container?this.footerElement:null;if(!isRemove){const en=ir(item,index,this);const ea=(_e=en.attributes)!==null&&_e!==void 0?_e:en.attributes={};const v=vp(item);const e=document.createElement((_g=(_f=ea.for)!==null&&_f!==void 0?_f:en.name)!==null&&_g!==void 0?_g:"div");e.setAttribute("data-item-index",`${index++}`);if(si.indexOf(v)!==-1){e.setAttribute("data-selected-item","true")}else{e.removeAttribute("data-selected-item")}if(this.enableDragDrop){updateDragDrop(e)}if(start){container.insertBefore(e,start)}else if(end){container.insertBefore(e,end)}else{container.appendChild(e)}this.render(en,e,this)}while(start){const ci=items[index];const cv=vp(ci);start.setAttribute("data-item-index",`${index++}`);if(si.indexOf(cv)!==-1){start.setAttribute("data-selected-item","true")}else{start.removeAttribute("data-selected-item")}start=start.nextElementSibling}}updateItems(container,force){var _a,_b,_c,_d,_e,_f;if(this.deferUpdates&&!force){if(this.deferredUpdateId){return}this.deferredUpdateId=setTimeout((()=>{this.deferredUpdateId=0;this.updateItems(container,true)}),1);return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;if(!container){return}disposeChildren(this,container);this.onPropertyChanged("header");const ir=this.itemRenderer;if(!ir){this.onPropertyChanged("footer");return}const items=this.items;if(!items){this.onPropertyChanged("footer");return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);let i=0;for(const iterator of items){const index=i++;const e=ir(iterator,index,this);const ea=(_d=e.attributes)!==null&&_d!==void 0?_d:e.attributes={};const v=vp(iterator);const element=document.createElement((_f=(_e=ea.for)!==null&&_e!==void 0?_e:e.name)!==null&&_f!==void 0?_f:"div");element.setAttribute("data-item-index",`${index}`);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}this.render(e,element,this);if(this.enableDragDrop){updateDragDrop(element)}container.appendChild(element)}this.onPropertyChanged("footer")}preCreate(){this.mergeOnRefresh=false;this.selectOnClick=false;this.element.setAttribute("data-click-event","item-click")}dispatchCustomEvent(type,detail){if(!this.element){return}const eventName=this.element.getAttribute("data-"+type+"-event");type=StringHelper.fromHyphenToCamel(eventName!==null&&eventName!==void 0?eventName:type);this.element.dispatchEvent(new CustomEvent(type,{detail,bubbles:eventName!==null,cancelable:true}))}updateClasses(){var _a,_b,_c;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:i=>i;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);while(element){const index=~~element.dataset.itemIndex;const item=items[index];const v=vp(item);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}element=element.nextElementSibling}}updateVisibility(){var _a,_b;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=container.firstElementChild;const vf=(_b=this.visibilityFilter)!==null&&_b!==void 0?_b:MatchTrue;while(element){const index=~~element.dataset.itemIndex;const item=items[index];if(vf(item)){element.removeAttribute("data-ui-display")}else{element.setAttribute("data-ui-display","none")}element=element.nextElementSibling}}updateHeaderFooter(name,presenter,item,itemRenderer,insert){var _a,_b,_c,_d;presenter!==null&&presenter!==void 0?presenter:presenter=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.itemsPresenter=this.element;if(!presenter){this[name+"Element"]=null;return}let current;if(insert){current=presenter.firstElementChild;while(current&¤t.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&¤t.dataset[name]!==name){current=current.previousElementSibling}}if(current){disposeChild(this,current);this[name+"Element"]=null}if(!(item&&itemRenderer)){return}const node=itemRenderer(item);const element=document.createElement((_d=(_c=(_b=node.attributes)===null||_b===void 0?void 0:_b.for)!==null&&_c!==void 0?_c:node.name)!==null&&_d!==void 0?_d:"div");element.dataset[name]=name;this.render(node,element,this);if(insert){presenter.insertBefore(element,presenter.firstElementChild)}else{presenter.appendChild(element)}this[name+"Element"]=element}dispatchHeaderFooterEvent(eventName,type,recreate,originalTarget){const detail=this[type];const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:`${type}Click`,{detail,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(ce.defaultPrevented||!ce.executed){return}if(recreate){this.onPropertyChanged(type)}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){var _a;const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:"itemClick",{detail:nestedItem!==null&&nestedItem!==void 0?nestedItem:item,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(!ce.defaultPrevented){if(this.selectOnClick||eventName==="itemSelect"||eventName==="itemDeselect"){const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];if(si){const index=si.indexOf(item);if(index===-1){if(this.allowMultipleSelection){si.add(item)}else{si.set(0,item)}}else{si.removeAt(index)}}}}if(ce.defaultPrevented||!ce.executed){return}const promise=ce.promise;if(recreate){this.refreshItem(item,promise);return}if(promise){promise.then((r=>r instanceof MergeNode&&this.refreshItem(item,r)))}}dispatchClickEvent(e,data){let{recreate,header,footer,itemIndex,itemPath,clickEvent=header?"headerClick":footer?"footerClick":"itemClick"}=data;clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(itemIndex!==void 0){let index=~~itemIndex;const item=this.items[index];if(item){if(itemPath!==null&&itemPath!==void 0?itemPath:false){const nestedItem=ItemPath.get(item,itemPath.trim());this.dispatchItemEvent(clickEvent,item,recreate,e.target,nestedItem);return}this.dispatchItemEvent(clickEvent,item,recreate,e.target)}return}if(header){this.dispatchHeaderFooterEvent(clickEvent,header,recreate,e.target)}if(footer){this.dispatchHeaderFooterEvent(clickEvent,footer,recreate,e.target)}}});__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"allowMultipleSelection",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"selectOnClick",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"selectedItems",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"itemsPresenter",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"watch",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"visibilityFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"itemRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"valuePath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"comparer",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"deferUpdates",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"enableDragDrop",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],AtomRepeater.prototype,"allSelected",null);hoverItem={repeater:null,target:null,item:null,placeholder:null};document.body.addEventListener("dragstart",(e=>{const{target}=e;if(target.draggable){const ri=getParentRepeaterItem(target);if(!ri){return}const[type,repeater,item,index]=ri;if(!repeater||!repeater.enableDragDrop){return}const placeholder=document.createElement("div");placeholder.style.width=target.offsetWidth+"px";placeholder.style.height=target.offsetHeight+"px";placeholder.style.backgroundColor=Colors.lightGray.toString();placeholder.style.border="solid 1px gray";placeholder.style.borderRadius="10px";hoverItem={repeater,target,item,placeholder};e.dataTransfer.dropEffect="move";setTimeout((()=>{target.style.display="none";target.parentElement.insertBefore(placeholder,target)}),0)}}));document.body.addEventListener("dragend",(e=>{var _a,_b;if(!(hoverItem===null||hoverItem===void 0?void 0:hoverItem.placeholder)){return}const{item,placeholder,repeater}=hoverItem;let start=placeholder;let index=-1;while(start){const itemIndex=(_b=(_a=start.previousElementSibling)===null||_a===void 0?void 0:_a.dataset)===null||_b===void 0?void 0:_b.itemIndex;if(itemIndex!==void 0){index=~~itemIndex}if(start.parentElement.atomControl){break}start=start.parentElement}const targetRepeater=start.parentElement.atomControl;placeholder.remove();hoverItem.placeholder=null;repeater.items.remove(item);index++;const ce=new CustomEvent("itemDropped",{detail:{item,index}});if(ce.defaultPrevented){return}const{detail}=ce;targetRepeater.items.insert(detail.index,detail.item)}));dragOver=e=>{if(!e.dataTransfer){return}if(hoverItem){const{placeholder}=hoverItem;if(e.target===placeholder){return}}const ri=getParentRepeaterItem(e.target);if(!ri){return}const[type,repeater,item,index,target]=ri;if(!repeater){return}if(hoverItem){const{placeholder}=hoverItem;e.preventDefault();const mp={x:e.clientX,y:e.clientY};const isBefore=(co,n)=>n.x<=co.x+co.width*.3||n.y<=co.y+co.height*.3;const isAfter=(co,n)=>n.x>=co.x+co.width*.7||n.y>=co.y+co.height*.7;const targetBounds=target.getBoundingClientRect();if(isAfter(targetBounds,mp)){const next=target.nextElementSibling;if(next===placeholder){return}placeholder.remove();target.insertAdjacentElement("afterend",placeholder);return}if(isBefore(targetBounds,mp)){const previous=target.previousElementSibling;if(previous===placeholder){return}placeholder.remove();target.insertAdjacentElement("beforebegin",placeholder)}return}};document.body.addEventListener("dragover",dragOver);document.body.addEventListener("dragenter",dragOver)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomRepeater");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __awaiter,Bind,CancelToken,XNode,AtomControl,InfiniteRepeater,_a,loadMoreSet,pagedItemsSetter,scrollToBottom;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){loadMoreSet=Symbol("loadMoreSet");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-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}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(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DITransient(mockOrInject){return target=>{Register({scope:Scope.Transient,mockOrInject})(target)}}_export("default",DITransient);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DITransient");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register([],(function(_export,_context){"use strict";var JsonError;_export("default",void 0);return{setters:[],execute:function(){_export("default",JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}get errors(){var _a;return(_a=this.json.paramErrors)!==null&&_a!==void 0?_a:[]}get details(){var _a;if(this.json.paramErrors){return this.errors.map((x=>`${x.name}: ${x.reason}`)).join("\n")}return(_a=this.json)===null||_a===void 0?void 0:_a.details}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/http/JsonError");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store[this.head]}enqueue(item){this.store[this.tail]=item;this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store[head];this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register(["./Queue"],(function(_export,_context){"use strict";var Queue,TaskManager;_export("default",void 0);return{setters:[function(_Queue){Queue=_Queue.default}],execute:function(){_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}run(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","@web-atoms/core/dist/services/http/JsonError","../models/TaskManager"],(function(_export,_context){"use strict";var __awaiter,JsonError,TaskManager,TextBody,HttpSession;function merge(url,extra){return url+(typeof extra==="string"?extra:combine(extra))}function combine([url,params]){let separator=url.indexOf("?")===-1?"?":"&";if(!url.endsWith("&")){url+=separator;separator=""}for(const key in params){if(params.hasOwnProperty(key)){const element=params[key];url+=separator;separator="&";url+=`${key}=${encodeURIComponent(element)}`}}return url}_export({merge,combine,TextBody:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistServicesHttpJsonError){JsonError=_webAtomsCoreDistServicesHttpJsonError.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default}],execute:function(){_export("TextBody",TextBody=class TextBody{constructor(text){this.text=text}toString(){return this.text}});_export("default",HttpSession=class HttpSession extends TaskManager{constructor(){super(...arguments);this.rateLimit=10;this.resultConverter=e=>e}fetchJson(options){return this.run((()=>this.uncheckedFetchJson(options)))}uncheckedFetchJson(options){var _a,_b,_c,_d,_e,_f;return __awaiter(this,void 0,void 0,(function*(){if(options.cancelToken){const ab=new AbortController;options.signal=ab.signal;options.cancelToken.registerForCancel((()=>{ab.abort()}))}let response;if(this.interceptFetch){response=yield this.interceptFetch(options.url,options)}else{response=yield fetch(options.url,options)}const contentType=(_a=response.headers.get("Content-Type"))===null||_a===void 0?void 0:_a.toString();if(response.status>=400){if(contentType===null||contentType===void 0?void 0:contentType.includes("/json")){const error=yield response.json();throw new JsonError(typeof response==="string"?response:(_f=(_e=(_d=(_c=(_b=error.title)!==null&&_b!==void 0?_b:error.detail)!==null&&_c!==void 0?_c:error.message)!==null&&_d!==void 0?_d:error.exceptionMessage)!==null&&_e!==void 0?_e:error)!==null&&_f!==void 0?_f:"Json Server Error",error)}throw new Error(yield response.text())}if(contentType&&!contentType.includes("/json")){throw new Error(`Unable to convert to json\r\n${contentType}}`)}return this.resultConverter(yield response.json())}))}interceptFetch(input,init){throw new Error("not supported")}getJson(options){options.method="GET";return this.fetchJson(options)}postFormModel(options){var _a;options.method="POST";if(options.body){options.body=new TextBody(`formModel=${encodeURIComponent(JSON.stringify(options.body))}`)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/x-www-form-urlencoded";return this.fetchJson(options)}postJson(options){var _a;options.method="POST";if(options.body){options.body=JSON.stringify(options.body)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/json";return this.fetchJson(options)}deleteJson(options){var _a;options.method="DELETE";if(options.body){options.body=JSON.stringify(options.body)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/json";return this.fetchJson(options)}putJson(options){var _a;options.method="PUT";if(options.body){options.body=JSON.stringify(options.body)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/json";return this.fetchJson(options)}});delete HttpSession.prototype.interceptFetch}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/HttpSession");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register(["tslib","./StringHelper"],(function(_export,_context){"use strict";var __awaiter,StringHelper,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_StringHelper){StringHelper=_StringHelper.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(p={}){return __awaiter(this,void 0,void 0,(function*(){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,count=true}={}){let url;const{traceQuery,name,service,queryFunction,args}=this.context;const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}const encodedMethods=fm.toString();if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;return service.postJson({url,cancelToken,body:{methods:this.methods,start,size,split:splitInclude,count,trace,function:queryFunction||void 0,args:queryFunction?args:void 0}})}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion)}else{}url=`${service.url}query/${name}?${fm.toString()}`;return service.getJson({url,cancelToken,hideActivityIndicator})}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register(["tslib","../models/Cloner","../models/IEntityModel","./HttpSession","./mergeProperties","./Query","./resolve"],(function(_export,_context){"use strict";var __awaiter,Cloner,EntityContext,HttpSession,mergeProperties,Query,resolve,Model,BaseEntityService,ArrayPrototype;_export({Model:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_HttpSession){HttpSession=_HttpSession.default},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default}],execute:function(){ArrayPrototype=Array.prototype;ArrayPrototype.where=ArrayPrototype.filter;ArrayPrototype.any=ArrayPrototype.some;ArrayPrototype.select=ArrayPrototype.map;ArrayPrototype.selectMany=function(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r};ArrayPrototype.firstOrDefault=function(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]};ArrayPrototype.sum=function(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n};ArrayPrototype.average=function(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length};ArrayPrototype.orderBy=function(f){return this.sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};ArrayPrototype.thenBy=ArrayPrototype.orderBy;ArrayPrototype.orderByDescending=function(f){return this.sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};ArrayPrototype.thenByDescending=ArrayPrototype.orderByDescending;ArrayPrototype.count=function(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length};_export("Model",Model=class Model{constructor(name,keys=[],defaults=null){this.name=name;this.keys=keys;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){properties[key]=value}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends HttpSession{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){if(this.entityModel){return this.entityModel}const c=yield this.getJson({url:`${this.url}model`});this.entityModel=new EntityContext(c);return this.entityModel}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}delete(body){const url=this.url;return this.deleteJson({url,body})}insert(body){const url=this.url;return this.putJson({url,body})}save(body){return __awaiter(this,void 0,void 0,(function*(){if(Array.isArray(body)&&body.length===0){return body}const url=this.url;const result=yield this.postJson({url,body});mergeProperties(result,body);return body}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities,update,throwWhenNotFound=false){return __awaiter(this,void 0,void 0,(function*(){const model=yield this.model();const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;yield this.putJson({url,body})}))}bulkDelete(entities,throwWhenNotFound=false){return __awaiter(this,void 0,void 0,(function*(){const model=yield this.model();const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};yield this.deleteJson({url,body})}))}fetchJson(options){const _super=Object.create(null,{fetchJson:{get:()=>super.fetchJson}});return __awaiter(this,void 0,void 0,(function*(){if(!this.createBusyIndicator||(options===null||options===void 0?void 0:options.hideActivityIndicator)){return yield _super.fetchJson.call(this,options)}const disposable=this.createBusyIndicator(options);try{return yield _super.fetchJson.call(this,options)}finally{disposable===null||disposable===void 0?void 0:disposable.dispose()}}))}createBusyIndicator(options){return{dispose(){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled,BusyProgress,css,container,stack;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
669
|
+
`.withId("repeater-styles").installGlobal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/repeater-style");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","./InlinePopup","./MergeNode","./ItemPath","./styles/ui-display-none-style","./styles/popup-style","./styles/suggestion-popup","./styles/repeater-style","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,Colors,StringHelper,WatchProperty,XNode,AtomControl,PopupWindow,InlinePopup,MergeNode,ItemPath,repeaterPopupCss,ChildEnumerator,SelectAllControl,AtomRepeater,popupCSS,getParentRepeaterItem,MatchTrue,MatchFalse,ArrowToString,MatchCaseInsensitive,MatchAnyCaseInsensitive,SameObjectValue,getFirstChild,hoverItem,dragOver;function askSuggestion(items,itemRenderer,match,options){class Suggestions extends PopupWindow{create(){var _a;this.title=(_a=options===null||options===void 0?void 0:options.title)!==null&&_a!==void 0?_a:"Select";this.render(XNode.create("div",{class:popupCSS},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.close(e.detail)},items}))))}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);options!==null&&options!==void 0?options:options={};if(typeof options.maximize==="undefined"){if(typeof options.width==="undefined"){options.maxWidth="90%";options.minWidth="300px"}if(typeof options.height==="undefined"){options.height="80%"}}return Suggestions.showModal(options)}function askSuggestionPopup(opener,items,itemRenderer,match,selectedItem){const updateSearch="search"in opener;const itemsInOpener="items"in opener;class Suggestions extends InlinePopup{get items(){return itemsInOpener?this.opener.items:items}onPropertyChanged(name){if(updateSearch&&name==="search"){opener.search=this.search}super.onPropertyChanged(name)}create(){this.anchorItem=selectedItem;this.opener=opener;if(this.opener.search){this.search=this.opener.search}if(selectedItem){this.anchorIndex=items.indexOf(selectedItem)}const disableSearch=opener.disableSearch;if(itemsInOpener){this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.anchorItem=e.detail;setTimeout((()=>this.close(e.detail)),100)},items:Bind.oneWay((()=>this.opener.items))}))));return}this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),scrollToSelection:true,eventItemClick:e=>{this.close(e.detail)},items}))))}onKey(e){var _a;const suggested=match?(_a=this.items)===null||_a===void 0?void 0:_a.filter(match(this.search)):this.items;switch(e.key){case"Enter":const anchorItem=this.anchorItem;if(!anchorItem){return}this.anchorIndex=0;this.close(anchorItem);this.anchorItem=null;this.search="";break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);return Suggestions.showControl(opener)}function SelectorCheckBox(_a,...nodes){var{text,icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}),...nodes)}return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),...nodes)}function SelectAll(_a,...nodes){var{text="Select All",icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}))}return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),...nodes)}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c)}e.innerHTML=""}function disposeChild(owner,e){const ac=e.atomControl;if(ac){ac.dispose();return}disposeChildren(owner,e);owner.unbind(e);owner.unbindEvent(e);e.remove()}function defaultComparer(left,right){if(left&&right){if(left instanceof Date){if(right instanceof Date){return left.getTime()===right.getTime()}return false}}return left===right}function updateDragDrop(e,force=false){if(!e){return}if(force){e.draggable=false}else{force=e.draggable}e=e.firstElementChild;while(e){updateDragDrop(e,force);e=e.nextElementSibling}}_export({askSuggestion,askSuggestionPopup,SelectorCheckBox,SelectAll,disposeChildren,disposeChild,defaultComparer,default:void 0});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreColors){Colors=_webAtomsCoreDistCoreColors.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_MergeNode){MergeNode=_MergeNode.default},function(_ItemPath){ItemPath=_ItemPath.default},function(_stylesUiDisplayNoneStyle){},function(_stylesPopupStyle){repeaterPopupCss=_stylesPopupStyle.repeaterPopupCss},function(_stylesSuggestionPopup){},function(_stylesRepeaterStyle){},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator}],execute:function(){popupCSS=repeaterPopupCss;_export("getParentRepeaterItem",getParentRepeaterItem=target=>{let eventName;let repeater;let index;let root;while(target){const a=target.atomControl;if(a!==undefined&&a instanceof AtomRepeater){repeater=a;break}if(index===undefined){const itemIndex=target.getAttribute("data-item-index");if(typeof itemIndex!=="undefined"){root=target;index=~~itemIndex}}if(eventName===undefined){const itemClickEvent=target.getAttribute("data-click-event");if(itemClickEvent){eventName=itemClickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}}target=target.parentElement}if(index===void 0||repeater===void 0){return undefined}const item=repeater.items[~~index];return[eventName,repeater,item,index,root]});_export("MatchTrue",MatchTrue=(...a)=>true);_export("MatchFalse",MatchFalse=(...a)=>false);_export("ArrowToString",ArrowToString=item=>{var _a,_b;return(_b=(_a=item.label)===null||_a===void 0?void 0:_a.toString())!==null&&_b!==void 0?_b:item.toString()});_export("MatchCaseInsensitive",MatchCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsRegExp(s);return item=>r.test(textField(item))});_export("MatchAnyCaseInsensitive",MatchAnyCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsAnyWordRegExp(s);return item=>r.test(textField(item))});_export("SameObjectValue",SameObjectValue=item=>item);SelectAllControl=class SelectAllControl extends AtomControl{preCreate(){this.element.dataset.selectAll="select-all";this.items=[];this.selectedItems=[];this.render(XNode.create(SelectAllControl,{"data-is-selected":Bind.oneWay((()=>this.items.length>0&&this.items.length===this.selectedItems.length),false)}));this.bindEvent(this.element,"click",(()=>{const si=this.selectedItems;const items=this.items;if(!si){return}if(!items){return}if(items.length===0){return}if(items.length===si.length){si.clear()}else{si.length=0;si.push(...items);si.refresh()}}))}};__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"selectedItems",void 0);getFirstChild=container=>{let child=container.firstElementChild;while(child&&!child.hasAttribute("data-item-index")){child=child.nextElementSibling}return child};_export("default",AtomRepeater=class AtomRepeater extends AtomControl{constructor(){super(...arguments);this.bubbleEvents=true}static from(element){while(element){const{atomControl}=element;if(atomControl instanceof AtomRepeater){return atomControl}element=element.parentElement}}set refreshEventScope(v){this.registerDisposable(v.listen((ce=>{this.refreshItem(ce.detail)})))}get allSelected(){const selectedItems=this.selectedItems;const items=this.items;if(!(items&&selectedItems)){return false}return items.length&&items.length===selectedItems.length}get value(){var _a;if(this.initialValue!==undefined){return this.initialValue}const sp=this.selectedItem;if(sp===undefined){return sp}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;return vp(sp)}set value(v){var _a,_b;this.initialValue=v;if(!this.items||!this.items.length){AtomBinder.refreshValue(this,"value");return}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;const c=(_b=this.comparer)!==null&&_b!==void 0?_b:defaultComparer;const selectedItem=this.items.find((item=>c(vp(item),v)));this.selectedItem=selectedItem;delete this.initialValue}get selectedItem(){var _a;return(_a=this.selectedItems)===null||_a===void 0?void 0:_a[0]}set selectedItem(value){var _a;const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];const first=si[0];if(value===first){return}si.set(0,value)}onPropertyChanged(name){var _a,_b;switch(name){case"items":(_a=this.itemsDisposable)===null||_a===void 0?void 0:_a.dispose();const items=this.items;const d=items===null||items===void 0?void 0:items.watch(((target,type,index,item)=>{switch(type){case"add":case"remove":case"set":this.updatePartial(type,index,item);break;default:this.updateItems();break}this.dispatchCustomEvent("items-updated",{type,items,index});AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value")}));if(d){this.itemsDisposable=this.registerDisposable(d)}const iv=this.initialValue;if(iv){this.value=iv}this.updateItems();this.dispatchCustomEvent("items-updated",{type:"reset",items,index:0});if(this.scrollToSelection){this.bringSelectionIntoView()}break;case"selectedItems":(_b=this.selectedItemsDisposable)===null||_b===void 0?void 0:_b.dispose();const selectedItems=this.selectedItems;const sd=selectedItems===null||selectedItems===void 0?void 0:selectedItems.watch((()=>{this.updateClasses();if(this.scrollToSelection){this.bringSelectionIntoView()}if(this.selectedItem){delete this.initialValue}AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value");AtomBinder.refreshValue(this,"allSelected");this.dispatchCustomEvent("selection-updated",selectedItems)}));if(sd){this.selectedItemsDisposable=this.registerDisposable(sd)}this.updateClasses();this.dispatchCustomEvent("selection-updated",selectedItems);AtomBinder.refreshValue(this,"allSelected");break;case"itemRenderer":case"watch":this.updateItems();break;case"visibilityFilter":this.updateVisibility();break;case"header":case"headerRenderer":this.updateHeaderFooter("header",this.headerPresenter,this.header,this.headerRenderer,true);break;case"footer":case"footerRenderer":this.updateHeaderFooter("footer",this.footerPresenter,this.footer,this.footerRenderer);break}}bringSelectionIntoView(force){if(force){const selection=this.selectedItem;if(selection){const element=this.elementForItem(selection);element===null||element===void 0?void 0:element.scrollIntoView()}return}if(this.bringIntoViewId){clearTimeout(this.bringIntoViewId)}this.bringIntoViewId=setTimeout((()=>{clearTimeout(this.bringIntoViewId);this.bringIntoViewId=undefined;this.bringSelectionIntoView(true)}),100)}forEach(action,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let start=getFirstChild(container);while(start){const index=start.dataset.itemIndex;const item=items[~~index];action(item,start);start=start.nextElementSibling}}*any(fx,itemSelector,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let node=getFirstChild(container);while(node){const index=node.dataset.itemIndex;const item=items[~~index];let element=node;if(itemSelector){element=element.querySelector(itemSelector)}const ie={item,element};if(fx){if(fx(item)){yield ie}continue}yield ie;node=node.nextElementSibling}}*all(container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);while(element){const index=element.dataset.itemIndex;const item=items[~~index];yield{item,element};element=element.nextElementSibling}}elementAt(index,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const indexText=index.toString();const element=ChildEnumerator.find(container,(e=>e.getAttribute("data-item-index")===indexText));return element}elementForItem(itemToFind,container){const index=this.items.indexOf(itemToFind);return this.elementAt(index,container)}refreshItem(item,fx,index=-1){if(index===-1){index=this.items.indexOf(item)}if(fx===null||fx===void 0?void 0:fx.then){const finalize=v=>{this.refreshItem(item,v,index)};fx.then(finalize,finalize);return}if(fx instanceof MergeNode){this.mergeItem(index,fx);return}this.updatePartial("set",index,item)}mergeItem(index,m){var _a,_b,_c;const item=this.items[index];if(!item){return}if((_b=(_a=m.classes)===null||_a===void 0?void 0:_a[0])===null||_b===void 0?void 0:_b.remove){this.items.removeAt(index);return}const container=(_c=this.itemsPresenter)!==null&&_c!==void 0?_c:this.element;const node=this.itemRenderer(item,index,this);const sourceElement=document.createElement("div");sourceElement.style.display="none";container.appendChild(sourceElement);this.render(node,sourceElement);const targetElement=this.elementAt(index);for(const iterator of m.classes){if(typeof iterator==="string"){const source=sourceElement.querySelectorAll(iterator);const target=targetElement.querySelectorAll(iterator);for(let i=0;i<source.length&&i<target.length;i++){const element=source[i];const te=target[i];for(const name of te.getAttributeNames()){te.removeAttribute(name)}te.innerHTML=element.innerHTML;for(const name of element.getAttributeNames()){te.setAttribute(name,element.getAttribute(name))}}continue}if(iterator.parent){const targetParent=/self|\*/.test(iterator.parent)?targetElement:targetElement.querySelector(iterator.parent);if(!targetParent){continue}for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetParent.appendChild(i)}continue}let targetPrevious=targetElement.querySelector(iterator.after);for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetPrevious.insertAdjacentElement("afterend",i);targetPrevious=i}}this.dispose(sourceElement);sourceElement.remove()}updatePartial(key,index,item,container){var _a,_b,_c,_d,_e,_f,_g;const items=this.items;if(!items){return}const ir=this.itemRenderer;if(!ir){return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;let start=getFirstChild(container);let ei;while(start){ei=~~start.getAttribute("data-item-index");if(ei===index){break}start=start.nextElementSibling}if(key!=="add"&&!start){return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);const isRemove=key==="remove";if(isRemove||key==="set"){const current=start;start=start.nextElementSibling;const ac=current.atomControl;if(ac){ac.dispose()}else{this.unbind(current);this.unbindEvent(current)}current.remove()}const end=((_d=this.footerElement)===null||_d===void 0?void 0:_d.parentElement)===container?this.footerElement:null;if(!isRemove){const en=ir(item,index,this);const ea=(_e=en.attributes)!==null&&_e!==void 0?_e:en.attributes={};const v=vp(item);const e=document.createElement((_g=(_f=ea.for)!==null&&_f!==void 0?_f:en.name)!==null&&_g!==void 0?_g:"div");e.setAttribute("data-item-index",`${index++}`);if(si.indexOf(v)!==-1){e.setAttribute("data-selected-item","true")}else{e.removeAttribute("data-selected-item")}if(this.enableDragDrop){updateDragDrop(e)}if(start){container.insertBefore(e,start)}else if(end){container.insertBefore(e,end)}else{container.appendChild(e)}this.render(en,e,this)}while(start){const ci=items[index];const cv=vp(ci);start.setAttribute("data-item-index",`${index++}`);if(si.indexOf(cv)!==-1){start.setAttribute("data-selected-item","true")}else{start.removeAttribute("data-selected-item")}start=start.nextElementSibling}}updateItems(container,force){var _a,_b,_c,_d,_e,_f;if(this.deferUpdates&&!force){if(this.deferredUpdateId){return}this.deferredUpdateId=setTimeout((()=>{this.deferredUpdateId=0;this.updateItems(container,true)}),1);return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;if(!container){return}disposeChildren(this,container);this.onPropertyChanged("header");const ir=this.itemRenderer;if(!ir){this.onPropertyChanged("footer");return}const items=this.items;if(!items){this.onPropertyChanged("footer");return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);let i=0;for(const iterator of items){const index=i++;const e=ir(iterator,index,this);const ea=(_d=e.attributes)!==null&&_d!==void 0?_d:e.attributes={};const v=vp(iterator);const element=document.createElement((_f=(_e=ea.for)!==null&&_e!==void 0?_e:e.name)!==null&&_f!==void 0?_f:"div");element.setAttribute("data-item-index",`${index}`);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}this.render(e,element,this);if(this.enableDragDrop){updateDragDrop(element)}container.appendChild(element)}this.onPropertyChanged("footer")}preCreate(){this.mergeOnRefresh=false;this.selectOnClick=false;this.element.setAttribute("data-click-event","item-click")}dispatchCustomEvent(type,detail){if(!this.element){return}const eventName=this.element.getAttribute("data-"+type+"-event");type=StringHelper.fromHyphenToCamel(eventName!==null&&eventName!==void 0?eventName:type);this.element.dispatchEvent(new CustomEvent(type,{detail,bubbles:eventName!==null,cancelable:true}))}updateClasses(){var _a,_b,_c;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:i=>i;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);while(element){const index=~~element.dataset.itemIndex;const item=items[index];const v=vp(item);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}element=element.nextElementSibling}}updateVisibility(){var _a,_b;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=container.firstElementChild;const vf=(_b=this.visibilityFilter)!==null&&_b!==void 0?_b:MatchTrue;while(element){const index=~~element.dataset.itemIndex;const item=items[index];if(vf(item)){element.removeAttribute("data-ui-display")}else{element.setAttribute("data-ui-display","none")}element=element.nextElementSibling}}updateHeaderFooter(name,presenter,item,itemRenderer,insert){var _a,_b,_c,_d;presenter!==null&&presenter!==void 0?presenter:presenter=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.itemsPresenter=this.element;if(!presenter){this[name+"Element"]=null;return}let current;if(insert){current=presenter.firstElementChild;while(current&¤t.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&¤t.dataset[name]!==name){current=current.previousElementSibling}}if(current){disposeChild(this,current);this[name+"Element"]=null}if(!(item&&itemRenderer)){return}const node=itemRenderer(item);const element=document.createElement((_d=(_c=(_b=node.attributes)===null||_b===void 0?void 0:_b.for)!==null&&_c!==void 0?_c:node.name)!==null&&_d!==void 0?_d:"div");element.dataset[name]=name;this.render(node,element,this);if(insert){presenter.insertBefore(element,presenter.firstElementChild)}else{presenter.appendChild(element)}this[name+"Element"]=element}dispatchHeaderFooterEvent(eventName,type,recreate,originalTarget){const detail=this[type];const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:`${type}Click`,{detail,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(ce.defaultPrevented||!ce.executed){return}if(recreate){this.onPropertyChanged(type)}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){var _a;const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:"itemClick",{detail:nestedItem!==null&&nestedItem!==void 0?nestedItem:item,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(!ce.defaultPrevented){if(this.selectOnClick||eventName==="itemSelect"||eventName==="itemDeselect"){const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];if(si){const index=si.indexOf(item);if(index===-1){if(this.allowMultipleSelection){si.add(item)}else{si.set(0,item)}}else{si.removeAt(index)}}}}if(ce.defaultPrevented||!ce.executed){return}const promise=ce.promise;if(recreate){this.refreshItem(item,promise);return}if(promise){promise.then((r=>r instanceof MergeNode&&this.refreshItem(item,r)))}}dispatchClickEvent(e,data){let{recreate,header,footer,itemIndex,itemPath,clickEvent=header?"headerClick":footer?"footerClick":"itemClick"}=data;clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(itemIndex!==void 0){let index=~~itemIndex;const item=this.items[index];if(item){if(itemPath!==null&&itemPath!==void 0?itemPath:false){const nestedItem=ItemPath.get(item,itemPath.trim());this.dispatchItemEvent(clickEvent,item,recreate,e.target,nestedItem);return}this.dispatchItemEvent(clickEvent,item,recreate,e.target)}return}if(header){this.dispatchHeaderFooterEvent(clickEvent,header,recreate,e.target)}if(footer){this.dispatchHeaderFooterEvent(clickEvent,footer,recreate,e.target)}}});__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"allowMultipleSelection",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"selectOnClick",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"selectedItems",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"itemsPresenter",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"watch",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"visibilityFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"itemRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"valuePath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"comparer",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"deferUpdates",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"enableDragDrop",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],AtomRepeater.prototype,"allSelected",null);hoverItem={repeater:null,target:null,item:null,placeholder:null};document.body.addEventListener("dragstart",(e=>{const{target}=e;if(target.draggable){const ri=getParentRepeaterItem(target);if(!ri){return}const[type,repeater,item,index]=ri;if(!repeater||!repeater.enableDragDrop){return}const placeholder=document.createElement("div");placeholder.style.width=target.offsetWidth+"px";placeholder.style.height=target.offsetHeight+"px";placeholder.style.backgroundColor=Colors.lightGray.toString();placeholder.style.border="solid 1px gray";placeholder.style.borderRadius="10px";hoverItem={repeater,target,item,placeholder};e.dataTransfer.dropEffect="move";setTimeout((()=>{target.style.display="none";target.parentElement.insertBefore(placeholder,target)}),0)}}));document.body.addEventListener("dragend",(e=>{var _a,_b;if(!(hoverItem===null||hoverItem===void 0?void 0:hoverItem.placeholder)){return}const{item,placeholder,repeater}=hoverItem;let start=placeholder;let index=-1;while(start){const itemIndex=(_b=(_a=start.previousElementSibling)===null||_a===void 0?void 0:_a.dataset)===null||_b===void 0?void 0:_b.itemIndex;if(itemIndex!==void 0){index=~~itemIndex}if(start.parentElement.atomControl){break}start=start.parentElement}const targetRepeater=start.parentElement.atomControl;placeholder.remove();hoverItem.placeholder=null;repeater.items.remove(item);index++;const ce=new CustomEvent("itemDropped",{detail:{item,index}});if(ce.defaultPrevented){return}const{detail}=ce;targetRepeater.items.insert(detail.index,detail.item)}));dragOver=e=>{if(!e.dataTransfer){return}if(hoverItem){const{placeholder}=hoverItem;if(e.target===placeholder){return}}const ri=getParentRepeaterItem(e.target);if(!ri){return}const[type,repeater,item,index,target]=ri;if(!repeater){return}if(hoverItem){const{placeholder}=hoverItem;e.preventDefault();const mp={x:e.clientX,y:e.clientY};const isBefore=(co,n)=>n.x<=co.x+co.width*.3||n.y<=co.y+co.height*.3;const isAfter=(co,n)=>n.x>=co.x+co.width*.7||n.y>=co.y+co.height*.7;const targetBounds=target.getBoundingClientRect();if(isAfter(targetBounds,mp)){const next=target.nextElementSibling;if(next===placeholder){return}placeholder.remove();target.insertAdjacentElement("afterend",placeholder);return}if(isBefore(targetBounds,mp)){const previous=target.previousElementSibling;if(previous===placeholder){return}placeholder.remove();target.insertAdjacentElement("beforebegin",placeholder)}return}};document.body.addEventListener("dragover",dragOver);document.body.addEventListener("dragenter",dragOver)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomRepeater");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __awaiter,Bind,CancelToken,XNode,styled,AtomControl,InfiniteRepeater,_a,loadMoreSet,pagedItemsSetter,scrollToBottom;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){loadMoreSet=Symbol("loadMoreSet");styled.css`
|
|
670
|
+
|
|
671
|
+
margin: 10px;
|
|
672
|
+
padding: 10px;
|
|
673
|
+
& > span {
|
|
674
|
+
background-color: lightgray;
|
|
675
|
+
border-radius: 10px;
|
|
676
|
+
padding: 3px;
|
|
677
|
+
padding-left: 10px;
|
|
678
|
+
padding-right: 10px;
|
|
679
|
+
border: solid 1px gray;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
`.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}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(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DITransient(mockOrInject){return target=>{Register({scope:Scope.Transient,mockOrInject})(target)}}_export("default",DITransient);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DITransient");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register([],(function(_export,_context){"use strict";var JsonError;_export("default",void 0);return{setters:[],execute:function(){_export("default",JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}get errors(){var _a;return(_a=this.json.paramErrors)!==null&&_a!==void 0?_a:[]}get details(){var _a;if(this.json.paramErrors){return this.errors.map((x=>`${x.name}: ${x.reason}`)).join("\n")}return(_a=this.json)===null||_a===void 0?void 0:_a.details}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/http/JsonError");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store[this.head]}enqueue(item){this.store[this.tail]=item;this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store[head];this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register(["./Queue"],(function(_export,_context){"use strict";var Queue,TaskManager;_export("default",void 0);return{setters:[function(_Queue){Queue=_Queue.default}],execute:function(){_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}run(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","@web-atoms/core/dist/services/http/JsonError","../models/TaskManager"],(function(_export,_context){"use strict";var __awaiter,JsonError,TaskManager,TextBody,HttpSession;function merge(url,extra){return url+(typeof extra==="string"?extra:combine(extra))}function combine([url,params]){let separator=url.indexOf("?")===-1?"?":"&";if(!url.endsWith("&")){url+=separator;separator=""}for(const key in params){if(params.hasOwnProperty(key)){const element=params[key];url+=separator;separator="&";url+=`${key}=${encodeURIComponent(element)}`}}return url}_export({merge,combine,TextBody:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistServicesHttpJsonError){JsonError=_webAtomsCoreDistServicesHttpJsonError.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default}],execute:function(){_export("TextBody",TextBody=class TextBody{constructor(text){this.text=text}toString(){return this.text}});_export("default",HttpSession=class HttpSession extends TaskManager{constructor(){super(...arguments);this.rateLimit=10;this.resultConverter=e=>e}fetchJson(options){return this.run((()=>this.uncheckedFetchJson(options)))}uncheckedFetchJson(options){var _a,_b,_c,_d,_e,_f;return __awaiter(this,void 0,void 0,(function*(){if(options.cancelToken){const ab=new AbortController;options.signal=ab.signal;options.cancelToken.registerForCancel((()=>{ab.abort()}))}let response;if(this.interceptFetch){response=yield this.interceptFetch(options.url,options)}else{response=yield fetch(options.url,options)}const contentType=(_a=response.headers.get("Content-Type"))===null||_a===void 0?void 0:_a.toString();if(response.status>=400){if(contentType===null||contentType===void 0?void 0:contentType.includes("/json")){const error=yield response.json();throw new JsonError(typeof response==="string"?response:(_f=(_e=(_d=(_c=(_b=error.title)!==null&&_b!==void 0?_b:error.detail)!==null&&_c!==void 0?_c:error.message)!==null&&_d!==void 0?_d:error.exceptionMessage)!==null&&_e!==void 0?_e:error)!==null&&_f!==void 0?_f:"Json Server Error",error)}throw new Error(yield response.text())}if(contentType&&!contentType.includes("/json")){throw new Error(`Unable to convert to json\r\n${contentType}}`)}return this.resultConverter(yield response.json())}))}interceptFetch(input,init){throw new Error("not supported")}getJson(options){options.method="GET";return this.fetchJson(options)}postFormModel(options){var _a;options.method="POST";if(options.body){options.body=new TextBody(`formModel=${encodeURIComponent(JSON.stringify(options.body))}`)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/x-www-form-urlencoded";return this.fetchJson(options)}postJson(options){var _a;options.method="POST";if(options.body){options.body=JSON.stringify(options.body)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/json";return this.fetchJson(options)}deleteJson(options){var _a;options.method="DELETE";if(options.body){options.body=JSON.stringify(options.body)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/json";return this.fetchJson(options)}putJson(options){var _a;options.method="PUT";if(options.body){options.body=JSON.stringify(options.body)}(_a=options.headers)!==null&&_a!==void 0?_a:options.headers={};options.headers["content-type"]="application/json";return this.fetchJson(options)}});delete HttpSession.prototype.interceptFetch}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/HttpSession");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register(["tslib","./StringHelper"],(function(_export,_context){"use strict";var __awaiter,StringHelper,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_StringHelper){StringHelper=_StringHelper.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(p={}){return __awaiter(this,void 0,void 0,(function*(){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,count=true}={}){let url;const{traceQuery,name,service,queryFunction,args}=this.context;const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}const encodedMethods=fm.toString();if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;return service.postJson({url,cancelToken,body:{methods:this.methods,start,size,split:splitInclude,count,trace,function:queryFunction||void 0,args:queryFunction?args:void 0}})}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion)}else{}url=`${service.url}query/${name}?${fm.toString()}`;return service.getJson({url,cancelToken,hideActivityIndicator})}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register(["tslib","../models/Cloner","../models/IEntityModel","./HttpSession","./mergeProperties","./Query","./resolve"],(function(_export,_context){"use strict";var __awaiter,Cloner,EntityContext,HttpSession,mergeProperties,Query,resolve,Model,BaseEntityService,ArrayPrototype;_export({Model:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_HttpSession){HttpSession=_HttpSession.default},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default}],execute:function(){ArrayPrototype=Array.prototype;ArrayPrototype.where=ArrayPrototype.filter;ArrayPrototype.any=ArrayPrototype.some;ArrayPrototype.select=ArrayPrototype.map;ArrayPrototype.selectMany=function(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r};ArrayPrototype.firstOrDefault=function(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]};ArrayPrototype.sum=function(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n};ArrayPrototype.average=function(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length};ArrayPrototype.orderBy=function(f){return this.sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};ArrayPrototype.thenBy=ArrayPrototype.orderBy;ArrayPrototype.orderByDescending=function(f){return this.sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};ArrayPrototype.thenByDescending=ArrayPrototype.orderByDescending;ArrayPrototype.count=function(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length};_export("Model",Model=class Model{constructor(name,keys=[],defaults=null){this.name=name;this.keys=keys;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){properties[key]=value}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends HttpSession{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){if(this.entityModel){return this.entityModel}const c=yield this.getJson({url:`${this.url}model`});this.entityModel=new EntityContext(c);return this.entityModel}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}delete(body){const url=this.url;return this.deleteJson({url,body})}insert(body){const url=this.url;return this.putJson({url,body})}save(body){return __awaiter(this,void 0,void 0,(function*(){if(Array.isArray(body)&&body.length===0){return body}const url=this.url;const result=yield this.postJson({url,body});mergeProperties(result,body);return body}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities,update,throwWhenNotFound=false){return __awaiter(this,void 0,void 0,(function*(){const model=yield this.model();const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;yield this.putJson({url,body})}))}bulkDelete(entities,throwWhenNotFound=false){return __awaiter(this,void 0,void 0,(function*(){const model=yield this.model();const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};yield this.deleteJson({url,body})}))}fetchJson(options){const _super=Object.create(null,{fetchJson:{get:()=>super.fetchJson}});return __awaiter(this,void 0,void 0,(function*(){if(!this.createBusyIndicator||(options===null||options===void 0?void 0:options.hideActivityIndicator)){return yield _super.fetchJson.call(this,options)}const disposable=this.createBusyIndicator(options);try{return yield _super.fetchJson.call(this,options)}finally{disposable===null||disposable===void 0?void 0:disposable.dispose()}}))}createBusyIndicator(options){return{dispose(){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled,BusyProgress,css,container,stack;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
670
683
|
|
|
671
684
|
position: absolute;
|
|
672
685
|
left: 0;
|
|
@@ -1405,35 +1418,59 @@ and limitations under the License.
|
|
|
1405
1418
|
& > .files {
|
|
1406
1419
|
grid-column: 2;
|
|
1407
1420
|
}
|
|
1408
|
-
`.installLocal();_export("default",ChooserTemplatePage=class ChooserTemplatePage extends PopupWindowPage{constructor(){super(...arguments);this.selected=null;this.selectedFile=null;this.search=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){(_a=this.parameters)!==null&&_a!==void 0?_a:this.parameters={};(_b=(_c=this.parameters).chooseFile)!==null&&_b!==void 0?_b:_c.chooseFile=false;this.title="Choose the template";this.root=AppFile.create({name:"Drives"});const drives=yield this.cloudFileService.allTemplates();this.root.children=drives;this.renderer=XNode.create("div",{class:css},XNode.create(TreeView,{class:"folders",root:this.root,childrenProperty:item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]},selectedItem:Bind.twoWaysImmediate((()=>this.selected)),labelRenderer:x=>XNode.create("span",{text:x.name,title:x.title,"data-click-event":x.isFolder?"none":"select-item"})}),XNode.create("div",{class:"files"},XNode.create("div",{innerHTML:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadTemplate(this.selected,cancelToken)))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!(this.parameters.chooseFile?this.selectedFile:this.selected)))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Choose"}))}))}loadTemplate(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!(file===null||file===void 0?void 0:file.url)){return}const ac=new AbortController;const{signal}=ac;cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel((()=>ac.abort()));const data=yield fetch(file.url,{signal});const node=yield MimeMessage.load(data.body,file.name);if(cancelToken===null||cancelToken===void 0?void 0:cancelToken.cancelled){throw new Error("cancelled")}return node.html}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooserTemplatePage.prototype,"cloudFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/view-model/Action","./ConversationPage","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage","@web-atoms/core/dist/style/styled","../../../services/socket/sockets","./ChooseMailboxPage","@web-atoms/web-controls/dist/basic/PopupButton","../../../common/pages/folders/ChooseTemplatePage","@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MailService,AtomRepeater,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,styled,MailboxSocket,ChooseMailboxPage,MenuItem,PopupActionButton,ChooserTemplatePage,isMobileView,MailsPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ConversationPage){ConversationPage=_ConversationPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_ChooseMailboxPage){ChooseMailboxPage=_ChooseMailboxPage.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_commonPagesFoldersChooseTemplatePage){ChooserTemplatePage=_commonPagesFoldersChooseTemplatePage.default},function(_webAtomsWebControlsDistMobileAppMobileApp){isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView}],execute:function(){css=styled.css`
|
|
1421
|
+
`.installLocal();_export("default",ChooserTemplatePage=class ChooserTemplatePage extends PopupWindowPage{constructor(){super(...arguments);this.selected=null;this.selectedFile=null;this.search=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){(_a=this.parameters)!==null&&_a!==void 0?_a:this.parameters={};(_b=(_c=this.parameters).chooseFile)!==null&&_b!==void 0?_b:_c.chooseFile=false;this.title="Choose the template";this.root=AppFile.create({name:"Drives"});const drives=yield this.cloudFileService.allTemplates();this.root.children=drives;this.renderer=XNode.create("div",{class:css},XNode.create(TreeView,{class:"folders",root:this.root,childrenProperty:item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]},selectedItem:Bind.twoWaysImmediate((()=>this.selected)),labelRenderer:x=>XNode.create("span",{text:x.name,title:x.title,"data-click-event":x.isFolder?"none":"select-item"})}),XNode.create("div",{class:"files"},XNode.create("div",{innerHTML:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadTemplate(this.selected,cancelToken)))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!(this.parameters.chooseFile?this.selectedFile:this.selected)))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Choose"}))}))}loadTemplate(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!(file===null||file===void 0?void 0:file.url)){return}const ac=new AbortController;const{signal}=ac;cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel((()=>ac.abort()));const data=yield fetch(file.url,{signal});const node=yield MimeMessage.load(data.body,file.name);if(cancelToken===null||cancelToken===void 0?void 0:cancelToken.cancelled){throw new Error("cancelled")}return node.html}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooserTemplatePage.prototype,"cloudFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/view-model/Action","./ConversationPage","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage","@web-atoms/core/dist/style/styled","../../../services/socket/sockets","./ChooseMailboxPage","@web-atoms/web-controls/dist/basic/PopupButton","../../../common/pages/folders/ChooseTemplatePage","@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MailService,AtomRepeater,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,styled,MailboxSocket,ChooseMailboxPage,MenuItem,PopupActionButton,ChooserTemplatePage,isMobileView,MailsPage,css,displayName;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ConversationPage){ConversationPage=_ConversationPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_ChooseMailboxPage){ChooseMailboxPage=_ChooseMailboxPage.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_commonPagesFoldersChooseTemplatePage){ChooserTemplatePage=_commonPagesFoldersChooseTemplatePage.default},function(_webAtomsWebControlsDistMobileAppMobileApp){isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView}],execute:function(){css=styled.css`
|
|
1409
1422
|
&[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
|
|
1410
1423
|
grid-template-columns: 1fr minmax(200px, 5fr) auto;
|
|
1411
1424
|
}
|
|
1412
1425
|
|
|
1426
|
+
& [data-page-element=content] {
|
|
1427
|
+
background-color: #80808030;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1413
1430
|
& .threads {
|
|
1414
1431
|
display: flex;
|
|
1415
1432
|
gap: 5px;
|
|
1416
1433
|
flex-direction: column;
|
|
1417
1434
|
overflow-x: hidden !important;
|
|
1418
1435
|
& .mailbox-thread {
|
|
1436
|
+
background-color: canvas;
|
|
1419
1437
|
display: grid;
|
|
1420
1438
|
grid-template-columns: 1fr auto auto;
|
|
1421
|
-
grid-template-rows: auto
|
|
1439
|
+
grid-template-rows: 1fr auto auto;
|
|
1422
1440
|
gap: 5px;
|
|
1423
1441
|
padding: 5px;
|
|
1424
|
-
|
|
1442
|
+
padding-left: 10px;
|
|
1443
|
+
padding-right: 10px;
|
|
1444
|
+
border-radius: 10px;
|
|
1445
|
+
margin-right: 5px;
|
|
1446
|
+
border: solid 1px lightgray;
|
|
1425
1447
|
|
|
1426
1448
|
& > .name {
|
|
1427
1449
|
grid-row: 1;
|
|
1428
1450
|
grid-column: 1;
|
|
1451
|
+
overflow: hidden;
|
|
1452
|
+
white-space: nowrap;
|
|
1453
|
+
text-overflow: ellipsis;
|
|
1429
1454
|
}
|
|
1430
|
-
& > .
|
|
1455
|
+
& > .subject {
|
|
1431
1456
|
grid-row: 2;
|
|
1432
1457
|
grid-column: 1;
|
|
1458
|
+
overflow: hidden;
|
|
1459
|
+
white-space: nowrap;
|
|
1460
|
+
text-overflow: ellipsis;
|
|
1461
|
+
font-size: smaller;
|
|
1462
|
+
}
|
|
1463
|
+
& > .summary {
|
|
1464
|
+
grid-row: 3;
|
|
1465
|
+
grid-column: 1;
|
|
1466
|
+
overflow: hidden;
|
|
1467
|
+
white-space: nowrap;
|
|
1468
|
+
text-overflow: ellipsis;
|
|
1469
|
+
font-size: smaller;
|
|
1433
1470
|
}
|
|
1434
1471
|
& > .unread {
|
|
1435
1472
|
grid-column: 2;
|
|
1436
|
-
grid-row: 1 / span
|
|
1473
|
+
grid-row: 1 / span 3;
|
|
1437
1474
|
place-self: center;
|
|
1438
1475
|
font-weight: bold;
|
|
1439
1476
|
border-radius: 9999px;
|
|
@@ -1446,7 +1483,7 @@ and limitations under the License.
|
|
|
1446
1483
|
}
|
|
1447
1484
|
}
|
|
1448
1485
|
}
|
|
1449
|
-
`.installLocal();_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.element.className=css;this.actionRenderer=()=>XNode.create("div",null,XNode.create(PopupActionButton,{icon:"fa-solid fa-plus",popup:()=>XNode.create("div",{"data-click-event":"none","data-click-animate":"no"},XNode.create(MenuItem,{label:"Compose","data-click-event":"compose-email"}),XNode.create(MenuItem,{label:"From Template","data-click-event":"compose-template"}))}));document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,mailboxID:this.currentMailbox.mailboxID,version:this.version,cancelToken}))),{itemRenderer:item=>XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},item.emailAddress.name!==item.emailAddress.emailAddress&&XNode.create("div",{class:"name",text:item.emailAddress.name}),XNode.create("div",{class:"email-address",text:item.emailAddress.emailAddress}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}))})));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","../../controls/repeater/InfiniteRepeater","../../NumberFormats","@web-atoms/core/dist/view-model/Action","../../../web/commands/AppCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomRepeater,ContentPage,CloudFileService,InfiniteRepeater,toFileSize,Action,AppCommands,DriveListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default}],execute:function(){_export("default",DriveListPage=class DriveListPage extends ContentPage{constructor(){super(...arguments);this.rootFolders=[];this.version=1;this.search=""}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.selectedFolder=null;this.actionRenderer=()=>XNode.create("i",{class:"fas fa-plus","data-click-event":"create-folder"});this.selectedFolder=(_a=this.rootFolders[0])!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.rootFolders,selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder)),"data-list-selection":"default","data-selection-updated-event":"on-selection-changed"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.cloudFileService.drives({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.appFileID})},item.name)),XNode.create("td",{text:item.creator.displayName}),XNode.create("td",{text:toFileSize(item.fileSize)}))})))}))}createFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder you want to create");if(!name){return}const folder=yield this.cloudFileService.createFolder({name});this.rootFolders.add(folder);this.selectedFolder=folder}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],DriveListPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"create-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DriveListPage.prototype,"createFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");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/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),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("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1486
|
+
`.installLocal();displayName=item=>{const{emailAddress:{emailAddress,name}}=item;if(name&&name!==emailAddress){return name}return emailAddress.split("@")[0]};_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.element.className=css;this.actionRenderer=()=>XNode.create("div",null,XNode.create(PopupActionButton,{icon:"fa-solid fa-plus",popup:()=>XNode.create("div",{"data-click-event":"none","data-click-animate":"no"},XNode.create(MenuItem,{label:"Compose","data-click-event":"compose-email"}),XNode.create(MenuItem,{label:"From Template","data-click-event":"compose-template"}))}));document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,mailboxID:this.currentMailbox.mailboxID,version:this.version,cancelToken}))),{itemRenderer:item=>{var _a,_b;return XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},XNode.create("div",{class:"name",text:displayName(item)+" "+item.emailAddress.emailAddress}),XNode.create("div",{class:"subject",text:(_a=item.lastEmail)===null||_a===void 0?void 0:_a.subject}),XNode.create("div",{class:"summary",text:(_b=item.lastEmail)===null||_b===void 0?void 0:_b.summary}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}))}})));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","../../controls/repeater/InfiniteRepeater","../../NumberFormats","@web-atoms/core/dist/view-model/Action","../../../web/commands/AppCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomRepeater,ContentPage,CloudFileService,InfiniteRepeater,toFileSize,Action,AppCommands,DriveListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default}],execute:function(){_export("default",DriveListPage=class DriveListPage extends ContentPage{constructor(){super(...arguments);this.rootFolders=[];this.version=1;this.search=""}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.selectedFolder=null;this.actionRenderer=()=>XNode.create("i",{class:"fas fa-plus","data-click-event":"create-folder"});this.selectedFolder=(_a=this.rootFolders[0])!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.rootFolders,selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder)),"data-list-selection":"default","data-selection-updated-event":"on-selection-changed"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.cloudFileService.drives({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.appFileID})},item.name)),XNode.create("td",{text:item.creator.displayName}),XNode.create("td",{text:toFileSize(item.fileSize)}))})))}))}createFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder you want to create");if(!name){return}const folder=yield this.cloudFileService.createFolder({name});this.rootFolders.add(folder);this.selectedFolder=folder}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],DriveListPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"create-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DriveListPage.prototype,"createFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");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/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),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("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1450
1487
|
|
|
1451
1488
|
display: grid;
|
|
1452
1489
|
grid-template-rows: auto 1fr;
|