@social-mail/social-mail-client 1.0.37 → 1.0.39

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.
Files changed (29) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +57 -28
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +4 -4
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/model/model.js +24 -24
  6. package/dist/model/model.js.map +1 -1
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/dist/web/AppIndex.pack.js +57 -28
  9. package/dist/web/AppIndex.pack.js.map +1 -1
  10. package/dist/web/AppIndex.pack.min.js +4 -4
  11. package/dist/web/AppIndex.pack.min.js.map +1 -1
  12. package/dist/web/page/mails/ConversationPage.js +1 -1
  13. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  14. package/dist/web/page/mails/service/ConversationService.js +17 -2
  15. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  16. package/node_modules/@web-atoms/entity/dist/models/IClrEntity.d.ts +1 -0
  17. package/node_modules/@web-atoms/entity/dist/models/IClrEntity.d.ts.map +1 -1
  18. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts +7 -4
  19. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts.map +1 -1
  20. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js +15 -1
  21. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js.map +1 -1
  22. package/node_modules/@web-atoms/entity/dist/tsconfig.tsbuildinfo +1 -1
  23. package/node_modules/@web-atoms/entity/package.json +1 -1
  24. package/node_modules/@web-atoms/entity/src/models/IClrEntity.ts +2 -0
  25. package/node_modules/@web-atoms/entity/src/services/BaseEntityService.ts +25 -4
  26. package/package.json +2 -2
  27. package/src/model/model.ts +24 -24
  28. package/src/web/page/mails/ConversationPage.tsx +1 -1
  29. package/src/web/page/mails/service/ConversationService.tsx +11 -0
@@ -674,7 +674,7 @@ and limitations under the License.
674
674
  }
675
675
  }
676
676
  }
677
- `.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&&current.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&&current.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(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(["tslib","@web-atoms/core/dist/services/http/JsonError"],(function(_export,_context){"use strict";var __awaiter,JsonError,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}],execute:function(){_export("TextBody",TextBody=class TextBody{constructor(text){this.text=text}toString(){return this.text}});_export("default",HttpSession=class HttpSession{constructor(){this.resultConverter=e=>e}fetchJson(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,defaults=null){this.name=name;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}});_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`
677
+ `.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&&current.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&&current.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(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(["tslib","@web-atoms/core/dist/services/http/JsonError"],(function(_export,_context){"use strict";var __awaiter,JsonError,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}],execute:function(){_export("TextBody",TextBody=class TextBody{constructor(text){this.text=text}toString(){return this.text}});_export("default",HttpSession=class HttpSession{constructor(){this.resultConverter=e=>e}fetchJson(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`
678
678
 
679
679
  position: absolute;
680
680
  left: 0;
@@ -731,7 +731,7 @@ and limitations under the License.
731
731
  }
732
732
  }
733
733
 
734
- `.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript"}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,AppRole,AppFileContentDispositionArray,AppFile,AppFileTag,FileContent,Configuration,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,Mailbox,MailboxEmail,MailboxThread,MailboxThreadEmail,User,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,LoginSession,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",{roleName:""}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",{isFolder:false,folder:"",name:"",fileSize:0,contentType:""}));_export("AppFileTag",AppFileTag=new Model("AppFileTag",{appFileID:0,tagID:0}));_export("FileContent",FileContent=new Model("FileContent",{contentHash:"",contentType:"",contentSize:0}));_export("Configuration",Configuration=new Model("Configuration",{name:"",configValue:""}));_export("Domain",Domain=new Model("Domain",{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",{domainID:0,enableReceive:false,enableSend:false,useRelay:false}));_export("DomainUser",DomainUser=new Model("DomainUser",{domainID:0,userID:0,isAdmin:false,allowCreateMailbox:false}));_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",{domainID:0,type:"smtp",host:"",username:"",password:"",priority:0}));_export("DomainKey",DomainKey=new Model("DomainKey",{name:"",keyType:"",publicKey:"",domainID:0}));_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"}]);_export("Email",Email=new Model("Email",{senderName:"",senderID:0,received:false,dateReceived:new DateTime,dateCreated:new DateTime,status:"queued"}));_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",{emailID:0,emailAddressID:0,type:"from"}));_export("EmailTag",EmailTag=new Model("EmailTag",{emailID:0,tagID:0}));_export("EmailAddress",EmailAddress=new Model("EmailAddress",{emailAddress:"",domainID:0,name:""}));_export("Mailbox",Mailbox=new Model("Mailbox",{mailboxID:0,domainID:0,storage:0,maxStorage:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",{mailboxID:0,emailID:0}));_export("MailboxThread",MailboxThread=new Model("MailboxThread",{mailboxID:0,emailAddressID:0,lastEmailID:0,dateUpdated:new DateTime,unread:0,total:0}));_export("MailboxThreadEmail",MailboxThreadEmail=new Model("MailboxThreadEmail",{mailboxID:0,emailAddressID:0,emailID:0}));_export("User",User=new Model("User",{userName:"",displayName:"",multiFactor:false,dateUpdated:new DateTime}));_export("UserRole",UserRole=new Model("UserRole",{userID:0,roleName:""}));_export("UserMailbox",UserMailbox=new Model("UserMailbox",{userID:0,mailboxID:0}));_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",{userID:0,method:"totp",verified:false,dateUpdated:new DateTime}));_export("LoginSession",LoginSession=new Model("LoginSession",{userID:0,invalid:false,dateUpdated:new DateTime}));_export("Tag",Tag=new Model("Tag",{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Domain,Mailbox,Sql,MailboxService;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){Domain=_modelModel.Domain;Mailbox=_modelModel.Mailbox},function(_Sql){Sql=_Sql.Sql}],execute:function(){MailboxService=class MailboxService{domains(){return this.entityService.query(Domain).toArray()}list({search="",start=0,size=50,version=0,cancelToken}){let q=this.entityService.query(Mailbox);if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}save(model){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(model);yield this.entityService.save(cloner.copy);return model}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){return}if(/^timeout$/i.test(e.toString().trim())){console.warn(e);return}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});return}}yield ns.alert(e,"Error")}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,Bind,StringHelper,XNode,styled,checkClick,BindError,BindEmailError;function Form(_a,...nodes){var{"data-submit-event":submitEvent="submitForm","data-show-validation":showValidation="false","data-error-message":errorMessage="Please fix all validations"}=_a,a=__rest(_a,["data-submit-event","data-show-validation","data-error-message"]);return XNode.create("div",Object.assign({},a,{"data-submit-event":submitEvent,"data-form":"form","data-valid":"true","data-show-validation":showValidation,"data-error-message":errorMessage,"event-click":checkClick}),XNode.create("div",{class:"error-message",text:errorMessage}),...nodes)}_export("default",Form);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
734
+ `.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript"}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,AppRole,AppFileContentDispositionArray,AppFile,AppFileTag,FileContent,Configuration,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,Mailbox,MailboxEmail,MailboxThread,MailboxThreadEmail,User,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,LoginSession,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",["roleName"],{roleName:""}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,folder:"",name:"",fileSize:0,contentType:""}));_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{appFileID:0,tagID:0}));_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0}));_export("Configuration",Configuration=new Model("Configuration",["name"],{name:"",configValue:""}));_export("Domain",Domain=new Model("Domain",["domainID"],{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{domainID:0,enableReceive:false,enableSend:false,useRelay:false}));_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{domainID:0,userID:0,isAdmin:false,allowCreateMailbox:false}));_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{domainID:0,type:"smtp",host:"",username:"",password:"",priority:0}));_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:"",domainID:0}));_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",senderID:0,received:false,dateReceived:new DateTime,dateCreated:new DateTime,status:"queued"}));_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{emailID:0,emailAddressID:0,type:"from"}));_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{emailID:0,tagID:0}));_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",domainID:0,name:""}));_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{mailboxID:0,domainID:0,storage:0,maxStorage:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{mailboxID:0,emailID:0}));_export("MailboxThread",MailboxThread=new Model("MailboxThread",["mailboxID","emailAddressID"],{mailboxID:0,emailAddressID:0,lastEmailID:0,dateUpdated:new DateTime,unread:0,total:0}));_export("MailboxThreadEmail",MailboxThreadEmail=new Model("MailboxThreadEmail",["mailboxID","emailAddressID","emailID"],{mailboxID:0,emailAddressID:0,emailID:0}));_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",multiFactor:false,dateUpdated:new DateTime}));_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{userID:0,roleName:""}));_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{userID:0,mailboxID:0}));_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{userID:0,method:"totp",verified:false,dateUpdated:new DateTime}));_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{userID:0,invalid:false,dateUpdated:new DateTime}));_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Domain,Mailbox,Sql,MailboxService;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){Domain=_modelModel.Domain;Mailbox=_modelModel.Mailbox},function(_Sql){Sql=_Sql.Sql}],execute:function(){MailboxService=class MailboxService{domains(){return this.entityService.query(Domain).toArray()}list({search="",start=0,size=50,version=0,cancelToken}){let q=this.entityService.query(Mailbox);if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}save(model){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(model);yield this.entityService.save(cloner.copy);return model}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){return}if(/^timeout$/i.test(e.toString().trim())){console.warn(e);return}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});return}}yield ns.alert(e,"Error")}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,Bind,StringHelper,XNode,styled,checkClick,BindError,BindEmailError;function Form(_a,...nodes){var{"data-submit-event":submitEvent="submitForm","data-show-validation":showValidation="false","data-error-message":errorMessage="Please fix all validations"}=_a,a=__rest(_a,["data-submit-event","data-show-validation","data-error-message"]);return XNode.create("div",Object.assign({},a,{"data-submit-event":submitEvent,"data-form":"form","data-valid":"true","data-show-validation":showValidation,"data-error-message":errorMessage,"event-click":checkClick}),XNode.create("div",{class:"error-message",text:errorMessage}),...nodes)}_export("default",Form);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
735
735
  display: flex;
736
736
  flex-direction: column;
737
737
  gap: var(--spacing, 5px);
@@ -976,7 +976,7 @@ and limitations under the License.
976
976
  }
977
977
  }
978
978
  }
979
- `.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div[key]=element}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,MailboxThreadEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){MailboxThreadEmail=_modelModel.MailboxThreadEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{if(!value){e.innerHTML="";return}const mail=value;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src===null||src===void 0?void 0:src.startsWith("cid:")){const cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`)}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}e.appendChild(msg);return})));ConversationService=class ConversationService{list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThreadEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID));if(search){search=`%${search}%`;q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments])).orderByDescending((x=>x.emailID)).toPagedList({start,size,cancelToken});return{total:emails.total,items:emails.items.map((x=>x.email))}}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
979
+ `.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div[key]=element}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,MailboxThreadEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;MailboxThreadEmail=_modelModel.MailboxThreadEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{if(!value){e.innerHTML="";return}const mail=value;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src===null||src===void 0?void 0:src.startsWith("cid:")){const cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`)}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}e.appendChild(msg);if(!mail.timeRead){const timeRead=DateTime.utcNow;mail.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);const{emailID}=mail;entityService.save(Email.patch(mail,{timeRead})).catch(console.error)}return})));ConversationService=class ConversationService{list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThreadEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID));if(search){search=`%${search}%`;q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments])).orderByDescending((x=>x.emailID)).toPagedList({start,size,cancelToken});return{total:emails.total,items:emails.items.map((x=>x.email))}}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
980
980
 
981
981
  & > [data-element=editor] {
982
982
 
@@ -1303,7 +1303,7 @@ and limitations under the License.
1303
1303
  margin-right: 0;
1304
1304
  margin-left: 20%;
1305
1305
  }
1306
- `.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mb=this.parameters;this.title=mb.lastEmail.senderID===mb.mailboxID?(_a=mb.emailAddress)===null||_a===void 0?void 0:_a.emailAddress:mb.lastEmail.senderName;this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:200,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",{class:css,"data-sent":!item.received},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"})),XNode.create("div",Object.assign({class:"message"},renderMail(item))),((_a=item.attachments)===null||_a===void 0?void 0:_a.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map((a=>XNode.create("div",null,XNode.create("i",{class:"fas fa-paperclip"}),XNode.create("a",{text:a.name,target:"_blank",href:`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`}))))))}})))}))}replyEmail(email){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=(_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress;const parentID=email.emailID;const child=Email.create({senderID:this.parameters.mailboxID,subject:"Re: "+email.subject,parentID,received:false,recipients:[EmailRecipient.create({emailAddressText})],htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,model:child})}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","./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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,DropDown,MailService,AtomRepeater,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,styled,MailboxSocket,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(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.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}],execute:function(){css=styled.css`
1306
+ `.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mb=this.parameters;this.title=mb.lastEmail.senderID===mb.mailboxID?(_a=mb.emailAddress)===null||_a===void 0?void 0:_a.emailAddress:mb.lastEmail.senderName;this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",{class:css,"data-sent":!item.received},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"})),XNode.create("div",Object.assign({class:"message"},renderMail(item))),((_a=item.attachments)===null||_a===void 0?void 0:_a.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map((a=>XNode.create("div",null,XNode.create("i",{class:"fas fa-paperclip"}),XNode.create("a",{text:a.name,target:"_blank",href:`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`}))))))}})))}))}replyEmail(email){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=(_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress;const parentID=email.emailID;const child=Email.create({senderID:this.parameters.mailboxID,subject:"Re: "+email.subject,parentID,received:false,recipients:[EmailRecipient.create({emailAddressText})],htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,model:child})}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","./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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,DropDown,MailService,AtomRepeater,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,styled,MailboxSocket,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(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.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}],execute:function(){css=styled.css`
1307
1307
  &[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
1308
1308
  grid-template-columns: 1fr minmax(200px, 5fr) auto;
1309
1309
  }