@social-mail/social-mail-client 1.4.112 → 1.4.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminAppIndex.pack.js +1 -1
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/public/channel/ChannelApp.pack.js +1 -1
- package/dist/public/channel/ChannelApp.pack.js.map +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.js +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +1 -1
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +1 -1
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/mails/service/ConversationService.js +1 -1
- package/dist/web/page/mails/service/ConversationService.js.map +1 -1
- package/package.json +1 -1
- package/src/web/page/mails/service/ConversationService.tsx +1 -1
|
@@ -1200,5 +1200,5 @@ display: grid;
|
|
|
1200
1200
|
max-height: 100%;
|
|
1201
1201
|
}
|
|
1202
1202
|
|
|
1203
|
-
`.expand("[styler-layout=grid-1x1]"));_export("Grid1x1Box",Grid1x1Box=Block({className:"fa-duotone fa-solid fa-grid-5",title:"Add Grid Box",factory:()=>XNode.create("section",{"styler-layout":"grid-1x1"},XNode.create("section",null),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ScrollAware");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,ScrollAware;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){_export("ScrollAware",ScrollAware=Block({className:"fad fa-arrow-up-arrow-down",title:"Add Scroll Aware",factory:()=>XNode.create("scroll-aware",null,XNode.create("section",{"styler-layout":"column"}))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/InlineSvg");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,InlineSvg;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){_export("InlineSvg",InlineSvg=Block({className:"fad fa-file-svg",title:"Add Inline Svg",factory:()=>XNode.create("inline-svg",null)}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/controls/AtomControl","../drag-drop/DragDropHelper","../toolbars/UndoRedoToolbar","../blocks/WrapGrid","../toolbars/EditorToolbar","../properties/Properties","../styler/StylerSet","./SelectedElement","@web-atoms/core/dist/core/AtomBinder","../blocks/ImageBox","../blocks/RowBox","../blocks/ColumnBox","../blocks/VerticalImageBox","../blocks/Image","../blocks/ImageCard","../blocks/TextBox","../blocks/Card","../blocks/List","../blocks/Components","@web-atoms/core/dist/core/types","../blocks/Buttons","../blocks/Columns2","../blocks/Columns3","../blocks/RightImageBox","@web-atoms/core/dist/web/core/AtomUI","../blocks/PriceBox","@web-atoms/core/dist/core/BindableProperty","../blocks/Billboard","../blocks/OutlineText","../blocks/Carousel","../blocks/ImageGallery","@web-atoms/web-controls/dist/basic/InlinePopup","../blocks/VideoPlayer","../blocks/BackgroundVideo","../blocks/TextMask","../blocks/MarqueeText","../blocks/ImageGrid","../blocks/BoxFrame","../blocks/InjectBox","../blocks/PDFFlipBook","../blocks/PDFViewer","../blocks/Banner","./BreadCrum","./LanguageDropDown","./webComponentsPath","./UndoRedo","./DomHelper","../blocks/FlipBox","../blocks/GridBox","../styles/html-page-editor.global.less","../blocks/ScrollAware","../blocks/InlineSvg"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__rest,Bind,XNode,sleep,Action,AtomControl,InstallDragDropHelper,UndoRedoToolbar,WrapGrid,EditorToolbar,Properties,StylerSet,SelectedElement,AtomBinder,ImageBox,RowBox,ColumnBox,VerticalImageBox,Image,ImageCard,TextBox,Card,List,BlogComponent,TypeWriterComponent,CancelToken,UMD,ImageLink,LinkButton,Columns2,Columns3,RightImageBox,descendentElementIterator,PriceTable,BindableProperty,Billboard,OutlineText,Carousel,ImageGallery,InlinePopupButton,VideoPlayer,BackgroundVideo,TextMask,MarqueeText,ImageGrid,BoxFrame,InjectBox,PDFFlipBook,PDFViewer,Banner,BreadCrum,LanguageDropDown,WebComponents,UndoRedo,DomHelper,FlipBox,GridBox,ScrollAware,InlineSvg,HtmlPageEditor,desktopWidth,tabletWidth,mobileWidth,languageSymbol;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_dragDropDragDropHelper){InstallDragDropHelper=_dragDropDragDropHelper.InstallDragDropHelper},function(_toolbarsUndoRedoToolbar){UndoRedoToolbar=_toolbarsUndoRedoToolbar.default},function(_blocksWrapGrid){WrapGrid=_blocksWrapGrid.WrapGrid},function(_toolbarsEditorToolbar){EditorToolbar=_toolbarsEditorToolbar.default},function(_propertiesProperties){Properties=_propertiesProperties.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_SelectedElement){SelectedElement=_SelectedElement.SelectedElement},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_blocksImageBox){ImageBox=_blocksImageBox.ImageBox},function(_blocksRowBox){RowBox=_blocksRowBox.RowBox},function(_blocksColumnBox){ColumnBox=_blocksColumnBox.ColumnBox},function(_blocksVerticalImageBox){VerticalImageBox=_blocksVerticalImageBox.VerticalImageBox},function(_blocksImage){Image=_blocksImage.Image},function(_blocksImageCard){ImageCard=_blocksImageCard.ImageCard},function(_blocksTextBox){TextBox=_blocksTextBox.TextBox},function(_blocksCard){Card=_blocksCard.Card},function(_blocksList){List=_blocksList.List},function(_blocksComponents){BlogComponent=_blocksComponents.BlogComponent;TypeWriterComponent=_blocksComponents.TypeWriterComponent},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken;UMD=_webAtomsCoreDistCoreTypes.UMD},function(_blocksButtons){ImageLink=_blocksButtons.ImageLink;LinkButton=_blocksButtons.LinkButton},function(_blocksColumns){Columns2=_blocksColumns.Columns2},function(_blocksColumns2){Columns3=_blocksColumns2.Columns3},function(_blocksRightImageBox){RightImageBox=_blocksRightImageBox.RightImageBox},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_blocksPriceBox){PriceTable=_blocksPriceBox.PriceTable},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_blocksBillboard){Billboard=_blocksBillboard.Billboard},function(_blocksOutlineText){OutlineText=_blocksOutlineText.OutlineText},function(_blocksCarousel){Carousel=_blocksCarousel.Carousel},function(_blocksImageGallery){ImageGallery=_blocksImageGallery.ImageGallery},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_blocksVideoPlayer){VideoPlayer=_blocksVideoPlayer.VideoPlayer},function(_blocksBackgroundVideo){BackgroundVideo=_blocksBackgroundVideo.BackgroundVideo},function(_blocksTextMask){TextMask=_blocksTextMask.TextMask},function(_blocksMarqueeText){MarqueeText=_blocksMarqueeText.MarqueeText},function(_blocksImageGrid){ImageGrid=_blocksImageGrid.ImageGrid},function(_blocksBoxFrame){BoxFrame=_blocksBoxFrame.BoxFrame},function(_blocksInjectBox){InjectBox=_blocksInjectBox.InjectBox},function(_blocksPDFFlipBook){PDFFlipBook=_blocksPDFFlipBook.PDFFlipBook},function(_blocksPDFViewer){PDFViewer=_blocksPDFViewer.PDFViewer},function(_blocksBanner){Banner=_blocksBanner.Banner},function(_BreadCrum){BreadCrum=_BreadCrum.default},function(_LanguageDropDown){LanguageDropDown=_LanguageDropDown.default},function(_webComponentsPath){WebComponents=_webComponentsPath.WebComponents},function(_UndoRedo){UndoRedo=_UndoRedo.default},function(_DomHelper){DomHelper=_DomHelper.default},function(_blocksFlipBox){FlipBox=_blocksFlipBox.FlipBox},function(_blocksGridBox){GridBox=_blocksGridBox.GridBox},function(_stylesHtmlPageEditorGlobalLess){},function(_blocksScrollAware){ScrollAware=_blocksScrollAware.ScrollAware},function(_blocksInlineSvg){InlineSvg=_blocksInlineSvg.InlineSvg}],execute:function(){desktopWidth=992;tabletWidth=768;mobileWidth=480;languageSymbol=Symbol.for("language");_export("default",HtmlPageEditor=class HtmlPageEditor extends AtomControl{get modifiedDocument(){var _a;if(!this.undoRedo.changed){return null}const clone=this.htmlDocument.documentElement.cloneNode(true);const body=clone.querySelector("body");body.removeAttribute("contentEditable");body.removeAttribute("editing");body.removeAttribute("editing-lang");const all=clone.querySelectorAll("*");const clearChildren=[];const removeAll=[];for(let index=0;index<all.length;index++){const element=all[index];if(element.hasAttribute("remove-when-save")){removeAll.push(element);continue}if(element.tagName==="INJECT"){clearChildren.push(element);continue}if(element.getAttribute("data-cursor-style")==="editing"){removeAll.push(element);continue}element.removeAttribute("draggable")}for(const iterator of clearChildren){iterator.innerHTML=""}for(const iterator of removeAll){iterator.remove()}if(clone.querySelector(`[styler-layout="component"]`)){let componentScript=clone.querySelector("[styler-component-script]");if(!componentScript){componentScript=this.htmlDocument.createElement("script");const head=clone.querySelector("head");head.appendChild(componentScript)}componentScript.src=UMD.resolvePath("@social-mail/social-mail-client/component.js");componentScript.setAttribute("styler-component-script","component-script")}if(this.baseUrl){if(!this.originalBaseUrl){(_a=clone.querySelector("base"))===null||_a===void 0?void 0:_a.remove()}else{const baseUrl=clone.querySelector("base");if(baseUrl){baseUrl.setAttribute("href",this.originalBaseUrl)}}}return clone}get modifiedPage(){var _a;return(_a=this.modifiedDocument)===null||_a===void 0?void 0:_a.outerHTML}get modifiedBody(){const doc=this.modifiedDocument;if(!doc){return}const body=doc.querySelector("body");return body.innerHTML}get htmlPage(){var _a,_b;return(_b=(_a=this.htmlDocument)===null||_a===void 0?void 0:_a.documentElement)===null||_b===void 0?void 0:_b.outerHTML}set htmlPage(v){var _a;if(!this.element){return}if(!this.ready){setTimeout((()=>{this.htmlPage=v}),100);return}(_a=this.initCT)===null||_a===void 0?void 0:_a.cancel();const ct=this.initCT=new CancelToken;void this.ready.then((()=>{const prevInit=this.lastInit;this.lastInit=this.initDocument(prevInit,v,ct)}))}get language(){return this[languageSymbol]}set language(v){var _a;if(v===this[languageSymbol]){return}this[languageSymbol]=v;localStorage.setItem("editing-lang",v);if((_a=this.htmlDocument)===null||_a===void 0?void 0:_a.body){this.htmlDocument.body.setAttribute("editing-lang",v)}AtomBinder.refreshValue(this,"language")}constructor(app,e){super(app,e);this.selection=new SelectedElement(this);this.undoRedo={canUndo:false,canRedo:false,dispose(){}};this.pageVariables=[];this.languages=null;this.hover=new SelectedElement(this);this.dropTarget=new SelectedElement(this);this.maxWidth=desktopWidth;this.ready=this.init()}init(){return __awaiter(this,void 0,void 0,(function*(){this.render(XNode.create("div",{"data-html-page-editor":"html-page-editor"},XNode.create("div",{"data-element":"top"},XNode.create(EditorToolbar,{"data-element":"max-width","event-click":()=>this.deferUpdate()},XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===desktopWidth)),"event-click":()=>this.maxWidth=desktopWidth,class:"fas fa-desktop"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===tabletWidth)),"event-click":()=>this.maxWidth=tabletWidth,class:"fas fa-tablet-screen"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===mobileWidth)),"event-click":()=>this.maxWidth=mobileWidth,class:"fas fa-mobile-screen"})),XNode.create(UndoRedoToolbar,null),XNode.create(EditorToolbar,null,XNode.create("i",{"data-click-event":"edit-code",class:"fa-solid fa-code"}),XNode.create(LanguageDropDown,null))),XNode.create(EditorToolbar,{"data-element":"left"},XNode.create(TextBox,null),XNode.create(Image,null),XNode.create(WrapGrid,null),XNode.create(ImageBox,null),XNode.create(RightImageBox,null),XNode.create(ColumnBox,null),XNode.create(Columns2,null),XNode.create(Columns3,null),XNode.create(GridBox,null),XNode.create(List,null),XNode.create(ImageLink,null),XNode.create(LinkButton,null),XNode.create(ScrollAware,null),XNode.create(InlineSvg,null),XNode.create(InlinePopupButton,{icon:"fas fa-plus","data-layout":"warning-icon-button",alignment:"above",popup:()=>XNode.create(EditorToolbar,null,XNode.create(Card,null),XNode.create(ImageCard,null),XNode.create(RowBox,null),XNode.create(VerticalImageBox,null),XNode.create(PriceTable,null),XNode.create(TypeWriterComponent,null),XNode.create(Billboard,null),XNode.create(PDFFlipBook,null),XNode.create(PDFViewer,null),XNode.create(OutlineText,null),XNode.create(Carousel,null),XNode.create(BlogComponent,null),XNode.create(FlipBox,null),XNode.create(BoxFrame,null),XNode.create(VideoPlayer,null),XNode.create(BackgroundVideo,null),XNode.create(TextMask,null),XNode.create(InjectBox,null),XNode.create(ImageGrid,null),XNode.create(ImageGallery,null),XNode.create(MarqueeText,null),XNode.create(Banner,null))})),XNode.create("div",{"data-element":"editor","style-max-width":Bind.oneWay((()=>this.maxWidth>768?"":this.maxWidth+"px"))},XNode.create("div",{"data-element":"resizer"}),XNode.create("div",{"data-element":"drop-target","style-display":Bind.oneWay((()=>this.dropTarget.element?"":"none")),"style-position":"absolute","style-left":Bind.oneWay((()=>this.dropTarget.left)),"style-top":Bind.oneWay((()=>this.dropTarget.top)),"style-width":Bind.oneWay((()=>this.dropTarget.width)),"style-height":Bind.oneWay((()=>this.dropTarget.height))}),XNode.create("div",{"data-element":"selection","style-left":Bind.oneWay((()=>this.selection.left)),"style-top":Bind.oneWay((()=>this.selection.top)),"style-width":Bind.oneWay((()=>this.selection.width)),"style-height":Bind.oneWay((()=>this.selection.height))},XNode.create("i",{class:"lt"}),XNode.create("i",{class:"rt"}),XNode.create("i",{class:"lb"}),XNode.create("i",{class:"rb"}),XNode.create("div",null,XNode.create("i",{class:"fa-regular fa-arrow-up","event-click":()=>{if(this.selection.element.parentElement!==this.htmlDocument.body){this.selection.update(this.selection.element.parentElement)}}}),XNode.create("i",{"event-click":()=>{this.selection.setDraggable()},class:"fa-solid fa-up-down-left-right","data-click-event":"start-drag"}),XNode.create("i",{"style-display":Bind.oneWay((()=>this.selection.isImage)),"data-click-event":"change-image",title:"Change Image (Double Click)",class:"fa-solid fa-arrows-rotate-reverse"}),XNode.create("i",{title:"Duplicate","data-click-event":"copy-element",class:"fas fa-copy"}),XNode.create("i",{title:"Move Up","data-click-event":"move-up-element",class:"fa-duotone fa-angles-up"}),XNode.create("i",{title:"Move Down","data-click-event":"move-down-element",class:"fa-duotone fa-angles-down"}),XNode.create("i",{title:"Extract Fragment","data-click-event":"extract-element",class:"fad fa-file-export"}),XNode.create("i",{title:"Delete","data-click-event":"delete-element",class:"fas fa-trash-can"}))),XNode.create("div",{"data-element":"hover","style-left":Bind.oneWay((()=>this.hover.left)),"style-top":Bind.oneWay((()=>this.hover.top)),"style-width":Bind.oneWay((()=>this.hover.width)),"style-height":Bind.oneWay((()=>this.hover.height))},XNode.create("label",{text:Bind.oneWay((()=>this.hover.name))})),XNode.create("div",{"data-element":"content-frame"},XNode.create("iframe",{"data-element":"content-editor",sandbox:"allow-same-origin "}))),XNode.create("div",{"data-element":"right"},XNode.create("button",{"data-click-event":"open-variables","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-code"}),"Variables"),XNode.create(Properties,null)),XNode.create(BreadCrum,{selection:Bind.oneWay((()=>this.selection.element))})));this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`)}))}buildXNode(node){const build=n=>{const e=this.htmlDocument.createElement(n.name);if(n.attributes){for(const key in n.attributes){if(Object.prototype.hasOwnProperty.call(n.attributes,key)){const element=n.attributes[key];e.setAttribute(key,element)}}}if(n.children){for(const iterator of n.children){if(typeof iterator==="string"){e.append(iterator);continue}e.appendChild(build(iterator))}}return e};return build(node)}deleteElement(){var _a;return __awaiter(this,void 0,void 0,(function*(){const current=this.selection.element;let previous=(_a=current.previousElementSibling)!==null&&_a!==void 0?_a:current.parentElement;current.remove();this.commit();if(!previous.textContent){previous=previous.previousElementSibling.lastElementChild}this.setSelection(previous);yield sleep(100);this.selection.update()}))}copyElement(){const current=this.selection.element;const copy=current.cloneNode(true);for(const iterator of descendentElementIterator(copy)){if(iterator.id){iterator.id=`sm-${Date.now()}`}}current.insertAdjacentElement("afterend",copy);this.commit()}moveUpElement(){const current=this.selection.element;const prevSibling=current.previousElementSibling;if(!prevSibling){return}current.remove();prevSibling.insertAdjacentElement("beforebegin",current);this.commit()}moveDownElement(){const current=this.selection.element;const nextSibling=current.nextElementSibling;if(!nextSibling){return}current.remove();nextSibling.insertAdjacentElement("afterend",current);this.commit()}changeImage(){return __awaiter(this,void 0,void 0,(function*(){return this.insertImage({src:prompt("Image Src","")})}))}changeBackgroundImage(){return __awaiter(this,void 0,void 0,(function*(){const img=prompt("Image Src","");this.selection.element.style.setProperty("--styler-background-image",`url(${JSON.stringify(img)})`);return}))}extractElement(){return __awaiter(this,void 0,void 0,(function*(){alert("Not implemented")}))}onKeyUp(d,ke){if(ke.ctrlKey){switch(ke.key){case"z":ke.preventDefault();this.undo();break;case"y":ke.preventDefault();this.redo();break}}}insertImage(...images){var _a;return __awaiter(this,void 0,void 0,(function*(){let img=((_a=this.selection)===null||_a===void 0?void 0:_a.isImage)?this.selection.element:null;const container=img?img.parentElement:this.selection.element;for(let _b of images){const{src,style}=_b,a=__rest(_b,["src","style"]);if(!img){img=this.htmlDocument.createElement("img");container.appendChild(img);container.appendChild(document.createTextNode("\n"))}img.src=src;const i=img;img.onload=()=>{this.selection.update();i.onload=null};if(style){for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=style[key];img.style[key]=element}}}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){const element=a[key];img.setAttribute(key,element)}}}img=null}this.commit()}))}insertElement(e,parent=this.selection.element,preferMain=false){if(preferMain){while(parent.parentElement!==this.htmlDocument.body){parent=parent.parentElement}}parent.appendChild(e);if(!e.id){e.id="sm-"+Date.now().toString()}setTimeout((()=>{this.setSelection(e);this.commit()}),100)}deferUpdate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){yield sleep(100);(_a=this.hover)===null||_a===void 0?void 0:_a.update();(_b=this.selection)===null||_b===void 0?void 0:_b.update()}))}setSelection(element,commit=true){var _a;const old=(_a=this.selection)===null||_a===void 0?void 0:_a.element;if(old===null||old===void 0?void 0:old.draggable){old.removeAttribute("draggable")}this.selection.update(element);if(commit){this.commit()}}commit(){}undo(){var _a;(_a=this.undoRedo)===null||_a===void 0?void 0:_a.undo()}redo(){var _a;(_a=this.undoRedo)===null||_a===void 0?void 0:_a.redo()}merge(text){return __awaiter(this,void 0,void 0,(function*(){const parser=new this.htmlDocument.defaultView.DOMParser;const dom=parser.parseFromString(text,"text/html");yield DomHelper.applyChanges(this.htmlDocument,dom);yield this.updateEditable(this.htmlDocument)}))}initDocument(prev,v,ct){return __awaiter(this,void 0,void 0,(function*(){try{yield prev}catch(_a){}this.undoRedo.dispose();this.contentEditor.srcdoc="about:empty";const dom=new DOMParser;const doc=dom.parseFromString(v,"text/html");yield this.updateEditable(doc);this.htmlDocument=void 0;yield this.loadContentDocument();this.htmlDocument.open();this.htmlDocument.write(doc.documentElement.outerHTML);this.htmlDocument.close();yield sleep(1e3);yield WebComponents.run(this.contentEditor,this.htmlDocument);this.htmlDocument.addEventListener("click",(e=>{const target=e.target;const previous=this.selection.element;if(previous===null||previous===void 0?void 0:previous.isContentEditable){let start=target;while(start){if(previous===target){return}start=start.parentElement}if(previous!==this.htmlDocument.body){previous.removeAttribute("contentEditable")}this.queueCommit()}e.preventDefault();this.setSelection(target)}));this.htmlDocument.addEventListener("dblclick",(e=>{const target=e.target;e.preventDefault();const element=target.nodeType===Node.ELEMENT_NODE?target:target.parentElement;if(/^(IMG|INJECT|VIDEO|PDF)/.test(element.tagName)){this.changeImage().catch(console.error);return}if(element.getAttribute("data-editable")==="false"){return}if(element.hasAttribute("data-web-atoms-view")){return}this.setSelection(element)}));this.htmlDocument.addEventListener("scroll",(e=>{this.hover.update();this.selection.update()}),{passive:true});this.htmlDocument.addEventListener("pointerover",(e=>{let target=e.target;target=target.nodeType===Node.ELEMENT_NODE&&target.tagName?target:target.parentElement;if(this.hover.element===target){return}this.hover.update(target)}),{capture:true});this.htmlDocument.addEventListener("keydown",(e=>{if(e.ctrlKey||e.metaKey){switch(e.key){case"s":this.contentEditor.dispatchEvent(new CustomEvent("savePage",{bubbles:true}));e.preventDefault();break;case"z":this.contentEditor.dispatchEvent(new CustomEvent("undo",{bubbles:true}));e.preventDefault();break;case"y":this.contentEditor.dispatchEvent(new CustomEvent("redo",{bubbles:true}));e.preventDefault();break}}}));this.htmlDocument.addEventListener("input",(()=>this.queueCommit()));InstallDragDropHelper(this);setTimeout((()=>{this.undoRedo=new UndoRedo(this.htmlDocument,this);const clone=this.htmlDocument;if(clone.querySelector(`[styler-layout="component"]`)){let componentScript=clone.querySelector("[styler-component-script]");if(!componentScript){componentScript=this.htmlDocument.createElement("script");componentScript.setAttribute("styler-component-script","component-script");const head=clone.querySelector("head");head.appendChild(componentScript);const scripts=clone.querySelectorAll("script[src]");for(let index=0;index<scripts.length;index++){const script=scripts[index];const srcScript=script.getAttribute("src");if(srcScript.includes("@social-mail/social-mail-client/")||srcScript.includes("/component.js")){script.remove();break}}}const src=UMD.resolvePath("@social-mail/social-mail-client/component.js");if(componentScript.getAttribute("src")!==src){componentScript.setAttribute("src",src)}}let wc=clone.querySelector("script[web-components]");if(!wc){wc=this.htmlDocument.createElement("script");wc.setAttribute("web-components","social");wc.setAttribute("async","true");wc.setAttribute("defer","true");clone.head.appendChild(doc.createTextNode("\n"));clone.head.appendChild(wc);clone.head.appendChild(doc.createTextNode("\n"))}const wcs=`${WebComponents.path}/dist/main.js`;if(wc.getAttribute("src")!==wcs){wc.setAttribute("src",wcs)}}),10)}))}updateEditable(doc){return __awaiter(this,void 0,void 0,(function*(){doc.body.contentEditable="true";doc.body.setAttribute("editing","true");this.updateBaseUrl(doc);yield this.setStylerSheet(doc);const lc=doc.querySelector("language-chooser");const languageStyles=[];if(lc){const languages=[{label:"Lang",value:"all"}];const list=lc.getAttribute("languages");if(list){for(const token of list.split(/[\,\;\s]+/)){const lang=token.trim();if(!lang){continue}languageStyles.push(`body[editing-lang=${lang}] *[lang]:not([lang=${lang}]) { display: none; }`);languages.push({label:lang,value:lang})}}this.languages=languages;const current=localStorage.getItem("editing-lang");if(current){doc.body.setAttribute("editing-lang",current);this[languageSymbol]=current;AtomBinder.refreshValue(this,"language")}else{this[languageSymbol]="all"}}doc.body.removeAttribute("data-lang");const cursorStyle=doc.createElement("style");cursorStyle.textContent=`* {\n caret-color: currentColor !important;\n }\n ${languageStyles.join("\n")}\n `;cursorStyle.setAttribute("data-cursor-style","editing");doc.head.append(cursorStyle)}))}queueCommit(){const id=this.lastCommitTimerID;if(id){clearTimeout(id)}this.lastCommitTimerID=setTimeout((()=>this.commit()),1e3)}setStylerSheet(doc=this.htmlDocument){return __awaiter(this,void 0,void 0,(function*(){let style=doc.querySelector(`[styler-style-sheet]`);if(!style){style=doc.createElement("style");style.setAttribute("styler-style-sheet","inline");doc.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}updateBaseUrl(doc){var _a;let baseElement=doc.querySelector("base");if((_a=baseElement===null||baseElement===void 0?void 0:baseElement.getAttribute("href"))===null||_a===void 0?void 0:_a.startsWith("/api/site/")){baseElement.remove();baseElement=null}if(baseElement){const href=baseElement.getAttribute("href");if(href!==this.baseUrl){this.originalBaseUrl=href;baseElement.setAttribute("href",this.baseUrl)}}else{baseElement=doc.createElement("base");baseElement.setAttribute("href",this.baseUrl);doc.head.insertAdjacentElement("afterbegin",baseElement)}}loadContentDocument(){return __awaiter(this,void 0,void 0,(function*(){this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}});__decorate([BindableProperty,__metadata("design:type",String)],HtmlPageEditor.prototype,"baseUrl",void 0);__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"move-up-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"moveUpElement",null);__decorate([Action({onEvent:"move-down-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"moveDownElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"change-background-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeBackgroundImage",null);__decorate([Action({onEvent:"extract-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"extractElement",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/MonacoService");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,UMD,FetchBuilder,MonacoService,monacoPath,codeModelChangedDisposable;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){monacoPath=UMD.resolvePath("@social-mail/social-mail-client/content/modules/monaco/monaco.html");codeModelChangedDisposable=Symbol("codeModelChangedDisposable");_export("default",MonacoService=class MonacoService{static createEditor(ctrl,iframe){return __awaiter(this,void 0,void 0,(function*(){const ms=new MonacoService;const srcdoc=yield FetchBuilder.get(monacoPath).asText();const{monaco,editor}=yield new Promise(((resolve,reject)=>{iframe.parentEditor={resolve,reject,codeEditor:ctrl,save(){ctrl.element.dispatchEvent(new CustomEvent("saveFile",{detail:ctrl,bubbles:true}))}};iframe.srcdoc=srcdoc}));ctrl.registerDisposable({dispose:()=>{ms.monaco=null;ms.editor=null}});ms.monaco=monaco;ms.editor=editor;ms.languages=monaco.languages.getLanguages();return ms}))}clearModels(){for(const model of this.monaco.editor.getModels()){model.dispose()}}getLanguages(){return this.languages.map((x=>{var _a,_b,_c;return{label:(_b=(_a=x.aliases)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:x.id,value:x.id,ext:(_c=x.extensions)===null||_c===void 0?void 0:_c[0],extensions:x.extensions}}))}createModel({code,url="http://a/file.html"}){const{monaco}=this;const uri=monaco.Uri.parse(url);const model=monaco.editor.getModel(uri);if(model){model.setValue(code);return model}return monaco.editor.createModel(code,void 0,uri)}setCodeModel(ctrl,code,url,clear=false){var _a;const{monaco,editor}=this;const uri=monaco.Uri.parse(url);let model=monaco.editor.getModel(uri);if(model){model.setValue(code);editor.setModel(model);return}(_a=ctrl[codeModelChangedDisposable])===null||_a===void 0?void 0:_a.dispose();if(clear){this.clearModels()}model=monaco.editor.createModel(code,void 0,uri);editor.setModel(model);let id=0;ctrl[codeModelChangedDisposable]=ctrl.registerDisposable(model.onDidChangeContent((()=>{if(id){clearTimeout(id)}id=setTimeout((()=>{var _a;const newCode=model.getValue();const ce=new CustomEvent("codeChanged",{bubbles:true,detail:{code:newCode,originalCode:code}});ctrl.element.dispatchEvent(ce);(_a=ctrl===null||ctrl===void 0?void 0:ctrl.onCodeChanged)===null||_a===void 0?void 0:_a.call(ctrl,newCode,code)}),500)})));return model}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../common/controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","./MonacoService","../common/pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,SaveIconTextButton,Bind,Action,InjectProperty,MonacoService,CloudFileService,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_MonacoService){MonacoService=_MonacoService.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends ContentPage{constructor(){super(...arguments);this.modified=false}init(){return __awaiter(this,void 0,void 0,(function*(){const{fileName}=this.parameters;this.title=fileName;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create("iframe",null));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified),false)},XNode.create(SaveIconTextButton,{"data-click-event":"save-file",text:"Close"}));const iframe=this.element.querySelector("iframe");this.monacoService=yield MonacoService.createEditor(this,iframe);this.content=this.parameters.content;this.monacoService.setCodeModel(this,this.content,`http://a/${fileName}`)}))}codeChanged({code}){this.modified||(this.modified=this.content!==code);this.content=code}saveFile(){return __awaiter(this,void 0,void 0,(function*(){const{content}=this;return content}))}hide(){this.element.setAttribute("data-page-state","hidden")}show(){if(!this.element._logicalParent.contains(this.element)){this.element._logicalParent.appendChild(this.element)}setTimeout((()=>this.element.setAttribute("data-page-state","ready")),1)}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],CodeEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"code-changed"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CodeEditorPage.prototype,"codeChanged",null);__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeEditorPage.prototype,"saveFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,viewFileUrl,fileUrl,imageUrl,srcSetUrl,signedImageUrl,signedUrl,storeFileUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("viewFileUrl",viewFileUrl=(site,file)=>apiPath(`/api/site/asset/view/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`));_export("fileUrl",fileUrl=(file,{action="download",args=void 0,fileName="",ext=""}={})=>{let name=encodeURIComponent(file.name);if(args){if(Array.isArray(args)){args=args.join(",")}ext="."+args+ext;action=action+"("+args+")"}if(ext){fileName=name+ext}if(fileName){name+="/"+fileName}const{emailID,appFileID,fileContentID}=file;if(emailID){return apiPath(`/api/emails/attachment/${action}/${emailID}/${appFileID}/${name}/`)}return apiPath(`/api/files/${action}/${appFileID}/${fileContentID}/${name}`)});fileUrl.webp=(file,size=300)=>fileUrl(file,{action:"webp",args:size,ext:".webp"});fileUrl.webm=file=>fileUrl(file,{action:"webm",ext:".webm"});fileUrl.pdf=file=>fileUrl(file,{action:"pdf",ext:".pdf"});fileUrl.html=file=>fileUrl(file,{action:"html",ext:".html"});_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file,imgUrlFunc=imageUrl)=>{const small=imgUrlFunc(site,file,480)+" 640w";const medium=imgUrlFunc(site,file,720)+" 1024w";const large=imgUrlFunc(site,file)+" 1256w";return`${small},${medium},${large}`});_export("signedImageUrl",signedImageUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0},size)=>apiPath(`/api/signed/webp(${size})/${appFileID}/${fileContentID}/${signed}/file.${size}.webp`));_export("signedUrl",signedUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0})=>apiPath(`/api/signed/download/${appFileID}/${fileContentID}/${signed}/file.dat`));_export("storeFileUrl",storeFileUrl=(rootFolderID,file,type="download",name=file.name)=>apiPath(`/api/store/file/${type}/${rootFolderID}/${file.appFileID}/${file.fileContentID}/${name}`))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/web/core/AtomUI","./TreeView.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator},function(_TreeViewGlobalLess){}],execute:function(){expandSymbol=Symbol("expand");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"){this.createElement(child,item,index);return}if(event==="set"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();this.createElement(child,item,index);return}if(event==="remove"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();return}for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}for(const iterator of children){this.createElement(iterator,item)}}));element.dispose=()=>{var _a;watcher.dispose();for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}element.remove()};const actionElement=(_a=this.actionRenderer)===null||_a===void 0?void 0:_a.call(this,item);const isFolder=(_c=(_b=this.isFolder)===null||_b===void 0?void 0:_b.call(this,item))!==null&&_c!==void 0?_c:true;const iconElement=isFolder?this.folderIconRenderer(item):(_e=(_d=this.fileIconRenderer)===null||_d===void 0?void 0:_d.call(this,item))!==null&&_e!==void 0?_e:XNode.create("i",null);const labelElement=this.labelRenderer(item);if(iconElement){const a=(_f=iconElement.attributes)!==null&&_f!==void 0?_f:iconElement.attributes={};(_g=a["data-element"])!==null&&_g!==void 0?_g:a["data-element"]=isFolder?"expand-collapse":"file-icon";(_h=a["data-click-event"])!==null&&_h!==void 0?_h:a["data-click-event"]="toggle-expand";this.render(XNode.create("div",null,iconElement),element,this)}if(labelElement){const a=(_j=labelElement.attributes)!==null&&_j!==void 0?_j:labelElement.attributes={};a["data-element"]="label";(_k=a["data-click-event"])!==null&&_k!==void 0?_k:a["data-click-event"]="select-item";this.render(XNode.create("div",null,labelElement),element,this)}if(actionElement){((_l=actionElement.attributes)!==null&&_l!==void 0?_l:actionElement.attributes={})["data-element"]="action";this.render(XNode.create("div",null,actionElement),element,this)}const header=document.createElement("div");header.setAttribute("data-element","header");element.appendChild(header);const parentElement=this.map.get(parentItem);let last=parentElement;if(parentItem){const siblings=this.childrenProperty(parentItem);if(insertIndex===-1){insertIndex=siblings.indexOf(item)}if(insertIndex>=1){last=this.map.get(siblings[insertIndex-1])}last.insertAdjacentElement("afterend",element);const pad=Number((_m=parentElement.getAttribute("data-pad"))!==null&&_m!==void 0?_m:"0")+10;element.setAttribute("data-pad",`${pad}`);element.style.paddingLeft=`${pad}px`}else{this.element.appendChild(element);this.expandElement(element,false)}for(const iterator of children){this.createElement(iterator,item)}setTimeout((()=>this.updateExpanded()),1);return element}updateExpanded(item,show){if(!item){item=this.root;show=true}const element=this.map.get(item);if(!element){return}if(item===this.root){show=true}else if(show===void 0){show=element.getAttribute("data-expanded")==="true"}if(show){element.style.display=""}else{element.style.display="none"}const children=this.childrenProperty(element.dataItem);show&&(show=element.getAttribute("data-expanded")==="true");for(const iterator of children){this.updateExpanded(iterator,show)}}});__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"root",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"selectedItem",void 0);delete TreeView.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,CloudFileService,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_pagesFilesServiceCloudFileService){CloudFileService=_pagesFilesServiceCloudFileService.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.accept=null;this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item,void 0,this.accept);const setParent=i=>{if(!i.children){return}for(const iterator of i.children){iterator.parent=i}};setParent(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child);child.parent=file}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file);const e=this.map.get(file);const{parentItem:{children}}=e;children.set(children.indexOf(file),file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.menuActions=null;this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical",popup:()=>{var _a,_b;return XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),...(_b=(_a=this.menuActions)===null||_a===void 0?void 0:_a.call(this,item))!==null&&_b!==void 0?_b:[],this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"}))}})}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","./FilesDragDrop.global.less"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_FilesDragDropGlobalLess){}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;dragEnter=e=>{if(!e.dataTransfer){return}e.currentTarget.setAttribute("data-drop-enabled","1")};dragOver=e=>{if(!e.dataTransfer){return}e.preventDefault()};dragLeave=e=>{if(!e.dataTransfer){return}e.currentTarget.removeAttribute("data-drop-enabled")};eventDrop=e=>{if(!e.dataTransfer){return}e.preventDefault();const currentTarget=e.currentTarget;currentTarget.removeAttribute("data-drop-enabled");const uploadEvent=currentTarget.getAttribute("data-upload-event");const extra=currentTarget.getAttribute("data-extra");const fileHandlesPromises=[...e.dataTransfer.items].filter((item=>item.kind==="file")).map((item=>supportsFileSystemAccessAPI?item.getAsFileSystemHandle().then((f=>f!==null&&f!==void 0?f:item.getAsFile())):supportsWebkitGetAsEntry?item.webkitGetAsEntry():item.getAsFile()));const files=[];const getFiles=(dir,parent=dir.name)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,e_1,_b,_c;const all=[];try{for(var _d=true,_e=__asyncValues(dir.entries()),_f;_f=yield _e.next(),_a=_f.done,!_a;){_c=_f.value;_d=false;try{const[name,handle]=_c;const path=`${parent}/${handle.name}`;if(handle.kind==="directory"||handle.isDirectory){all.push(...yield getFiles(handle,path));continue}const file=yield handle.getFile();Object.defineProperty(file,"webkitRelativePath",{value:path});all.push(file)}finally{_d=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_d&&!_a&&(_b=_e.return))yield _b.call(_e)}finally{if(e_1)throw e_1.error}}return all}));const control=AtomControl.from(e.currentTarget);control.app.runAsync((()=>__awaiter(void 0,void 0,void 0,(function*(){var _g,e_2,_h,_j;try{for(var _k=true,fileHandlesPromises_1=__asyncValues(fileHandlesPromises),fileHandlesPromises_1_1;fileHandlesPromises_1_1=yield fileHandlesPromises_1.next(),_g=fileHandlesPromises_1_1.done,!_g;){_j=fileHandlesPromises_1_1.value;_k=false;try{const handle=_j;if(handle.kind==="directory"||handle.isDirectory){files.push(...yield getFiles(handle))}else{files.push(handle.getFile?yield handle.getFile():handle)}}finally{_k=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_k&&!_g&&(_h=fileHandlesPromises_1.return))yield _h.call(fileHandlesPromises_1)}finally{if(e_2)throw e_2.error}}const detail={files,extra,uploadEvent};currentTarget.dispatchEvent(new CustomEvent("uploadRequested",{detail,bubbles:true,cancelable:true}))}))))};_export("FilesDragDrop",FilesDragDrop=({uploadEvent="files-available",uploadRequested="upload-requested",extra=""})=>({"data-extra":extra,"data-drag-drop":"1","data-upload-event":uploadEvent,"data-upload-requested":uploadRequested,"event-dragenter":dragEnter,"event-dragleave":dragLeave,"event-dragover":dragOver,"event-drop":eventDrop}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/FileUrlService");System.register([],(function(_export,_context){"use strict";var FileUrlService;return{setters:[],execute:function(){_export("FileUrlService",FileUrlService={downloadUrl(file){const url=file.url;return url.replace("/view/","/download/")},pdf(file){const url=file.url;return url.replace("/view/","/pdf/")+".pdf"},html(file){const url=file.url;return url.replace("/view/","/html/")+".html"},webP(file,size=300){const url=file.url.replace("/view/",`/webp(${300})/`);return url+`.${size}.webp`},webM(file){const url=file.url;return url.replace("/view/",`/webm/`)+`.webm`},webMBranded(file){const url=file.url;return url.replace("/view/",`/webm-branded/`)+`.branded.webm`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../../../common/controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../service/CloudFileService","../../../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../common/controls/buttons/IconButton","../../../FileUrlService","./ChooseMediaPage.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,Bind,InjectProperty,CloudFileService,FilesDragDrop,Action,UploadEvent,SaveIconTextButton,FileUrlService,ChooseMediaPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsTreeFileTreeView){FolderTreeView=_commonControlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceCloudFileService){CloudFileService=_serviceCloudFileService.default},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_ChooseMediaPageLocalLess){}],execute:function(){css="choose-media-page";_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFiles=[];this.showSize=true}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.showSize=/^(image|video)\//i.test(accept);const selected=this.parameters.selected;if((selected===null||selected===void 0?void 0:selected.tagName)==="IMG"){if(/^image\-grid$/i.test((_a=selected.parentElement)===null||_a===void 0?void 0:_a.tagName)){this.size=480}}this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{class:"folder-tree",folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",{class:"search","data-layout":"row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.filesRepeater=c)),selectOnClick:true,selectedItems:this.selectedFiles,allowMultipleSelection:this.parameters.multiple,header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,includeFilesInFolder:false,accept,cancelToken}))),itemRenderer:item=>{if(/text\/html/i.test(item.contentType)){return XNode.create("div",{class:"media-file"},this.parameters.multiple&&XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",title:item.name,text:item.name}),XNode.create("div",{class:"file-preview",text:"HTML File"}))}return XNode.create("div",{class:"media-file"},this.parameters.multiple&&XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",title:item.name,text:item.name}),XNode.create("img",{class:"file-preview",src:FileUrlService.webP(item,300)}))}})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0)),"data-layout":"row"},this.parameters.multiple&&XNode.create(SelectAll,{items:Bind.oneWay((()=>this.filesRepeater.items)),selectedItems:this.selectedFiles}),this.showSize&&XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),this.showSize&&XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create(SaveIconTextButton,{"data-click-event":"select-file",text:"Insert"}))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const size=this.size;return this.selectedFiles.map((file=>({file,size,folder:this.getFolder(file)})))}))}getFolder(file){var _a;if(file.appFileID===this.parameters.folder.appFileID){return[]}const parent=(_a=file.parent)!==null&&_a!==void 0?_a:this.selectedFolder;if(parent.appFileID===this.parameters.folder.appFileID){return[]}return[...this.getFolder(parent),parent.name]}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage","@web-atoms/core/dist/services/FetchBuilder","../../common/fileUrl","../../common/pages/files/media/ChooseMediaPage","../../common/pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,PageNavigator,StylerSet,InjectProperty,Action,CodeEditorPage,FetchBuilder,imageUrl,srcSetUrl,ChooseMediaPage,CloudFileService,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonFileUrl){imageUrl=_commonFileUrl.imageUrl;srcSetUrl=_commonFileUrl.srcSetUrl},function(_commonPagesFilesMediaChooseMediaPage){ChooseMediaPage=_commonPagesFilesMediaChooseMediaPage.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null;this.selectedFile=null}changeBackgroundImage(){return __awaiter(this,void 0,void 0,(function*(){const element=this.selection.element;const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*",multiple:false});const{folder,file}=files[0];const path="./"+[...folder,file.name].join("/");element.style.setProperty("background-image",`url("${path}")`);element.style.setProperty("--styler-background-image",`url("${path}")`)}))}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const element=this.selection.element;const{tagName}=element;let accept="image/*";let multiple=true;let isVideo=false;let isPdf=false;let inject=false;if(/^video/i.test(tagName)){accept="video/*";multiple=false;isVideo=true}if(/^inject$/i.test(tagName)){accept="text/html";multiple=false;inject=true}if(/pdf/i.test(tagName)){accept="application/pdf";multiple=false;inject=false;isPdf=true}const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept,multiple,selected:element});if(inject||isVideo||isPdf){const[{file,folder}]=files;const path="./"+[...folder,file.name].join("/");element.setAttribute("src",path);element.setAttribute("poster",imageUrl(this.folder,file,300));this.commit();return}const images=files.map((({file,size})=>{const src=imageUrl(this.folder,file,size);const srcset=srcSetUrl(this.folder,file);return{src,"data-src-set":srcset}}));yield this.insertImage(...images)}))}extractElement(){return __awaiter(this,void 0,void 0,(function*(){const selectedElement=this.selection.element;const outerText=selectedElement.outerHTML;let fileName=prompt("File Name","/templates/header.html");if(!fileName){return}if(fileName.startsWith("/")){fileName=fileName.substring(1)}const hasFile=yield this.cloudFileService.children(this.folder.appFileID,fileName).firstOrDefault();if(hasFile){alert("File already exists");return}const file=`<!DOCTYPE html>\n <html>\n <body>\n ${outerText}\n </body>\n </html>\n `;const folder=[];for(const iterator of fileName.split("/")){folder.push(iterator)}fileName=folder.pop();yield this.cloudFileService.saveFile({content:new File([file],fileName,{type:"text/html"}),parentID:this.folder.appFileID,folder:folder.join("/")||null});folder.push(fileName);const injectElement=selectedElement.ownerDocument.createElement("inject");injectElement.setAttribute("src","/"+folder.join("/"));selectedElement.parentElement.replaceChild(injectElement,selectedElement);injectElement.appendChild(selectedElement);selectedElement.setAttribute("contentEditable","off");this.selection.update(injectElement)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){let file=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();let content=yield FetchBuilder.get(file.url).asText();const modifiedContent=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:file.name,content});if(modifiedContent!==content){content=modifiedContent;yield this.cloudFileService.saveFile({content:new File([content],file.name,{type:file.contentType}),appFileID:file.appFileID});file=yield this.cloudFileService.getFile(file.appFileID)}yield this.addStyleSheet(this.htmlDocument,file,"styles/vars.css")}))}setStylerSheet(doc){return __awaiter(this,void 0,void 0,(function*(){const pending=[];for(const e of Array.from(doc.querySelectorAll("inject"))){let src=e.getAttribute("src");if(src.startsWith("/")){src=src.substring(1)}else{}pending.push((()=>__awaiter(this,void 0,void 0,(function*(){const file=yield this.cloudFileService.children(this.folder.appFileID,src).firstOrDefault();const text=yield FetchBuilder.get(file.url).asText();const parser=new DOMParser;const dom=parser.parseFromString(text,"text/html");const children=Array.from(dom.body.children);for(const iterator of Array.from(e.children)){iterator.remove()}for(const iterator of children){iterator.setAttribute("contentEditable","false");e.appendChild(iterator)}}))))}pending.push((()=>__awaiter(this,void 0,void 0,(function*(){let stylerFile=yield this.cloudFileService.children(this.folder.appFileID,"styles/styler.css").firstOrDefault();if(!stylerFile){stylerFile=yield this.createFile("styler.css",StylerSet.instance.toString())}else{const stylerContent=yield FetchBuilder.get(stylerFile.url).asText();const newStyle=StylerSet.instance.toString();if(stylerContent!==newStyle){stylerFile=yield this.createFile("styler.css",newStyle)}}yield this.addStyleSheet(doc,stylerFile,"styles/styler.css")}))));pending.push((()=>__awaiter(this,void 0,void 0,(function*(){let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n ${StylerSet.instance.varsCss}\n }`)}yield this.addStyleSheet(doc,vars,"styles/vars.css")}))));yield Promise.all(pending.map((x=>x())));const start="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free";if(!Array.from(doc.querySelectorAll(`link[rel=stylesheet]`)).find((x=>x.getAttribute("href").startsWith(start)))){const css=doc.createElement("link");css.setAttribute("rel","stylesheet");css.setAttribute("href",start+"@6.6.0/css/all.min.css");doc.head.appendChild(css)}}))}addStyleSheet(doc,file,path){return __awaiter(this,void 0,void 0,(function*(){const filePath=this.selectedFile.path.substring(this.folder.path.length);let folder=filePath.split("/").length-2;while(folder>0){path="../"+path;folder--}const document=doc;const href="./"+path;let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(doc.createTextNode("\n"));document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/home/HomePage");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,HomePage;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",HomePage=class HomePage extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox"],(function(_export,_context){"use strict";var __rest,Bind,XNode,BindError,FormField,PasswordBox;function RequiredFormField(_a,node){var _b,_c;var{label,value,required=true,message,isValid,placeholder,valuePropertyName="value"}=_a,extra=__rest(_a,["label","value","required","message","isValid","placeholder","valuePropertyName"]);const a=(_b=node.attributes)!==null&&_b!==void 0?_b:node.attributes={};a[valuePropertyName]=Bind.twoWaysImmediate(value);if(placeholder){a.placeholder=placeholder}for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];(_c=a[key])!==null&&_c!==void 0?_c:a[key]=element}}return XNode.create(FormField,{required,label,error:BindError({value,message,isValid})},node)}function TextFormField(a){return XNode.create(RequiredFormField,Object.assign({},a),XNode.create("input",{type:"text"}))}function PasswordFormField(a){return XNode.create(RequiredFormField,Object.assign({},a),XNode.create(PasswordBox,{value:Bind.twoWaysImmediate(a.value)}))}_export({default:RequiredFormField,TextFormField,PasswordFormField});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){BindError=_webAtomsWebControlsDistBasicForm.BindError},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const value=this.value;const valuePath=(_a=this.valuePath)!==null&&_a!==void 0?_a:item=>item;this.element.selectedIndex=(_b=this.items)===null||_b===void 0?void 0:_b.findIndex((v=>valuePath(v)==value));this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,Sql,AdminUserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){AdminUserService=class AdminUserService{get(userID){return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>[x.authFactors,x.fileAccessList.forEach((f=>f.file)),x.userMailboxes.forEach((m=>m.mailbox.emailAddress)),x.domainUsers.forEach((d=>d.hostedDomain.domain))])).firstOrDefault()}list({search="",start=0,size=50,cancelToken,v=void 0,external=false}){let q=this.entityService.query(User).where({external},(p=>x=>x.isExternal===p.external));if(search){if(/\^d+$/.test(search)){q=q.where({search},(p=>x=>x.userID===Sql.cast.asBigInt(p.search)))}const startsWith=search+"%";q=q.where({startsWith},(p=>x=>Sql.text.iLike(x.userName,p.startsWith)||Sql.text.iLike(x.displayName,p.startsWith)))}return q.include((x=>x.domainUsers.forEach((d=>d.hostedDomain.domain)))).orderBy((x=>x.displayName)).toPagedList({start,size,cancelToken})}save(user){const cloner=this.entityService.cloner(user).include((x=>x.domainUsers)).include((x=>x.userMailboxes)).thenInclude((x=>x.mailbox));return this.entityService.save(cloner.copy)}resetMFA(user){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!((_a=user.authFactors)===null||_a===void 0?void 0:_a.length)){return}user.multiFactor=false;for(const iterator of user.authFactors){iterator.$deleted=true}const cloner=this.entityService.cloner(user).include((x=>x.authFactors)).copy;yield this.entityService.save(cloner);(_b=user.authFactors)===null||_b===void 0?void 0:_b.clear()}))}};__decorate([Inject,__metadata("design:type",EntityService)],AdminUserService.prototype,"entityService",void 0);AdminUserService=__decorate([DITransient()],AdminUserService);_export("default",AdminUserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","./services/AdminUserService","../../../common/controls/repeater/InfiniteRepeater","../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,XNode,AtomRepeater,Bind,AdminUserService,InfiniteRepeater,SaveIconTextButton,ChooseUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",ChooseUserPage=class ChooseUserPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.users=[];this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),placeholder:"Search User"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.users,selectOnClick:true,"data-layout":"list",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),"data-list-selection":"default","data-selection-updated-event":"selection-updated"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({search:this.search,start,cancelToken}))),{itemRenderer:user=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:user.userName}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.selectedUser))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selectedUser),text:"Select"}))}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],ChooseUserPage.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","../../../admin/pages/users/ChooseUserPage","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,UserMailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,AtomRepeater,AddIconTextButton,PageNavigator,ChooseUserPage,Checkbox,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox;UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_adminPagesUsersChooseUserPage){ChooseUserPage=_adminPagesUsersChooseUserPage.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{init(){var _a,_b,_c,_d,_e,_f,_g,_h;var _j,_k,_l,_m,_o,_p;return __awaiter(this,void 0,void 0,(function*(){this.title="Add Hosted Mailbox";this.model=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.model)!==null&&_b!==void 0?_b:Mailbox.create({emailAddress:EmailAddress.create({emailAddress:""}),maxStorage:1*1024*1024*1024,userMailboxes:[]});if(this.parameters.domainID){this.model.domainID=this.parameters.domainID}(_c=(_j=this.model).isChannel)!==null&&_c!==void 0?_c:_j.isChannel=false;(_d=(_k=this.model).isPrivateChannel)!==null&&_d!==void 0?_d:_k.isPrivateChannel=false;(_e=(_l=this.model).requiresCommentModeration)!==null&&_e!==void 0?_e:_l.requiresCommentModeration=true;(_f=(_m=this.model).requiresMembershipApproval)!==null&&_f!==void 0?_f:_m.requiresMembershipApproval=true;(_g=(_o=this.model).requiresPostModeration)!==null&&_g!==void 0?_g:_o.requiresPostModeration=true;(_h=(_p=this.model).requiresSignup)!==null&&_h!==void 0?_h:_p.requiresSignup=true;this.model.username="";const domains=yield this.mailboxService.domains(true);this.model.name=SocialMailApp.user.displayName;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-mailbox"},XNode.create(TextFormField,{label:"Name",value:()=>this.model.name}),XNode.create(TextFormField,{label:"Email Prefix/Username",value:()=>this.model.username}),XNode.create(FormField,{label:"Domain"},XNode.create(ComboBox,{labelPath:item=>item===null||item===void 0?void 0:item.name,valuePath:item=>item===null||item===void 0?void 0:item.domainID,selectedItem:Bind.twoWaysImmediate((()=>this.model.domain)),value:Bind.twoWaysImmediate((()=>this.model.domainID)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.name}`))})),XNode.create(FormField,{label:"Create Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isChannel)),text:"Create a newsletter channel, which anyone with email can subscribe"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Private Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isPrivateChannel)),text:"Make this channel private, only users with invitation can subscribe"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Approval"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.requiresMembershipApproval)),text:"Membership requires approval"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Moderation"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.requiresPostModeration)),text:"New post goes in moderation queue"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Moderation"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.requiresCommentModeration)),text:"New comment goes in moderation queue"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Content Library"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isLibrary)),text:"Make this channel Library so every one can access the content"})),XNode.create(FormField,{label:"Add Users who can access this mailbox"},XNode.create("div",null,XNode.create(AtomRepeater,{items:this.model.userMailboxes,"data-layout":"list",itemRenderer:item=>XNode.create("div",null,XNode.create("span",{text:item.user.userName}))}),XNode.create(AddIconTextButton,{"data-click-event":"add-user",text:"User"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-type":"submit","data-layout":"accept-button",text:"Add"}))))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailboxService.save(this.model);return this.model}))}addUser(){return __awaiter(this,void 0,void 0,(function*(){const user=yield PageNavigator.pushPageForResult(ChooseUserPage);this.model.userMailboxes.add(UserMailbox.create({user,userID:user.userID}))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxEditorPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"save-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"saveMailbox",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"addUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","../../../../common/apiPath","../../../../common/SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxContact,UserPushSubscription,Sql,CommonEvents,FetchBuilder,apiPath,SocialMailApp,MailService;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){AppFile=_modelModel.AppFile;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_commonSql){Sql=_commonSql.Sql},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default}],execute:function(){MailService=class MailService{constructor(){this.tags=new Map}mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){const mb=yield this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>[x.emailAddress,x.folders.forEach((t=>t.tag))])).firstOrDefault();const notify=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();mb.notify=!!notify;const index=x=>{switch(x.tag.name.toLocaleLowerCase()){case"contacts":SocialMailApp.contactsFolderTagID=x.tagID;return 1;case"new":this.newTagID=x.tagID;SocialMailApp.newFolderTagID=x.tagID;return 2;case"spam":return 3;case"blocked":return 4}return 100};mb.folders.sort(((a,b)=>index(a)-index(b)));if(mb.folders.length){mb.folders[0].main=true}mb.folders.remove((x=>!x.main&&!x.count));return mb}))}list({search="",searchInMessages=false,mailboxID,conversationType="all",start=0,size=20,version=1,folderID=null,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID));if(folderID){q=q.where({folderID},(p=>x=>x.folderTagID===p.folderID))}switch(conversationType){case"open":q=q.where((x=>x.openThreads!==0));break;case"closed":q=q.where((x=>x.openThreads===0));break}if(search){const likeSearch=`${search}%`;if(searchInMessages){q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.lastEmail.textBody,p.likeSearch)||Sql.text.iLike(x.lastEmail.subject,p.likeSearch)||Sql.text.iLike(x.emailAddress.name,p.likeSearch)||Sql.text.iLike(x.lastEmail.senderName,p.likeSearch)));q=q.orderByDescending({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.emailAddress.name,p.likeSearch))).thenByDescending((x=>x.dateUpdated))}else{q=q.where({likeSearch},(p=>x=>x.emailAddress.names.some((n=>Sql.text.like(n.nameToken.word,p.likeSearch)))||Sql.text.like(x.emailAddress.domain.name,p.likeSearch))).orderByDescending((x=>x.dateUpdated))}}else{q=q.orderByDescending((x=>x.dateUpdated))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){return FetchBuilder.get(apiPath(`/api/emails/logs/${email.email.mimeFileID}/${email.emailID}.eml`)).asText()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){const{textBody}=email;if(textBody&&!email.subject){const lines=textBody.split("\n");for(const line of lines){if(!line.trim()){continue}email.subject||(email.subject=line.trim().substring(0,80));break}}for(const iterator of email.recipients){if(iterator.emailAddressText){iterator.emailAddressText=iterator.emailAddressText.trim()}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.attachments))));CommonEvents.onEmailScheduled.dispatchEvent(email)}))}deleteAttachment(file){return __awaiter(this,void 0,void 0,(function*(){const{appFileID}=file;yield this.entityService.save(AppFile.create({$deleted:true,appFileID}));CommonEvents.onFileDeleted.dispatchEvent(file)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register(["../PageNavigator","./MobileApp","@web-atoms/core/dist/web/core/AtomUI","../basic/AtomRepeater","./master-detail.global.less"],(function(_export,_context){"use strict";var PageNavigator,ContentPage,isMobileView,descendentElementIterator,AtomRepeater,MasterDetailPage,findItem;_export("default",void 0);return{setters:[function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_MobileApp){ContentPage=_MobileApp.ContentPage;isMobileView=_MobileApp.isMobileView},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default},function(_masterDetailGlobalLess){}],execute:function(){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/email-dom/dist/style/mergeStyle");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/dom/StyleHelper");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/DomToString");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");DomToElement(div,XNode.create("div",null,node));return div.innerHTML}function DomToElement(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}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,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.setAttribute(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);DomToElement(child,iterator)}}_export({default:DomToString,DomToElement});return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30,fifteenMinutes:15*60}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/models/TaskManager","../../model/model","@web-atoms/core/dist/di/Inject","../EntityService","../../common/cache/CacheTTL"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,TaskManager,Email,MailboxContactEmail,Inject,EntityService,CacheTTL,cacheVersion,cacheSeconds,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_modelModel){Email=_modelModel.Email;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL}],execute:function(){cacheVersion="c1";cacheSeconds=CacheTTL.seconds.oneMonth;EmailContentDownloader=class EmailContentDownloader extends TaskManager{downloadChatContent(mce){return this.entityService.run(MailboxContactEmail,"getBody",mce,{cacheVersion,cacheSeconds}).asText()}downloadPost(email){return __awaiter(this,void 0,void 0,(function*(){email.htmlBody||(email.htmlBody=yield this.entityService.run(Email,"getBody",email,{cacheVersion,cacheSeconds}).asText())}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailContentDownloader.prototype,"entityService",void 0);EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");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","../../../../common/events/CommonEvents","../../../../services/email/EmailContentDownloader","./EngagementService","../../../commands/MailAppEvents","../../../../common/fileUrl","../../../../common/cache/CacheTTL","../../../../common/controls/Loader"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,Sql,DomToString,XNode,AtomControl,AncestorEnumerator,descendentIterator,DateTime,CommonEvents,EmailContentDownloader,EngagementService,MailAppEvents,fileUrl,CacheTTL,Loader,cacheVersion,renderMailPromise,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;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;descendentIterator=_webAtomsCoreDistWebCoreAtomUI.descendentIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonControlsLoader){Loader=_commonControlsLoader.default}],execute:function(){cacheVersion="c1";_export("renderMailPromise",renderMailPromise=AtomControl.registerProperty("data-html","html",((c,e,value)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b,_c,_d;if(!value){e.innerHTML="";return}const{thread,email}=value;const mail=email;let html=email.htmlBody;if(!html){c.render(XNode.create("div",null,XNode.create("div",{"style-height":"40vh"},XNode.create(Loader,null))),e,c);const es=c.app.resolve(EntityService);mail.htmlBody=html=yield es.run(Email,"getBody",email,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion}).asText();e.innerHTML=""}const msg=document.createElement("div");if(!html){html!==null&&html!==void 0?html:html=mail.textBody;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;let firstVisibleElement=null;for(const node of descendentIterator(msg)){if(!firstVisibleElement&&node.nodeType===Node.TEXT_NODE){const{parentElement}=node;if(parentElement.tagName!=="STYLE"&&((_a=node.nodeValue)===null||_a===void 0?void 0:_a.trim())){firstVisibleElement||(firstVisibleElement=node.parentElement)}}if(node.nodeType!==Node.ELEMENT_NODE){continue}const iterator=node;let cid=iterator.getAttribute("data-content-id");if(cid){const a=(_b=mail.attachments)===null||_b===void 0?void 0:_b.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url)}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){firstVisibleElement||(firstVisibleElement=iterator);const src=iterator.getAttribute("src");iterator.setAttribute("controls","true");iterator.setAttribute("crossorigin","anonymous");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=(_c=mail.attachments)===null||_c===void 0?void 0:_c.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",fileUrl(a));a.included=true}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const container=document.createElement("div");const style=e.ownerDocument.createElement("style");style.textContent=`\n video,img {\n max-width: 100% !important;\n }\n\n div[msg] {\n overflow: visible;\n display: flex;\n flex-direction: column;\n word-break: break-word;\n align-items: flex-start;\n }\n `;container.appendChild(style);msg.setAttribute("msg","msg");container.appendChild(msg);if(/img|video/i.test(firstVisibleElement===null||firstVisibleElement===void 0?void 0:firstVisibleElement.tagName)){const root=AncestorEnumerator.find(e,(x=>x.hasAttribute("data-msg-container")));(root!==null&&root!==void 0?root:e).setAttribute("has-poster","true")}if(thread&&!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_d=thread.email)===null||_d===void 0?void 0:_d.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const es=c.app.resolve(EntityService);es.run(MailboxContactEmail,"markAsRead",thread).asJson().then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}if(window.previewMode){e.appendChild(container);return}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(container);setTimeout((()=>{if(msg.scrollWidth>msg.offsetWidth){msg.style.scale=msg.offsetWidth/msg.scrollWidth+"";msg.style.transformOrigin="top left"}}),100);return})))));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft(email,mailboxContacts,create=false,saveAttachments=true,cancelToken){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}cloner=cloner.include((x=>x.recipients)).include((x=>x.threadContacts));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const threads=(_b=email.threadContacts)!==null&&_b!==void 0?_b:email.threadContacts=[];if(!email.senderID){throw new Error("SenderID is not set")}email.status="draft";for(const{mailboxID,emailAddressID}of mailboxContacts){if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.threadContacts))))}return email}))}list({searchItems=null,mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(searchItems){for(const{tag,text}of searchItems){if(tag){q=q.where({tag:tag.tagID},(p=>x=>x.email.emailTags.some((t=>t.tagID===p.tag))));continue}let search=text;if(!/\%/.test(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)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken,expandable:true});const tasks=[];for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";email.engagements=[]}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}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})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TitleEditor");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/title-editor.global.less"],(function(_export,_context){"use strict";var __rest,XNode,paste,formatText,capitalizeText,toText,changeCase;function TitleEditor(_a){var{value,type,placeholder,capitalize="on",capitalizationTitle="Capitalization"}=_a,a=__rest(_a,["value","type","placeholder","capitalize","capitalizationTitle"]);return XNode.create("div",Object.assign({"data-title-editor":"title-editor"},a),XNode.create("input",{autocapitalize:capitalize,type,placeholder,value,"event-input":capitalizeText,"event-paste":paste}),XNode.create("i",{"data-element":"icon",class:"fas fa-font-case","event-click":changeCase,title:capitalizationTitle}),XNode.create("span",{"data-element":"text",text:toText(capitalize),"event-click":changeCase,title:capitalizationTitle}))}_export("default",TitleEditor);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesTitleEditorGlobalLess){}],execute:function(){paste=e=>{const input=e.target;const capitalize=input.autocapitalize;if(!capitalize||capitalize==="off"||capitalize==="none"){return}setTimeout((()=>{const start=input.selectionStart;const end=input.selectionEnd;formatText(input,capitalize);input.setSelectionRange(start,end)}),1)};formatText=(input,capitalize,all=true)=>{let value=input.value;if(!value){return}switch(capitalize){case"on":case"sentences":if(value.length===1){value=value.toLocaleUpperCase()}break;case"words":if(all){value=value.replace(/(\S+)/g,(s=>s.substring(0,1).toLocaleUpperCase()+s.substring(1)))}else{value=value.replace(/(\S+)$/g,(s=>s.substring(0,1).toLocaleUpperCase()+s.substring(1)))}break;case"characters":value=value.toLocaleUpperCase();break}input.value=value};capitalizeText=/android|iPhone|iOS/i.test(navigator.userAgent)?()=>undefined:e=>{const input=e.target;const capitalize=input.autocapitalize;if(!capitalize||capitalize==="off"||capitalize==="none"){return}const start=input.selectionStart;const end=input.selectionEnd;formatText(input,capitalize,false);input.setSelectionRange(start,end)};toText=capitalize=>{switch(capitalize){case"off":case"none":return"Caps Off";case"characters":return"All Caps";case"on":case"sentences":return"Sentence";case"words":return"Title Case"}return""};changeCase=e=>{let element=e.target;if(element.tagName==="SPAN"){element=element.previousElementSibling}const input=element.previousElementSibling;const span=element.nextElementSibling;let capitalize=input.autocapitalize;switch(capitalize){case"sentences":capitalize="words";break;case"words":capitalize="characters";break;case"characters":capitalize="off";break;default:capitalize="sentences";break}span.textContent=toText(capitalize);input.autocapitalize=capitalize}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Chip");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/chip.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function Chip(_a,...nodes){var{icon,label,header,deleteIcon="fa-solid fa-xmark",undoDeleteIcon="fa-solid fa-undo",draggable,recreate=true,deleted}=_a,a=__rest(_a,["icon","label","header","deleteIcon","undoDeleteIcon","draggable","recreate","deleted"]);return XNode.create("div",Object.assign({},a,{"data-recreate":recreate,"data-deleted":!!deleted,"data-item-chip":"chip",draggable}),icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleted&&XNode.create("div",{class:"delete-strike"}),undoDeleteIcon&&deleted&&XNode.create("i",{class:"undo delete "+undoDeleteIcon,"data-click-event":"undo-remove-chip"}),deleteIcon&&!deleted&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-chip"}))}_export("default",Chip);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesChipGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");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/types","@web-atoms/core/dist/core/XNode","./AtomRepeater","./Chip","./InlinePopup","./styles/chips.global.less","./styles/item-suggestion.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,CancelToken,XNode,AtomRepeater,MatchTrue,InlinePopup,AtomChips;function getChips(target){let start=target;while(start){const chips=start.atomControl;if(chips&&chips instanceof AtomChips){return chips}start=start.parentElement}}function askSuggestionPopup(host,opener,itemRenderer,suggestionFilter,cancelToken){class Suggestions extends InlinePopup{create(){this.opener=opener;this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.opener.anchorItem)),itemRenderer,eventDeleteSuggestion:e=>opener.element.dispatchEvent(e),visibilityFilter:suggestionFilter!==null&&suggestionFilter!==void 0?suggestionFilter:MatchTrue,"event-item-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.close(e.detail)},items:Bind.oneWay((()=>this.opener.suggestions))}))))}}return Suggestions.showControl(host,{cancelToken,alignment:"auto"})}function Suggestion(_a,...nodes){var{icon,label,header,deleteIcon}=_a,a=__rest(_a,["icon","label","header","deleteIcon"]);return XNode.create("div",Object.assign({"data-item-suggestion":"suggestion"},a),icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header,title:header}),label&&XNode.create("label",{class:"label",text:label,title:label}),...nodes,deleteIcon&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-suggestion"}))}_export({Suggestion,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__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(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;MatchTrue=_AtomRepeater.MatchTrue},function(_Chip){_export("Chip",_Chip.default)},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_stylesChipsGlobalLess){},function(_stylesItemSuggestionGlobalLess){}],execute:function(){document.body.addEventListener("focusin",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(true)}));document.body.addEventListener("focusout",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(false)}));document.body.addEventListener("keydown",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.onKey(e)}));_export("default",AtomChips=class AtomChips extends AtomRepeater{get searchType(){return this.searchInput.type}set searchType(v){this.searchInput.type=v}get enterKeyHint(){return this.searchInput.enterKeyHint}set enterKeyHint(v){this.searchInput.enterKeyHint=v}onPropertyChanged(name){var _a;super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break;case"focused":this.updatePopup();break;case"suggestions":(_a=this.suggestionsWatcher)===null||_a===void 0?void 0:_a.dispose();this.suggestionsWatcher=undefined;const suggestions=this.suggestions;if(suggestions){this.suggestionsWatcher=this.registerDisposable(suggestions.watch((()=>{this.updatePopup()})))}this.updatePopup();break}}preCreate(){super.preCreate();this.preventDuplicates=true;this.softDeleteProperty=null;this.prompt="Search";this.element.setAttribute("data-atom-chips","atom-chips");this.element.setAttribute("data-mode","search");this.suggestionFilter=MatchTrue;this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{class:"presenter"}),XNode.create("input",{class:"search",placeholder:Bind.oneWay((()=>this.prompt)),value:Bind.twoWaysImmediate((()=>this.search)),autofocus:Bind.oneWay((()=>this.autofocus)),type:"search"}),XNode.create("div",{class:"footer"})));this.itemsPresenter=this.element.children[0];this.searchInput=this.element.children[1];this.footerPresenter=this.element.children[2];this.bindEvent(this.element,"removeChip",(e=>e.defaultPrevented||this.removeItem(e.detail)));this.bindEvent(this.element,"undoRemoveChip",(e=>e.defaultPrevented||this.undoRemoveItem(e.detail)));this.bindEvent(this.searchInput,"blur",(()=>{const search=this.search;setTimeout((()=>{if(this.onBlurItemToChip&&search){const item=this.onBlurItemToChip(search);if(item){this.items.add(item);this.searchInput.value="";this.search=""}}}),50)}))}setFocus(hasFocus){if(hasFocus){if(this.focusTimeout){clearTimeout(this.focusTimeout);this.focusTimeout=void 0}this.focused=true;return}this.focusTimeout=setTimeout((()=>{this.focusTimeout=void 0;this.focused=false}),1500)}updatePopup(){return __awaiter(this,void 0,void 0,(function*(){var _a,_b,_c;const suggestions=this.suggestions;if(!this.focused){(_a=this.popupCancelToken)===null||_a===void 0?void 0:_a.cancel();this.popupCancelToken=null;return}const detail=this.suggestions;const ce=new CustomEvent("suggestions-requested",{detail});this.element.dispatchEvent(ce);if(ce.defaultPrevented){return}const{promise}=ce;if(promise){yield promise}if(ce.detail!==this.suggestions){this.suggestions=ce.detail}if(!(suggestions===null||suggestions===void 0?void 0:suggestions.length)){(_b=this.popupCancelToken)===null||_b===void 0?void 0:_b.cancel();this.popupCancelToken=null;return}if(this.popupCancelToken){return}const cancelToken=this.popupCancelToken=new CancelToken;try{let selectedItem=yield askSuggestionPopup(this.element,this,(_c=this.suggestionRenderer)!==null&&_c!==void 0?_c:this.itemRenderer,this.suggestionFilter,cancelToken);const itemToChip=this.itemToChip;if(itemToChip){selectedItem=itemToChip(selectedItem,this.search)}this.addItem(selectedItem);this.search="";this.popupCancelToken=null}catch(e){this.popupCancelToken=null;if(CancelToken.isCancelled(e)){return}console.warn(e)}}))}addItem(selectedItem){var _a;const ce=new CustomEvent("suggestionChosen",{detail:selectedItem,cancelable:true,bubbles:true});this.element.dispatchEvent(ce);if(!ce.defaultPrevented){const item=ce.detail;const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:x=>x;const v=vp(item);for(const iterator of this.items){if(v===vp(iterator)){return}}this.items.add(ce.detail)}}undoRemoveItem(item){let{softDeleteProperty}=this;softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=false;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}removeItem(item){let{softDeleteProperty}=this;if(softDeleteProperty){softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=true;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}else{this.items.remove(item)}}onKey(e){var _a,_b;const suggested=this.suggestions;const onKeyPressedItemToChip=this.onKeyPressedItemToChip;if(onKeyPressedItemToChip&&this.search){const item=onKeyPressedItemToChip(e.key,this.search);if(item){this.addItem(item);this.searchInput.value="";return}}switch(e.key){case"Enter":(_a=e.preventDefault)===null||_a===void 0?void 0:_a.call(e);(_b=e.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(e);setTimeout((()=>{let anchorItem=this.anchorItem;const itemToChip=this.itemToChip;if(itemToChip){anchorItem=itemToChip(anchorItem,this.search)}if(!anchorItem){return}this.addItem(anchorItem);this.anchorIndex=0;this.anchorItem=null;this.search=""}),1);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",Array)],AtomChips.prototype,"suggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomChips.prototype,"autofocus",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"softDeleteProperty",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomChips.prototype,"focused",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onKeyPressedItemToChip",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onBlurItemToChip",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../common/Sql","../../model/model","../../common/cache/CacheTTL","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Sql,EmailAddress,CacheTTL,DISingleton,cacheVersion,cacheSeconds,hideActivityIndicator,EmailAddressService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){EmailAddress=_modelModel.EmailAddress},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheVersion="1";cacheSeconds=CacheTTL.seconds.oneDay;hideActivityIndicator=true;EmailAddressService=class EmailAddressService{getName(ea){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.entityService.query(EmailAddress).where({ea},(p=>x=>x.emailAddress===p.ea)).firstOrDefault({cacheSeconds,cacheVersion,hideActivityIndicator});return f===null||f===void 0?void 0:f.name}))}search(search,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!search){return[]}let q=this.entityService.query(EmailAddress);if(!/\%$/.test(search)){search=`${search}%`.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress,p.search)||Sql.text.iLike(x.name,p.search)))}const list=yield q.orderByDescending((x=>x.emailAddressID)).toPagedList({start:0,size:10,count:false,cacheSeconds,cacheVersion,cancelToken,hideActivityIndicator});return list.items}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailAddressService.prototype,"entityService",void 0);EmailAddressService=__decorate([DISingleton()],EmailAddressService);_export("default",EmailAddressService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomChips","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/email-addresses/EmailAddressService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomChips,Chip,Suggestion,EmailRecipient,XNode,Bind,InjectProperty,EmailAddressService,EmailRecipientChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEmailAddressesEmailAddressService){EmailAddressService=_servicesEmailAddressesEmailAddressService.default}],execute:function(){_export("default",EmailRecipientChips=class EmailRecipientChips extends AtomChips{preCreate(){super.preCreate();this.search="";this.suggestions=[];this.itemToChip=(item,text)=>{if(typeof item==="string"){return this.createRecipient(item)}const{name,emailAddress,emailAddressID}=item;return EmailRecipient.create({emailAddressID,name,emailAddressText:emailAddress})};this.itemRenderer=item=>XNode.create(Chip,{title:item.name?item.emailAddressText:void 0,label:item.name||item.emailAddressText});this.suggestionRenderer=item=>XNode.create(Suggestion,{header:item.name&&item.name!==item.emailAddress?item.name:void 0,label:item.emailAddress});this.onKeyPressedItemToChip=(key,search)=>{if(key==="Enter"||key==="Comma"){return this.createRecipient(search)}};this.onBlurItemToChip=search=>this.createRecipient(search);this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,ct)=>this.addressService.search(this.search,ct)))}))}createRecipient(search){search=search===null||search===void 0?void 0:search.trim();if(!search){return}if(!/\@/.test(search)){return}const er=EmailRecipient.create({emailAddressText:search});if(!er.name&&er.emailAddressText){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const n=yield this.addressService.getName(er.emailAddressText);if(n){er.name=n;this.refreshItem(er)}}))))}return er}});__decorate([InjectProperty,__metadata("design:type",EmailAddressService)],EmailRecipientChips.prototype,"addressService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/Emoji");System.register([],(function(_export,_context){"use strict";var Emoji;function emojiUnicode(input){return emojiUnicode.raw(input).split(" ").map((val=>parseInt(val,10).toString(16))).join(" ")}return{setters:[],execute:function(){emojiUnicode.raw=function(input){if(input.length===1){return input.charCodeAt(0).toString()}else if(input.length>1){const pairs=[];for(let i=0;i<input.length;i++){if(input.charCodeAt(i)>=55296&&input.charCodeAt(i)<=56319){if(input.charCodeAt(i+1)>=56320&&input.charCodeAt(i+1)<=57343){pairs.push((input.charCodeAt(i)-55296)*1024+(input.charCodeAt(i+1)-56320)+65536)}}else if(input.charCodeAt(i)<55296||input.charCodeAt(i)>57343){pairs.push(input.charCodeAt(i))}}return pairs.join(" ")}return""};_export("Emoji",Emoji={emojiUnicode:emoji=>{let comp;if(emoji.length===1){comp=emoji.charCodeAt(0)}comp=(emoji.charCodeAt(0)-55296)*1024+(emoji.charCodeAt(1)-56320)+65536;if(comp<0){comp=emoji.charCodeAt(0)}return comp.toString(16).padStart(4,"0")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate");System.register(["@web-atoms/core/dist/core/XNode","../../../../services/Emoji"],(function(_export,_context){"use strict";var XNode,Emoji,SocialTemplate,unsubscribe,svgImage,EmojiButton,AvatarButton;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_servicesEmoji){Emoji=_servicesEmoji.Emoji}],execute:function(){unsubscribe="⛔";svgImage=(emoji,height=16)=>{const pad=height+5;const svg=`<svg viewBox="0 0 ${pad+5} ${pad}" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="${height-2}" style="font-size:${height}px">${emoji}</text>\n </svg>`;return`data:image/svg+xml;charset=utf-8,`+svg};EmojiButton=({emoji,command="track",title})=>{const emojiCode="u"+Emoji.emojiUnicode(emoji);const selector=`social-button-${emojiCode}`;return XNode.create("a",{class:selector,style:"text-decoration: none;outline: none;border:none; margin-right: 5px","data-social-mail-command":command,title,"data-social-mail-transform":"buttons-3x","data-social-mail-transform-max-image":"30px","data-social-mail-track":emoji},XNode.create("button",{style:"margin: 1px;padding:2px;padding-left: 5px;padding-right: 5px; border: solid 1px lightgray; border-radius: 9999px; display: inline-flex; align-items: center;"},emoji," ",XNode.create("span",{"data-social-mail-element":"count"})))};AvatarButton=({senderEmail,senderName})=>{const names=senderName.split(/\s+/,2);const first=names[0];const last=names.pop();const initials=first===last?first:first+last;XNode.create("a",{"data-element":"avatar","data-editor-action":"change-avatar",style:"padding-left:5px;padding-right:5px; text-decoration: none;","data-command":"subscribe"},XNode.create("img",{alt:senderName,style:"margin-left:5px;height: 30px",src:svgImage(initials,30)}))};_export("default",SocialTemplate=class SocialTemplate{static simple({senderEmail,senderName}){senderEmail||(senderEmail="[{senderEmail}]");senderName||(senderName="[{senderName}]");return XNode.create("div",{contentEditable:false},XNode.create("table",{"data-element":"header"},XNode.create("tr",null,XNode.create("td",{"data-element":"title"},XNode.create("label",{text:senderName,contentEditable:true})))),XNode.create("div",{contentEditable:true,style:"padding-left:10px; padding-right: 10px;"},XNode.create("p",null,"Hello,")),XNode.create("div",{"data-element":"footer"},XNode.create("table",{style:"width:100%"},XNode.create("td",null,XNode.create(EmojiButton,{emoji:"👍",title:"Like this ... "}),XNode.create(EmojiButton,{emoji:"👎",title:"Don't like this ... "}),XNode.create(EmojiButton,{emoji:"🗨️",title:"Comment ... "})),XNode.create("td",{style:"text-align: right"},XNode.create(EmojiButton,{emoji:"👁️🗨️",command:"view",title:"Views"})))),XNode.create("div",null,XNode.create("br",null),XNode.create("br",null),XNode.create("a",{"data-command":"unsubscribe"},"Unsubscribe")))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/view-model/Action","./service/MailService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/TitleEditor","../../../common/controls/email-recipients/EmailRecipientChips","@web-atoms/email-dom/dist/DomToString","../templates/social/SocialTemplate","./styles/compose-mail-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InlineHtmlEditorWithToolbar,XNode,Bind,Form,FormField,HorizontalFormField,AppFile,Email,EmailRecipient,Action,MailService,InjectProperty,DateTime,AtomRepeater,TitleEditor,EmailRecipientChips,DomToString,SocialTemplate,ComposeMailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default;HorizontalFormField=_webAtomsWebControlsDistBasicFormField.HorizontalFormField},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_templatesSocialSocialTemplate){SocialTemplate=_templatesSocialSocialTemplate.default},function(_stylesComposeMailPageLocalLess){}],execute:function(){_export("default",ComposeMailPage=class ComposeMailPage extends PopupWindowPage{init(){var _a,_b,_c,_d;var _e;return __awaiter(this,void 0,void 0,(function*(){if(this.parameters.subject){this.title="Reply: "+this.parameters.subject}else{this.title="Compose New"}this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:Email.create({subject:(_b=this.parameters.subject)!==null&&_b!==void 0?_b:"",textBody:"",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,recipients:[],attachments:[]});(_c=(_e=this.model).attachments)!==null&&_c!==void 0?_c:_e.attachments=[];if(this.parameters.social){const senderName=this.parameters.mailbox.emailAddress.name;const senderEmail=this.parameters.mailbox.emailAddress.emailAddress;this.model.htmlBody=DomToString(SocialTemplate.simple({senderEmail,senderName}))}if(this.parameters.emailAddress){this.model.recipients.add(EmailRecipient.create({emailAddressText:this.parameters.emailAddress,emailAddressID:(_d=this.parameters.emailAddressID)!==null&&_d!==void 0?_d:void 0}))}this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(HorizontalFormField,{label:"To:"},XNode.create(EmailRecipientChips,{items:this.model.recipients})),XNode.create(FormField,{label:""},XNode.create(TitleEditor,{placeholder:"Subject",capitalize:"words",value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{autofocus:true,"data-html-editor":"email-editor",presenter:Bind.presenter((c=>this.editor=c)),content:this.model.htmlBody,attachments:this.model.attachments,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:item.name}))}),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create("button",{"data-click-event":"send-email",text:"Send"}),XNode.create("button",{"data-click-event":"save-email",text:"Save"}))))}))}filesAvailable({files,extra}){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){(_a=(_b=this.model).attachments)!==null&&_a!==void 0?_a:_b.attachments=[];for(const iterator of files){this.model.attachments.add(AppFile.create({appFileID:iterator.appFileID,name:iterator.file.name,contentType:iterator.file.type,contentDisposition:iterator.inline?"inline":"attachment",contentID:iterator.inline?iterator.appFileID.toString(36):void 0}))}}))}sendEmail(){return __awaiter(this,void 0,void 0,(function*(){if(!this.model.recipients.length){throw new Error("No recipients specified")}if(!this.model.subject){throw new Error("No subject specified")}const{html,text}=this.editor.htmlTextContent;this.model.htmlBody=html;this.model.textBody=text;if(!this.model.textBody){throw new Error("Email is empty")}this.model.senderID=this.parameters.mailboxID;this.model.status="scheduled";this.model.dateSent=DateTime.now;yield this.mailService.send(this.model)}))}saveEmail(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailService.send(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],ComposeMailPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"filesAvailable",null);__decorate([Action({onEvent:"send-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"sendEmail",null);__decorate([Action({onEvent:"save-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"saveEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/socket/sockets");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/types","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,AtomDisposableList,UMD,DISingleton,SocketNamespace,io,cache,of,MailboxSocket;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cache=new Map;of=name=>__awaiter(void 0,void 0,void 0,(function*(){io!==null&&io!==void 0?io:io=(yield UMD.import("https://cdn.jsdelivr.net/npm/socket.io-client@4.6.0/dist/socket.io.min.js")).io;const value=io(name,{transports:["websocket"]});yield new Promise(((resolve,reject)=>{value.on("connect",resolve)}));return value}));SocketNamespace=class SocketNamespace{static for(ns){let sn=cache.get(ns);if(!sn){sn=new SocketNamespace(ns);cache.set(ns,sn)}return sn}constructor(ns){this.ns=ns;this.rooms=new Map}connect(roomName,events){var _a;return __awaiter(this,void 0,void 0,(function*(){(_a=this.socket)!==null&&_a!==void 0?_a:this.socket=yield this.init();let room=this.rooms.get(roomName);if(!room){room=new Set;this.rooms.set(roomName,room);this.socket.emit("join",roomName)}const disposables=new AtomDisposableList;for(const key in events){if(Object.prototype.hasOwnProperty.call(events,key)){const element=events[key];const handler=(...a)=>{var _a;return(_a=element(...a))===null||_a===void 0?void 0:_a.catch(console.error)};room.add(handler);this.socket.on(key,handler);disposables.add((()=>{this.socket.off(key,handler);room.delete(handler)}))}}disposables.add((()=>this.clear(roomName)));return disposables}))}clear(roomName){const room=this.rooms.get(roomName);if(room.size===0){this.rooms.delete(roomName);this.socket.emit("leave",roomName)}}init(){const init=()=>__awaiter(this,void 0,void 0,(function*(){const ns=yield of("/"+this.ns);return ns}));const value=init();Object.defineProperty(this,"init",{value:()=>value});return value}};_export("MailboxSocket",MailboxSocket=class MailboxSocket{join(room,events){return __awaiter(this,void 0,void 0,(function*(){const disposables=new AtomDisposableList;const ns=SocketNamespace.for("mailbox");ns.connect(room,events).then((v=>disposables.add(v)),console.error);return disposables}))}});_export("MailboxSocket",MailboxSocket=__decorate([DISingleton()],MailboxSocket))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");System.register(["tslib","@web-atoms/core/dist/core/XNode","../styles/limited-text.global.less"],(function(_export,_context){"use strict";var __rest,XNode,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesLimitedTextGlobalLess){}],execute:function(){toggleDetails=e=>{let start=e.target;if(e.defaultPrevented){return}start=start.parentElement;const container=start;start=start===null||start===void 0?void 0:start.parentElement;if(!start||start.getAttribute("data-limited-text")!=="limited-text"){return}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();if(start.getAttribute("data-mode")==="collapsed"){start.setAttribute("data-mode","open");start.style.maxHeight="";container.style.top=""}else{const h=start.getAttribute("data-max-height");start.style.maxHeight=h;container.style.top=h;start.setAttribute("data-mode","collapsed")}};setEventHandler=()=>{document.body.addEventListener("click",toggleDetails);setEventHandler=null}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","../../../../services/EntityService","@web-atoms/core/dist/di/Inject","../../../../model/model"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,EntityService,Inject,EmailLog,AppLogService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_modelModel){EmailLog=_modelModel.EmailLog}],execute:function(){AppLogService=class AppLogService{logs({emailID,start,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(EmailLog);if(emailID){q=q.where({emailID},(p=>x=>x.emailID===p.emailID))}return q.orderBy((x=>x.logID)).toPagedList({start,size,cancelToken})}))}};__decorate([Inject,__metadata("design:type",EntityService)],AppLogService.prototype,"entityService",void 0);AppLogService=__decorate([DITransient()],AppLogService);_export("default",AppLogService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/logs/LogsPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","./services/AppLogService","@web-atoms/core/dist/core/InjectProperty","../../controls/repeater/InfiniteRepeater","../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,PopupWindowPage,AppLogService,InjectProperty,InfiniteRepeater,DateFormats,LogsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_servicesAppLogService){AppLogService=_servicesAppLogService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",LogsPage=class LogsPage extends PopupWindowPage{constructor(){super(...arguments);this.logs=[]}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title="Logs";const emailID=(_a=this.parameters.emailID)!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.logs,for:"table"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.logService.logs({emailID,start,cancelToken}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.fileName,"data-flex":"stretch-full"}),XNode.create("td",{title:DateFormats.withWeekDayAndTime(item.dateCreated),text:DateFormats.relative.short(item.dateCreated)}),XNode.create("td",null,XNode.create("a",{href:item.url,target:"_blank"},"View")))})))}))}});__decorate([InjectProperty,__metadata("design:type",AppLogService)],LogsPage.prototype,"logService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","../../../../common/date/DateFormats","@web-atoms/core/dist/core/InjectProperty","../service/MailService","./mail-detail-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailRecipient,XNode,DateFormats,InjectProperty,MailService,MailDetailPage,displayRecipient,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_mailDetailPageLocalLess){}],execute:function(){displayRecipient=({name,emailAddress:{emailAddress}})=>{if(name){return XNode.create("span",null,name," ",XNode.create("a",{href:`mailto:${emailAddress}`},"<",emailAddress,">"))}return XNode.create("a",{href:`mailto:${emailAddress}`},emailAddress)};css="mail-detail-page";_export("default",MailDetailPage=class MailDetailPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const model=this.parameters.email;this.renderer=XNode.create("div",null,XNode.create("div",null,"Fetching... this might take longer based on size of the email..."));this.title=model.subject;const text=yield this.mailService.raw(this.parameters);let from;const to=[];const cc=[];const bcc=[];(_a=model.recipients)!==null&&_a!==void 0?_a:model.recipients=[];for(const iterator of model.recipients){switch(iterator.type.toLocaleLowerCase()){case"to":if(to.length){to.push(XNode.create("span",{text:", "}))}to.push(displayRecipient(iterator));break;case"cc":if(cc.length){cc.push(XNode.create("span",{text:", "}))}cc.push(displayRecipient(iterator));break;case"bcc":if(bcc.length){bcc.push(XNode.create("span",{text:", "}))}bcc.push(displayRecipient(iterator));break;case"from":from=displayRecipient(iterator);break}}if(!from){from=displayRecipient(EmailRecipient.create({name:model.senderEmail.name,emailAddress:model.senderEmail}))}this.headerRenderer=()=>{var _a;return XNode.create("div",{"data-padding":"auto"},XNode.create("table",null,from&&XNode.create("tr",null,XNode.create("td",null,"From:"),XNode.create("td",null,from)),to.length&&XNode.create("tr",null,XNode.create("td",null,"To:"),XNode.create("td",null,...to)),cc.length&&XNode.create("tr",null,XNode.create("td",null,"Cc:"),XNode.create("td",null,...cc)),bcc.length&&XNode.create("tr",null,XNode.create("td",null,"Bcc:"),XNode.create("td",null,...bcc)),XNode.create("tr",null,XNode.create("td",null,"Subject:"),XNode.create("td",null,model.subject)),XNode.create("tr",null,XNode.create("td",null,"Date:"),XNode.create("td",null,DateFormats.withWeekDayAndTime((_a=model.dateReceived)!==null&&_a!==void 0?_a:model.dateCreated)))))};this.renderer=XNode.create("div",{class:css,"data-padding":"auto"},XNode.create("pre",null,...text.split("\n").map((x=>[x,XNode.create("br",null)])).flat()))}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailDetailPage.prototype,"mailService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview");System.register(["@web-atoms/core/dist/core/XNode","../../NumberFormats","../../../web/commands/AppCommands","@social-mail/social-mail-client/content/images/icons/audio.svg","../../FileUrlService","./FilePreview.global.less"],(function(_export,_context){"use strict";var XNode,toFileSize,AppCommands,audioIcon,FileUrlService;function FilePreview(a){const size=a.fileSize&&toFileSize(a.fileSize);const{emailID,appFileID,name,fileContentID,url:rawUrl}=a;const url=encodeURIComponent(rawUrl);let src=FileUrlService.webP(a,300);if(/^audio\//i.test(a.contentType)){src=audioIcon}const command=AppCommands.getPreviewCommand(a);if(command){return XNode.create("a",{href:command.displayRoute({emailID,appFileID,name,fileContentID,url}),"data-click-event":"route",title:size?`${name} (${size})`:name,"data-file-preview":"file-preview"},XNode.create("img",{"data-element":"preview",src}),XNode.create("label",{"data-element":"file-name"},name))}return XNode.create("a",{href:FileUrlService.downloadUrl(a),title:size?`${name} (${size})`:name,target:"_blank","data-file-preview":"file-preview"},XNode.create("i",{"data-element":"preview",class:"fas fa-paperclip"}),XNode.create("label",{"data-element":"file-name"},name))}_export("default",FilePreview);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_socialMailSocialMailClientContentImagesIconsAudioSvg){audioIcon=_socialMailSocialMailClientContentImagesIconsAudioSvg.default},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_FilePreviewGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/animations/Animations");System.register(["@web-atoms/core/dist/web/controls/AtomControl","./Animations.global.less"],(function(_export,_context){"use strict";var AtomControl,Animations;return{setters:[function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_AnimationsGlobalLess){}],execute:function(){Animations=class Animations{};Animations.slideFromBottom=AtomControl.registerProperty("animate","bottom-slide",((ctrl,e,v)=>{e.dataset.animateSlide="from-bottom";if(v){e.dataset.animationState="down";setTimeout((()=>{e.dataset.animationState="normal"}),10);return}if(e.dataset.animationState==="normal"){e.dataset.animationState="down"}setTimeout((()=>{e.removeAttribute("data-animation-state")}),600)}));Animations.slideFromTop=AtomControl.registerProperty("animate","top-slide",((ctrl,e,v)=>{e.dataset.animateSlide="from-top";if(v){e.dataset.animationState="up";setTimeout((()=>{e.dataset.animationState="normal"}),10);return}if(e.dataset.animationState==="normal"){e.dataset.animationState="up"}setTimeout((()=>{e.removeAttribute("data-animation-state")}),600)}));_export("default",Animations)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/BottomPopup");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/web/services/PopupService","../animations/Animations","./MobileApp","./bottom-popup.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,CancelToken,XNode,AtomControl,ChildEnumerator,PopupService,MobileApp,BottomPopup;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_animationsAnimations){_export({})},function(_MobileApp){MobileApp=_MobileApp.default},function(_bottomPopupGlobalLess){}],execute:function(){_export("default",BottomPopup=class BottomPopup extends AtomControl{static showModal(options){return this.show(options)}static show(){return __awaiter(this,arguments,void 0,(function*({parameters,cancelToken}={}){var _a;const last=PopupService.lastTarget;const current=MobileApp.current;const popup=new this(current.app);popup.parameters=parameters;popup.bindEvent(window,"backButton",(ce=>{ce.preventDefault();return popup.cancelRequested()}),void 0,true);popup.bindEvent(popup.element,"cancelPopup",(()=>popup.cancelRequested()));if(popup.modal){const container=document.createElement("div");container.setAttribute("data-bottom-popup-container","1");popup.bindEvent(container,"click",(e=>{if(e.target===e.currentTarget){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();popup.element.dispatchEvent(new CustomEvent("cancelPopup"))}}));popup.registerDisposable({dispose:()=>{container.remove()}});container.append(popup.element);current.element.append(container)}else{current.element.append(popup.element)}if(cancelToken){cancelToken.registerForCancel(popup.cancel)}const result=new Promise(((resolve,reject)=>{let disposed=false;popup.close=r=>{if(disposed){return}disposed=true;popup.dispose();resolve(r);PopupService.lastTarget=last};popup.cancel=(reason="cancelled")=>{if(disposed){return}disposed=true;popup.dispose();reject(reason);PopupService.lastTarget=last}}));const pr=(_a=popup.init)===null||_a===void 0?void 0:_a.call(popup);if(pr){try{yield pr}catch(e){popup.cancel(e)}}return yield result}))}dispose(e){if(e){super.dispose(e);return}const element=this.element;this.element.setAttribute("data-animation-state","down");setTimeout((()=>{super.dispose(e);element.remove()}),500)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}preCreate(){this.modal=true;const element=this.element;element.dataset.bottomPopup="bottom-popup";this.animate=true;super.preCreate();this.barRenderer=()=>XNode.create("div",null);this.popupCancelToken=new CancelToken;this.registerDisposable({dispose:()=>{this.popupCancelToken.cancel()}});this.bindEvent(this.element,"closeClick",(()=>this.cancelRequested()))}render(node,e,creator){var _a,_b;this.render=super.render;const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-element"]="content";(_b=na["data-click-event"])!==null&&_b!==void 0?_b:na["data-click-event"]="popupClick";this.render(XNode.create("div",null,node));this.updateElement("title");this.updateElement("bar");this.updateElement("icon");this.updateElement("close");this.updateElement("footer");if(!this.animate){return}this.element.setAttribute("data-animate-slide",this.animate?"from-bottom":"normal");this.element.setAttribute("data-animation-state","down");this.animate=false;setTimeout((()=>{this.element.setAttribute("data-animation-state","normal")}),10)}cancelRequested(){return this.cancel()}updateElement(name,property=name+"Renderer"){var _a,_b;const r=this[property];const child=ChildEnumerator.find(this.element,(e=>e.dataset.element===name));if(child){this.dispose(child);child.remove()}const node=r===null||r===void 0?void 0:r();if(!node){return}const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-element"]=name;(_b=na["data-click-event"])!==null&&_b!==void 0?_b:na["data-click-event"]=name+"-click";this.render(XNode.create("div",null,node))}});__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"closeRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"barRenderer",void 0);delete BottomPopup.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService");System.register(["tslib","@web-atoms/date-time/dist/TimeSpan"],(function(_export,_context){"use strict";var __awaiter,TimeSpan,WebRecordingSession,WebRTCService;_export({WebRecordingSession:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default}],execute:function(){_export("WebRecordingSession",WebRecordingSession=class WebRecordingSession{constructor(stream){this.duration=TimeSpan.fromSeconds(0);this.recorder=new MediaRecorder(stream)}start(segments){const buffer=[];return new Promise(((resolve,reject)=>{this.recorder.ondataavailable=be=>{buffer.push(be.data)};const start=Date.now();const id=setInterval((()=>{const seconds=Math.ceil((Date.now()-start)/1e3);this.duration=TimeSpan.fromSeconds(seconds)}),1e3);this.recorder.onerror=me=>{clearInterval(id);reject(me.error)};this.recorder.onstop=()=>{clearInterval(id);resolve(new Blob(buffer,{type:this.recorder.mimeType}))};this.recorder.start(segments)}))}stop(){this.recorder.stop()}});_export("default",WebRTCService=class WebRTCService{static startAudioSession(){return __awaiter(this,void 0,void 0,(function*(){return new WebRecordingSession(yield navigator.mediaDevices.getUserMedia({audio:true}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/buttons/round/RoundButton");System.register(["tslib","@web-atoms/core/dist/core/XNode","./RoundButton.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function RoundButton(_a,...nodes){var{icon}=_a,a=__rest(_a,["icon"]);if(icon){return XNode.create("button",Object.assign({"data-color":"white","data-round-button":"round-button"},a),XNode.create("i",{class:`${icon} white`}),...nodes)}return XNode.create("button",Object.assign({"data-color":"white","data-round-button":"round-button"},a),...nodes)}_export("default",RoundButton);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_RoundButtonGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/mobile-app/BottomPopup","./WebRTCService","../buttons/round/RoundButton","../../../services/files/LocalFileService","./AudioRecorder.global.less"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,DateTime,BottomPopup,WebRTCService,RoundButton,LocalFileService,AudioRecorder;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistMobileAppBottomPopup){BottomPopup=_webAtomsWebControlsDistMobileAppBottomPopup.default},function(_WebRTCService){WebRTCService=_WebRTCService.default},function(_buttonsRoundRoundButton){RoundButton=_buttonsRoundRoundButton.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_AudioRecorderGlobalLess){}],execute:function(){_export("default",AudioRecorder=class AudioRecorder extends BottomPopup{create(){this.element.setAttribute("data-component","audio-recorder");this.renderer=XNode.create("div",null,XNode.create("div",{text:"Tap mic when ready"}),XNode.create(RoundButton,{icon:"fa-solid fa-microphone-lines fa-xl","event-click":()=>this.startRecording()}))}startRecording(){return __awaiter(this,void 0,void 0,(function*(){this.element.dataset.clickEvent="none";if(location.protocol!=="https:"){this.cancel(new Error("Recording only supported in Secure URLs"));return}this.recorder=yield WebRTCService.startAudioSession();this.renderer=XNode.create("div",null,XNode.create("div",{"data-background-color":"white","data-border-radius":"full","data-layout":"vertical-flex-center-items"},XNode.create("div",{text:Bind.oneWay((()=>this.recorder.duration.toString()))}),XNode.create(RoundButton,{icon:"fa-solid fa-stop fa-xl","event-click":()=>this.recorder.stop()})));const blob=yield this.recorder.start();this.element.dataset.clickEvent="none";const url=URL.createObjectURL(blob);this.registerDisposable({dispose:()=>{URL.revokeObjectURL(url)}});this.renderer=XNode.create("div",null,XNode.create("audio",{src:url,controls:true}),XNode.create("div",{"data-layout":"row"},XNode.create(RoundButton,{icon:"button fa-solid fa-inbox-out fa-2xl","event-click":()=>this.uploadAudio(blob)}),XNode.create(RoundButton,{icon:"button fa-solid fa-circle-xmark fa-2xl","event-click":()=>this.cancel()})))}))}uploadAudio(blob){return __awaiter(this,void 0,void 0,(function*(){const uploadService=this.app.resolve(LocalFileService);const dt=DateTime.now;const fileName=`${dt.year}-${dt.month+1}-${dt.day}.mp4`;this.renderer=XNode.create("div",null,XNode.create("div",null,"Uploading... ",XNode.create("i",{class:"fa-solid fa-spinner fa-spin"})," "));const file=yield uploadService.uploadFile(new File([blob],fileName,{type:blob.type}),{});this.close(file)}))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AttachFile");System.register(["@web-atoms/core/dist/core/XNode","../../basic/UploadEvent"],(function(_export,_context){"use strict";var XNode,UploadEvent;function AttachFile({accept="image/*",maxSize=1024*1024*5,authorize=true,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,multiple:false,ariaLabel})),XNode.create("i",{class:"ri-attachment-2"}))}_export("default",AttachFile);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_basicUploadEvent){UploadEvent=_basicUploadEvent.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor");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/XNode","@web-atoms/core/dist/web/controls/AtomControl","../basic/AtomRepeater","./commands/AddImage","./commands/AddLink","./commands/Align","./commands/AttachFile","./commands/Bold","./commands/ChangeColor","./commands/ChangeFont","./commands/ChangeFontSize","./commands/Headings","./commands/HorizontalRule","./commands/IndentLess","./commands/IndentMore","./commands/Italic","./commands/NumberedList","./commands/RemoveFormat","./commands/Separator","./commands/Source","./commands/StrikeThrough","./commands/Underline","./commands/Unlink","./commands/UnorderedList","./commands/Toolbar","../styles/atom-html-editor.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,Bind,BindableProperty,XNode,AtomControl,AtomRepeater,AddImage,showImageDialog,AddLink,Align,AttachFile,Bold,ChangeColor,ChangeFont,ChangeFontSize,Headings,HorizontalRule,IndentLess,IndentMore,Italic,NumberedList,RemoveFormat,Separator,Source,StrikeThrough,Underline,Unlink,UnorderedList,Toolbar,AtomHtmlEditor,link;function preventLinkClick(e,editor,doc){let target=e.target;const body=doc.body;while(target){if(target.getAttribute("data-prompt")){break}if(target===body){break}if(target.isContentEditable){editor.dispatchEvent(new MouseEvent("click",{bubbles:true,cancelable:true}));return}if(target.tagName==="A"){e.preventDefault()}target=target.parentElement}target=e.target;const originalTarget=target;const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});editor.dispatchEvent(new CustomEvent("editorClick",{detail:{target,data},bubbles:true,cancelable:true}));editor.dispatchEvent(new MouseEvent("click",{bubbles:true,cancelable:true}))}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default},function(_commandsAddImage){AddImage=_commandsAddImage.default;showImageDialog=_commandsAddImage.showImageDialog},function(_commandsAddLink){AddLink=_commandsAddLink.default},function(_commandsAlign){Align=_commandsAlign.default},function(_commandsAttachFile){AttachFile=_commandsAttachFile.default},function(_commandsBold){Bold=_commandsBold.default},function(_commandsChangeColor){ChangeColor=_commandsChangeColor.default},function(_commandsChangeFont){ChangeFont=_commandsChangeFont.default},function(_commandsChangeFontSize){ChangeFontSize=_commandsChangeFontSize.default},function(_commandsHeadings){Headings=_commandsHeadings.default},function(_commandsHorizontalRule){HorizontalRule=_commandsHorizontalRule.default},function(_commandsIndentLess){IndentLess=_commandsIndentLess.default},function(_commandsIndentMore){IndentMore=_commandsIndentMore.default},function(_commandsItalic){Italic=_commandsItalic.default},function(_commandsNumberedList){NumberedList=_commandsNumberedList.default},function(_commandsRemoveFormat){RemoveFormat=_commandsRemoveFormat.default},function(_commandsSeparator){Separator=_commandsSeparator.default},function(_commandsSource){Source=_commandsSource.default},function(_commandsStrikeThrough){StrikeThrough=_commandsStrikeThrough.default},function(_commandsUnderline){Underline=_commandsUnderline.default},function(_commandsUnlink){Unlink=_commandsUnlink.default},function(_commandsUnorderedList){UnorderedList=_commandsUnorderedList.default},function(_commandsToolbar){Toolbar=_commandsToolbar.default;_export("Toolbar",_commandsToolbar.default)},function(_stylesAtomHtmlEditorGlobalLess){}],execute:function(){link=document.createElement("link");link.href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css";link.rel="preload";link.as="style";link.onload=()=>{link.onload=null;link.rel="stylesheet"};document.head.appendChild(link);_export("default",AtomHtmlEditor=class AtomHtmlEditor extends AtomControl{get htmlContent(){var _a,_b;try{return(_b=(_a=this.editor)===null||_a===void 0?void 0:_a.innerHTML)!==null&&_b!==void 0?_b:this.initialContent}catch(ex){console.warn(ex)}}set htmlContent(v){if(this.editor){this.editor.innerHTML=v}else{this.initialContent=v}AtomBinder.refreshValue(this,"htmlContent")}insertImage(s,e){return showImageDialog(s,e)}executeCommand(cmd,showUI,value){const r=this.editorDocument.execCommand(cmd,showUI,value);setTimeout((()=>this.version++),1);return r}queryCommandState(cmd,...a){return this.editorDocument.queryCommandState(cmd)}getStyle(name,v){try{const node=this.editorWindow.getSelection().getRangeAt(0);const e=node.startContainer.parentElement;return this.editorWindow.getComputedStyle(e)[name]}catch(ex){return null}}onPropertyChanged(name){super.onPropertyChanged(name);if(name==="tags"){this.setupTags()}}setupTags(){const doc=this.editorDocument;if(!doc){return}if(Array.isArray(this.tags)){for(const{name,style}of this.tags){if(style){const styleElement=doc.createElement("style");styleElement.textContent=`*[data-command=${name}] {\n ${style.toStyleSheet()}\n }`;doc.head.appendChild(styleElement)}}}}preCreate(){this.version=1;this.files=[];this.runAfterInit((()=>{this.setup()}));this.element.classList.add("atom-control-html-editor");this.element.classList.add("html-editor")}onPasteEvent(e){if(!e.clipboardData.types.find((x=>x==="text/html"))){return}const d=e.clipboardData.getData("text/plain");if(d){const s=window.getSelection();const r=s.getRangeAt(0);let last;const tags=[];for(const iterator of d.split("\n")){const text=iterator.trim();if(!text){continue}last=document.createElement("p");last.innerText=iterator;tags.push(last)}while(tags.length){r.insertNode(tags.pop())}r.setStartAfter(last)}e.preventDefault()}onInputEvent(e){console.log(e)}setup(){var _a;const frame=this.element.getElementsByTagName("iframe")[0];const doc=frame.contentWindow.document;doc.open();const baseUrl=`${location.protocol}//${location.host}`;doc.writeln(`<base href="${baseUrl}"></base><div id="editor"><p> </p></div>`);doc.close();const style=doc.createElement("style");style.textContent=`body {\n font-family: arial,sans-serif\n }\n #editor {\n min-height: 500px;\n }\n *[data-prompt] {\n background: yellow\n }\n `;doc.head.appendChild(style);doc.body.addEventListener("click",(e=>preventLinkClick(e,this.element,doc)));this.editor=doc.getElementById("editor");this.editor.contentEditable="true";this.editor.innerHTML=(_a=this.initialContent)!==null&&_a!==void 0?_a:"";doc.execCommand("styleWithCSS");doc.execCommand("insertBrOnReturn");const updateVersion=()=>setTimeout((()=>{this.version++;AtomBinder.refreshValue(this,"htmlContent");this.element.dispatchEvent(new CustomEvent("documentUpdated",{detail:this.editor}));this.documentUpdated(this.editor)}),1);this.editor.addEventListener("click",updateVersion);this.editor.addEventListener("keydown",updateVersion);this.editor.addEventListener("keypress",updateVersion);this.editor.addEventListener("input",updateVersion);this.editorWindow=frame.contentWindow;this.editorDocument=doc;updateVersion();this.documentCreated(this.editor);this.element.dispatchEvent(new CustomEvent("documentCreated",{detail:this.editor}));this.registerDisposable({dispose:()=>{this.editor.removeEventListener("click",updateVersion);this.editor.removeEventListener("keydown",updateVersion);this.editor.removeEventListener("keypress",updateVersion);this.editor.removeEventListener("input",updateVersion)}});this.bindEvent(this.element,"editorClick",(ce=>{var _a,_b;const{detail:{data,target}}=ce;if(data.prompt){const element=target;const result=prompt("Enter "+((_a=data.promptTitle)!==null&&_a!==void 0?_a:data.prompt),data.promptDefault);if(result){const replace=((_b=data.replace)!==null&&_b!==void 0?_b:"textContent").split(",").map((x=>x.trim()));for(const iterator of replace){const template=element.getAttribute("data-"+iterator+"-template")||element.getAttribute("data-template");if(template){element[iterator]=template.replace(data.prompt,result)}else{element[iterator]=result}}}return}if(this.tags){for(const{name,handler}of this.tags){if(name===data.command||name===data.clickEvent){handler(ce)}}}}));this.setupTags()}documentCreated(e){}documentUpdated(e){}render(node,e,creator){this.render=super.render;if(!node.children||node.children.length===0){node.children[0]=XNode.create(Toolbar,null,XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,null),XNode.create(Separator,null),XNode.create(Headings,null),XNode.create(ChangeColor,null),XNode.create(HorizontalRule,null),XNode.create(Separator,null),XNode.create(ChangeFont,null),XNode.create(ChangeFontSize,null),XNode.create(Separator,null),XNode.create(NumberedList,null),XNode.create(UnorderedList,null),XNode.create(IndentLess,null),XNode.create(IndentMore,null),XNode.create(Separator,null),XNode.create(AddImage,null),XNode.create(AttachFile,null),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null),XNode.create(RemoveFormat,null),XNode.create(Separator,null),XNode.create(Source,null))}super.render(XNode.create("div",Object.assign({},node.attributes),...node.children,XNode.create(AtomRepeater,{class:"files","event-item-delete":ce=>this.files.remove(ce.detail),items:Bind.oneWay((()=>this.files)),itemRenderer:file=>XNode.create("div",{class:"file"},XNode.create("i",{class:"ri-attachment-2"}),XNode.create("label",{text:file.name}),XNode.create("i",{"data-click-event":"item-delete",class:"ri-close-circle-fill"}))}),XNode.create("iframe",{class:"editor-frame"})))}});__decorate([BindableProperty,__metadata("design:type",String)],AtomHtmlEditor.prototype,"content",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomHtmlEditor.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],AtomHtmlEditor.prototype,"version",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomHtmlEditor.prototype,"files",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomHtmlEditor.prototype,"tags",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeSnippetPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/Bind","../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","./MonacoService","@web-atoms/web-controls/dist/basic/Select"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,PopupWindowPage,isMobileView,Bind,SaveIconTextButton,Action,MonacoService,Select,CodeSnippetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_MonacoService){MonacoService=_MonacoService.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default}],execute:function(){_export("default",CodeSnippetPage=class CodeSnippetPage extends PopupWindowPage{constructor(){super(...arguments);this.languageId="html";this.code=""}init(){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){this.code=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.code)!==null&&_b!==void 0?_b:"";this.languageId=(_d=(_c=this.parameters)===null||_c===void 0?void 0:_c.languageId)!==null&&_d!==void 0?_d:"html";this.title="Insert Code Snippet";if(!isMobileView){this.element.style.minWidth="70vw";this.element.style.minHeight="60vh"}this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create("iframe",null));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-click-event":"save-file"}));const iframe=this.element.querySelector("iframe");this.monacoService=yield MonacoService.createEditor(this,iframe);this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(Select,{items:this.monacoService.getLanguages(),value:Bind.twoWaysImmediate((()=>this.languageId)),"event-input":()=>setTimeout((()=>this.createModel()))}));this.createModel()}))}save(){return __awaiter(this,void 0,void 0,(function*(){this.code=this.textModel.getValue();const colorizedText=yield this.monacoService.monaco.editor.colorize(this.code,this.textModel.getLanguageId(),{});const colorized=yield this.colorize(colorizedText);return colorized}))}codeChanged({code}){this.code=code}createModel(){var _a,_b,_c;const lang=(_a=this.monacoService.languages.find((x=>x.id===this.languageId)))!==null&&_a!==void 0?_a:this.monacoService.languages[0];this.textModel=this.monacoService.setCodeModel(this,this.code,`http://a/file${(_c=(_b=lang.extensions)===null||_b===void 0?void 0:_b[0])!==null&&_c!==void 0?_c:".txt"}`)}colorize(code){return __awaiter(this,void 0,void 0,(function*(){return code}))}});__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeSnippetPage.prototype,"save",null);__decorate([Action({onEvent:"code-changed"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CodeSnippetPage.prototype,"codeChanged",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../code-editor/CodeSnippetPage"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,PageNavigator,PopupButton,MenuItem,UploadEvent,CodeSnippetPage,maxSize,stream,maxStreamSize;function Insert({alignment="above"}){return XNode.create(PopupButton,{class:"command","data-layout":"toolbar-button",icon:"fas fa-plus",title:"Insert",alignment},XNode.create(MenuItem,{icon:"ri-list-unordered",label:"List","event-click":Bind.event((editor=>editor.executeCommand("insertUnorderedList")))}),XNode.create(MenuItem,{icon:"ri-list-ordered",label:"Numbered List","event-click":Bind.event((editor=>editor.executeCommand("insertOrderedList")))}),XNode.create(MenuItem,{icon:"ri-list-ordered",label:"Insert Code","event-click":Bind.event((editor=>__awaiter(this,void 0,void 0,(function*(){const code=yield PageNavigator.pushPageForResult(CodeSnippetPage);editor.executeCommand("insertHTML",void 0,`<pre style="margin: 5px; border: solid 1px lightgray; padding: 10px; border-radius: 10px;" contentEditable="true" spellcheck="false">${code}</pre><br/><p contentEditable="true"></p>`)}))))}),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",multiple:true,maxSize,extra:{insert:true}}),{"data-click-event":"send-photos",icon:"fas fa-image",label:"Add Photos"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",capture:"user",maxSize,extra:{insert:true}}),{"data-click-event":"take-photo",icon:"fa-duotone fa-camera-retro",label:"Take Photo"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",multiple:false,maxSize,stream,maxStreamSize,extra:{insert:true,stream}}),{"data-click-event":"send-video",icon:"fas fa-file-video",label:"Add Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",maxSize,stream,maxStreamSize,extra:{insert:true,stream}}),{"data-click-event":"record-video",icon:"fa-duotone fa-video-plus",label:"Record Video"})))}_export("default",Insert);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_codeEditorCodeSnippetPage){CodeSnippetPage=_codeEditorCodeSnippetPage.default}],execute:function(){maxSize=25*1024*1024;stream=true;maxStreamSize=100*1024*1024}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var XNode,PopupButton,MenuItem,UploadEvent,convert,maxSize;function Attach({alignment="above"}){return XNode.create(PopupButton,{class:"command","data-layout":"toolbar-button",icon:"fa-light fa-file-plus",title:"Attach",alignment},XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",maxSize,multiple:true,extra:{}}),{icon:"fas fa-image",label:"Attach Photos"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",maxSize,capture:"user",extra:{}}),{icon:"fa-duotone fa-camera-retro",label:"Take Photo"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",multiple:false,maxSize,convert,extra:{}}),{icon:"fas fa-file-video",label:"Attach Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",maxSize,convert,extra:{}}),{icon:"fa-duotone fa-video-plus",label:"Record Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"*/*",maxSize,multiple:true,extra:{}}),{icon:"fa-duotone fa-file",label:"Attach Documents","style-min-width":"150px"})))}_export("default",Attach);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){convert=false;maxSize=25*1024*1024}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/mailboxes/MailboxDropDown");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,EntityService,Mailbox,XNode,Bind,Sql,MailboxDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",MailboxDropDown=class MailboxDropDown extends DropDown{constructor(app,e){super(app,e);this.pushInit();this.valuePath=mb=>mb.mailboxID;this.itemRenderer=mb=>XNode.create("div",null,mb.emailAddress.name," (",mb.emailAddress.emailAddress,")")}init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.prompt="From";this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>this.searchMailboxes(this.search,this.value,cancelToken)))}));const item=yield this.entityService.query(Mailbox).where((x=>x.isChannel===false)).orderByDescending((x=>x.dateUpdated)).include((x=>x.emailAddress)).firstOrDefault();this.items=[item];this.selectedItem=item}))}searchMailboxes(search,value,cancelToken){var _a;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox).where((x=>x.isChannel===false));search=(_a=search===null||search===void 0?void 0:search.trim())===null||_a===void 0?void 0:_a.toLowerCase();value||(value="0");if(search){search=search+"%";q=q.where({search,value},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)||Sql.text.like(x.domain.name,p.search)||x.mailboxID===p.value))}else{q=q.where({value},(p=>x=>x.mailboxID===p.value))}const items=yield q.include((x=>x.emailAddress)).toPagedList({size:10,cancelToken});return items.items}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],MailboxDropDown.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../../common/controls/audio/AudioRecorder","../service/ConversationService","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../common/events/CommonEvents","../service/MailService","@web-atoms/date-time/dist/DateTime","@web-atoms/core/dist/core/sleep","../../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/Separator","./Insert","@web-atoms/date-time/dist/TimeSpan","./Attach","@web-atoms/core/dist/core/types","@web-atoms/email-dom/dist/DomToString","../../../../common/controls/Loader","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/web-controls/dist/basic/TitleEditor","../../../../common/controls/email-recipients/EmailRecipientChips","../../../../common/controls/mailboxes/MailboxDropDown","../../../../common/fileUrl","./styles/mini-compose.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,AppFile,Email,EmailRecipient,Bind,Action,AudioRecorder,ConversationService,AtomRepeater,InjectProperty,CommonEvents,MailService,DateTime,sleep,MailHtmlEditor,Toolbar,Align,Bold,Italic,StrikeThrough,Underline,AddLink,Unlink,Separator,Insert,TimeSpan,Attach,CancelToken,DomToElement,Loader,descendentElementIterator,TitleEditor,EmailRecipientChips,MailboxDropDown,fileUrl,MiniComposeBox,css,defaultEmailBody,addRecipient;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsAudioAudioRecorder){AudioRecorder=_commonControlsAudioAudioRecorder.default},function(_serviceConversationService){ConversationService=_serviceConversationService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){MailHtmlEditor=_commonControlsHtmlInlineHtmlEditorWithToolbar.MailHtmlEditor},function(_webAtomsWebControlsDistHtmlEditorAtomHtmlEditor){Toolbar=_webAtomsWebControlsDistHtmlEditorAtomHtmlEditor.Toolbar},function(_webAtomsWebControlsDistHtmlEditorCommandsAlign){Align=_webAtomsWebControlsDistHtmlEditorCommandsAlign.default},function(_webAtomsWebControlsDistHtmlEditorCommandsBold){Bold=_webAtomsWebControlsDistHtmlEditorCommandsBold.default},function(_webAtomsWebControlsDistHtmlEditorCommandsItalic){Italic=_webAtomsWebControlsDistHtmlEditorCommandsItalic.default},function(_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough){StrikeThrough=_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnderline){Underline=_webAtomsWebControlsDistHtmlEditorCommandsUnderline.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAddLink){AddLink=_webAtomsWebControlsDistHtmlEditorCommandsAddLink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnlink){Unlink=_webAtomsWebControlsDistHtmlEditorCommandsUnlink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSeparator){Separator=_webAtomsWebControlsDistHtmlEditorCommandsSeparator.default},function(_Insert){Insert=_Insert.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_Attach){Attach=_Attach.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsEmailDomDistDomToString){DomToElement=_webAtomsEmailDomDistDomToString.DomToElement},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default},function(_commonControlsMailboxesMailboxDropDown){MailboxDropDown=_commonControlsMailboxesMailboxDropDown.default},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_stylesMiniComposeLocalLess){}],execute:function(){css="mini-compose-page";defaultEmailBody=`<section style="background-color: white; color: black;">\n<section contentEditable="true"> <br/></section>\n<footer data-social-mail-commands="emoji-bar"></footer>\n</section>`;addRecipient=(e,a,type)=>{var _a,_b;if(!a){return}const r=(_a=e.recipients)!==null&&_a!==void 0?_a:e.recipients=[];for(const er of a){const et=(_b=er.emailAddressText)===null||_b===void 0?void 0:_b.toLowerCase();if(r.some((x=>{var _a;return x.emailAddressID?x.emailAddressID===er.emailAddressID:((_a=x.emailAddressText)===null||_a===void 0?void 0:_a.toLowerCase())===et}))){continue}er.type=type;r.push(er)}};_export("default",MiniComposeBox=class MiniComposeBox extends AtomControl{constructor(app,e){super(app,e);this.mailboxContacts=[];this.senderID=null;this.draft=null;this.typedMessage="";this.to=null;this.cc=null;this.bcc=null;this.showSendButton=true;this.showTo=false;this.showCc=false;this.showBcc=false;this.active=false;this.savedSubject=void 0;this.savedBody=void 0;this.element.className=css;this.element.setAttribute("data-mini-compose","mini-compose");this.pushInit()}init(){var _a,_b,_c,_d,_e,_f,_g;return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Loader,null));yield sleep(100);(_a=this.draft)!==null&&_a!==void 0?_a:this.draft=null;if(!this.draft){this.ensureDraft()}(_b=this.to)!==null&&_b!==void 0?_b:this.to=[];(_c=this.cc)!==null&&_c!==void 0?_c:this.cc=[];(_d=this.bcc)!==null&&_d!==void 0?_d:this.bcc=[];if(this.draft.recipients){for(const iterator of this.draft.recipients){if(iterator.type==="to"){this.to.add(iterator);this.showTo||(this.showTo=!((_e=this.mailboxContacts)===null||_e===void 0?void 0:_e.some((x=>x.emailAddressID===iterator.emailAddressID))));continue}if(iterator.type==="cc"){this.showTo=true;this.showCc=true;this.cc.add(iterator);continue}if(iterator.type==="bcc"){this.showTo=true;this.showCc=true;this.showBcc=true;this.bcc.add(iterator);continue}}}this.typedMessage=((_f=this.draft)===null||_f===void 0?void 0:_f.htmlBody)?this.draft.htmlBody:defaultEmailBody;this.renderer=XNode.create("div",null,XNode.create(MailHtmlEditor,{toolbar:()=>XNode.create("div",null,XNode.create(Toolbar,null,XNode.create(Insert,{alignment:this.showSendButton?"above":"below"}),XNode.create(Separator,null),XNode.create(Attach,{alignment:this.showSendButton?"above":"below"}),XNode.create(Separator,null),XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,{alignment:this.showSendButton?"above":"below"}),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null)),XNode.create("div",{"data-layout":"vertical-flex-stretch-items","style-width":"100%"},!this.senderID&&XNode.create("div",{"data-layout":"row"},"From: ",XNode.create(MailboxDropDown,{value:Bind.sourceTwoWays(this,(x=>x.source.senderID))})),XNode.create("div",{"data-layout":"row"},XNode.create(TitleEditor,{"data-flex":"stretch-full",class:"subject",placeholder:"Subject ... ",value:Bind.sourceTwoWays(this,(x=>x.source.draft.subject))}),XNode.create("i",{"style-display":Bind.source(this,(x=>!x.source.showTo)),"event-click":()=>this.showTo=true,class:"fas fa-angle-down"})),XNode.create("div",{"data-layout":"row","style-display":Bind.source(this,(x=>x.source.showTo))},XNode.create(EmailRecipientChips,{prompt:"To","data-flex":"stretch-full",items:this.to}),XNode.create("label",{"style-display":Bind.source(this,(x=>!x.source.showCc)),"event-click":()=>this.showCc=true,text:"CC"})),XNode.create("div",{"data-layout":"row","style-display":Bind.source(this,(x=>x.source.showCc))},XNode.create(EmailRecipientChips,{prompt:"Cc","data-flex":"stretch-full",items:this.cc}),XNode.create("label",{"style-display":Bind.source(this,(x=>!x.source.showBcc)),"event-click":()=>this.showBcc=true,text:"BCC"})),XNode.create(EmailRecipientChips,{prompt:"Bcc","data-flex":"stretch-full","style-display":Bind.source(this,(x=>x.source.showBcc)),items:this.bcc}))),"data-element":"editor","data-html-editor":"email-editor",presenter:Bind.presenter((c=>this.editor=c)),content:this.typedMessage,"style-min-height":"50px",attachments:Bind.oneWay((()=>this.draft.attachments))}),this.showSendButton&&XNode.create("i",{"data-element":"send",class:"fa-solid fa-microphone-lines mic","event-click":()=>this.sendAudioMessage(),"style-display":Bind.oneWay((()=>!this.typedMessage))}),this.showSendButton&&XNode.create("i",{"data-element":"send",class:"fa-solid fa-angle-double-right send","style-display":Bind.oneWay((()=>!!this.typedMessage)),"data-click-event":"send-email"}),XNode.create(AtomRepeater,{"data-element":"files",items:Bind.oneWay((()=>{var _a;return(_a=this.draft)===null||_a===void 0?void 0:_a.attachments})),"style-display":Bind.oneWay((()=>this.draft&&this.draft.attachments&&this.draft.attachments.length>0),false),"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",{"data-layout":"icon-button"},XNode.create("label",{text:item.name}),XNode.create("i",{"data-click-event":"delete-attachment",class:"fas fa-times-circle","data-cursor":"pointer","data-color":"red"}))}));yield sleep(100);if(!this.draft.subject){(_g=this.editor.element.querySelector(".subject > input"))===null||_g===void 0?void 0:_g.focus();return}const editor=this.editor.element.querySelector(`[data-element="editor"]`);for(const iterator of descendentElementIterator(editor)){if(iterator.isContentEditable){let start=iterator;let next;while((next=start.firstElementChild)&&next.tagName!=="BR"){start=next}start.focus();window.getSelection().setPosition(start.firstElementChild);return}}}))}filesAvailable({files,extra}){return __awaiter(this,void 0,void 0,(function*(){const size=files.reduce(((pv,cv)=>pv+(extra.stream&&/^video\//i.test(cv.file.type)?0:cv.file.size)),0);if(size>20*1024*1024){if(!extra.stream){throw new Error(`Total size of attachments cannot be more than 20MB.`)}}if(extra.insert){this.ensureDraft();const firstChild=this.editor.editor.firstElementChild;for(const iterator of files){if(/^image\//.test(iterator.contentType)){const af=this.createAppFile(iterator);const img=firstChild.ownerDocument.createElement("img");img.src=fileUrl.webp(iterator,700);img.setAttribute("data-content-id",af.contentID);this.draft.attachments.add(af);firstChild.appendChild(img);const newLine=document.createElement("div");newLine.appendChild(document.createElement("br"));firstChild.appendChild(newLine);continue}if(/^(video|audio)\//.test(iterator.contentType)){const af=this.createAppFile(iterator);this.draft.attachments.add(af);const video=firstChild.ownerDocument.createElement("div");const link=af.url;const imgLink=fileUrl.webp(af,700);DomToElement(video,XNode.create("div",null,XNode.create("video",{"data-content-id":af.contentID,"data-stream-enabled":"true",autoplay:"true",muted:"true",controls:"true",poster:imgLink,src:link,style:"max-width: 700px;"},XNode.create("div",null,"If you cannot see the video,",XNode.create("br",null),XNode.create("a",{"data-stream-enabled":"true","data-content-id":af.contentID,href:link},"click this link to open the video.")))));firstChild.appendChild(video);continue}}return}yield this.addFiles(...files)}))}streamFiles({files,extra}){return __awaiter(this,void 0,void 0,(function*(){}))}deleteAttachment(file){var _a;return __awaiter(this,void 0,void 0,(function*(){yield this.mailService.deleteAttachment(file);(_a=this.draft)===null||_a===void 0?void 0:_a.attachments.remove(file)}))}recreateDraft(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.draft=null;(_a=this.draft)!==null&&_a!==void 0?_a:this.draft=Email.create({subject:"",attachments:[]});(_b=(_c=this.draft).attachments)!==null&&_b!==void 0?_b:_c.attachments=[]}))}onChanged(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!((_a=this.editor)===null||_a===void 0?void 0:_a.htmlTextContent)){return}(_b=this.draft)!==null&&_b!==void 0?_b:this.draft=Email.create({attachments:[]});const{html,text}=this.editor.htmlTextContent;if(this.savedSubject===this.draft.subject&&this.savedBody===html){return}if(this.prevSave){yield this.prevSave}this.savedSubject=this.draft.subject;this.savedBody=html;this.draft.htmlBody=html;this.draft.textBody=text;yield this.save(false)}))}onEmailUnscheduled(mce){return __awaiter(this,void 0,void 0,(function*(){this.draft=mce.email}))}sendEmail(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(!((_a=this.draft)===null||_a===void 0?void 0:_a.textBody)){if(!((_c=(_b=this.draft)===null||_b===void 0?void 0:_b.attachments)===null||_c===void 0?void 0:_c.length)){alert("Cannot send empty email");return}}const{html,text}=this.editor.htmlTextContent;this.draft.htmlBody=html;this.draft.textBody=text;yield this.save();const{prevSave}=this;if(prevSave){yield prevSave}this.draft.status="scheduled";this.draft.dateSent=DateTime.now.add(TimeSpan.fromSeconds(30));this.draft.dateUpdated=DateTime.now;yield this.mailService.send(this.draft);const saved=this.draft;this.draft=Email.create({subject:"",senderID:this.senderID,htmlBody:defaultEmailBody,attachments:[]});this.editor.htmlContent=this.draft.htmlBody;this.element.dispatchEvent(new CustomEvent("emailSent",{bubbles:true,detail:saved}))}))}sendAudioMessage(){return __awaiter(this,void 0,void 0,(function*(){const uploadedFile=yield AudioRecorder.show();this.ensureDraft();this.draft.textBody=this.typedMessage;yield this.addFiles(uploadedFile)}))}save(saveAttachments=true){return __awaiter(this,void 0,void 0,(function*(){const{prevSave,saveCancelToken}=this;saveCancelToken===null||saveCancelToken===void 0?void 0:saveCancelToken.cancel();const ct=this.saveCancelToken=new CancelToken;this.prevSave=(()=>__awaiter(this,void 0,void 0,(function*(){try{if(prevSave){yield prevSave}this.draft.senderID=this.senderID;addRecipient(this.draft,this.to,"to");addRecipient(this.draft,this.cc,"cc");addRecipient(this.draft,this.bcc,"bcc");this.draft=yield this.conversationService.draft(this.draft,this.mailboxContacts,true,saveAttachments,ct)}catch(_a){}})))().catch(console.error)}))}addFiles(...files){return __awaiter(this,void 0,void 0,(function*(){this.ensureDraft();const attachments=this.draft.attachments;for(const file of files){attachments.add(this.createAppFile(file))}yield this.save()}))}createAppFile(file){return AppFile.create({appFileID:file.appFileID,contentType:file.file.type,name:file.file.name,fileContentID:file.fileContentID,contentID:file.appFileID.toString(36),fileSize:file.file.size,url:file.url})}ensureDraft(){var _a,_b,_c,_d;var _e;(_a=this.draft)!==null&&_a!==void 0?_a:this.draft=Email.create({subject:"",senderID:this.senderID,attachments:[]});(_b=(_e=this.draft).attachments)!==null&&_b!==void 0?_b:_e.attachments=[];if(!this.draft.recipients){const recipients=this.draft.recipients=[];for(const iterator of this.mailboxContacts){if(recipients.some((x=>x.emailAddressID===iterator.emailAddressID))){continue}recipients.push(EmailRecipient.create({emailAddressID:iterator.emailAddressID,emailAddressText:(_d=(_c=iterator.emailAddress)===null||_c===void 0?void 0:_c.emailAddress)!==null&&_d!==void 0?_d:"",type:"to"}))}}}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],MiniComposeBox.prototype,"conversationService",void 0);__decorate([InjectProperty,__metadata("design:type",MailService)],MiniComposeBox.prototype,"mailService",void 0);__decorate([Action({onEvent:"filesAvailable"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"filesAvailable",null);__decorate([Action({onEvent:"delete-attachment",confirm:"Are you sure you want to delete this attachment?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"deleteAttachment",null);__decorate([Action({onEvent:CommonEvents.onDraftDeleted}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"recreateDraft",null);__decorate([Action({onEvent:"input",defer:500,blockMultipleExecution:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onChanged",null);__decorate([Action({onEvent:CommonEvents.onEmailUnscheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onEmailUnscheduled",null);__decorate([Action({onEvent:"send-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"sendEmail",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"sendAudioMessage",null)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomOnce");System.register([],(function(_export,_context){"use strict";var AtomOnce;_export("AtomOnce",void 0);return{setters:[],execute:function(){_export("AtomOnce",AtomOnce=class AtomOnce{run(f){if(this.isRunning){return}let isAsync=false;try{this.isRunning=true;const p=f();if(p&&p.then&&p.catch){isAsync=true;p.then((()=>{this.isRunning=false})).catch((()=>{this.isRunning=false}))}}finally{if(!isAsync){this.isRunning=false}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/StyleBuilder");System.register([],(function(_export,_context){"use strict";var StyleBuilder;function cssNumberToString(n,unit="px"){if(typeof n==="number"){if(n===0){return n+""}return n+unit}return n}_export({cssNumberToString,default:void 0});return{setters:[],execute:function(){_export("default",StyleBuilder=class StyleBuilder{static get newStyle(){return new StyleBuilder}constructor(style){this.style=style;this.style=this.style||{}}toStyle(){return this.style}size(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({width,height})}roundBorder(radius){radius=cssNumberToString(radius);return this.merge({borderRadius:radius,padding:radius})}border(borderWidth,borderColor,borderStyle="solid"){borderWidth=cssNumberToString(borderWidth);return this.merge({borderWidth,borderStyle,borderColor})}center(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({position:"absolute",left:0,right:0,top:0,bottom:0,width,height,margin:"auto"})}absolute(left,top,right,bottom){left=cssNumberToString(left);top=cssNumberToString(top);if(right!==undefined){right=cssNumberToString(right);bottom=cssNumberToString(bottom);return this.merge({position:"absolute",left,top,right,bottom})}return this.merge({position:"absolute",left,top})}merge(style){return new StyleBuilder(Object.assign(Object.assign({},this.style),style))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WebBusyIndicatorService");System.register(["tslib","../../App","../../di/Inject","../../di/RegisterSingleton","../../services/BusyIndicatorService","../../services/NavigationService","../controls/AtomControl","../styles/StyleBuilder"],(function(_export,_context){"use strict";var __decorate,__metadata,App,Inject,RegisterSingleton,BusyIndicatorService,NavigationService,AtomControl,cssNumberToString,WebBusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_App){App=_App.App},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString}],execute:function(){_export("WebBusyIndicatorService",WebBusyIndicatorService=class WebBusyIndicatorService extends BusyIndicatorService{constructor(){super(...arguments);this.zIndex=5e4;this.indicators=0}createIndicator(){const host=document.createElement("div");const popup=new AtomControl(this.app,host);host.className="indicator-host";const span=document.createElement("i");const divStyle=host.style;divStyle.position="absolute";divStyle.overflow="hidden";divStyle.left=divStyle.right=divStyle.bottom=divStyle.top="0";divStyle.zIndex=this.zIndex+++"";const spanStyle=span.style;spanStyle.position="absolute";spanStyle.margin="auto";spanStyle.width="16px";spanStyle.height="16px";spanStyle.overflow="hidden";spanStyle.maxHeight="100%";spanStyle.maxWidth="100%";spanStyle.left=spanStyle.right=spanStyle.bottom=spanStyle.top="0";span.className="fas fa-spinner fa-spin";host.appendChild(span);const ws=this.navigationService;const e=ws.getHostForElement();if(e){e.appendChild(host)}else{document.body.appendChild(host);ws.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,ws.screen)}popup.registerDisposable({dispose:()=>{host.remove()}});return popup}});__decorate([Inject,__metadata("design:type",NavigationService)],WebBusyIndicatorService.prototype,"navigationService",void 0);__decorate([Inject,__metadata("design:type",App)],WebBusyIndicatorService.prototype,"app",void 0);_export("WebBusyIndicatorService",WebBusyIndicatorService=__decorate([RegisterSingleton],WebBusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Atom");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,Atom;_export("Atom",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("Atom",Atom=class Atom{static superProperty(tc,target,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(target)}while(true)}static get(target,path){const segments=path.split(".");for(const iterator of segments){if(target===undefined||target===null){return target}target=target[iterator]}return target}static delay(n,ct){return new Promise(((resolve,reject)=>{const h={};h.id=setTimeout((()=>{resolve()}),n);if(ct){ct.registerForCancel((()=>{clearTimeout(h.id);reject(new Error("cancelled"))}))}}))}static encodeParameters(p){if(!p){return""}let s="";for(const key in p){if(p.hasOwnProperty(key)){const element=p[key];let v=element;if(v===undefined||v===null){continue}if(v instanceof Date){v=v.toISOString()}else if(typeof element==="object"){v=JSON.stringify(element)}if(s){s+="&"}s+=`${key}=${encodeURIComponent(v)}`}}return s}static url(url,query,hash){if(!url){return url}let p=this.encodeParameters(query);if(p){if(url.indexOf("?")===-1){url+="?"}else{url+="&"}url+=p}p=this.encodeParameters(hash);if(p){if(url.indexOf("#")===-1){url+="#"}else{url+="&"}url+=p}return url}static postAsync(app,f){return new Promise(((resolve,reject)=>{app.callLater((()=>__awaiter(this,void 0,void 0,(function*(){try{resolve(yield f())}catch(error){reject(error)}}))))}))}});Atom.designMode=false}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedError");System.register([],(function(_export,_context){"use strict";var FormattedError;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedError=class FormattedError{constructor(msg){const e=new Error(msg.toString());e.formattedMessage=msg;e.__proto__=FormattedError.prototype;return e}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/baseTypes");System.register([],(function(_export,_context){"use strict";function registerInit(target,fx){const t=target;const inits=t._$_inits=t._$_inits||[];inits.push(fx)}_export("registerInit",registerInit);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomViewModel");System.register(["tslib","../App","../Atom","../core/AtomBinder","../core/AtomDisposableList","../core/AtomWatcher","../core/BindableProperty","../di/Inject","./baseTypes"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomBinder,AtomDisposableList,AtomWatcher,BindableProperty,Inject,registerInit,AtomViewModel;function runDecoratorInits(){const v=this.constructor.prototype;if(!v){return}const ris=v._$_inits;if(ris){for(const ri of ris){ri.call(this,this)}}}function privateInit(){return __awaiter(this,void 0,void 0,(function*(){try{yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){runDecoratorInits.apply(this)}))));yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){yield this.init();this.onReady()}))));if(this.postInit){for(const i of this.postInit){i()}this.postInit=null}}finally{const pi=this.pendingInits;this.pendingInits=null;for(const iterator of pi){iterator()}}}))}function waitForReady(vm){return __awaiter(this,void 0,void 0,(function*(){while(vm.pendingInits){yield Atom.delay(100)}}))}function Receive(...channel){return(target,key)=>{registerInit(target,(vm=>{const fx=vm[key];const a=(ch,d)=>{const p=fx.call(vm,ch,d);if(p&&p.then&&p.catch){p.catch((e=>{console.warn(e)}))}};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,a))}}))}}function BindableReceive(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=(cx,m)=>{vm[key]=m};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,fx))}}));return bp}}function BindableBroadcast(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=t=>{const v=vm[key];for(const c of channel){vm.app.broadcast(c,v)}};const d=new AtomWatcher(vm,[key.split(".")],fx);d.init();vm.registerDisposable(d)}));return bp}}function Watch(target,key,descriptor){registerInit(target,(vm=>{const ivm=vm;if(descriptor&&descriptor.get){ivm.setupWatch(descriptor.get,(()=>{vm.refresh(key.toString())}));return}ivm.setupWatch(vm[key])}))}function CachedWatch(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const ivm=vm;const fieldName=`_${key}`;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){const c=ivm[fieldName]||(ivm[fieldName]={value:getMethod.apply(ivm)});return c.value}});ivm.setupWatch(getMethod,(()=>{ivm[fieldName]=null;AtomBinder.refreshValue(ivm,key)}))}))}function Validate(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const initialized={i:false};const ivm=vm;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){if(vm.mShouldValidate&&initialized.i){return getMethod.apply(this)}return null}});ivm.setupWatch(getMethod,(()=>{initialized.i=true;vm.refresh(key.toString())}),true,key.toString());return}))}_export({waitForReady,Receive,BindableReceive,BindableBroadcast,Watch,CachedWatch,Validate});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreAtomWatcher){AtomWatcher=_coreAtomWatcher.AtomWatcher},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_diInject){Inject=_diInject.Inject},function(_baseTypes){registerInit=_baseTypes.registerInit}],execute:function(){_export("AtomViewModel",AtomViewModel=class AtomViewModel{get isReady(){return this.pendingInits===null}get errors(){const e=[];if(!this.mShouldValidate){return e}for(const v of this.validations){if(!v.initialized){return e}const error=this[v.name];if(error){e.push({name:v.name,error})}}return e}get parent(){return this.mParent}set parent(v){if(this.mParent&&this.mParent.mChildren){this.mParent.mChildren.remove(this)}this.mParent=v;if(v){const c=v.mChildren||(v.mChildren=[]);c.add(this);this.registerDisposable({dispose:()=>{c.remove(this)}})}}get isValid(){let valid=true;const validateWasFalse=this.mShouldValidate===false;this.mShouldValidate=true;for(const v of this.validations){if(!v.initialized){v.watcher.init(true);v.initialized=true}if(this[v.name]){if(validateWasFalse){AtomBinder.refreshValue(this,v.name)}valid=false}}if(this.mChildren){for(const child of this.mChildren){if(!child.isValid){valid=false}}}AtomBinder.refreshValue(this,"errors");return valid}constructor(app){this.app=app;this.disposables=null;this.validations=[];this.pendingInits=[];this.mShouldValidate=false;this.app.runAsync((()=>privateInit.apply(this)))}resetValidations(resetChildren=true){this.mShouldValidate=false;for(const v of this.validations){this.refresh(v.name)}if(resetChildren&&this.mChildren){for(const iterator of this.mChildren){iterator.resetValidations(resetChildren)}}}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f);return}f()}refresh(name){AtomBinder.refreshValue(this,name)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}dispose(){if(this.disposables){this.disposables.dispose()}}registerDisposable(d){this.disposables=this.disposables||new AtomDisposableList;return this.disposables.add(d)}onReady(){}setupWatch(ft,proxy,forValidation,name){const d=new AtomWatcher(this,ft,proxy,this);if(forValidation){this.validations=this.validations||[];this.validations.push({name,watcher:d,initialized:false})}else{d.init()}return this.registerDisposable(d)}onPropertyChanged(name){}});_export("AtomViewModel",AtomViewModel=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App])],AtomViewModel))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomWindowViewModel");System.register(["tslib","../services/NavigationService","./AtomViewModel"],(function(_export,_context){"use strict";var __awaiter,NavigationService,AtomViewModel,AtomWindowViewModel;_export("AtomWindowViewModel",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_AtomViewModel){AtomViewModel=_AtomViewModel.AtomViewModel}],execute:function(){_export("AtomWindowViewModel",AtomWindowViewModel=class AtomWindowViewModel extends AtomViewModel{close(result){this.app.broadcast(`atom-window-close:${this.windowName}`,result)}cancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){const navigationService=this.app.resolve(NavigationService);if(!(yield navigationService.confirm(this.closeWarning,"Are you sure?"))){return false}}this.app.broadcast(`atom-window-cancel:${this.windowName}`,"cancelled");return true}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomWindowStyle");System.register(["@web-atoms/core/src/web/images/close-button-hover.svg","../styles/AtomStyle"],(function(_export,_context){"use strict";var closeButtonHover,AtomStyle,AtomWindowStyle;_export("AtomWindowStyle",void 0);return{setters:[function(_webAtomsCoreSrcWebImagesCloseButtonHoverSvg){closeButtonHover=_webAtomsCoreSrcWebImagesCloseButtonHoverSvg.default},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomWindowStyle",AtomWindowStyle=class AtomWindowStyle extends AtomStyle{get root(){return Object.assign(Object.assign({},this.frameHost),{subclasses:{" .close-button":this.closeButton," .command-bar-presenter":this.commandBarPresenter," .command-bar":this.commandBar," .content-presenter":this.contentPresenter," .content":this.content," .frame":this.frame," .title":this.title," .title-host":this.titleHost," .title-presenter":this.titlePresenter}})}get frameHost(){return{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"#50505080"}}get frame(){return{position:"absolute",minHeight:"100px",minWidth:"300px",margin:"auto",border:"solid 1px #808080",borderRadius:"5px",backgroundColor:"white"}}get titlePresenter(){return{position:"relative",left:0,right:0,top:0,height:"37px"}}get titleHost(){return{position:"absolute",left:0,right:0,padding:"7px",minHeight:"32px",backgroundColor:"#404040",color:"white",top:0,borderTopRightRadius:"4px",borderTopLeftRadius:"4px"}}get title(){return{margin:"auto"}}get closeButton(){return{position:"absolute",right:"6px",top:"7px",width:"0",height:"0",padding:"9px",border:"none",backgroundColor:"transparent",backgroundImage:closeButtonHover}}get content(){return{}}get contentPresenter(){return{position:"relative",padding:"10px",background:"white"}}get commandBarPresenter(){return{left:0,right:0,bottom:0,padding:"5px",backgroundColor:"#d4d4d4",textAlign:"right",borderBottomRightRadius:"4px",borderBottomLeftRadius:"4px"}}get commandBar(){return{subclasses:{" button":{borderRadius:"3px",marginLeft:"5px",marginRight:"5px",padding:"4px 16px",backgroundColor:"whitesmoke",border:"1px solid gray"}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomAlertWindowStyle");System.register(["../../core/Colors","./AtomWindowStyle"],(function(_export,_context){"use strict";var Colors,AtomWindowStyle,AtomAlertWindowStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomWindowStyle){AtomWindowStyle=_AtomWindowStyle.AtomWindowStyle}],execute:function(){_export("default",AtomAlertWindowStyle=class AtomAlertWindowStyle extends AtomWindowStyle{get titleHost(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"titleHost")),{color:Colors.black,backgroundColor:Colors.white})}get contentPresenter(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"contentPresenter")),{padding:"0px 10px 30px 10px",textAlign:"center",color:Colors.rgba(51,51,51)})}get commandBar(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"commandBar")),{textAlign:"center",subclasses:{" button":this.buttonStyle," .yes-button":{backgroundColor:Colors.rgba(0,128,0)}," .no-button":{backgroundColor:Colors.rgba(255,0,0)}}})}get buttonStyle(){return{border:"none",color:Colors.white,width:"50%",height:"40px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomTemplate");System.register(["./AtomControl"],(function(_export,_context){"use strict";var AtomControl,AtomTemplate;_export("AtomTemplate",void 0);return{setters:[function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("AtomTemplate",AtomTemplate=class AtomTemplate extends AtomControl{})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomWindow");System.register(["../../App","../../core/Bind","../../core/XNode","../styles/AtomWindowStyle","./AtomControl","./AtomTemplate"],(function(_export,_context){"use strict";var App,Bind,XNode,AtomWindowStyle,AtomControl,AtomTemplate,AtomWindowFrameTemplate,AtomWindowTitleTemplate,AtomWindow;function getTemplateParent(e){const tp=e._templateParent;if(tp){return tp}const p=e._logicalParent||e.parentElement;if(p){return getTemplateParent(p)}}_export({getTemplateParent,AtomWindowFrameTemplate:void 0,AtomWindow:void 0});return{setters:[function(_App){App=_App.App},function(_coreBind){Bind=_coreBind.default},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomWindowStyle){AtomWindowStyle=_stylesAtomWindowStyle.AtomWindowStyle},function(_AtomControl){AtomControl=_AtomControl.AtomControl},function(_AtomTemplate){AtomTemplate=_AtomTemplate.AtomTemplate}],execute:function(){_export("AtomWindowFrameTemplate",AtomWindowFrameTemplate=class AtomWindowFrameTemplate extends AtomTemplate{get templateParent(){return getTemplateParent(this.element)}preCreate(){this.titlePresenter=null;this.commandPresenter=null;this.contentPresenter=null;super.preCreate()}create(){this.render(XNode.create("div",{class:"frame",styleWidth:Bind.oneWay((()=>this.templateParent.width||undefined)),styleHeight:Bind.oneWay((()=>this.templateParent.height||undefined)),styleLeft:Bind.oneWay((()=>this.templateParent.x>=0?`${this.templateParent.x}px`:undefined)),styleTop:Bind.oneWay((()=>this.templateParent.y>=0?`${this.templateParent.y}px`:undefined)),styleMarginTop:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginLeft:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginRight:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginBottom:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined))},XNode.create("div",{class:"title-presenter",presenter:Bind.presenter("titlePresenter")}),XNode.create("div",{class:"content-presenter",presenter:Bind.presenter("contentPresenter")}),XNode.create("div",{class:"command-bar-presenter",presenter:Bind.presenter("commandPresenter")})))}});AtomWindowTitleTemplate=class AtomWindowTitleTemplate extends AtomControl{get templateParent(){return getTemplateParent(this.element)}create(){this.render(XNode.create("div",{class:"title-host"},XNode.create("span",{class:"title",text:Bind.oneWay((()=>this.templateParent.title))}),XNode.create("button",{class:"close-button",eventClick:Bind.event((()=>this.templateParent.close()))})))}};_export("AtomWindow",AtomWindow=class AtomWindow extends AtomControl{constructor(){super(...arguments);this.title="";this.width="";this.height="";this.x=-1;this.y=-1;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;this.isReady=false}get templateParent(){return getTemplateParent(this.element)}onPropertyChanged(name){switch(name){case"windowTemplate":case"commandTemplate":case"frameTemplate":this.invalidate();break}}close(){const vm=this.viewModel;if(vm.cancel){this.app.runAsync((()=>vm.cancel()));return}const message=`atom-window-cancel:${this.id}`;const device=this.app.resolve(App);device.broadcast(message,"cancelled")}onUpdateUI(){if(!(this.windowTemplate&&this.frameTemplate)){return}if(this.isReady){return}this.bind(this.element,"title",[["viewModel","title"]]);const frame=new this.frameTemplate(this.app);const fe=frame.element;const titleContent=new this.titleTemplate(this.app);titleContent.element._templateParent=this;frame.titlePresenter.appendChild(titleContent.element);this.setupDragging(frame.titlePresenter);this.element.classList.add("frame-host");fe._logicalParent=this.element;fe._templateParent=this;if(!frame.contentPresenter){throw new Error("ContentPresenter must be set inside frameTemplate before creating window")}const content=new this.windowTemplate(this.app);content.element._templateParent=this;this.setElementClass(content.element,{content:1});frame.contentPresenter.appendChild(content.element);if(this.commandTemplate){if(!frame.commandPresenter){throw new Error("CommandPresenter must be set inside frameTemplate"+"before creating window if command template is present")}const command=new this.commandTemplate(this.app);command.element._templateParent=this;this.setElementClass(command.element,{"command-bar":1});frame.commandPresenter.appendChild(command.element)}this.append(frame);setTimeout((()=>{this.centerFrame(frame.element)}),100);this.isReady=true}preCreate(){this.defaultControlStyle=AtomWindowStyle;this.title=null;this.width="";this.height="";this.x=-1;this.y=-1;this.windowTemplate=null;this.commandTemplate=null;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;super.preCreate();this.render(XNode.create("div",{styleClass:Bind.oneTime((()=>this.controlStyle.name))}))}centerFrame(e){if(!this.element){return}const parent=this.element.parentElement;if(parent===window||parent===document.body){return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;this.x=x;this.y=y;e.style.opacity="1";this.element.style.removeProperty("opacity")}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{startEvent.preventDefault();const disposables=[];const offset={x:tp.parentElement.offsetLeft,y:tp.parentElement.offsetTop};const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;offset.x+=dx;offset.y+=dy;this.x=offset.x;this.y=offset.y;rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;for(const iterator of disposables){iterator.dispose()}})))}))}});AtomWindow.windowTemplate=XNode.prepare("windowTemplate",true,true);AtomWindow.commandTemplate=XNode.prepare("commandTemplate",true,true);AtomWindow.titleTemplate=XNode.prepare("titleTemplate",true,true);AtomWindow.frameTemplate=XNode.prepare("frameTemplate",true,true)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomAlertWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../view-model/AtomWindowViewModel","../styles/AtomAlertWindowStyle","./AtomWindow"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomWindowViewModel,AtomAlertWindowStyle,AtomWindow,AtomAlertWindow,AtomAlertViewModel;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_stylesAtomAlertWindowStyle){AtomAlertWindowStyle=_stylesAtomAlertWindowStyle.default},function(_AtomWindow){AtomWindow=_AtomWindow.AtomWindow}],execute:function(){_export("default",AtomAlertWindow=class AtomAlertWindow extends AtomWindow{create(){this.defaultControlStyle=AtomAlertWindowStyle;this.viewModel=this.resolve(AtomAlertViewModel);this.render(XNode.create(AtomWindow,{title:Bind.oneWay((()=>this.viewModel.title))},XNode.create(AtomWindow.windowTemplate,null,XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message))})),XNode.create(AtomWindow.commandTemplate,null,XNode.create("div",null,XNode.create("button",{class:"yes-button",styleDisplay:Bind.oneWay((()=>this.viewModel.okTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.okTitle)),eventClick:()=>this.viewModel.onOkClicked()}),XNode.create("button",{class:"no-button",styleMarginBottom:Bind.oneWay((()=>this.viewModel.cancelTitle?"0":"10px")),styleDisplay:Bind.oneWay((()=>this.viewModel.cancelTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.cancelTitle)),eventClick:()=>this.viewModel.onCancelClicked()})))))}});AtomAlertViewModel=class AtomAlertViewModel extends AtomWindowViewModel{onOkClicked(){this.close(true)}onCancelClicked(){this.cancel()}};__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"message",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"okTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"cancelTitle",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomNotificationStyle");System.register(["../../core/Colors","./AtomStyle"],(function(_export,_context){"use strict";var Colors,AtomStyle,AtomNotificationStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomStyle){AtomStyle=_AtomStyle.AtomStyle}],execute:function(){_export("default",AtomNotificationStyle=class AtomNotificationStyle extends AtomStyle{get root(){return{padding:"5px",borderRadius:"5px",border:"solid 1px lightgray",fontFamily:"Verdana, Geneva, sans-serif",fontSize:"16px",subclasses:{".error":{borderColor:Colors.red,color:Colors.red},".warning":{backgroundColor:Colors.lightYellow}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomNotification");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../styles/AtomNotificationStyle","./AtomControl"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomNotificationStyle,AtomControl,AtomNotification;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomNotificationStyle){AtomNotificationStyle=_stylesAtomNotificationStyle.default},function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("default",AtomNotification=class AtomNotification extends AtomControl{constructor(){super(...arguments);this.timeout=5e3;this.timeoutKey=null}onPropertyChanged(name){switch(name){case"timeout":this.setupTimeout();break}}create(){this.defaultControlStyle=AtomNotificationStyle;this.render(XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message)),timeout:Bind.oneWay((()=>this.viewModel.timeout||5e3)),styleClass:Bind.oneWay((()=>({[this.controlStyle.name]:1,error:this.viewModel.type&&/error/i.test(this.viewModel.type),warning:this.viewModel.type&&/warn/i.test(this.viewModel.type)})))}))}setupTimeout(){if(this.timeoutKey){clearTimeout(this.timeoutKey)}this.timeoutKey=setTimeout((()=>{if(this.element){this.app.broadcast(`atom-window-close:${this.id}`,"")}}),this.timeout)}});__decorate([BindableProperty,__metadata("design:type",Number)],AtomNotification.prototype,"timeout",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomPopupStyle");System.register(["../styles/AtomStyle"],(function(_export,_context){"use strict";var AtomStyle,AtomPopupStyle;_export("AtomPopupStyle",void 0);return{setters:[function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomPopupStyle",AtomPopupStyle=class AtomPopupStyle extends AtomStyle{get root(){return{backgroundColor:"white",border:"solid 1px lightgray",padding:"5px",borderRadius:"5px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/NotificationPopup");System.register(["../../core/XNode","./PopupService","./NotifcationPopup.global.less"],(function(_export,_context){"use strict";var XNode,PopupWindow,css;function NotificationPopup({message,type}){return class Notification extends PopupWindow{create(){if(message instanceof XNode){this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)}},message));return}this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)},formattedText:message}))}}}_export("default",NotificationPopup);return{setters:[function(_coreXNode){XNode=_coreXNode.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow},function(_NotifcationPopupGlobalLess){}],execute:function(){css="web-atoms-notification-popup"}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WindowService");System.register(["tslib","../../App","../../Atom","../../core/AtomLoader","../../core/AtomUri","../../core/FormattedError","../../core/FormattedString","../../core/types","../../di/Inject","../../di/RegisterSingleton","../../di/ServiceCollection","../../services/JsonService","../../services/NavigationService","../../view-model/AtomWindowViewModel","../../web/core/AtomUI","../controls/AtomAlertWindow","../controls/AtomNotification","../controls/AtomWindow","../styles/AtomPopupStyle","../styles/AtomStyleSheet","../styles/StyleBuilder","./NotificationPopup","./PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomLoader,AtomUri,FormattedError,FormattedString,CancelToken,Inject,RegisterSingleton,Scope,ServiceCollection,JsonService,NavigationService,AtomWindowViewModel,AtomUI,AtomAlertWindow,AtomNotification,AtomWindow,AtomPopupStyle,AtomStyleSheet,cssNumberToString,NotificationPopup,PopupService,WindowService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomLoader){AtomLoader=_coreAtomLoader.AtomLoader},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedError){FormattedError=_coreFormattedError.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceCollection){Scope=_diServiceCollection.Scope;ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI},function(_controlsAtomAlertWindow){AtomAlertWindow=_controlsAtomAlertWindow.default},function(_controlsAtomNotification){AtomNotification=_controlsAtomNotification.default},function(_controlsAtomWindow){AtomWindow=_controlsAtomWindow.AtomWindow},function(_stylesAtomPopupStyle){AtomPopupStyle=_stylesAtomPopupStyle.AtomPopupStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString},function(_NotificationPopup){NotificationPopup=_NotificationPopup.default},function(_PopupService){PopupService=_PopupService.default}],execute:function(){_export("WindowService",WindowService=class WindowService extends NavigationService{get title(){return window.document.title}set title(v){window.document.title=v}get location(){return new AtomUri(location.href)}set location(v){location.href=v.toString()}constructor(app,jsonService){super(app);this.jsonService=jsonService;this.popups=[];this.hostForElementFunc=[];this.lastPopupID=0;this.screen=app.screen;let st="desktop";if(/mobile|android|ios/i.test(window.navigator.userAgent)){st="mobile";if(/tablet/i.test(window.navigator.userAgent)){st="tablet"}}this.screen.screenType=st;if(window){const update=e=>{this.refreshScreen()};if(st!=="mobile"){window.addEventListener("resize",update);window.addEventListener("scroll",update);document.body.addEventListener("scroll",update);document.body.addEventListener("resize",update)}setTimeout((()=>{update(null)}),1e3)}}registerHostForWindow(f){this.hostForElementFunc.push(f);return{dispose:()=>{this.hostForElementFunc.remove(f)}}}navigate(url){location.href=url}back(){window.history.back()}register(id,type){ServiceCollection.instance.register(type,null,Scope.Transient,id)}confirm(message,title){return PopupService.confirm({message,title})}alert(message,title){if(!(message instanceof FormattedString||typeof message==="string")){if(message instanceof FormattedError){message=message.formattedMessage}else{message=message.message?message.message:message.toString()}}return PopupService.alert({message,title})}refresh(){location.reload()}getHostForElement(){const ce=PopupService.lastTarget;if(!ce){return null}for(const iterator of this.hostForElementFunc){const e=iterator(ce);if(e){return e}}return null}refreshScreen(){const height=this.screen.height=window.innerHeight||document.body.clientHeight;const width=this.screen.width=window.innerWidth||document.body.clientWidth;this.screen.scrollLeft=window.scrollX||document.body.scrollLeft||0;this.screen.scrollTop=window.scrollY||document.body.scrollTop||0;this.screen.orientation=width>height?"landscape":"portrait"}notify(message,title,type,delay){return __awaiter(this,void 0,void 0,(function*(){try{const notification=NotificationPopup({message,type});const cancelToken=new CancelToken(delay!==null&&delay!==void 0?delay:5e3);yield notification.showWindow(notification,{title,cancelToken})}catch(ex){console.error(ex)}}))}openWindow(url,options){return __awaiter(this,void 0,void 0,(function*(){yield Atom.delay(1);const lastTarget=PopupService.lastTarget;const{view:popup,returnPromise,disposables}=yield AtomLoader.loadView(url,this.app,true,(()=>this.app.resolve(AtomWindowViewModel,true)));if(options&&options.onInit){options.onInit(popup)}const cancelToken=options.cancelToken;if(cancelToken){if(cancelToken.cancelled){this.app.callLater((()=>{this.remove(popup,true)}))}cancelToken.registerForCancel((()=>{this.remove(popup,true)}))}const e=popup.element;let isPopup=true;if(popup instanceof AtomWindow){isPopup=false;e.style.opacity="0"}popup.registerDisposable({dispose:()=>{PopupService.lastTarget=lastTarget}});if(isPopup){const root=popup.element;const last=PopupService.lastTarget;const closePopup=et=>{let target=et.target;while(target){if(target===root||target===last){return}target=target.parentElement}this.remove(popup,true)};document.body.addEventListener("click",closePopup);popup.registerDisposable({dispose:()=>{document.body.removeEventListener("click",closePopup)}})}e._logicalParent=lastTarget;e.sourceUrl=url;const pvm=popup.viewModel;if(pvm){let ce=PopupService.lastTarget;if(ce){while(!ce.atomControl){ce=ce.parentElement;if(!ce){break}}if(ce&&ce.atomControl&&ce.atomControl.viewModel){pvm.parent=ce.atomControl.viewModel}}}const theme=this.app.get(AtomStyleSheet).getNamedStyle(AtomPopupStyle);e.style.zIndex=1e4+this.lastPopupID+"";const isNotification=popup instanceof AtomNotification;if(isPopup){const sr=AtomUI.screenOffset(PopupService.lastTarget);const x=sr.x;const y=sr.y;const h=sr.height;e.style.position="absolute";e.style.left=x+"px";e.style.top=y+h+"px";e.classList.add(theme.name);this.popups.push(popup);disposables.add((()=>{this.popups.remove(popup)}));document.body.appendChild(e);if(isNotification){e.style.opacity="0";this.centerElement(popup)}}else{const eHost=(options===null||options===void 0?void 0:options.modal)?null:this.getHostForElement();if(eHost){eHost.appendChild(e)}else{const host=document.createElement("div");document.body.appendChild(host);host.style.position="absolute";host.appendChild(e);disposables.add({dispose(){host.remove()}});this.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,this.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,this.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,this.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,this.screen)}}popup.bindEvent(document.body,"keyup",(keyboardEvent=>{if(keyboardEvent.key==="Escape"){this.app.runAsync((()=>this.remove(popup)))}}));disposables.add({dispose:()=>{e.innerHTML="";e.remove()}});return yield returnPromise}))}centerElement(c){const e=c.element;const parent=e.parentElement;if(parent===window||parent===document.body){setTimeout((()=>{const ew=(document.body.offsetWidth-e.offsetWidth)/2;const eh=window.scrollY+(window.innerHeight-e.offsetHeight)/2;e.style.left=`${ew}px`;e.style.top=`${eh}px`;e.style.removeProperty("opacity")}),200);return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;e.style.left=`${x}px`;e.style.top=`${y}px`;e.style.removeProperty("opacity")}});WindowService.alertWindow=AtomAlertWindow;_export("WindowService",WindowService=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,JsonService])],WindowService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomTheme");System.register(["tslib","../../App","../../core/Colors","../../di/Inject","../../di/RegisterSingleton","../../services/NavigationService","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,Colors,Inject,RegisterSingleton,NavigationService,AtomStyleSheet,AtomTheme;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreColors){Colors=_coreColors.default},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){_export("AtomTheme",AtomTheme=class AtomTheme extends AtomStyleSheet{constructor(app,navigationService){super(app,"atom-theme");this.navigationService=navigationService;this.bgColor=Colors.white;this.color=Colors.gray;this.hoverColor=Colors.lightGray;this.activeColor=Colors.lightBlue;this.selectedBgColor=Colors.blue;this.selectedColor=Colors.white;this.padding=5;setTimeout((()=>{window.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}));document.body.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}))}),1e3)}});_export("AtomTheme",AtomTheme=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,NavigationService])],AtomTheme))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/WebApp");System.register(["../App","../core/AtomOnce","../core/AtomUri","../di/ServiceCollection","../services/BusyIndicatorService","../services/NavigationService","./services/WebBusyIndicatorService","./services/WindowService","./styles/AtomStyleSheet","./styles/AtomTheme"],(function(_export,_context){"use strict";var App,AtomOnce,AtomUri,ServiceCollection,BusyIndicatorService,NavigationService,WebBusyIndicatorService,WindowService,AtomStyleSheet,AtomTheme,WebApp;_export("default",void 0);return{setters:[function(_App){App=_App.App},function(_coreAtomOnce){AtomOnce=_coreAtomOnce.AtomOnce},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_diServiceCollection){ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_servicesWebBusyIndicatorService){WebBusyIndicatorService=_servicesWebBusyIndicatorService.WebBusyIndicatorService},function(_servicesWindowService){WindowService=_servicesWindowService.WindowService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesAtomTheme){AtomTheme=_stylesAtomTheme.AtomTheme}],execute:function(){_export("default",WebApp=class WebApp extends App{get parentElement(){return document.body}get root(){return this.mRoot}set root(v){const old=this.mRoot;if(old){old.dispose()}this.mRoot=v;if(!v){return}const pe=this.parentElement;const de=Array.from(pe.children);for(const iterator of de){iterator.remove()}pe.appendChild(v.element)}get theme(){return this.get(AtomStyleSheet)}set theme(v){this.put(AtomTheme,v);this.put(AtomStyleSheet,v)}get contextId(){var _a;(_a=this.mContextId)!==null&&_a!==void 0?_a:this.mContextId=parseInt((this.url.hash.contextId||"0").toString(),10);if(!this.mContextId){for(let index=0;index<100;index++){const cid=`contextId${index}`;const cidData=sessionStorage.getItem(`contextId${index}`);if(!cidData){this.mContextId=index;sessionStorage.setItem(cid,cid);this.url.hash.contextId=index;this.syncUrl();break}}}return`contextId_${this.mContextId}`}constructor(){super();this.hashUpdater=new AtomOnce;this.url=new AtomUri(location.href);this.put(NavigationService,this.resolve(WindowService));this.put(WebApp,this);this.put(BusyIndicatorService,this.resolve(WebBusyIndicatorService));ServiceCollection.instance.registerSingleton(AtomStyleSheet,(sp=>sp.resolve(AtomTheme)));window.addEventListener("hashchange",(()=>{this.hashUpdater.run((()=>{this.url=new AtomUri(location.href)}))}));this.initPromise=new Promise(((resolve,reject)=>{this.onReady(resolve)}))}updateDefaultStyle(textContent){if(this.styleElement){if(this.styleElement.textContent===textContent){return}}const ss=document.createElement("style");ss.textContent=textContent;if(this.styleElement){this.styleElement.remove()}document.head.appendChild(ss);this.styleElement=ss}syncUrl(){this.hashUpdater.run((()=>{const currentUrl=new AtomUri(location.href);const sourceHash=this.url.hash;const keyValues=[];let modified=false;for(const key in sourceHash){if(/^\_\$\_/.test(key)){continue}if(sourceHash.hasOwnProperty(key)){const element=sourceHash[key];const cv=currentUrl.hash[key];if(element!==undefined){keyValues.push({key,value:element})}if(cv===element){continue}modified=true}}if(!modified){return}const hash=keyValues.map((s=>`${s.key}=${encodeURIComponent(s.value)}`)).join("&");location.hash=hash}))}invokeReady(){if(document.readyState==="complete"){super.invokeReady();return}document.addEventListener("readystatechange",(e=>{super.invokeReady()}))}});(function(){if(typeof window.CustomEvent==="function"){return false}function CustomEvent(event,params){params=params||{bubbles:false,cancelable:false,detail:null};const evt=document.createEvent("CustomEvent");evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt}window.CustomEvent=CustomEvent})()}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/emoji-picker/EmojiPicker");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/web/WebApp","@web-atoms/web-controls/dist/mobile-app/BottomPopup"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,WebApp,BottomPopup,EmojiPicker;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistWebWebApp){WebApp=_webAtomsCoreDistWebWebApp.default},function(_webAtomsWebControlsDistMobileAppBottomPopup){BottomPopup=_webAtomsWebControlsDistMobileAppBottomPopup.default}],execute:function(){_export("default",EmojiPicker=class EmojiPicker extends BottomPopup{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,"Loading....");yield WebApp.installScript("https://cdn.jsdelivr.net/npm/emoji-mart@latest/dist/browser.js");yield sleep(500);this.renderer=XNode.create("div",{"style-background-color":"transparent","style-display":"flex","data-align-content":"center","data-justify-content":"center","data-align-items":"center","data-justify-items":"center","style-flex-direction":"column"},XNode.create("div",{"style-max-height":"100px","style-overflow":"hidden"},this.parameters.preview),XNode.create("div",{"data-element":"picker"}));const e=this.element.querySelector(`[data-element="picker"]`);const picker=new EmojiMart.Picker({previewPosition:"none",autoFocus:true,theme:"light",maxFrequentRows:2,onEmojiSelect:emoji=>this.close(emoji.native)});e.appendChild(picker)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/engagements/EngagementDetails");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/InjectProperty","../service/EngagementService","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,ToggleButtonBar,AtomRepeater,Bind,InfiniteRepeater,InjectProperty,EngagementService,DateFormats,EngagementDetails;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceEngagementService){EngagementService=_serviceEngagementService.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EngagementDetails=class EngagementDetails extends PopupWindowPage{constructor(){super(...arguments);this.selectedEngagement="";this.emails=[]}init(){return __awaiter(this,void 0,void 0,(function*(){const{email:{engagements,emailID,dateUpdated},emailAddressID,mailboxID}=this.parameters;this.title="Responses";this.selectedEngagement=engagements[0].engagement;this.headerRenderer=()=>XNode.create("div",null,XNode.create(ToggleButtonBar,{items:engagements,labelPath:x=>`${x.engagement} ${x.count}`,valuePath:x=>x.engagement,value:Bind.twoWaysImmediate((()=>this.selectedEngagement))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.emails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.engagementService.list({start,engagement:this.selectedEngagement,emailID,emailAddressID,mailboxID,dateUpdated}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("div",{text:item.senderName}),XNode.create("div",{text:item.engagement}),XNode.create("div",{text:DateFormats.relative.short(item.dateReceived)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",EngagementService)],EngagementDetails.prototype,"engagementService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/unsubscribe/UnsubscribeWindow");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/sleep","../../../commands/MailAppEvents"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxContact,XNode,InjectProperty,EntityService,Action,FetchBuilder,sleep,MailAppEvents,UnsubscribeWindow;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents}],execute:function(){_export("default",UnsubscribeWindow=class UnsubscribeWindow extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Are you sure?";this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create("div",{text:`From: ${this.parameters.email.senderName}`}),XNode.create("div",{text:this.parameters.email.senderEmail.emailAddress})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"unsubscribe-post"},"Unsubscribe"),XNode.create("button",{"data-click-event":"block-sender","data-margin-left":"auto"},"Block")))}))}unsubscribePost(){return __awaiter(this,void 0,void 0,(function*(){yield this.doUnsubscribe();yield sleep(2e3);this.close("unsubscribed");const{mailboxID,emailAddressID}=this.parameters;const entity=MailboxContact.create({mailboxID,emailAddressID,closeAllConversations:true});yield this.entityService.save(entity,(e=>e));MailAppEvents.mailboxContactUpdated.dispatchEvent(entity)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.unsubscribePost();const{mailboxID,emailAddressID}=this.parameters;const entity=MailboxContact.create({mailboxID,emailAddressID,blocked:true});yield this.entityService.save(entity,(e=>e));MailAppEvents.mailboxContactUpdated.dispatchEvent(entity);this.close("blocked")}))}doUnsubscribe(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("div",null,"Unsubscribing...."));const mce=this.parameters;yield FetchBuilder.post(`/api/emails/unsubscribe/${mce.emailID}/1`).asText();this.renderer=XNode.create("div",null,XNode.create("div",null,"Unsubscribed Successfully."))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],UnsubscribeWindow.prototype,"entityService",void 0);__decorate([Action({onEvent:"unsubscribe-post"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UnsubscribeWindow.prototype,"unsubscribePost",null);__decorate([Action({onEvent:"block-sender"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UnsubscribeWindow.prototype,"blockSender",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailLabel");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function EmailLabel({recipient=void 0}){return XNode.create("a",{href:`mailto:${recipient.emailAddress.emailAddress}`},recipient.name&&XNode.create("span",null,'"',recipient.name,'"'),"<",recipient.emailAddress.emailAddress,">")}_export("default",EmailLabel);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","../../../../common/controls/email-recipients/EmailLabel","./MiniComposeBox","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFile,Email,EmailRecipient,DomToString,XNode,EmailLabel,MiniComposeBox,Bind,EmailIconTextButton,SaveIconTextButton,Action,EntityService,InjectProperty,MiniComposePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsEmailRecipientsEmailLabel){EmailLabel=_commonControlsEmailRecipientsEmailLabel.default},function(_MiniComposeBox){MiniComposeBox=_MiniComposeBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){EmailIconTextButton=_commonControlsButtonsIconButton.EmailIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default}],execute:function(){_export("default",MiniComposePage=class MiniComposePage extends PopupWindowPage{init(){var _a,_b,_c,_d,_e,_f;return __awaiter(this,void 0,void 0,(function*(){const{htmlBody,attachments}=this.prepareEmail();const draft=Email.create({senderID:(_b=(_a=this.parameters.thread)===null||_a===void 0?void 0:_a.mailboxID)!==null&&_b!==void 0?_b:null,forwardedID:(_d=(_c=this.parameters.thread)===null||_c===void 0?void 0:_c.emailID)!==null&&_d!==void 0?_d:null,htmlBody,attachments});const to=[];if(this.parameters.mailto){const url=new URL(this.parameters.mailto);for(const e of url.pathname.split(",")){const ea=e.trim();if(!ea){continue}to.push(EmailRecipient.create({emailAddressText:ea}))}draft.subject=url.searchParams.get("subject");const inReplyTo=url.searchParams.get("in-reply-to");if(inReplyTo){draft.inReplyTo=inReplyTo}const body=url.searchParams.get("body")||"";draft.htmlBody=DomToString(XNode.create("div",null," ",...body.split("\n").map((x=>[x,XNode.create("br",null)])).flat()," "))}this.renderer=XNode.create("div",{"style-overflow-x":"hidden"},XNode.create(MiniComposeBox,{"style-min-width":"50vw","style-min-height":"50vh",senderID:(_f=(_e=this.parameters.thread)===null||_e===void 0?void 0:_e.mailboxID)!==null&&_f!==void 0?_f:null,draft,to,mailboxContacts:[],presenter:Bind.presenter((c=>this.composer=c)),showSendButton:false,showTo:true}),XNode.create("div",{"data-layout":"command-row"},XNode.create(EmailIconTextButton,{"event-click":()=>this.save(true),text:"Send"}),XNode.create(SaveIconTextButton,{"event-click":()=>this.save()})))}))}save(send=false){return __awaiter(this,void 0,void 0,(function*(){if(send){yield this.composer.sendEmail();return send}yield this.composer.save(true);return send}))}prepareEmail(){var _a,_b;this.title="Forward";let htmlBody;let attachments=[];if(!((_a=this.parameters.thread)===null||_a===void 0?void 0:_a.emailID)){htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null))));return{htmlBody,attachments}}const{thread:{email},asAttachment}=this.parameters;const{mimeFileID}=email;if(asAttachment){htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null))));attachments=[AppFile.create({name:"forwarded.eml",sourceEmailLogID:mimeFileID,contentType:"message/rfc822"})]}else{const{recipients}=email;const to=recipients===null||recipients===void 0?void 0:recipients.filter((x=>x.type==="to"));const cc=recipients===null||recipients===void 0?void 0:recipients.filter((x=>x.type==="cc"));htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null)),XNode.create("blockquote",{"data-type":"forwarded",style:"margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;"},XNode.create("summary",null,XNode.create("div",null,"From: ",email.senderName," ",`<${email.senderEmail.emailAddress}>`),XNode.create("div",null,(to===null||to===void 0?void 0:to.length)>0&&XNode.create("div",null,XNode.create("label",{style:"margin-right:10px;"},"To:"),...to.map((x=>XNode.create(EmailLabel,{recipient:x})))),(cc===null||cc===void 0?void 0:cc.length)>0&&XNode.create("div",null,XNode.create("label",{style:"margin-right:10px;"},"CC:"),...cc.map((x=>XNode.create(EmailLabel,{recipient:x})))),XNode.create("div",null,XNode.create("label",{style:"margin-right:10px;"},"Subject:"),XNode.create("label",null,email.subject)),XNode.create("div",{"data-type":"html-body"},XNode.create("div",{innerHTML:email.htmlBody}))))),XNode.create("footer",{"data-social-mail-commands":"emoji-bar"})));attachments=(_b=email.attachments)===null||_b===void 0?void 0:_b.map((x=>AppFile.create(Object.assign(Object.assign({},x),{appFileID:void 0}))))}return{htmlBody,attachments}}});__decorate([InjectProperty,__metadata("design:type",EntityService)],MiniComposePage.prototype,"entityService",void 0);__decorate([Action({close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposePage.prototype,"save",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationTags");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","@web-atoms/core/dist/core/XNode","../../../services/EntityService","../../../common/NumberFormats"],(function(_export,_context){"use strict";var __awaiter,AtomRepeater,MailboxContactTag,XNode,EntityService,toKMBString,ConversationTags;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){MailboxContactTag=_modelModel.MailboxContactTag},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString}],execute:function(){_export("default",ConversationTags=class ConversationTags extends AtomRepeater{constructor(app,e=document.createElement("conversation-tags")){super(app,e);this.contact=null;e.setAttribute("data-layout","flex-wrap-padding");this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.itemRenderer=item=>XNode.create("a",{"data-click-event":"open-tag","data-text-decoration":"none",href:`?tag=${item.tagID}`,text:`#${item.tag.name} (${toKMBString(item.count)})`});this.items=yield this.loadTags();if(this.items.length){return}this.element.style.display="none"}))}loadTags(){return __awaiter(this,void 0,void 0,(function*(){const es=this.resolve(EntityService);const{mailboxID,emailAddressID}=this.contact;const result=yield es.query(MailboxContactTag).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID)).include((x=>x.tag)).orderByDescending((x=>x.count)).toPagedList({size:10});return result.items}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationTagChips");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../../common/Sql","../../../common/cache/CacheTTL","../../../common/NumberFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,MailboxContactTag,Sql,CacheTTL,toKMBString,ConversationTagChips,cacheVersion,cacheSeconds;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){MailboxContactTag=_modelModel.MailboxContactTag},function(_commonSql){Sql=_commonSql.Sql},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString}],execute:function(){cacheVersion="c1";cacheSeconds=CacheTTL.seconds.fifteenMinutes;_export("default",ConversationTagChips=class ConversationTagChips extends AtomChips{constructor(){super(...arguments);this.contact=null}preCreate(){this.bindEvent(document.body,"openTag",(e=>{e.preventDefault();e.stopImmediatePropagation();this.items.add({tag:e.detail.tag})}));super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Search";this.itemRenderer=x=>{var _a,_b;return XNode.create(Chip,{draggable:true,label:(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.name)!==null&&_b!==void 0?_b:x.text})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:`${x.tag.name}(${toKMBString(x.count)})`});this.enterKeyHint="enter";this.itemToChip=(item,text)=>item?item:{text};this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a;return((_a=x.tag)===null||_a===void 0?void 0:_a.tagID)||x.text}}removeItem(item){if(!item.tagID){this.items.remove(item);return}super.removeItem(item)}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}if(!search.startsWith("#")){return}if(!this.contact){return}const{mailboxID,emailAddressID}=this.contact;search=search.substring(1).toLowerCase()+"%";let q=this.entityService.query(MailboxContactTag);q=q.where({mailboxID,emailAddressID,search},(p=>x=>Sql.text.like(x.tag.lowerCaseName,p.search)&&x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID));const items=yield q.orderBy((x=>x.tag.name)).include((x=>x.tag)).toPagedList({cancelToken,cacheSeconds,cacheVersion,hideActivityIndicator:true,size:10});return items.items}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ConversationTagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/web-hooks/WebHookPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,PopupWindowPage,WebHook,WebHookEventTypeArray,Form,FormField,Select,Bind,SaveIconTextButton,Action,InjectProperty,EntityService,WebHookPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebHook=_modelModel.WebHook;WebHookEventTypeArray=_modelModel.WebHookEventTypeArray},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",WebHookPage=class WebHookPage extends PopupWindowPage{constructor(){super(...arguments);this.model=WebHook.create({})}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Web Hook";if(this.parameters){this.model=this.parameters}this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(Select,{items:WebHookEventTypeArray,value:Bind.twoWaysImmediate((()=>this.model.eventType))})),XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.url))})),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-submit-event":"save-item"}))))}))}saveItem(){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.model,(c=>c));return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],WebHookPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-item",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebHookPage.prototype,"saveItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/web-hooks/WebHookListPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","../../../../model/model","../../../../common/date/DateFormats","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../site-editor-app/pages/store/web-hooks/WebHookPage","@web-atoms/web-controls/dist/PageNavigator"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,EntityService,XNode,AtomRepeater,Bind,WebHook,DateFormats,AddIconTextButton,Action,WebHookPage,PageNavigator,WebHookListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_modelModel){WebHook=_modelModel.WebHook},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_siteEditorAppPagesStoreWebHooksWebHookPage){WebHookPage=_siteEditorAppPagesStoreWebHooksWebHookPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default}],execute:function(){_export("default",WebHookListPage=class WebHookListPage extends ContentPage{constructor(){super(...arguments);this.items=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.title;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{"data-layout":"data-grid",items:Bind.oneWayAsync(((c,e,cancelToken)=>this.load({cancelToken}))),itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.eventType}),XNode.create("label",{text:x.url}),XNode.create("label",{text:x.lastEvent}),XNode.create("label",{text:DateFormats.relative.short(x.lastEventTime)}),XNode.create("menu",null,XNode.create("i",{class:"fas fa-times-circle","data-color":"red","data-cursor":"pointer"})))}));this.footerRenderer=()=>XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"add-item",text:"Add Web Hook"}))}))}load({cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID,emailAddressID}=this.parameters;let q=this.entityService.query(WebHook).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID));if(emailAddressID){q=q.where({emailAddressID},(p=>x=>x.emailAddressID===p.emailAddressID))}return this.items=yield q.toArray()}))}addItem(){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID,emailAddressID}=this.parameters;const item=WebHook.create({mailboxID,emailAddressID});const result=yield PageNavigator.pushPageForResult(WebHookPage,item);this.items.add(result)}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],WebHookListPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"add-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebHookListPage.prototype,"addItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","./service/ConversationService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/InlinePopupControl","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage","../../../services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","../../../common/date/DateFormats","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","../../../common/pages/logs/LogsPage","../../../common/SocialMailApp","./detail/MailDetailPage","../../../common/controls/file-preview/FilePreview","./mini-compose/MiniComposeBox","@web-atoms/core/dist/web/core/AtomUI","../../../common/events/CommonEvents","@web-atoms/date-time/dist/DateTime","../../../common/controls/emoji-picker/EmojiPicker","../../../services/EntityService","./engagements/EngagementDetails","../../../common/apiPath","../../../common/controls/buttons/IconButton","./unsubscribe/UnsubscribeWindow","./mini-compose/MiniComposePage","@social-mail/social-mail-client/content/images/gif/loader.gif","./ConversationTags","./ConversationTagChips","./web-hooks/WebHookListPage","./styles/conversation-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,isMobileView,Email,EmailEngagement,EmailRecipient,MailboxContactEmail,Tag,XNode,AtomRepeater,InfiniteRepeater,ConversationService,renderMailPromise,InjectProperty,InlinePopupControl,Bind,Action,PageNavigator,ComposeMailPage,MailboxSocket,LimitedText,DateFormats,InlinePopup,MenuItem,PopupActionButton,LogsPage,SocialMailApp,MailDetailPage,FilePreview,MiniComposeBox,AncestorEnumerator,CommonEvents,DateTime,EmojiPicker,EntityService,EngagementDetails,apiPath,AddIconTextButton,DeleteIconTextButton,EditIconTextButton,UnsubscribeWindow,MiniComposePage,loaderImage,ConversationTags,ConversationTagChips,WebHookListPage,ConversationPage,itemCss,css,id,fixLinks;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage;isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail;Tag=_modelModel.Tag},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_serviceConversationService){ConversationService=_serviceConversationService.default;renderMailPromise=_serviceConversationService.renderMailPromise},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicInlinePopupControl){InlinePopupControl=_webAtomsWebControlsDistBasicInlinePopupControl.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default},function(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopup=_webAtomsWebControlsDistBasicInlinePopup.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_commonPagesLogsLogsPage){LogsPage=_commonPagesLogsLogsPage.default},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_detailMailDetailPage){MailDetailPage=_detailMailDetailPage.default},function(_commonControlsFilePreviewFilePreview){FilePreview=_commonControlsFilePreviewFilePreview.default},function(_miniComposeMiniComposeBox){MiniComposeBox=_miniComposeMiniComposeBox.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonControlsEmojiPickerEmojiPicker){EmojiPicker=_commonControlsEmojiPickerEmojiPicker.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_engagementsEngagementDetails){EngagementDetails=_engagementsEngagementDetails.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;EditIconTextButton=_commonControlsButtonsIconButton.EditIconTextButton},function(_unsubscribeUnsubscribeWindow){UnsubscribeWindow=_unsubscribeUnsubscribeWindow.default},function(_miniComposeMiniComposePage){MiniComposePage=_miniComposeMiniComposePage.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default},function(_ConversationTags){ConversationTags=_ConversationTags.default},function(_ConversationTagChips){ConversationTagChips=_ConversationTagChips.default},function(_webHooksWebHookListPage){WebHookListPage=_webHooksWebHookListPage.default},function(_stylesConversationPageLocalLess){}],execute:function(){itemCss="conversation-page-item-css";css="conversation-page-css";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.keep=true;this.mails=[];this.version=1;this.tags=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const url=new URL(location.href);const tag=url.searchParams.get("tag");if(tag){const tagEntity=yield this.resolve(EntityService).query(Tag).where({tag},(p=>x=>x.lowerCaseName===p.tag)).firstOrDefault();this.tags.add({tag:tagEntity})}const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(ConversationTags,{contact:mb})))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags}),XNode.create("span",{text:title}));this.headerRenderer=()=>XNode.create(ConversationTags,{contact:mb})}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,searchItems:this.tags.length?this.tags:null,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));const isDraft=item.status==="draft";if(item.status==="closed"){return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:`Closed by ${item.senderName}`}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)})))}let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(isSending){let tm=remaining.totalMilliseconds;if(tm<0){tm=1e3}setTimeout((()=>this.mailsRepeater.refreshItem(thread)),tm)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMailPromise({thread})))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),isDraft&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create(EditIconTextButton,{"data-click-event":"edit-draft",text:"Edit Draft"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-draft",text:"Delete Draft"})),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"}),item.hasUnsubscribe&&XNode.create("button",{"data-layout":"link","data-margin-left":"auto","data-click-event":"unsubscribe-email"},"Unsubscribe")),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:"Sending"}),XNode.create("img",{"style-max-height":"30px",src:loaderImage}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px","data-font-size":"small"},XNode.create(MenuItem,{"data-click-event":"open-contact-web-hooks",label:"Web Hooks"}),XNode.create(MenuItem,{"data-click-event":"close-all-threads",label:"Close All Threads"}),!this.parameters.autoClose?XNode.create(MenuItem,{"data-click-event":"close-permanently",label:"Close Threads Permanently"}):XNode.create(MenuItem,{"data-click-event":"open-threads",label:"Open Threads on new Email"}),this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.showComposeButton()}))}openWebHooks(){return __awaiter(this,void 0,void 0,(function*(){const title=`Web Hooks for Contact ${this.parameters.emailAddress.emailAddress}`;PageNavigator.pushPage(WebHookListPage,{mailboxID:this.parameters.mailboxID,emailAddressID:this.parameters.emailAddressID,title})}))}showComposeButton(email=null){if(this.parameters.newRequest||this.parameters.folderTagID===SocialMailApp.newFolderTagID){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender does not exist in your contacts, and this sender's emails will be restricted in future unless you approve the sender."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Approve Sender"})));return}if(this.parameters.blocked){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender is blocked by you."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Unblock Sender"})));return}if(email){this.mailsRepeater.items.remove(email)}this.footerRenderer=()=>XNode.create("div",{"data-position":"absolute","style-right":"20px","style-bottom":"5px","data-layout":"row"},XNode.create(AddIconTextButton,{"event-click":()=>this.startCompose(),"data-margin-left":"auto",text:"Compose"}))}startCompose(thread=null,email=null){this.footerRenderer=()=>{var _a;return XNode.create(MiniComposeBox,{senderID:this.parameters.mailboxID,mailboxContacts:[thread!==null&&thread!==void 0?thread:this.parameters],draft:(_a=thread===null||thread===void 0?void 0:thread.email)!==null&&_a!==void 0?_a:email})}}approveSender(){return __awaiter(this,void 0,void 0,(function*(){const es=this.resolve(EntityService);this.parameters.newRequest=false;this.parameters.blocked=false;this.parameters.folderTagID=SocialMailApp.contactsFolderTagID;yield es.save(this.parameters,(c=>c));this.showComposeButton()}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;const index=this.mails.findIndex((x=>x.emailID===emailID));if(index!==-1){this.mails.removeAt(index)}this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}closeAllThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closeAllThreads(this.parameters)}))}closePermanent(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}openThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread,true),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_b=thread.email)===null||_b===void 0?void 0:_b.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}onEmailForward(thread,asAttachment=false){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(MiniComposePage,{thread,asAttachment})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMailPromise({thread})))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail(mce,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressID:this.parameters.emailAddressID,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressID,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`<${this.parameters.emailAddress.emailAddress}>`}<br/>\n Subject: ${email.subject}\n </summary>\n <div>\n\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});this.startCompose(null,child)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}unsubscribeEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const result=yield PageNavigator.pushPageForResult(UnsubscribeWindow,mce);switch(result){case"blocked":this.parameters.blocked=true;break}}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"open-contact-web-hooks"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openWebHooks",null);__decorate([Action({onEvent:"emailSent"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"showComposeButton",null);__decorate([Action({onEvent:"edit-draft"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"startCompose",null);__decorate([Action({onEvent:"approve-sender"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"approveSender",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"close-all-threads",confirm:"You sure you want to close all threads?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closeAllThreads",null);__decorate([Action({onEvent:"close-permanently",confirm:"Are you sure, you wan to close this contact permanently?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closePermanent",null);__decorate([Action({onEvent:"open-threads",confirm:"Are you sure you want to change this contact to normal?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openThreads",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onEmailForward",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null);__decorate([Action({onEvent:"unsubscribe-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unsubscribeEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","../../../services/mime-service/MimeMessage","../files/service/CloudFileService","./ChooseTemplatePage.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,MimeMessage,CloudFileService,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_filesServiceCloudFileService){CloudFileService=_filesServiceCloudFileService.default},function(_ChooseTemplatePageLocalLess){}],execute:function(){css="choose-template-page";_export("default",ChooserTemplatePage=class ChooserTemplatePage extends PopupWindowPage{constructor(){super(...arguments);this.selected=null;this.selectedFile=null;this.search=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){(_a=this.parameters)!==null&&_a!==void 0?_a:this.parameters={};(_b=(_c=this.parameters).chooseFile)!==null&&_b!==void 0?_b:_c.chooseFile=false;this.title="Choose the template";this.root=AppFile.create({name:"Drives"});const drives=yield this.cloudFileService.allTemplates();this.root.children=drives;this.renderer=XNode.create("div",{class:css},XNode.create(TreeView,{class:"folders",root:this.root,childrenProperty:item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]},selectedItem:Bind.twoWaysImmediate((()=>this.selected)),labelRenderer:x=>XNode.create("span",{text:x.name,title:x.title,"data-click-event":x.isFolder?"none":"select-item"})}),XNode.create("div",{class:"files"},XNode.create("div",{innerHTML:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadTemplate(this.selected,cancelToken)))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!(this.parameters.chooseFile?this.selectedFile:this.selected)))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Choose"}))}))}loadTemplate(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!(file===null||file===void 0?void 0:file.url)){return}const ac=new AbortController;const{signal}=ac;cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel((()=>ac.abort()));const data=yield fetch(file.url,{signal});const node=yield MimeMessage.load(data.body,file.name);if(cancelToken===null||cancelToken===void 0?void 0:cancelToken.cancelled){throw new Error("cancelled")}return node.html}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooserTemplatePage.prototype,"cloudFileService",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Resizable");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../mobile-app/MobileApp","../styles/resizable.global.less"],(function(_export,_context){"use strict";var __rest,AtomDisposableList,XNode,AtomControl,isMobileView,pointerDown;function resizable(_a,child){var{direction="horizontal"}=_a,a=__rest(_a,["direction"]);if(isMobileView){return child}return XNode.create("div",Object.assign({},a,{"data-resizable":"resizable","data-direction":direction}),child,XNode.create("div",{"data-element":"resizer","event-pointerdown":pointerDown}))}_export("default",resizable);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_mobileAppMobileApp){isMobileView=_mobileAppMobileApp.isMobileView},function(_stylesResizableGlobalLess){}],execute:function(){pointerDown=e=>{const target=e.currentTarget;const direction=target.getAttribute("data-direction");const previous=target.parentElement;const disposables=new AtomDisposableList;const{x,y}=e;const width=previous.clientWidth;const control=AtomControl.from(target);target.setPointerCapture(e.pointerId);target.setAttribute("data-resizing","1");disposables.add((()=>{target.removeAttribute("data-resizing");target.releasePointerCapture(e.pointerId)}));disposables.add(control.bindEvent(target,"pointermove",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px"})));disposables.add(control.bindEvent(target,"pointerup",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px";disposables.dispose()})))}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxContact,XNode,Form,FormField,Bind,Action,InjectProperty,MailboxService,DateTime,AddMiniContactPage,errorForInvalidEmail;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){errorForInvalidEmail=e=>{if(!e){return"Email address is required"}if(/[\s\:\/\\\#\$\%\^]/i.test(e.trim())){return"Email address cannot contain space or special characters."}if(!/\@/i.test(e)){return"Invalid email address"}return""};_export("default",AddMiniContactPage=class AddMiniContactPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({name:"",emailAddressText:""})}init(){return __awaiter(this,void 0,void 0,(function*(){this.model.mailboxID=this.parameters.mailboxID;this.title="Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Valid Email Address",required:true,error:Bind.oneWay((()=>errorForInvalidEmail(this.model.emailAddressText)))},XNode.create("input",{autofocus:true,placeholder:"... someone@socialmail.in ",value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"add-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-save"}),"Add"))))}))}addContact(){return __awaiter(this,void 0,void 0,(function*(){this.model.folderTagID=this.parameters.folders.find((x=>/contact/i.test(x.tag.name))).tagID;this.model.dateUpdated=DateTime.now;return yield this.mailboxService.saveContact(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],AddMiniContactPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddMiniContactPage.prototype,"addContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/StringFormat");System.register([],(function(_export,_context){"use strict";var toSentenceCase;return{setters:[],execute:function(){_export("toSentenceCase",toSentenceCase=x=>x.charAt(0).toLocaleUpperCase()+x.substring(1))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","../../../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","../../../services/socket/sockets","./ChooseMailboxPage","../../../common/pages/folders/ChooseTemplatePage","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/Resizable","../../../common/events/CommonEvents","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/ToggleButtonBar","./contact/AddMiniContactPage","@web-atoms/core/dist/web/services/PopupService","../../../common/pages/mailboxes/services/MailboxService","../../../common/NumberFormats","../../commands/MailAppEvents","../../../services/EntityService","../../../common/StringFormat","../../../common/menu/MenuService","./web-hooks/WebHookListPage","./styles/mailbox-contacts.local.less","../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MailService,AtomRepeater,Mailbox,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,MailboxSocket,ChooseMailboxPage,ChooserTemplatePage,isMobileView,Resizable,CommonEvents,Checkbox,ToggleButtonBar,AddMiniContactPage,PopupService,MailboxService,toKMBString,MailAppEvents,EntityService,toSentenceCase,MenuService,WebHookListPage,DateFormats,MailsPage,displayName,types,conversationTypes,getConversationNumber;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){Mailbox=_modelModel.Mailbox},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(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_ChooseMailboxPage){ChooseMailboxPage=_ChooseMailboxPage.default},function(_commonPagesFoldersChooseTemplatePage){ChooserTemplatePage=_commonPagesFoldersChooseTemplatePage.default},function(_webAtomsWebControlsDistMobileAppMobileApp){isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_webAtomsWebControlsDistBasicResizable){Resizable=_webAtomsWebControlsDistBasicResizable.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_contactAddMiniContactPage){AddMiniContactPage=_contactAddMiniContactPage.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonStringFormat){toSentenceCase=_commonStringFormat.toSentenceCase},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default},function(_webHooksWebHookListPage){WebHookListPage=_webHooksWebHookListPage.default},function(_stylesMailboxContactsLocalLess){},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){displayName=item=>{const{emailAddress:{emailAddress,name}={}}=item;if(name&&name!==emailAddress){return name}return emailAddress.split("@")[0]};types=[{label:"Contacts",value:false},{label:"Blocked",value:true}];conversationTypes=[{label:"All",value:"all"},{label:"Open",value:"open"},{label:"Closed",value:"closed"}];getConversationNumber=(item,mb)=>{switch(item.value){case"open":return toKMBString(Number(mb.openThreads));case"closed":return toKMBString(Number(mb.totalThreads)-Number(mb.openThreads))}return toKMBString(Number(mb.totalThreads))};_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.keep=true;this.folders=[];this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.searchInMessages=false;this.version=1;this.conversationType="all";this.folder=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.menuService.addMailbox(mailbox);this.folder=mailbox.folders[0];if(mailbox.isExternal){const es=this.resolve(EntityService);es.invoke(Mailbox,"fetch",mailbox).catch(console.error)}this.element.className="mailbox-contacts-page";document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;this.updateNotifications(mailbox);if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Resizable,null,XNode.create("div",{class:"threads-container"},XNode.create("div",{class:"blocked-bar"},XNode.create(ToggleButtonBar,{items:mailbox.folders,labelPath:x=>x.main?toSentenceCase(x.tag.name):`${toSentenceCase(x.tag.name)} (${x.count})`,selectedItem:Bind.sourceTwoWays(this,(x=>x.source.folder))}),XNode.create(ToggleButtonBar,{"style-display":Bind.oneWay((()=>this.folder.main)),items:conversationTypes,itemRenderer:item=>XNode.create("div",{"data-item-type":"toggle-button",class:"conversation-type"},XNode.create("label",{text:item.label}),XNode.create("label",{"data-font-size":"xx-small",text:Bind.source(item,(x=>getConversationNumber(x.source,this.currentMailbox)))})),value:Bind.sourceTwoWays(this,(x=>x.source.conversationType))})),XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),presenter:Bind.presenter((c=>this.threadsRepeater=c)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,searchInMessages:this.searchInMessages,conversationType:this.conversationType,mailboxID:this.currentMailbox.mailboxID,version:this.version,folderID:this.folder.tagID,cancelToken}))),{itemRenderer:item=>{var _a,_b;const name=displayName(item)+" "+item.emailAddress.emailAddress;const subject=(_a=item.lastEmail)===null||_a===void 0?void 0:_a.subject;const summary=(_b=item.lastEmail)===null||_b===void 0?void 0:_b.summary;return XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},XNode.create("div",{class:"name",title:name,text:name}),XNode.create("div",{class:"subject",title:subject,text:subject}),XNode.create("div",{class:"summary",title:summary,text:summary}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}),item.openThreads&&XNode.create("div",{class:"open-threads",text:toKMBString(item.openThreads)}),XNode.create("div",{class:"updated",title:DateFormats.withWeekDayAndTime(item.dateUpdated),text:DateFormats.relative.short(item.dateUpdated,{suffix:""})}))}})),XNode.create("div",{class:"add-contact"},XNode.create("button",{"data-click-event":"add-new-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-plus"}),"Contact"),XNode.create("i",{"data-click-event":"open-web-hooks",class:"fas fa-gears"})))));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}updateMailboxContact(mc){const{mailboxID,emailAddressID}=mc;const item=this.threadsRepeater.items.find((x=>x.mailboxID===mailboxID&&x.emailAddressID===emailAddressID));this.threadsRepeater.refreshItem(item)}openWebHooks(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebHookListPage,{mailboxID:this.parameters.id,title:`Web Hooks for Mailbox ${this.title}`})}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox});this.version++}))}composeSocial(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox,social:true});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}onThreadMarkedAsBlocked(thread){const index=this.mails.findIndex((x=>x.emailAddressID===thread.emailAddressID));if(index===-1){return}this.mails.removeAt(index);this.selectedThread=this.mails[index]}addNewContact(){return __awaiter(this,void 0,void 0,(function*(){const c=yield PageNavigator.pushPageForResult(AddMiniContactPage,this.currentMailbox);let existing=this.mails.find((x=>x.emailAddressID===c.emailAddressID));if(!existing){existing=c;this.mails.add(existing)}this.selectedThread=existing}))}updateMailboxNotify(){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){const m=this.currentMailbox;const message=m.notify?`Disable notification for this ${((_a=m.emailAddress)===null||_a===void 0?void 0:_a.name)||""} ${(_b=m.emailAddress)===null||_b===void 0?void 0:_b.emailAddress}?`:`Enable notification for this ${((_c=m.emailAddress)===null||_c===void 0?void 0:_c.name)||""} ${(_d=m.emailAddress)===null||_d===void 0?void 0:_d.emailAddress}?`;if(!(yield PopupService.confirm({message,title:"Are you sure"}))){return}yield this.resolve(MailboxService).toggleNotify(m);this.updateNotifications(m)}))}updateNotifications(mailbox){this.actionRenderer=()=>XNode.create("i",{class:mailbox.notify?"fad fa-bell":"fad fa-bell-slash",title:mailbox.notify?"Disable Notifications":"Enable Notifications","data-click-event":"update-mailbox-notify"})}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([InjectProperty,__metadata("design:type",MenuService)],MailsPage.prototype,"menuService",void 0);__decorate([Action({onEvent:MailAppEvents.mailboxContactUpdated}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"updateMailboxContact",null);__decorate([Action({onEvent:"open-web-hooks"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"openWebHooks",null);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"compose-social"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeSocial",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null);__decorate([Action({onEvent:CommonEvents.onThreadMarkedAsBlocked}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"onThreadMarkedAsBlocked",null);__decorate([Action({onEvent:"add-new-contact"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"addNewContact",null);__decorate([Action({onEvent:"update-mailbox-notify"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"updateMailboxNotify",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../services/email/EmailContentDownloader","../../mails/service/EngagementService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Email,Mailbox,MailboxContact,MailboxContactEmail,Sql,EmailContentDownloader,EngagementService,ChannelService;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){Email=_modelModel.Email;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_mailsServiceEngagementService){EngagementService=_mailsServiceEngagementService.default}],execute:function(){ChannelService=class ChannelService{getMails({channelID,published=true,start=0,size=100,search="",version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail);if(channelID){q=q.where({channelID},(p=>x=>x.mailboxID===p.channelID))}if(published){q=q.where(void 0,(p=>x=>x.email.status==="published"))}else{q=q.where(void 0,(p=>x=>x.email.status!=="published"))}if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.email.subject,p.search)))}const result=yield q.orderByDescending((x=>x.emailID)).include((x=>[x.email,x.email.attachments])).toPagedList({start,size,cancelToken});const tasks=[];for(const iterator of result.items){tasks.push(this.emailContentDownloader.downloadPost(iterator.email));tasks.push(this.engagementService.downloadEngagements(iterator.email))}yield Promise.all(tasks);return{items:result.items.map((x=>x.email)),total:result.total}}))}getMailbox(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).include((x=>x.emailAddress)).where({id,isChannel:true},(p=>x=>x.isChannel===p.isChannel&&x.mailboxID===p.id)).firstOrDefault()}))}subscribers({id,cancelToken,size,start,search,v}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({id},(p=>x=>x.mailboxID===p.id));if(search){if(!/\%/i.test(search)){search+="%"}q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress.name,p.search)||Sql.text.iLike(x.emailAddress.emailAddress,p.search)))}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}))}save(model){return this.entityService.save(model)}saveAll(subscribers){return __awaiter(this,void 0,void 0,(function*(){const cloners=[];for(const iterator of subscribers){cloners.push(this.entityService.cloner(iterator).copy)}yield this.entityService.save(cloners)}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID}=email;yield this.entityService.save(Email.create({emailID,status:"deleted"}));email.status="deleted"}))}};__decorate([Inject,__metadata("design:type",EntityService)],ChannelService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ChannelService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ChannelService.prototype,"engagementService",void 0);ChannelService=__decorate([DITransient({})],ChannelService);_export("default",ChannelService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/XNode","../../../commands/AppCommands","@web-atoms/web-controls/dist/basic/AtomRepeater","../services/ChannelService","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/LimitedText","../../../../common/date/DateFormats","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/InlinePopupControl","@web-atoms/web-controls/dist/basic/PopupButton","../../mails/detail/MailDetailPage","../../../../common/apiPath","../../mails/service/ConversationService","./channel-detail-page.local.less","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,XNode,AppCommands,AtomRepeater,ChannelService,InfiniteRepeater,Bind,LimitedText,DateFormats,Action,PageNavigator,InlinePopupControl,MenuItem,MailDetailPage,apiPath,renderMailPromise,Checkbox,ChannelDetailPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicInlinePopupControl){InlinePopupControl=_webAtomsWebControlsDistBasicInlinePopupControl.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_mailsDetailMailDetailPage){MailDetailPage=_mailsDetailMailDetailPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_mailsServiceConversationService){renderMailPromise=_mailsServiceConversationService.renderMailPromise},function(_channelDetailPageLocalLess){},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){css="channel-detail-page";_export("default",ChannelDetailPage=class ChannelDetailPage extends ContentPage{constructor(){super(...arguments);this.search="";this.version=1;this.published=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.mailbox=yield this.mailboxService.get(this.parameters.id);this.title=`${this.mailbox.emailAddress.name||this.mailbox.name} (${this.mailbox.emailAddress.emailAddress})`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.published)),text:"Published"}),XNode.create("a",{"data-click-event":"route",href:AppCommands.openSubscribers.displayRoute({id:this.parameters.id})},"Subscribers"));this.renderer=XNode.create("section",{class:css},XNode.create(AtomRepeater,Object.assign({"data-blog-list":"blog-list"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.getMails({published:this.published,channelID:this.parameters.id,search:this.search,version:this.version,cancelToken}))),{itemRenderer:email=>XNode.create("section",{"data-element":"blog-item"},XNode.create("div",{"data-element":"bg"}),XNode.create("h4",{"data-element":"title",text:email.subject}),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),XNode.create("h6",{"data-element":"author",text:email.senderName}),XNode.create("i",{"data-element":"actions","data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical"}),XNode.create("section",{"data-element":"content"},XNode.create(LimitedText,{height:200},XNode.create("section",Object.assign({},renderMailPromise({email}))))))})))}))}mailOptions(email,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},(email===null||email===void 0?void 0:email.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-trash-can","data-click-event":"delete-mail",label:"Hide"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs//${email.mimeFileID}/${email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"})))}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){yield this.channelService.deleteMail(email);this.version++}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChannelDetailPage.prototype,"mailboxService",void 0);__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelDetailPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"delete-mail",confirm:"Are you sure you want to delete this email?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"deleteMail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../model/model","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../services/ChannelService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Form,FormField,PopupWindowPage,MailboxContact,SaveIconTextButton,Action,ChannelService,InjectProperty,Checkbox,AddSubscriberPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddSubscriberPage=class AddSubscriberPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({});this.emailAddress=""}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.title="Add/Invite new subscriber";(_a=(_b=this.model).emailAddressText)!==null&&_a!==void 0?_a:_b.emailAddressText="";this.model.mailboxID=this.parameters.id;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Email Address"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"add-subscriber",text:"Add"}))))}))}inviteSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="invited";yield this.channelService.save(this.model)}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.channelService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],AddSubscriberPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"invite-subscriber",success:"Invitation sent",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"inviteSubscriber",null);__decorate([Action({onEvent:"add-subscriber",success:"Subscriber added successfully",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"addSubscriber",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,Checkbox,Form,FormField,PopupWindowPage,SaveIconTextButton,UpdateRightsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",UpdateRightsPage=class UpdateRightsPage extends PopupWindowPage{constructor(){super(...arguments);this.model={isOwner:false,canContribute:false}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Update Rights of selected subscribers";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.model),text:"Update"}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../services/ChannelService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./add/AddSubscriberPage","../../../../common/controls/buttons/IconButton","./rights/UpdateRightsPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,ChannelService,XNode,AtomRepeater,SelectAll,SelectorCheckBox,InfiniteRepeater,Bind,MenuItem,PopupActionButton,Action,PageNavigator,AddSubscriberPage,DeleteIconTextButton,SaveIconTextButton,UpdateRightsPage,ChannelSubscribersPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_addAddSubscriberPage){AddSubscriberPage=_addAddSubscriberPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_rightsUpdateRightsPage){UpdateRightsPage=_rightsUpdateRightsPage.default}],execute:function(){_export("default",ChannelSubscribersPage=class ChannelSubscribersPage extends ContentPage{constructor(){super(...arguments);this.search="";this.subscribers=[];this.version=1;this.selected=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.channelService.getMailbox(this.parameters.id);const{emailAddress}=this.model;const title=emailAddress.name?`${emailAddress.name} (${emailAddress.emailAddress})`:emailAddress.emailAddress;this.title=title;this.actionRenderer=()=>XNode.create(PopupActionButton,{class:"fas fa-plus"},XNode.create(MenuItem,{"data-click-event":"add-subscriber",label:"Add Subscriber"}),XNode.create(MenuItem,{"data-click-event":"import-subscribers",label:"Import CSV"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(SelectAll,{items:this.subscribers,selectedItems:this.selected}),XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.subscribers,selectedItems:this.selected,allowMultipleSelection:true},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.subscribers({start,size:200,id:this.parameters.id,search:this.search,cancelToken,v:this.version}))),{itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create(SelectorCheckBox,null),XNode.create("div",{text:item.emailAddress.emailAddress}),XNode.create("div",{text:item.status}),XNode.create("div",{text:item.isOwner?"Is Owner":""}),XNode.create("div",{text:item.canContribute?"Can Contribute":""}))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected.length>0)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-click-event":"activate-subscribers",text:"Activate"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-subscribers",text:"Delete"}),XNode.create(SaveIconTextButton,{"data-click-event":"update-rights",text:"Update Rights"}))}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(AddSubscriberPage,{id:this.parameters.id});this.version++}))}deleteSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.$deleted=true}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}activateSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.status="active"}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}updateRights(){return __awaiter(this,void 0,void 0,(function*(){const rights=yield PageNavigator.pushPageForResult(UpdateRightsPage);for(const iterator of this.selected){iterator.canContribute=rights.canContribute;iterator.isOwner=rights.isOwner}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelSubscribersPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"add-subscriber"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"addSubscriber",null);__decorate([Action({onEvent:"delete-subscribers",confirm:"Are you sure you want to remove selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"deleteSubscribers",null);__decorate([Action({onEvent:"activate-subscribers",confirm:"Are you sure you want to activate given subscribers?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"activateSubscribers",null);__decorate([Action({onEvent:"update-rights"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"updateRights",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../controls/repeater/InfiniteRepeater","../../NumberFormats","@web-atoms/core/dist/view-model/Action","../../../web/commands/AppCommands","../files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomRepeater,ContentPage,InfiniteRepeater,toFileSize,Action,AppCommands,CloudFileService,DriveListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_filesServiceCloudFileService){CloudFileService=_filesServiceCloudFileService.default}],execute:function(){_export("default",DriveListPage=class DriveListPage extends ContentPage{constructor(){super(...arguments);this.rootFolders=[];this.version=1;this.search=""}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.selectedFolder=null;this.actionRenderer=()=>XNode.create("i",{class:"fas fa-plus","data-click-event":"create-folder"});this.selectedFolder=(_a=this.rootFolders[0])!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.rootFolders,selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder)),"data-list-selection":"default","data-selection-updated-event":"on-selection-changed"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.cloudFileService.drives({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.appFileID})},item.name)),XNode.create("td",{text:item.creator.displayName}),XNode.create("td",{text:toFileSize(item.fileSize)}))})))}))}createFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder you want to create");if(!name){return}const folder=yield this.cloudFileService.createFolder({name});this.rootFolders.add(folder);this.selectedFolder=folder}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],DriveListPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"create-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DriveListPage.prototype,"createFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/FileShareService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,AppFileAccess,Sql,FileShareService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){FileShareService=class FileShareService{list(fileID,expired=false){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(AppFileAccess).where({fileID},(p=>x=>x.fileID===p.fileID));if(!expired){q=q.where((x=>x.expires===null||x.expires>Sql.date.now()))}return q.include((x=>[x.file,x.user])).toArray()}))}save(fa){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(fa);const{fileID,userID}=fa;return this.entityService.query(AppFileAccess).where({userID,fileID},(p=>x=>x.fileID===p.fileID&&x.userID===p.userID)).include((x=>x.user)).firstOrDefault()}))}};__decorate([Inject,__metadata("design:type",EntityService)],FileShareService.prototype,"entityService",void 0);FileShareService=__decorate([DITransient()],FileShareService);_export("default",FileShareService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Switch");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/switch.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function Switch(_a){var{checked,onLabel,offLabel}=_a,a=__rest(_a,["checked","onLabel","offLabel"]);return XNode.create("label",Object.assign({"data-ui-switch":"ui-switch"},a),XNode.create("input",{class:"switch-input",type:"checkbox",checked}),XNode.create("span",{class:"switch-label","data-on":onLabel!==null&&onLabel!==void 0?onLabel:"On","data-off":offLabel!==null&&offLabel!==void 0?offLabel:"Off"}),XNode.create("span",{class:"switch-handle"}))}_export("default",Switch);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesSwitchGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../../admin/pages/users/services/AdminUserService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,AdminUserService,XNode,Bind,UserDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_adminPagesUsersServicesAdminUserService){AdminUserService=_adminPagesUsersServicesAdminUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",UserDropDown=class UserDropDown extends DropDown{init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.valuePath=user=>user.userID;this.itemRenderer=user=>XNode.create("div",null,user.displayName," (",user.userID,", ",user.userName,")");this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>__awaiter(this,void 0,void 0,(function*(){return(yield this.userService.list({search:this.search,start:0,size:20,cancelToken})).items}))))}))}))}preCreate(){super.preCreate();this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDropDown.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Calendar");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/date-time/dist/DateTime","./AtomRepeater","./Select","./styles/calendar.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,WatchProperty,XNode,DateTime,AtomRepeater,Select,Calendar,start,getWeekDays,getMonths,weekdays,months;function setValue(target,name,value){Object.defineProperty(target,name,{value});return value}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default},function(_Select){Select=_Select.default},function(_stylesCalendarGlobalLess){}],execute:function(){start=DateTime.now;getWeekDays=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<7;i++){weekDays.push(baseDate.toLocaleDateString(locale,{weekday:type}));baseDate.setDate(baseDate.getDate()+1)}return weekDays};getMonths=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<12;i++){weekDays.push(baseDate.toLocaleDateString(locale,{month:type}));baseDate.setMonth(i+1)}return weekDays};_export("weekdays",weekdays={get short(){return setValue(this,"short",getWeekDays(navigator.language,"short"))},get long(){return setValue(this,"long",getWeekDays(navigator.language,"long"))}});_export("months",months={get short(){return setValue(this,"short",getMonths(navigator.language,"short"))},get long(){return setValue(this,"long",getMonths(navigator.language,"long"))},get items(){return setValue(this,"items",this.long.map(((x,i)=>({label:x,value:i}))))}});_export("default",Calendar=class Calendar extends AtomRepeater{constructor(){super(...arguments);this.dateModified=false}set startDate(v){if(this.dateModified){return}const year=v.getFullYear();const month=v.getMonth();if(this.year!==year){this.year=year}if(this.month!==month){this.month=month}}get dates(){const year=this.year;const tm=this.month;if(tm===undefined||year===undefined){return[]}const month=Number(tm);const today=DateTime.today;let startDate=new DateTime(year,month,1);while(startDate.dayOfWeek!==1){startDate=startDate.add(-1)}const a=[];const y=startDate.year;const m=startDate.month;const ef=this.enableFunc;for(let index=0;index<42;index++){const cd=startDate.add(index);const item={label:cd.day+"",row:Math.floor(index/7),column:index%7,type:null,value:cd,isToday:cd.equals(today),isOtherMonth:month!==cd.month,isWeekend:cd.dayOfWeek===0||cd.dayOfWeek===6,disabled:false};if(ef){item.disabled=!ef(item)}a.push(item)}return a}get years(){const years=[];const s=start.year+this.yearStart;const e=start.year+this.yearEnd+1;for(let index=s;index<e;index++){years.push({label:index.toString(),value:index})}return years}get value(){return super.value}set value(v){if(v instanceof Date){this.startDate=v}super.value=v}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"enableFunc":case"dateRenderer":this.updateItems();break}}next(){if(this.month===11){this.year++;this.month=0;return}this.month++}prev(){if(this.month===0){this.year--;this.month=11;return}this.month--}preCreate(){super.preCreate();const now=new Date;this.selectedItems=[];this.valuePath=i=>i===null||i===void 0?void 0:i.value;this.yearStart=-10;this.yearEnd=10;this.year=now.getFullYear();this.month=now.getMonth();this.comparer=(left,right)=>{var _a,_b;return left&&right&&((_a=DateTime.from(left).date)===null||_a===void 0?void 0:_a.msSinceEpoch)===((_b=DateTime.from(right).date)===null||_b===void 0?void 0:_b.msSinceEpoch)};this.bindEvent(this.element,"change",(()=>this.dateModified=true),null,{capture:true});this.bindEvent(this.element,"itemSelect",(e=>e.detail.disabled?e.preventDefault():null));this.render(XNode.create("div",{"data-calendar":"calendar",items:Bind.oneWay((()=>this.dates))},XNode.create("i",{"data-element":"previous","event-click":()=>this.prev(),class:"fa-solid fa-circle-chevron-left",title:"Previous Month"}),XNode.create(Select,{"data-element":"month",items:months.items,value:Bind.twoWays((()=>this.month))}),XNode.create(Select,{"data-element":"year",items:Bind.oneWay((()=>this.years)),value:Bind.twoWays((()=>this.year))}),XNode.create("i",{"data-element":"next","event-click":()=>this.next(),class:"fa-solid fa-circle-chevron-right",title:"Next Month"}),XNode.create("div",{class:"week"}),XNode.create("div",{"data-click-event":"item-select",class:"dates"})));this.itemsPresenter=this.element.lastElementChild;const week=this.element.lastElementChild.previousElementSibling;let w=1;for(const iterator of weekdays.short){const text=document.createElement("span");text.textContent=iterator;week.appendChild(text);text.style.gridColumnStart=`${w++}`}this.dateRenderer=item=>XNode.create("div",{text:item.label});this.itemRenderer=item=>{var _a;const d=this.dateRenderer(item);const a=(_a=d.attributes)!==null&&_a!==void 0?_a:d.attributes={};if(item.isToday){a["data-is-today"]=item.isToday}if(item.isOtherMonth){a["data-is-other-month"]=item.isOtherMonth}if(item.isWeekend){a["data-is-weekend"]=item.isWeekend}if(item.disabled){a["data-disabled"]=item.disabled}return d}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){this.dateModified=true;super.dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem)}});__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"month",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"dateRenderer",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"dates",null);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"years",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TimeEditor");System.register(["@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/TimeSpan","./Select","@web-atoms/core/dist/core/Bind","./styles/time-editor.global.less"],(function(_export,_context){"use strict";var AtomBinder,XNode,AtomControl,TimeSpan,Select,Bind,TimeEditor;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_Select){Select=_Select.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_stylesTimeEditorGlobalLess){}],execute:function(){_export("default",TimeEditor=class TimeEditor extends AtomControl{get time(){let t=new TimeSpan(0,this.hour,this.minute);if(this.isPM){t=t.add(TimeSpan.fromHours(12))}return t}set time(v){if(!v){v=TimeSpan.fromSeconds(0)}let h=v.hours;if(h>12){h-=12;this.isPM=true}this.hour=h;this.minute=v.minutes;AtomBinder.refreshValue(this,"time")}create(){this.isPM=false;this.hour=12;this.minute=0;this.render(XNode.create("div",{"data-time-editor":"time-editor","event-change":()=>setTimeout((()=>AtomBinder.refreshValue(this,"time")),1)},XNode.create(Select,{"data-element":"hour",items:hours(),value:Bind.twoWays((()=>this.hour))}),XNode.create(Select,{"data-element":"minute",items:minutes(),value:Bind.twoWays((()=>this.minute))}),XNode.create("button",{"event-click":()=>(this.isPM=false,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>!this.isPM)),"data-element":"am",text:"AM"}),XNode.create("button",{"event-click":()=>(this.isPM=true,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>this.isPM)),"data-element":"pm",text:"PM"})))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");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/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);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(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldGlobalLess){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/FileHistoryService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,AppFile,AppFileVersion,Sql,FileHistoryService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;AppFileVersion=_modelModel.AppFileVersion},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("FileHistoryService",FileHistoryService=class FileHistoryService{list({start=0,size=20,appFileID=0,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(AppFileVersion).where({appFileID},(p=>x=>x.fileID===p.appFileID));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.fileContent.textDocument.searchable,p.search)))}return q.include((x=>[x.fileContent,x.user])).orderByDescending((x=>x.versionID)).toPagedList({start,size,cancelToken})}))}restore(version){return __awaiter(this,void 0,void 0,(function*(){const{fileID,fileContentID}=version;const file=yield this.entityService.query(AppFile).where({fileID},(p=>x=>x.appFileID===p.fileID)).firstOrDefault();file.fileContentID=fileContentID;yield this.entityService.save(file);return file}))}});__decorate([Inject,__metadata("design:type",EntityService)],FileHistoryService.prototype,"entityService",void 0);_export("FileHistoryService",FileHistoryService=__decorate([DITransient()],FileHistoryService))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/InjectProperty","../../../services/files/FileHistoryService","../../date/DateFormats","../../NumberFormats","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InfiniteRepeater,InjectProperty,FileHistoryService,DateFormats,toFileSize,SaveIconTextButton,Action,FileHistoryPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileHistoryService){FileHistoryService=_servicesFilesFileHistoryService.FileHistoryService},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",FileHistoryPage=class FileHistoryPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name+" History";this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.fileHistoryService.list({appFileID:this.parameters.appFileID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.versionID}),XNode.create("label",{text:item.user.userName}),XNode.create("label",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("label",{text:toFileSize(item.fileContent.contentSize)}),XNode.create("br",null),XNode.create("menu",null,XNode.create(SaveIconTextButton,{"data-click-event":"restore-file",text:"Restore"})))})))}))}restoreFile(version){return __awaiter(this,void 0,void 0,(function*(){return yield this.fileHistoryService.restore(version)}))}});__decorate([InjectProperty,__metadata("design:type",FileHistoryService)],FileHistoryPage.prototype,"fileHistoryService",void 0);__decorate([Action({confirm:"Are you sure you want to restore this version?",onEvent:"restore-file",close:true,success:"File restored successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FileHistoryPage.prototype,"restoreFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/folder/FolderPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/UploadEvent","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../controls/tree/TreeView","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../service/CloudFileService","@web-atoms/core/dist/core/InjectProperty","../../../NumberFormats","../../../controls/drag-drop/FilesDragDrop","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/PageNavigator","../shares/EditSharesPage","@web-atoms/web-controls/dist/basic/InlinePopup","../../../../web/page/templates/EditTemplatePage","../FileHistoryPage","../../../FileUrlService","./FolderPage.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,AppFile,XNode,UploadEvent,AtomRepeater,SelectAll,SelectorCheckBox,TreeView,Bind,Action,CloudFileService,InjectProperty,toFileSize,FilesDragDrop,PopupButton,MenuItem,PageNavigator,EditSharesPage,InlinePopup,EditTemplatePage,FileHistoryPage,FileUrlService,FolderPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceCloudFileService){CloudFileService=_serviceCloudFileService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsDragDropFilesDragDrop){FilesDragDrop=_controlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_sharesEditSharesPage){EditSharesPage=_sharesEditSharesPage.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopup=_webAtomsWebControlsDistBasicInlinePopup.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_FileHistoryPage){FileHistoryPage=_FileHistoryPage.default},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_FolderPageLocalLess){}],execute:function(){css="folder-page";getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",FolderPage=class FolderPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.selectedFiles=[];this.files=[]}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_b=this.root).children)!==null&&_a!==void 0?_a:_b.children=[];this.root.children.remove((x=>!x.isFolder));this.selectedFolder=this.root;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFolder.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFolder.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFolder.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFolder.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css,files:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,cancelToken})))},XNode.create(TreeView,{class:"folder-tree",presenter:Bind.presenter((c=>this.folderTree=c)),childrenProperty:item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]},root:this.root,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{"data-layout":"data-grid",allowMultipleSelection:true,selectedItems:this.selectedFiles,header:true,headerRenderer:()=>XNode.create("header",null,XNode.create(SelectAll,{items:Bind.oneWay((()=>this.files)),selectedItems:this.selectedFiles})),itemRenderer:file=>this.renderFile(file),items:Bind.oneWay((()=>this.files))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0)),"data-layout":"command-row"},XNode.create("button",{"data-click-event":"delete-files","data-layout":"stop-icon-button"},XNode.create("i",{class:"fas fa-trash-can"}),"Delete"))}))}renderFile(item){if(item.isFolder){return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("span",{"data-click-event":"open-folder",class:"file-link",text:item.name,"data-padding-left":"auto"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})),XNode.create("menu",null,XNode.create("i",{"data-click-event":"file-options",class:"fad fa-ellipsis-vertical"})))}if(this.parameters.templates&&item.contentType==="message/rfc822"){return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("span",{"data-click-event":"open-template",class:"file-link",text:item.name,"data-margin-left":"default"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null,XNode.create("a",{href:FileUrlService.downloadUrl(item),target:"_blank",download:true},XNode.create("i",{class:"fas fa-download"}))),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})),XNode.create("menu",null,XNode.create("i",{"data-click-event":"file-options",class:"fad fa-ellipsis-vertical"})))}return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("a",{href:item.url,target:"_blank",text:item.name,"data-margin-left":"default"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null,XNode.create("a",{href:FileUrlService.downloadUrl(item),target:"_blank",download:true},XNode.create("i",{class:"fas fa-download"}))),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})),XNode.create("menu",null,XNode.create("i",{"data-click-event":"file-options",class:"fad fa-ellipsis-vertical"})))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}fileOptions(file,e){return InlinePopup.show(e.target,XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"file-history",label:"History"}),XNode.create(MenuItem,{"data-click-event":"file-rename",label:"Rename"})),{alignment:"bottomRight",onClick:"close"})}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(FileHistoryPage,file)}))}fileRename(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Rename file",file.name);if(!newName){return}file.name=newName;yield this.cloudFileService.save(file);this.version++}))}openFolder(file){this.selectedFolder=file}newFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder");if(!name){return}const parentID=this.selectedFolder.appFileID;const folder=yield this.cloudFileService.createFolder({name,parentID});this.selectedFolder.children.add(folder)}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}deleteFiles(){return __awaiter(this,void 0,void 0,(function*(){const copy=[].concat(this.selectedFiles);while(copy.length){const slice=copy.splice(0,10);yield this.cloudFileService.delete(slice);for(const iterator of slice){this.selectedFiles.remove(iterator);this.files.remove(iterator)}}this.version++}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFolder.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFolder.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],FolderPage.prototype,"editShares",null);__decorate([Action({onEvent:"file-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Event]),__metadata("design:returntype",void 0)],FolderPage.prototype,"fileOptions",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"file-rename"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"fileRename",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],FolderPage.prototype,"openFolder",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"newFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-files",confirm:"Are you sure you want to delete selected files?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"deleteFiles",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"openTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,AppForm,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/entity/EntityListControl");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/web-controls/dist/basic/AtomRepeater","../repeater/InfiniteRepeater","../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty","../buttons/IconButton","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/view-model/Action","./EntityListControl.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomControl,AtomRepeater,InfiniteRepeater,EntityService,InjectProperty,AddIconTextButton,Form,FormField,Action,FormFields,EntityListControl;_export({FormFields:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_repeaterInfiniteRepeater){InfiniteRepeater=_repeaterInfiniteRepeater.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_buttonsIconButton){AddIconTextButton=_buttonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_EntityListControlGlobalLess){}],execute:function(){_export("FormFields",FormFields=class FormFields extends AtomControl{});_export("default",EntityListControl=class EntityListControl extends AtomControl{constructor(app,e=document.createElement("entity-list")){super(app,e);this.dataLayout="data-grid";this.typeModel=null;this.items=[];this.selectedItem=null;this.selectedItems=[];this.search="";this.inlineAdd=null;this.addPage=null;this.addItemDefaults={};this.searchQuery=null;this.listQuery=null;this.itemRenderer=null;this.saveInclude=null;this.size=100;this.repeater=null;this.newItem=null;this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{newItem:Bind.oneWay((()=>this.createNewItem(this.inlineAdd,this.addPage)))},XNode.create(AtomRepeater,Object.assign({"data-layout":this.dataLayout,items:Bind.oneWay((()=>this.items)),itemRenderer:Bind.oneWay((()=>this.itemRenderer)),header:Bind.oneWay((()=>this.newItem)),headerRenderer:header=>this.displayHeader(header,this.inlineAdd,this.addPage),presenter:Bind.presenter((c=>this.repeater=c))},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.loadItems({search:this.search,start,size:this.size,cancelToken}))))))}))}displayHeader(header,inlineAdd,addPage){var _a;if(addPage){return XNode.create("header",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(AddIconTextButton,{"data-click-event":"add-new-item",text:"Add"}))}if(!header){return XNode.create("header",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}))}let formItems=inlineAdd===null||inlineAdd===void 0?void 0:inlineAdd(header);if(!Array.isArray(formItems)){if(formItems.name===Form){((_a=formItems.attributes)!==null&&_a!==void 0?_a:formItems.attributes={})["data-submit-event"]="submit-new-item";return XNode.create("header",null,XNode.create("section",null,XNode.create("div",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))})),XNode.create("section",null,XNode.create("details",null,XNode.create("summary",null,"Add New")),formItems)))}else if(!formItems.name||formItems.name===FormFields){formItems=formItems.children}else{formItems=[formItems]}}return XNode.create("header",null,XNode.create("section",{"data-layout":"vertical-flex"},XNode.create("div",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))})),inlineAdd&&XNode.create("section",null,XNode.create("details",null,XNode.create("summary",null,"Add New"),XNode.create(Form,null,...formItems,XNode.create(FormField,{label:""},XNode.create(AddIconTextButton,{"data-submit-event":"submit-new-item",text:"Add"})))))))}createNewItem(inlineAdd,addPage){var _a;if(inlineAdd){return this.typeModel.create((_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})}return null}loadItems({search,start,size=100,cancelToken}){let q=this.entityService.query(this.typeModel);if(this.search){q=this.searchQuery(q,search)}if(this.listQuery){q=this.listQuery(q)}return q.toPagedList({start,size,cancelToken})}submitNewItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.newItem,(_a=this.saveInclude)!==null&&_a!==void 0?_a:c=>c);this.items.add(this.newItem);this.newItem=this.createNewItem(this.inlineAdd,this.addPage)}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],EntityListControl.prototype,"entityService",void 0);__decorate([Action({onEvent:"submit-new-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EntityListControl.prototype,"submitNewItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/access-tokens/AccessTokenListPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/entity/EntityListControl","../../../../model/model","../../../date/DateFormats","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,XNode,ContentPage,EntityListControl,FormFields,AccessToken,DateFormats,FormField,DateField,Bind,AccessTokenListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_controlsEntityEntityListControl){EntityListControl=_controlsEntityEntityListControl.default;FormFields=_controlsEntityEntityListControl.FormFields},function(_modelModel){AccessToken=_modelModel.AccessToken},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",AccessTokenListPage=class AccessTokenListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(EntityListControl,{typeModel:AccessToken,inlineAdd:item=>XNode.create(FormFields,null,XNode.create(FormField,{label:"Expiry Date"},XNode.create(DateField,{value:Bind.sourceTwoWays(item,(x=>x.source.expiryDate))}))),itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.tokenID}),XNode.create("label",{text:DateFormats.relative.short(x.dateCreated)}),XNode.create("label",{text:DateFormats.relative.short(x.expiryDate)}),XNode.create("label",{text:x.displaySecret}))}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/di/DITransient"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,HostedZone,DITransient,DnsZoneService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedZone=_modelModel.HostedZone},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default}],execute:function(){DnsZoneService=class DnsZoneService{list({start=0,size=100,cancelToken=null,version=1}){return this.entityService.query(HostedZone).include((x=>x.domain)).toPagedList({start,size,cancelToken})}save(zone){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(zone,(c=>c.include((x=>x.records))))}))}saveRecord(...records){return __awaiter(this,void 0,void 0,(function*(){const copy=records.map((x=>this.entityService.cloner(x).copy));yield this.entityService.save(copy)}))}get(zoneID){return this.entityService.query(HostedZone).where({zoneID},(p=>x=>x.zoneID===p.zoneID)).include((x=>[x.domain,x.records])).firstOrDefault()}};__decorate([Inject,__metadata("design:type",EntityService)],DnsZoneService.prototype,"entityService",void 0);DnsZoneService=__decorate([DITransient()],DnsZoneService);_export("default",DnsZoneService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneListPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/services/PopupService","../../controls/repeater/InfiniteRepeater","../../commands/CommonCommands","./DnsZoneService","../../../model/model"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,Action,PopupService,InfiniteRepeater,CommonCommands,DnsZoneService,HostedZone,DnsZoneListPage;_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(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_DnsZoneService){DnsZoneService=_DnsZoneService.default},function(_modelModel){HostedZone=_modelModel.HostedZone}],execute:function(){_export("default",DnsZoneListPage=class DnsZoneListPage extends ContentPage{constructor(){super(...arguments);this.start=0;this.size=100;this.version=1;this.zones=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.zones},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.dnsZoneService.list({start,cancelToken,version:this.version}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:CommonCommands.editDnsZone.displayRoute({zoneID:item.zoneID}),text:item.domain.name}),XNode.create("i",{title:"View Zone File",class:"fa-regular fa-file-lines","data-click-event":"view-zone"}),XNode.create("i",{title:"Delete Zone",class:"fas fa-trash-can","data-click-event":"delete-zone"}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"add-new",text:"Add"}))}))}deleteZone(zone){return __awaiter(this,void 0,void 0,(function*(){zone.$deleted=true;yield this.dnsZoneService.save(zone);this.zones.remove(zone);this.version++}))}viewZone(zone){return __awaiter(this,void 0,void 0,(function*(){yield PopupService.alert({title:zone.domain.name,message:XNode.create("div",null,XNode.create("pre",null,zone.unsigned))})}))}viewDS(zone){return __awaiter(this,void 0,void 0,(function*(){yield PopupService.alert({title:zone.domain.name,message:XNode.create("div",null,XNode.create("pre",null,zone.digest))})}))}addNew(){return __awaiter(this,void 0,void 0,(function*(){const zone=prompt("Add host");if(!zone){return}yield this.dnsZoneService.save(HostedZone.create({zone}));this.version++}))}});__decorate([InjectProperty,__metadata("design:type",DnsZoneService)],DnsZoneListPage.prototype,"dnsZoneService",void 0);__decorate([Action({onEvent:"delete-zone",confirm:"Are you sure you want to delete this zone?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"deleteZone",null);__decorate([Action({onEvent:"view-zone"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"viewZone",null);__decorate([Action({onEvent:"view-ds"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"viewDS",null);__decorate([Action({onEvent:"add-new"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"addNew",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsRecordEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../../model/model"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,ComboBox,Bind,Action,HostedZoneRecord,HostedZoneRecordTypeArray,DnsRecordEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_modelModel){HostedZoneRecord=_modelModel.HostedZoneRecord;HostedZoneRecordTypeArray=_modelModel.HostedZoneRecordTypeArray}],execute:function(){_export("default",DnsRecordEditorPage=class DnsRecordEditorPage extends PopupWindowPage{init(){var _a,_b,_c,_d,_e;return __awaiter(this,void 0,void 0,(function*(){this.title=((_a=this.parameters)===null||_a===void 0?void 0:_a.model)?"Edit Record":"Add New Record";const zone=this.zone=(_b=this.parameters)===null||_b===void 0?void 0:_b.zone;(_c=this.model)!==null&&_c!==void 0?_c:this.model=(_e=(_d=this.parameters)===null||_d===void 0?void 0:_d.model)!==null&&_e!==void 0?_e:HostedZoneRecord.create({ttl:600,type:"A",name:"@",zoneID:zone===null||zone===void 0?void 0:zone.zoneID});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(ComboBox,{items:HostedZoneRecordTypeArray,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{required:true,label:"Name",error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"TTL"},XNode.create("input",{type:"number",value:Bind.twoWaysImmediate((()=>this.model.ttl))})),XNode.create(FormField,{required:true,label:"Value",error:Bind.oneWay((()=>this.model.value?"":"Value is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.value))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-record",text:"Save"}))))}))}saveRecord(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{zone,model:{name,type,value,recordID}}=this;const records=(_a=zone.records)!==null&&_a!==void 0?_a:zone.records=[];if(records.find((x=>x.type===type&&x.name===name&&x.value===value&&recordID&&x.recordID!==recordID))){throw new Error(`${name} ${type} ${value} already exists.`)}return this.model}))}});__decorate([Action({onEvent:"save-record",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsRecordEditorPage.prototype,"saveRecord",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsZoneEditorPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../DnsZoneService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/PageNavigator","./DnsRecordEditorPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,DnsZoneService,XNode,AtomRepeater,SelectorCheckBox,Bind,Action,Checkbox,PageNavigator,DnsRecordEditorPage,DnsZoneEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_DnsZoneService){DnsZoneService=_DnsZoneService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_DnsRecordEditorPage){DnsRecordEditorPage=_DnsRecordEditorPage.default}],execute:function(){_export("default",DnsZoneEditorPage=class DnsZoneEditorPage extends ContentPage{constructor(){super(...arguments);this.selectedRecords=[];this.search="";this.showDisabled=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.dnsZoneService.get(this.parameters.zoneID);this.sort();this.title=this.model.domain.name;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{"data-layout":"data-grid","data-list-selection":"default",selectedItems:this.selectedRecords,items:this.model.records,allowMultipleSelection:true,header:true,headerRenderer:h=>XNode.create("header",null,XNode.create("div",{"data-layout":"row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.showDisabled)),text:"Disabled"}),XNode.create("button",{"data-click-event":"add-new-record","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-plus"}),"Add New"))),footer:true,footerRenderer:()=>XNode.create("footer",{"data-position":"sticky-bottom","style-display":Bind.oneWay((()=>!!this.selectedRecords.length))},XNode.create("button",{"data-click-event":"delete-items",text:"Delete"}),XNode.create("button",{"data-click-event":"add-hosting",text:"Add Hosting"}),XNode.create("button",{"data-click-event":"remove-hosting",text:"Remove Hosting"})),itemRenderer:item=>XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("label",{text:item.fqdn,title:item.fqdn}),XNode.create("label",{text:item.type}),XNode.create("label",{text:item.ttl}),XNode.create("label",{text:item.value}),item.hosted?XNode.create("label",{text:"Hosted"}):XNode.create("label",{text:" "}),XNode.create("br",null),XNode.create("button",{"data-click-event":"edit-item","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-edit"}),"Edit"))}))}))}sort(){this.model.records.sort(((a,b)=>(a.disabled?1:0)-(b.disabled?1:0)));this.model.records.refresh()}deleteItem(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selectedRecords){iterator.$deleted=true}yield this.dnsZoneService.saveRecord(...this.selectedRecords);yield this.init()}))}disableItem(item){return __awaiter(this,void 0,void 0,(function*(){item.disabled=true;yield this.dnsZoneService.saveRecord(item);this.sort()}))}enableItem(item){return __awaiter(this,void 0,void 0,(function*(){item.disabled=false;yield this.dnsZoneService.saveRecord(item);this.sort()}))}editItem(model){return __awaiter(this,void 0,void 0,(function*(){const zone=this.model;model=yield PageNavigator.pushPageForResult(DnsRecordEditorPage,{model,zone});yield this.dnsZoneService.saveRecord(model);this.sort()}))}addNewRecord(){return __awaiter(this,void 0,void 0,(function*(){const zone=this.model;const record=yield PageNavigator.pushPageForResult(DnsRecordEditorPage,{zone});record.zoneID=this.model.zoneID;yield this.dnsZoneService.saveRecord(record);this.model.records.add(record)}))}removeHosting(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selectedRecords){iterator.hosted=false}yield this.dnsZoneService.saveRecord(...this.selectedRecords)}))}addHosting(){return __awaiter(this,void 0,void 0,(function*(){let isWildcard=null;for(const iterator of this.selectedRecords){iterator.hosted=true;if(iterator.name==="*"&&(iterator.type==="A"||iterator.type==="CNAME")){isWildcard=iterator}}let records=[...this.selectedRecords];if(isWildcard){for(const iterator of this.model.records){if((iterator.name==="@"||iterator.name==="")&&iterator.type==="A"){continue}iterator.hosted=false}isWildcard.hosted=true;records=this.model.records}yield this.dnsZoneService.saveRecord(...records)}))}});__decorate([InjectProperty,__metadata("design:type",DnsZoneService)],DnsZoneEditorPage.prototype,"dnsZoneService",void 0);__decorate([Action({onEvent:"delete-items",confirm:"Are you sure you want to delete selected records?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"deleteItem",null);__decorate([Action({onEvent:"disable-item",confirm:"Are you sure you want to disable the record?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"disableItem",null);__decorate([Action({onEvent:"enable-item",confirm:"Are you sure you want to enable the record?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"enableItem",null);__decorate([Action({onEvent:"edit-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"editItem",null);__decorate([Action({onEvent:"add-new-record"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"addNewRecord",null);__decorate([Action({onEvent:"remove-hosting",confirm:"Are you sure you want to remove hosting for this zone?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"removeHosting",null);__decorate([Action({onEvent:"add-hosting",confirm:"Are you sure you want to add hosting for this zone?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"addHosting",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/PinchZoomView");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/controls/AtomControl","./styles/pinch-zoom-view.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,PinchZoomView,center,distance;_export("default",void 0);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(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_stylesPinchZoomViewGlobalLess){}],execute:function(){center=ev=>{const touch=ev.touches[0];if(touch){return{x:touch.clientX,y:touch.clientY}}return{x:0,y:0}};distance=(first,second)=>Math.hypot(first.pageX-second.pageX,first.pageY-second.pageY);_export("default",PinchZoomView=class PinchZoomView extends AtomControl{preCreate(){this.element.title="Use mouse wheel to zoom";this.loading=false;this.zoom={scale:0,anchorX:0,anchorY:0,x:0,y:0};this.element.dataset.pinchZoom="true";this.element.draggable=false;this.render(XNode.create("div",null,XNode.create("div",{class:"image-container"},XNode.create("img",{src:Bind.oneWay((()=>this.getSource(this.source))),"style-opacity":Bind.oneWay((()=>this.loading?"0.3":"1")),"event-load":()=>{this.loading=false;this.updateZoom(this.zoom)}})),XNode.create("i",{class:Bind.oneWay((()=>this.loading?"spinner fa-duotone fa-spinner fa-spin":"hide"))}),XNode.create("i",{"event-click":()=>this.updateZoom(),class:Bind.oneWay((()=>this.zoom.scale?"scale":"hide")),title:"Display entire image"})));this.imageContainer=this.element.firstElementChild;this.image=this.imageContainer.firstElementChild;const scrollView=this.element;let previous;let touchMoveDisposable;let touchEndDisposable;this.bindEvent(scrollView,"touchstart",(evs=>{previous=center(evs);let previousDistance=undefined;touchMoveDisposable!==null&&touchMoveDisposable!==void 0?touchMoveDisposable:touchMoveDisposable=this.bindEvent(scrollView,"touchmove",(ev=>{let{x,y,anchorX,anchorY,scale}=this.zoom;if(ev.touches.length===2){ev.preventDefault();ev.stopImmediatePropagation();const rect=this.element.getBoundingClientRect();const first=ev.touches[0];const second=ev.touches[1];anchorX=(first.clientX+second.clientX)/2-rect.left;anchorY=(first.clientY+second.clientY)/2-rect.top;const newScale=distance(first,second);if(previousDistance===void 0){previousDistance=newScale;return}if(previousDistance===newScale){return}scale+=newScale-previousDistance;previousDistance=newScale;this.updateZoom({anchorX,anchorY,x,y,scale});return}if(!previous){return}const cp=center(ev);x+=cp.x-previous.x;y+=cp.y-previous.y;previous=cp;this.updateZoom({anchorX,anchorY,x,y,scale})}));touchEndDisposable!==null&&touchEndDisposable!==void 0?touchEndDisposable:touchEndDisposable=this.bindEvent(scrollView,"touchend",(ev=>{touchMoveDisposable===null||touchMoveDisposable===void 0?void 0:touchMoveDisposable.dispose();touchEndDisposable===null||touchEndDisposable===void 0?void 0:touchEndDisposable.dispose();touchMoveDisposable=undefined;touchEndDisposable=undefined;previousDistance=undefined}))}));let mouseMoveDisposable;let mouseUpDisposable;this.bindEvent(scrollView,"dragstart",(ev=>{ev.preventDefault();ev.stopImmediatePropagation()}));this.bindEvent(scrollView,"mousedown",(ev=>{this.element.dataset.state="grabbing";previous={x:ev.clientX,y:ev.clientY};mouseMoveDisposable!==null&&mouseMoveDisposable!==void 0?mouseMoveDisposable:mouseMoveDisposable=this.bindEvent(scrollView,"mousemove",(e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);const{anchorX,anchorY,scale}=this.zoom;let{x,y}=this.zoom;const cp={x:e.clientX,y:e.clientY};x+=cp.x-previous.x;y+=cp.y-previous.y;previous=cp;this.updateZoom({anchorX,anchorY,x,y,scale})}));mouseUpDisposable!==null&&mouseUpDisposable!==void 0?mouseUpDisposable:mouseUpDisposable=this.bindEvent(scrollView,"mouseup",(e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);this.element.dataset.state="";previous=null;mouseMoveDisposable.dispose();mouseUpDisposable.dispose();mouseMoveDisposable=undefined;mouseUpDisposable=undefined}))}));this.bindEvent(scrollView,"wheel",(ev=>{var _a;const target=ev.currentTarget;ev.preventDefault();(_a=ev.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(ev);const newScale=this.zoom.scale-(ev.deltaY<0?-50:50);const anchorX=ev.offsetX;const anchorY=ev.offsetY;const{x,y}=this.zoom;this.updateZoom({anchorX,anchorY,x,y,scale:newScale<0?0:newScale})}),undefined,{passive:false})}getSource(text){if(text){this.loading=true}return text}updateZoom(zoom={x:0,y:0,anchorX:0,anchorY:0,scale:0}){const{anchorX,anchorY,x,y}=zoom;let{scale}=zoom;this.zoom=zoom;const image=this.image;if(!image.naturalHeight){return}const maxHeight=this.element.clientWidth>this.element.clientHeight;const s=maxHeight?this.element.clientWidth/image.naturalWidth:this.element.clientHeight/image.naturalHeight;if(scale<=0){scale=0}const newWidth=this.element.clientWidth+scale+"px";const newHeight=this.element.clientHeight+scale+"px";this.image.style.maxWidth=this.element.clientWidth+"px";this.image.style.maxHeight=this.element.clientHeight+"px";if(scale<=0){this.imageContainer.style.transform="";return}const clientWidth=this.element.clientWidth;const scaleFactor=(clientWidth+scale)/clientWidth;this.imageContainer.style.transformOrigin=`${anchorX}px ${anchorY}`;this.imageContainer.style.transform=`translate(${x}px, ${y}px) scale(${scaleFactor})`}});__decorate([BindableProperty,__metadata("design:type",Object)],PinchZoomView.prototype,"zoom",void 0);__decorate([BindableProperty,__metadata("design:type",String)],PinchZoomView.prototype,"source",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],PinchZoomView.prototype,"loading",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/image/PreviewImage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/PinchZoomView","../../../../../common/controls/buttons/IconButton","../../../../FileUrlService"],(function(_export,_context){"use strict";var __awaiter,ContentPage,XNode,PinchZoomView,IconButton,FileUrlService,PreviewImage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicPinchZoomView){PinchZoomView=_webAtomsWebControlsDistBasicPinchZoomView.default},function(_commonControlsButtonsIconButton){IconButton=_commonControlsButtonsIconButton.IconButton},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService}],execute:function(){_export("default",PreviewImage=class PreviewImage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name}=this.parameters;const pdf=FileUrlService.pdf(this.parameters);const download=FileUrlService.downloadUrl(this.parameters);this.title=name;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("a",{href:pdf,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-print",text:"Print"})),XNode.create("a",{href:download,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-download",text:"Download"})));const webp=/\.(jpg|png|jpeg|bmp)/i.test(name)?download:FileUrlService.webP(this.parameters);this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch"},XNode.create(PinchZoomView,{source:webp}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewDocument");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/XNode","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/web/controls/AtomControl","../../../../FileUrlService"],(function(_export,_context){"use strict";var __awaiter,ContentPage,FetchBuilder,XNode,IconButton,AtomControl,FileUrlService,PreviewDocument,renderHTML;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsButtonsIconButton){IconButton=_commonControlsButtonsIconButton.IconButton},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService}],execute:function(){renderHTML=AtomControl.registerProperty("data-html","html",((c,e,value)=>{if(!value){e.innerHTML="";return}const html=value;const msg=document.createElement("div");msg.innerHTML=html;const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);return}));_export("default",PreviewDocument=class PreviewDocument extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name}=this.parameters;const pdf=FileUrlService.pdf(this.parameters);const download=FileUrlService.downloadUrl(this.parameters);this.title=name;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("a",{href:pdf,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-print",text:"Print"})),XNode.create("a",{href:download,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-download",text:"Download"})));this.renderer=XNode.create("div",null,XNode.create("div",{text:"..."}));const html=yield FetchBuilder.get(FileUrlService.html(this.parameters)).asText();this.renderer=XNode.create("div",{"style-overflow-y":"hidden"},XNode.create("div",{"data-position":"absolute-fill","data-overflow":"auto"},XNode.create("div",Object.assign({"data-margin-left":"auto","data-margin-right":"auto"},renderHTML(html)))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewPDF");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","./PreviewPDF.local.less"],(function(_export,_context){"use strict";var __awaiter,XNode,ContentPage,PreviewDocument,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_PreviewPDFLocalLess){}],execute:function(){css="preview-pdf-local";_export("default",PreviewDocument=class PreviewDocument extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name,fileContentID,appFileID,url}=this.parameters;const q=new URLSearchParams({name,fileContentID,appFileID,url});const previewUrl=`/social-mail/ui/dist/public/preview/pdf/PreviewPDF?${q.toString()}`;this.title=name;this.renderer=XNode.create("div",{class:css},XNode.create("iframe",{src:previewUrl}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/player/AtomVideoPlayer");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/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","./AtomVideoPlayer.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomBinder,Bind,BindableProperty,XNode,AtomControl,ChildEnumerator,AtomVideoPlayer,isTouchEnabled,gatherElements,numberToText,durationText,noSoundIcon,mute,low,mid,high,getPlayIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_AtomVideoPlayerGlobalLess){}],execute:function(){isTouchEnabled=/android|iPhone|iPad/i.test(navigator.userAgent);gatherElements=(e,data={})=>{var _a;const ce=ChildEnumerator.enumerate(e);for(const iterator of ce){const elementName=(_a=iterator.dataset.element)===null||_a===void 0?void 0:_a.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(elementName){data[elementName]=iterator}gatherElements(iterator,data)}return data};numberToText=n=>{if(n<10){return"0"+n}return n.toString()};durationText=(n,total)=>{if(n===null||n===undefined){return""}const minutes=Math.floor(n/60);const seconds=numberToText(Math.ceil(n%60));const totalMinutes=Math.floor(total/60);const totalSeconds=numberToText(Math.ceil(total%60));return`${minutes}:${seconds} / ${totalMinutes}:${totalSeconds}`};noSoundIcon="fa-duotone fa-volume-slash";mute="fa-duotone fa-volume-xmark";low="fa-duotone fa-volume-low";mid="fa-duotone fa-volume";high="fa-duotone fa-volume-high";getPlayIcon=state=>{switch(state){case"ended":return"fa-solid fa-refresh";case"paused":return"fa-solid fa-play";case"playing":return"fa-solid fa-pause"}return"fa-solid fa-play"};_export("default",AtomVideoPlayer=class AtomVideoPlayer extends AtomControl{constructor(){super(...arguments);this.maxWidth=""}get poster(){return this.video.poster}set poster(v){this.video.poster=v}get state(){return this.element.getAttribute("data-state")}set state(v){this.element.setAttribute("data-state",v);AtomBinder.refreshValue(this,"paused");AtomBinder.refreshValue(this,"state")}get duration(){return this.video.duration}get time(){return this.video.currentTime}set time(v){this.video.currentTime=v}get paused(){return this.video.paused}get isFullScreen(){var _a;return(_a=document.fullscreenEnabled&&this.element===document.fullscreenElement)!==null&&_a!==void 0?_a:false}stopFullscreen(){if(this.isFullScreen){return document.exitFullscreen()}return Promise.resolve()}pause(){this.video.pause()}play(){this.video.play().catch(console.error)}onPropertyChanged(name){switch(name){case"source":this.updateSource();break}}setCurrentTime(n){this.video.currentTime=n*this.video.duration}create(){this.element.dataset.videoPlayer="video-player";this.bindEvent(this.element,"togglePlay",(e=>{if(e.defaultPrevented){return}e.preventDefault();if(isTouchEnabled){if(this.state==="playing"){if(e.target===this.video){if(this.element.dataset.controls==="true"){this.element.dataset.controls="false"}else{this.element.dataset.controls="true"}return}}if(e.target.tagName==="CANVAS"){return}}if(this.video.paused){this.video.play();this.element.dataset.controls="false"}else{this.video.pause();this.element.dataset.controls="true"}}));this.bindEvent(this.element,"volume",(e=>{this.video.muted=!this.video.muted;this.updateVolume()}));this.bindEvent(this.element,"fullScreen",(e=>__awaiter(this,void 0,void 0,(function*(){if(!this.element.requestFullscreen){this.video.webkitEnterFullscreen();return}if(this.isFullScreen){yield document.exitFullscreen();return}yield this.element.requestFullscreen({navigationUI:"show"})}))));this.bindEvent(document,"fullscreenchange",(()=>{AtomBinder.refreshValue(this,"isFullScreen")}));this.render(XNode.create("div",{"data-click-event":"toggle-play","data-state":"pause"},XNode.create("div",{"data-has-logo":Bind.oneWay((()=>this.logo?"true":"false"),"false"),"data-element":"banner","style-width":Bind.oneWay((()=>this.maxWidth))},XNode.create("img",{"data-element":"logo",src:Bind.oneWay((()=>this.logo))}),XNode.create("div",{"data-element":"logo-title",text:Bind.oneWay((()=>this.logo&&this.logoTitle))}),XNode.create("div",{"data-element":"logo-description",text:Bind.oneWay((()=>this.logo&&this.logoDescription))})),XNode.create("video",{"event-abort":()=>this.state="aborted","event-durationchange":e=>AtomBinder.refreshValue(this,"duration"),"event-ended":e=>__awaiter(this,void 0,void 0,(function*(){this.state="ended";if(document.fullscreenEnabled&&this.element===document.fullscreenElement){yield document.exitFullscreen()}e.target.dispatchEvent(new CustomEvent("videoEnded",{bubbles:true}))})),"event-loadedmetadata":()=>{this.updateVolume();this.currentTimeSpan.textContent=durationText(0,this.duration);this.updateProgress();const{video}=this;const{videoWidth,videoHeight}=video;const eW=video.offsetWidth*videoHeight/videoWidth;const maxWidth=100*(this.element.offsetWidth-eW)/this.element.offsetWidth;if(maxWidth>50&&maxWidth<100){this.maxWidth=`${maxWidth}%`}AtomBinder.refreshValue(this,"duration")},"event-pause":()=>this.state="paused","event-play":()=>this.state="playing","event-progress":()=>this.updateProgress(),"event-timeupdate":()=>{this.currentTimeSpan.textContent=durationText(this.time,this.duration);this.state="playing";this.updateProgress();AtomBinder.refreshValue(this,"time")},"event-waiting":()=>this.state="waiting","event-volumechange":()=>this.updateVolume(),autoplay:false,playsInline:true,"style-max-width":"100%","style-max-height":"100%","data-element":"video"}),XNode.create("canvas",{"data-element":"progress"}),XNode.create("img",{"data-element":"poster"}),XNode.create("div",{"data-element":"toolbar"},XNode.create("i",{"data-element":"play","data-style":"button",class:Bind.oneWay((()=>getPlayIcon(this.state)))}),XNode.create("i",{"data-click-event":"volume","data-style":"button","data-element":"sound",class:"fa-duotone fa-volume-slash"}),!isTouchEnabled&&XNode.create("input",{"data-click-event":"none","data-element":"volume-range",type:"range",min:0,max:1,step:.1}),XNode.create("span",{"data-font-size":"small","data-element":"current",text:"0:00"}),XNode.create("i",{"data-click-event":"full-screen","data-style":"button","data-element":"full-screen",class:Bind.oneWay((()=>this.isFullScreen?"fa-solid fa-compress":"fa-solid fa-expand"))})),XNode.create("div",{"data-click-event":"toggle-play","data-element":"play-element"},XNode.create("button",{class:"play"},XNode.create("i",{class:Bind.oneWay((()=>getPlayIcon(this.state)))})))));const all=gatherElements(this.element);this.video=all.video;this.progress=all.progress;this.currentTimeSpan=all.current;this.soundIcon=all.sound;this.volumeRange=all.volumeRange;if(this.volumeRange){this.bindEvent(this.volumeRange,"input",(()=>{setTimeout((()=>{this.video.volume=parseFloat(this.volumeRange.value)}),1)}))}this.bindEvent(this.element,"mouseenter",(()=>{this.element.dataset.controls="true"}));this.bindEvent(this.element,"mouseleave",(()=>{this.element.dataset.controls="false"}));this.bindEvent(this.progress,"pointerdown",(e=>{e.preventDefault();this.setCurrentTime(e.offsetX/this.progress.clientWidth);const move=e1=>{e1.preventDefault();this.setCurrentTime(e1.offsetX/this.progress.clientWidth)};const up=e1=>{e1.preventDefault();this.progress.removeEventListener("pointermove",move);this.progress.removeEventListener("pointerup",up)};this.progress.addEventListener("pointermove",move);this.progress.addEventListener("pointerup",up)}))}updateSource(){this.video.src=this.source}updateProgress(){const context=this.progress.getContext("2d");context.strokeStyle="rgba(0,0,0,0)";const width=this.progress.clientWidth;const height=this.progress.clientHeight;this.progress.width=width;this.progress.height=height;context.clearRect(0,0,width,height);const max=this.video.duration;const seekable=this.video.buffered;const scale=width/max;context.fillStyle="rgba(255,255,255,0.3)";context.fillRect(0,0,width,height);context.fillStyle="rgba(255,255,255,0.6)";for(let index=0;index<seekable.length;index++){const start=seekable.start(index)*scale;const end=seekable.end(index)*scale;context.fillRect(start,0,end,height)}context.fillStyle="#ffffff";context.fillRect(0,0,this.video.currentTime*scale,height)}updateVolume(){if(this.video.muted){this.soundIcon.className=mute;this.soundIcon.title="Unmute";if(this.volumeRange){this.volumeRange.style.display="none"}return}const audio=this.video.volume;if(this.volumeRange){this.volumeRange.style.display="";this.volumeRange.value=audio===null||audio===void 0?void 0:audio.toString()}this.soundIcon.title="Mute";if(audio>.8){this.soundIcon.className=high;return}if(audio<.2){this.soundIcon.className=low;return}this.soundIcon.className=mid}});__decorate([BindableProperty,__metadata("design:type",Object)],AtomVideoPlayer.prototype,"source",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomVideoPlayer.prototype,"logo",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomVideoPlayer.prototype,"logoTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomVideoPlayer.prototype,"logoDescription",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/media/PreviewMedia");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/player/AtomVideoPlayer","../../../../../common/controls/buttons/IconButton","../../../../FileUrlService"],(function(_export,_context){"use strict";var __awaiter,ContentPage,XNode,AtomVideoPlayer,IconButton,FileUrlService,PreviewImage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPlayerAtomVideoPlayer){AtomVideoPlayer=_webAtomsWebControlsDistPlayerAtomVideoPlayer.default},function(_commonControlsButtonsIconButton){IconButton=_commonControlsButtonsIconButton.IconButton},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService}],execute:function(){_export("default",PreviewImage=class PreviewImage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name}=this.parameters;const download=FileUrlService.downloadUrl(this.parameters);this.title=name;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("a",{href:download,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-download",text:"Download"})));const webm=FileUrlService.webM(this.parameters);const webp=FileUrlService.webP(this.parameters);this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch"},XNode.create(AtomVideoPlayer,{poster:webp,source:webm}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/FileTypes");System.register([],(function(_export,_context){"use strict";var FileTypes;_export("default",void 0);return{setters:[],execute:function(){_export("default",FileTypes=class FileTypes{static canPreview(file){if(/(image|video|audio)\//.test(file.contentType)){return true}return/\.(pdf|docx|docm|pptx|pptm|xlsx|xlsm|doc|xls|pdf|ppt|dot|xlst|sxw|sxc|sxd|sxi|sxm|sxg|txt)$/i.test(file.name)}static isMedia(file){return/^(audio|video)\//i.test(file.contentType)}static isImage(file){return/^image\//i.test(file.contentType)||/\.(jpg|png|bmp|gif|tif|tiff|jiff|jpg)$/i.test(file.name)}static isDocument(file){return/\.(pdf|docx|docm|pptx|pptm|xlsx|xlsm|doc|xls|pdf|ppt|dot|xlst|sxw|sxc|sxd|sxi|sxm|sxg|txt|md)$/i.test(file.name)}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["@web-atoms/core/dist/core/Command","../apiPath","../../services/FileTypes"],(function(_export,_context){"use strict";var Command,Commands,apiPathRoot,FileTypes,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands},function(_apiPath){apiPathRoot=_apiPath.apiPathRoot},function(_servicesFileTypes){FileTypes=_servicesFileTypes.default}],execute:function(){Command.routePrefix=apiPathRoot;_export("default",CommonCommands=class CommonCommands extends Commands{static getPreviewCommand(p){var _a;(_a=p.emailID)!==null&&_a!==void 0?_a:p.emailID=0;if(FileTypes.isDocument(p)){return this.previewPdf}if(FileTypes.isImage(p)){return this.previewImage}if(FileTypes.isMedia(p)){return this.previewMedia}}});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.openFiles=Command.create({route:"/files/{id}",routeOrder:100,openPage:()=>_context.import("../pages/files/folder/FolderPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")});CommonCommands.accessTokenList=Command.create({route:"/user/access-tokens",openPage:()=>_context.import("../pages/user/access-tokens/AccessTokenListPage")});CommonCommands.dnsZoneList=Command.create({route:"/hosted-zones/list/",openPage:()=>_context.import("../pages/dns/DnsZoneListPage")});CommonCommands.editDnsZone=Command.create({route:"/hosted-zone/{zoneID}/",pushPage:()=>_context.import("../pages/dns/edit/DnsZoneEditorPage")});CommonCommands.openTemplates=Command.create({route:"/templates",routeOrder:100,routeDefaults:{templates:true},openPage:()=>_context.import("../pages/files/folder/FolderPage")});CommonCommands.previewImage=Command.create({route:"/social-mail/file-preview/image/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/image/PreviewImage")});CommonCommands.previewHtml=Command.create({route:"/social-mail/file-preview/html/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/document/PreviewDocument")});CommonCommands.previewPdf=Command.create({route:"/social-mail/file-preview/pdf/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/document/PreviewPDF")});CommonCommands.previewMedia=Command.create({route:"/social-mail/file-preview/media/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/media/PreviewMedia")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/ExpressionParser","../buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/view-model/Action","./CollectionEditorEx.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ExpressionParser,AddIconTextButton,DeleteIconButton,PageNavigator,Bind,EntityService,modelEntitySchemas,AtomControl,Action,CollectionEditorEx,hasKeys;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreExpressionParser){ExpressionParser=_webAtomsCoreDistCoreExpressionParser.default},function(_buttonsIconButton){AddIconTextButton=_buttonsIconButton.AddIconTextButton;DeleteIconButton=_buttonsIconButton.DeleteIconButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_CollectionEditorExGlobalLess){}],execute:function(){hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true};_export("default",CollectionEditorEx=class CollectionEditorEx extends AtomControl{constructor(app,e=document.createElement("details")){super(app,e);this.label="";this.model=null;this.field=null;this.pageResultToItem=null;this.itemFactory=null;this.itemRenderer=null;this.inlineAddRenderer=null;this.inlineAdd=false;this.addPage=null;this.editPage=null;this.autoFocus=false;this.saveAfterAdd=true;this.layout="data-grid";this.footer=null;this.addItemDefaults=null;this.schema=null;this.items=[];this.fieldName=null;this.relation=null;this.element.setAttribute("data-collection-editor-ex","collection-editor-ex");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))));this.bindEvent(document.body,"deleteCollectionItem",(ce=>!ce.defaultPrevented&&this.deleteItem(ce.detail)))}init(){var _a;var _b,_c;return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;if(this.model){(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]}this.inlineAdd||(this.inlineAdd=!!this.inlineAddRenderer);const fx=()=>{var _a;var _b,_c;return(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]};const exp=`() => this.model`;fx.toString=()=>exp;this.renderer=XNode.create("details",{"data-border":"frame",open:true,items:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName))))},XNode.create("summary",{text:Bind.oneWay((()=>this.label))}),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.repeater=c)),"data-layout":this.layout,items:Bind.oneWay((()=>this.items)),footer:Bind.oneWay((()=>{var _a;return this.inlineAdd?this.relation.relatedModel.create(Object.assign({},(_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})):void 0})),footerRenderer:newItem=>{var _a,_b;const node=this.inlineAddRenderer?this.inlineAddRenderer(newItem):this.itemRenderer(newItem);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create("button",{"event-click":()=>__awaiter(this,void 0,void 0,(function*(){var _c;yield this.addNewItemInList(newItem);this.repeater.footer=this.relation.relatedModel.create(Object.assign({},(_c=this.addItemDefaults)!==null&&_c!==void 0?_c:{}))})),text:"Add"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node},itemRenderer:item=>{var _a,_b;const node=this.itemRenderer(item);if(!node){return XNode.create("div",null)}const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));for(const iterator of node.children){if(iterator===false){continue}const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node}}),this.footer?this.footer():!this.inlineAdd&&XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":()=>this.onAddItem(),text:"Add New"}))))}))}deleteItem(item){return __awaiter(this,void 0,void 0,(function*(){const{items,repeater}=this;if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}))}onAddItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{addPage,addItemDefaults,pageResultToItem,itemFactory}=this;let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}));newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=(_a=itemFactory===null||itemFactory===void 0?void 0:itemFactory())!==null&&_a!==void 0?_a:this.relation.relatedModel.create(Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}))}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}yield this.addNewItemInList(newItem)}))}addNewItemInList(newItem){return __awaiter(this,void 0,void 0,(function*(){const{repeater,model,schema}=this;if(hasKeys(model,schema)&&this.saveAfterAdd){const es=this.resolve(EntityService);const draft=Object.assign(Object.assign({},model),{[this.fieldName]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[this.fieldName]));yield es.save(clone.copy)}repeater.items.add(newItem)}))}});__decorate([Action({confirm:"Are you sure you want to delete this?",confirmTitle:"Confirm Delete"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"deleteItem",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"onAddItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/services/PopupService","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","../../NumberFormats","../../controls/buttons/IconButton","../../controls/collection-editor/CollectionEditorEx","../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,EditSyncTargetPage,MailboxService,InjectProperty,Action,PopupService,FormField,Bind,Form,toFileSize,SaveIconTextButton,CollectionEditorEx,EntityService,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:Bind.oneWay((()=>`Storage (${toFileSize(this.model.storage)},${toFileSize(this.model.maxStorage)})`))},XNode.create("input",{type:"range",value:Bind.twoWaysImmediate((()=>this.model.maxStorage)),min:0,max:1e3*1024*1024*1024,step:1024*1024*1024})),XNode.create(CollectionEditorEx,{label:"Sync Targets",model:this.model,field:x=>x.syncTargets,addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("div",null,XNode.create("span",null,XNode.create("span",{text:item.protocol})),XNode.create("span",null,XNode.create("span",{text:item.username})),XNode.create("span",null,XNode.create("span",{text:item.host})),XNode.create("span",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})),XNode.create("span",null,XNode.create("i",{"data-click-event":"check-sync-logs",class:"fas fa-circle-info",title:"Check Logs"})))}),XNode.create(SaveIconTextButton,{"data-submit-event":"save-mailbox"})))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.model,(x=>x))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}checkSyncLogs(item){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const syncState=JSON.parse((_a=item.syncLog)!==null&&_a!==void 0?_a:"{}");yield PopupService.alert({message:XNode.create("div",null,XNode.create("pre",null,...((_b=syncState.log)!==null&&_b!==void 0?_b:[]).map((x=>[XNode.create("span",{text:x}),XNode.create("br",null)])).flat(2)))})}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],MailboxDetailPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"saveMailbox",null);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null);__decorate([Action({onEvent:"check-sync-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"checkSyncLogs",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;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){Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const dateCreated=DateTime.now;const mb=Mailbox.create({externalEmailAddress:emailAddress,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){_export("default",MailboxListPage=class MailboxListPage extends MasterDetailPage{constructor(){super(...arguments);this.search="";this.mailboxes=[];this.version=0;this.domainID=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.domains=yield this.mailboxService.domains();this.domains.insert(0,Domain.create({name:"Any",domainID:0}));this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ComboBox,{valuePath:d=>d.domainID,labelPath:d=>d.name,items:this.domains,value:Bind.twoWaysImmediate((()=>this.domainID))}),this.domains.length>1&&XNode.create("i",{class:"fas fa-plus","data-click-event":"add-mailbox"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(InlinePopupButton,{icon:"fas fa-plus",label:"Add",popup:()=>XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"add-mailbox",label:"Hosted Mailbox"}),XNode.create(MenuItem,{"data-click-event":"add-external-mailbox",label:"External Mailbox"}))}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.mailboxes,"data-layout":"data-grid"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({start,cancelToken,search:this.search,version:this.version,domainID:this.domainID}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("div",null,XNode.create(Icon.Mailbox,{mailbox:item})),XNode.create("div",null,XNode.create("a",{href:item.isChannel?CommonCommands.openChannel.displayRoute({id:item.mailboxID}):CommonCommands.openMailbox.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},item.emailAddress.emailAddress)),XNode.create("div",null,toFileSize(item.storage)),XNode.create("div",null,toFileSize(item.maxStorage)),XNode.create("div",null,item.isChannel?XNode.create("a",{href:CommonCommands.openSubscribers.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},"Subscribers"):XNode.create("span",null)),XNode.create("div",null,XNode.create("i",{class:"fas fa-gears","data-cursor":"pointer",title:"Settings","data-click-event":"open-settings"})))}))))}))}addMailbox(){return __awaiter(this,void 0,void 0,(function*(){const domains=yield this.mailboxService.domains(true);if(!domains.length){alert("There are no hosted domains available, please create domain name from the admin console.");return}yield PageNavigator.pushPageForResult(MailboxEditorPage,{domainID:this.domainID});this.version++}))}openSettings(mailbox){return __awaiter(this,void 0,void 0,(function*(){this.openDetail(MailboxDetailPage,mailbox)}))}addExternalMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(AddExternalMailboxPage)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxListPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addMailbox",null);__decorate([Action({onEvent:"open-settings"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"openSettings",null);__decorate([Action({onEvent:"add-external-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addExternalMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/AppCommands");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands"],(function(_export,_context){"use strict";var Command,CommonCommands,AppCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default}],execute:function(){_export("default",AppCommands=class AppCommands extends CommonCommands{});AppCommands.openHome=Command.create({route:"/",routeOrder:200,openPage:()=>_context.import("../page/home/HomePage")});AppCommands.openMailboxList=Command.create({route:"/mailboxes",routeOrder:100,openPage:()=>_context.import("../../common/pages/mailboxes/MailboxListPage")});AppCommands.openMails=Command.create({route:"/mails",routeOrder:100,openPage:()=>_context.import("../page/mails/MailboxContacts")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/history/WebSiteHistory");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","../../../../common/controls/buttons/IconButton","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/date/DateFormats","../../../../common/NumberFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,WebSiteService,XNode,AtomRepeater,SelectorCheckBox,Action,EntityService,DeleteIconTextButton,InfiniteRepeater,DateFormats,toFileSize,WebSiteHistory;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize}],execute:function(){_export("default",WebSiteHistory=class WebSiteHistory extends PopupWindowPage{constructor(){super(...arguments);this.versions=[];this.selectedVersions=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.folder.name} Versions`;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",allowMultipleSelection:true,items:this.versions,selectedItems:this.selectedVersions},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.getVersions({folderID:this.parameters.folderID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,item.snapshotFolderID===this.parameters.currentVersionID?XNode.create("div",null):XNode.create(SelectorCheckBox,null),XNode.create("span",{text:item.name}),XNode.create("span",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("span",{text:item.author.displayName}),XNode.create("span",{text:toFileSize(item.snapshotFolder.fileSize)}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(DeleteIconTextButton,{"data-click-event":"delete-versions"}))}))}deleteVersions(){return __awaiter(this,void 0,void 0,(function*(){const copy=[...this.selectedVersions];for(const iterator of copy){iterator.$deleted=true}yield this.entityService.save(copy,(c=>c));this.selectedVersions.length=0;for(const iterator of copy){this.versions.remove(iterator)}}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteHistory.prototype,"websiteService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],WebSiteHistory.prototype,"entityService",void 0);__decorate([Action({onEvent:"delete-versions",confirm:"Are you sure you want to delete old published verions? There is no way to recover these versions."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteHistory.prototype,"deleteVersions",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/Expander","../buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/web/services/PopupService","../../../services/EntityService","../../../model/model","./CollectionEditor.global.less"],(function(_export,_context){"use strict";var __awaiter,XNode,AtomRepeater,Expander,AddIconTextButton,DeleteIconButton,PageNavigator,Bind,PopupService,EntityService,modelEntitySchemas,hasKeys;function CollectionEditor({model,collection,addPage,pageResultToItem,addItemDefaults,itemFactory,editPage,label,itemRenderer,autoFocus=false}){var _a;let repeater;const items=(_a=model[collection])!==null&&_a!==void 0?_a:model[collection]=[];const schema=modelEntitySchemas[model.$type];const relation=schema.schema.relations.find((x=>x.name===collection));itemFactory!==null&&itemFactory!==void 0?itemFactory:itemFactory=()=>relation.relatedModel.create(addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{});const onAddItem=()=>__awaiter(this,void 0,void 0,(function*(){const es=repeater.app.resolve(EntityService);let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{});newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=itemFactory===null||itemFactory===void 0?void 0:itemFactory()}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}if(hasKeys(model,schema)){const draft=Object.assign(Object.assign({},model),{[collection]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[collection]));yield es.save(clone.copy)}repeater.items.add(newItem)}));const deleteItem=item=>__awaiter(this,void 0,void 0,(function*(){if(!(yield PopupService.confirm({message:"Are you sure you want to delete this?",title:"Confirm"}))){return}if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}));return XNode.create(Expander,{"data-collection-editor":"editor",isExpanded:true},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:label})),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>repeater=c)),"data-layout":"data-grid","event-delete-collection-item":ce=>deleteItem(ce.detail),items,footer:true,itemRenderer:item=>{const node=itemRenderer(item);node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));return node}}),XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":onAddItem,text:"Add New"}))))}_export("default",CollectionEditor);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_buttonsIconButton){AddIconTextButton=_buttonsIconButton.AddIconTextButton;DeleteIconButton=_buttonsIconButton.DeleteIconButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_CollectionEditorGlobalLess){}],execute:function(){hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/view/ViewWebSitePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../../common/controls/collection-editor/CollectionEditor"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteHost,XNode,Bind,CollectionEditor,ViewWebSitePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteHost=_modelModel.WebSiteHost},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsCollectionEditorCollectionEditor){CollectionEditor=_commonControlsCollectionEditorCollectionEditor.default}],execute:function(){_export("default",ViewWebSitePage=class ViewWebSitePage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).hosts)!==null&&_a!==void 0?_a:_b.hosts=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To view website, you must add host name with correct DNS settings. Please contact support for more help.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Hosts",model:this.model,collection:"hosts",itemRenderer:item=>XNode.create("div",null,XNode.create("a",{href:`https://${item.host}`,target:"_blank",text:item.host})),itemFactory:()=>{const host=prompt("Internet URL Host","");if(!host){return}return WebSiteHost.create({host})}}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/blogs/LookupChannelPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/buttons/IconButton","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Mailbox,XNode,Bind,InjectProperty,EntityService,AtomRepeater,SaveIconTextButton,InfiniteRepeater,Sql,LookupChannelPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("default",LookupChannelPage=class LookupChannelPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selected=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Search for Channels/Blogs";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({selectOnClick:true,"data-list-selection":"default",selectedItem:Bind.twoWaysImmediate((()=>this.selected))},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.searchItems({start,search:this.search,cancelToken}))),{itemRenderer:x=>XNode.create("div",{text:x.emailAddress.emailAddress})})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected!==null)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Select"}))}))}searchItems({start,size=10,search="",cancelToken}){return __awaiter(this,void 0,void 0,(function*(){search=search===null||search===void 0?void 0:search.toLowerCase();search||(search="");let q=this.entityService.query(Mailbox).where((x=>x.isChannel===true&&x.isPrivateChannel===false));if(search){search=search+"%";if(search.startsWith("@")){q=q.where({search},(p=>x=>Sql.text.like(x.domain.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}}return q.include((x=>x.emailAddress)).toPagedList({start,cancelToken,size})}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],LookupChannelPage.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/hosted-domains/HostedDomainDropDown");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,DropDown,HostedDomain,Bind,InjectProperty,EntityService,Sql,HostedDomainDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",HostedDomainDropDown=class HostedDomainDropDown extends DropDown{constructor(app,e){super(app,e);this.pushInit();this.valuePath=mb=>mb.domainID;this.itemRenderer=mb=>XNode.create("div",null,mb.domain.name)}init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.prompt="From";this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>this.searchMailboxes(this.search,this.value,cancelToken)))}));const item=yield this.entityService.query(HostedDomain).include((x=>x.domain)).firstOrDefault();this.items=[item];this.selectedItem=item}))}searchMailboxes(search,value,cancelToken){var _a;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(HostedDomain);search=(_a=search===null||search===void 0?void 0:search.trim())===null||_a===void 0?void 0:_a.toLowerCase();value||(value="0");if(search){search=search+"%";q=q.where({search,value},(p=>x=>Sql.text.like(x.domain.name,p.search)||x.domainID===p.value))}else{q=q.where({value},(p=>x=>x.domainID===p.value))}const items=yield q.include((x=>x.domain)).toPagedList({size:10,cancelToken});return items.items}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],HostedDomainDropDown.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/blogs/WebSiteBlogsPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/PageNavigator","./LookupChannelPage","../../../../common/controls/collection-editor/CollectionEditorEx","../../../../common/controls/hosted-domains/HostedDomainDropDown"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteChannel,XNode,Bind,PageNavigator,LookupChannelPage,CollectionEditorEx,HostedDomainDropDown,WebSiteBlogsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteChannel=_modelModel.WebSiteChannel},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_LookupChannelPage){LookupChannelPage=_LookupChannelPage.default},function(_commonControlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_commonControlsCollectionEditorCollectionEditorEx.default},function(_commonControlsHostedDomainsHostedDomainDropDown){HostedDomainDropDown=_commonControlsHostedDomainsHostedDomainDropDown.default}],execute:function(){_export("default",WebSiteBlogsPage=class WebSiteBlogsPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).channels)!==null&&_a!==void 0?_a:_b.channels=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To display blog/channels on your website, you must add them here.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditorEx,{label:"Domains",model:this.model,field:x=>x.channelDomains,addItemDefaults:{domainID:null},itemRenderer:item=>XNode.create("div",null,XNode.create("div",{text:item.domain.domain.name})),inlineAdd:true,inlineAddRenderer:item=>XNode.create("div",null,XNode.create("menu",null,XNode.create(HostedDomainDropDown,{value:Bind.sourceTwoWays(item,(x=>x.source.domainID))})))}),XNode.create(CollectionEditorEx,{label:"Channels",model:this.model,field:x=>x.channels,itemRenderer:item=>XNode.create("div",null,XNode.create("div",{text:item.channel.emailAddress.emailAddress})),itemFactory:()=>__awaiter(this,void 0,void 0,(function*(){const channel=yield PageNavigator.pushPageForResult(LookupChannelPage);return WebSiteChannel.create({channelID:channel.mailboxID,channel})}))}),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/DownloadZip");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","./DownloadZip.local.less"],(function(_export,_context){"use strict";var __awaiter,XNode,ContentPage,DownloadZip,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_DownloadZipLocalLess){}],execute:function(){css="download-zip-local";_export("default",DownloadZip=class DownloadZip extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name,fileContentID,appFileID,url,path}=this.parameters;const q=new URLSearchParams({name,url,path,fileContentID,appFileID});const previewUrl=`/social-mail/ui/dist/public/preview/zip/DownloadZip?${q.toString()}`;this.title=name;this.renderer=XNode.create("div",{class:css},XNode.create("iframe",{src:previewUrl}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","../../../../model/model","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../../site-editor/editor/WebSitePageEditor","../../../../code-editor/CodeEditorPage","../../../../services/websites/WebSiteService","../../../../web/commands/AppCommands","../history/WebSiteHistory","../view/ViewWebSitePage","../blogs/WebSiteBlogsPage","../../../../common/apiPath","../../../../common/controls/buttons/IconButton","../../../../common/controls/tree/FileTreeView","../../../../common/pages/files/service/CloudFileService","../../../../common/pages/files/shares/EditSharesPage","../../../../common/pages/files/preview/document/DownloadZip","../../../../common/pages/files/FileHistoryPage","../../../../common/menu/MenuService","./web-site-studio-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,Bind,XNode,Action,PageNavigator,MenuItem,AppFile,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,WebSitePageEditor,CodeEditorPage,WebSiteService,AppCommands,WebSiteHistory,ViewWebSitePage,WebSiteBlogsPage,apiPath,SaveIconTextButton,EditIconTextButton,FileTreeView,CloudFileService,EditSharesPage,DownloadZip,FileHistoryPage,MenuService,WebSiteStudioPage,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_historyWebSiteHistory){WebSiteHistory=_historyWebSiteHistory.default},function(_viewViewWebSitePage){ViewWebSitePage=_viewViewWebSitePage.default},function(_blogsWebSiteBlogsPage){WebSiteBlogsPage=_blogsWebSiteBlogsPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton;EditIconTextButton=_commonControlsButtonsIconButton.EditIconTextButton},function(_commonControlsTreeFileTreeView){FileTreeView=_commonControlsTreeFileTreeView.FileTreeView},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonPagesFilesSharesEditSharesPage){EditSharesPage=_commonPagesFilesSharesEditSharesPage.default},function(_commonPagesFilesPreviewDocumentDownloadZip){DownloadZip=_commonPagesFilesPreviewDocumentDownloadZip.default},function(_commonPagesFilesFileHistoryPage){FileHistoryPage=_commonPagesFilesFileHistoryPage.default},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default},function(_webSiteStudioPageLocalLess){}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.keep=true;this.version=1;this.pageContent="";this.modified=false}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);this.title=this.root.name;this.webSite=yield this.websiteService.get(this.root.appFileID);this.menuService.addWebSite(this.webSite);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:this.root.name}),XNode.create("div",{"style-display":Bind.oneWay((()=>this.webSite.isModified))},XNode.create(SaveIconTextButton,{"data-click-event":"publish-website",text:"Publish"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.webSite.folderID})},XNode.create(EditIconTextButton,{text:"Modify Files",title:"Use this to upload files manually"})),XNode.create(EditIconTextButton,{"data-click-event":"version-history",icon:"fas fa-history",text:"History",title:"Version History"}),XNode.create(EditIconTextButton,{"data-click-event":"link-blog",icon:"fad fa-blog",text:"Linked Blogs"}),XNode.create(EditIconTextButton,{"data-click-event":"view-website",icon:"fad fa-globe-pointer",text:"View Site"}),XNode.create("a",{href:Bind.oneWay((()=>apiPath(`${this.root.url}${this.cloudFileService.getFilePath(this.root,this.selectedFile)}${this.selectedFile.name}`))),target:"_blank"},XNode.create(EditIconTextButton,{icon:"fad fa-globe-pointer",text:"Preview Draft"})),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})),XNode.create(EditIconTextButton,{icon:"fad fa-save",text:"Download Site","event-click":()=>PageNavigator.pushPage(DownloadZip,this.webSite.folder)}));this.renderer=XNode.create("div",{class:"web-site-studio-page"},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"}),XNode.create(MenuItem,{icon:"fas fa-history","data-click-event":"file-history",label:"File History"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.modified){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",selectedFile:Bind.oneWay((()=>this.selectedFile)),baseUrl:Bind.oneWay((()=>apiPath(`${this.root.url}${this.cloudFileService.getFilePath(this.root,this.selectedFile)}`))),folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.modified=true,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?this.downloadHtml(this.selectedFile,cancelToken):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified))},XNode.create(SaveIconTextButton,{"data-click-event":"save-page",text:"Save"}))}))}downloadHtml(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const text=yield FetchBuilder.get(file.url).cancelToken(cancelToken).asText(true);this.pageContent=text;return text}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:this.selectedFile.name,content:(_a=this.htmlEditor.modifiedPage)!==null&&_a!==void 0?_a:this.pageContent});this.pageContent=content;yield this.htmlEditor.merge(content)}))}openFolder(file){this.selectedFile=file}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){let html=this.htmlEditor.modifiedPage;if(!html.trim().startsWith("<!")){html=`<!DOCTYPE html>${html}`}const content=new File([html],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.pageContent=html;this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.webSite.isModified=true;this.modified=false;this.htmlEditor.undoRedo.changed=false}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){const{fileContentID,url}=yield PageNavigator.pushPageForResult(FileHistoryPage,file);const{selectedFile}=this;if(file.appFileID===(selectedFile===null||selectedFile===void 0?void 0:selectedFile.appFileID)){selectedFile.url=url;selectedFile.fileContentID=fileContentID}}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.publish(this.webSite)}))}versionHistory(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteHistory,this.webSite)}))}viewWebSite(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ViewWebSitePage,this.webSite)}))}linkBlog(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteBlogsPage,this.webSite)}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteStudioPage.prototype,"websiteService",void 0);__decorate([InjectProperty,__metadata("design:type",MenuService)],WebSiteStudioPage.prototype,"menuService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?",success:"Web site published successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"publishWebsite",null);__decorate([Action({onEvent:"version-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"versionHistory",null);__decorate([Action({onEvent:"view-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"viewWebSite",null);__decorate([Action({onEvent:"link-blog"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"linkBlog",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","../../common/menu/MenuService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,WebSite,Sql,MenuService,StoreService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){WebSite=_modelModel.WebSite},function(_commonSql){Sql=_commonSql.Sql},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default}],execute:function(){StoreService=class StoreService{get(storeID){return __awaiter(this,void 0,void 0,(function*(){const store=yield this.entityService.query(WebSite).where({storeID},(p=>x=>x.folderID===p.storeID)).include((x=>x.folder.accessList)).firstOrDefault();this.menuService.addWebSite(store);return store}))}top(){return __awaiter(this,void 0,void 0,(function*(){const{items}=yield this.stores({size:3,cancelToken:null});return items}))}stores({search="",start=0,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(WebSite);if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.folder.name,p.search)))}return q.orderByDescending((x=>x.folderID)).include((x=>x.folder)).toPagedList({start,size,cancelToken})}))}save(store){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(store,(x=>x))}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MenuService)],StoreService.prototype,"menuService",void 0);StoreService=__decorate([DISingleton()],StoreService);_export("default",StoreService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreOrderService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,StoreItemPrice,StoreJournal,StoreJournalLineItem,Sql,DateTime,StoreOrderService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){StoreItemPrice=_modelModel.StoreItemPrice;StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){StoreOrderService=class StoreOrderService{get(orderID){return this.entityService.query(StoreJournal).where({orderID},(p=>x=>x.journalID===p.orderID)).include((x=>[x.lineItems.forEach((oi=>[oi.itemPrice.storeItem.store])),x.entries.forEach((e=>e.storeAccount)),x.buyer,x.seller])).firstOrDefault()}list({storeID=void 0,start=0,size=100,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreJournal).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.buyer.name,p.search)||x.lineItems.some((oi=>Sql.text.iLike(oi.itemPrice.storeItem.name,p.search)))))}return q.orderByDescending((x=>x.journalID)).toPagedList({start,size,cancelToken})}))}save(order){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(order,(c=>c.include((x=>x.entries)).include((x=>x.lineItems)).thenInclude((x=>x.relatedItems))));return order}))}updateTaxFolder(model,line,taxFolder){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!taxFolder){if(!line.relatedItems){return}for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}line.relatedItems.remove(iterator)}return}const{itemFolderID}=taxFolder;const date=(_a=model.dateCreated)!==null&&_a!==void 0?_a:DateTime.now;const taxItemPrices=yield this.entityService.query(StoreItemPrice).where({itemFolderID,date},(p=>x=>x.startDate<=p.date&&x.storeItem.itemFolderID===p.itemFolderID)).include((x=>x.storeItem)).toArray();const taxItems=taxItemPrices.map((x=>x.storeItem)).groupBy((x=>x.storeItemID)).map((x=>x[0]));const taxItemIDs=new Set(taxItems.map((x=>x.storeItemID)));(_b=line.relatedItems)!==null&&_b!==void 0?_b:line.relatedItems=[];for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}if(!taxItemIDs.has(iterator.itemID)){line.relatedItems.remove(iterator);iterator.source=null;iterator.journal=null;model.lineItems.remove(iterator)}}for(const iterator of taxItems){const{storeItemID:itemID}=iterator;let taxLine=line.relatedItems.find((x=>x.itemID===itemID));if(!taxLine){taxLine=StoreJournalLineItem.create({itemID,source:line});if(line.lineItemID){taxLine.sourceID=line.lineItemID}line.relatedItems.add(taxLine)}taxLine.itemID=itemID;taxLine.item=iterator;taxLine.itemType="tax";const taxItemPrice=taxItemPrices.find((x=>x.storeItemID===itemID));taxLine.itemPriceID=taxItemPrice.priceID;const amount=Number(line.amount)*Number(taxItemPrice.amount);taxLine.amount=amount}}))}deleteLineItem(model,line){return __awaiter(this,void 0,void 0,(function*(){}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreOrderService.prototype,"entityService",void 0);StoreOrderService=__decorate([DISingleton()],StoreOrderService);_export("default",StoreOrderService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/reference-editor/ReferenceEditor");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","../../../services/EntityService","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/ExpressionParser","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../repeater/InfiniteRepeater","@web-atoms/core/dist/view-model/Action","./ReferenceEditor.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,PageNavigator,Bind,EntityService,AtomControl,ExpressionParser,modelEntitySchemas,InjectProperty,InfiniteRepeater,Action,ReferenceEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreExpressionParser){ExpressionParser=_webAtomsCoreDistCoreExpressionParser.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_repeaterInfiniteRepeater){InfiniteRepeater=_repeaterInfiniteRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ReferenceEditorGlobalLess){}],execute:function(){_export("default",ReferenceEditor=class ReferenceEditor extends AtomControl{constructor(app,e){super(app,e);this.label="";this.model=null;this.field=null;this.searchQuery=null;this.cacheVersion="c1";this.cacheSeconds=15;this.editModelPage=null;this.addNewDefaults={};this.reference=null;this.fieldName=null;this.search="";this.suggestions=null;this.relation=null;this.schema=null;this.showSearch=false;this.hasFocus=false;this.itemRenderer=()=>XNode.create("div",{title:"Setup Item Renderer to customize view",text:"Model"});this.suggestionRenderer=x=>this.itemRenderer(x);this.onAddNew=search=>PageNavigator.pushPageForResult(this.editModelPage,Object.assign({search},this.addNewDefaults));this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;const renderModel=(renderer,model)=>XNode.create("div",{class:"model","data-border":"frame","data-padding":"auto","data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"row"},XNode.create("label",{text:Bind.oneWay((()=>this.label))}),model&&renderer(model),model&&XNode.create("i",{"event-click":()=>this.clearModel(),title:"Clear","data-cursor":"pointer","data-color":"red",class:"fas fa-times-circle"}),!model&&XNode.create("input",{type:"search",placeholder:`Search ${this.label}`,"event-focus":()=>this.hasFocus=true,"event-blur":()=>setTimeout((()=>this.hasFocus=false),250),value:Bind.twoWaysImmediate((()=>this.search))})),!model&&XNode.create("div",{class:"suggestions","style-display":Bind.oneWay((()=>this.showSearch))},XNode.create("div",null,XNode.create("div",{"style-max-height":"200px","data-overflow-y":"auto"},XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid","data-list-selection":"default","data-click-event":"select-suggestion",items:this.suggestions},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.queryItems(start,this.search,cancelToken,this.showSearch))),{itemRenderer:this.suggestionRenderer}))),XNode.create("div",{"data-layout":"row","data-cursor":"pointer","event-click":()=>this.addNew()},XNode.create("i",{class:"fas fa-plus"}),"Add New"))));const fx=()=>this.model[this.fieldName];fx.toString=()=>`() => this.model.${fieldName}`;this.renderer=XNode.create("div",{"data-reference-editor":"reference-editor",reference:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName)))),renderer:Bind.oneWay((()=>renderModel(this.itemRenderer,this.reference))),showSearch:Bind.oneWay((()=>this.hasFocus||this.search?true:false))})}))}queryItems(start,search,cancelToken,showSearch){if(!showSearch){return{items:[],total:0}}let q=this.entityService.query(this.relation.relatedModel);q=this.searchQuery(q,search);const{cacheVersion,cacheSeconds}=this;return q.toPagedList({start,size:10,cacheSeconds,cacheVersion,cancelToken})}addNew(){return __awaiter(this,void 0,void 0,(function*(){this.showSearch=false;const model=yield this.onAddNew(this.search)}))}clearModel(){return __awaiter(this,void 0,void 0,(function*(){this.model[this.fieldName]=null;const relation=this.relation;if(!relation.isInverse){this.model[relation.fkMap[0].fk]=null}if(!this.hasAllKeys()){this.element.dispatchEvent(new CustomEvent("referenceUpdated",{detail:null}));return}yield this.entityService.save(this.model,(c=>c));this.element.dispatchEvent(new CustomEvent("referenceUpdated",{detail:null}))}))}hasAllKeys(){const{schema,model}=this;if(!model){return}for(const key of schema.schema.keys){if(!model[key.name]){return false}}return schema.schema.keys.length>0}selectSuggestion(item){const{relation,model}=this;model[this.fieldName]=item;model[relation.fkMap[0].fk]=item[relation.fkMap[0].relatedKey];this.element.dispatchEvent(new CustomEvent("referenceUpdated",{detail:item}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ReferenceEditor.prototype,"entityService",void 0);__decorate([Action({onEvent:"select-suggestion"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ReferenceEditor.prototype,"selectSuggestion",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/contacts/ContactService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Contact,DISingleton,ContactService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Contact=_modelModel.Contact},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){ContactService=class ContactService{get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Contact).where({id},(p=>x=>x.contactID===p.id)).include((x=>[x.addresses,x.items,x.emails,x.phones,x.hostedDomain])).firstOrDefault()}))}save(contact){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(contact,(c=>c.include((x=>x.addresses)).include((x=>x.items)).include((x=>x.emails)).include((x=>x.phones))))}))}};__decorate([Inject,__metadata("design:type",EntityService)],ContactService.prototype,"entityService",void 0);ContactService=__decorate([DISingleton()],ContactService);_export("default",ContactService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/contacts/ContactEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../controls/collection-editor/CollectionEditorEx","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/contacts/ContactService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Contact,ContactEmail,ContactPhone,HostedDomain,XNode,Form,FormField,Bind,ToggleButtonBar,Select,InjectProperty,EntityService,CollectionEditorEx,SaveIconTextButton,Action,ContactService,ContactEditorPage,contactTypes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Contact=_modelModel.Contact;ContactEmail=_modelModel.ContactEmail;ContactPhone=_modelModel.ContactPhone;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesContactsContactService){ContactService=_servicesContactsContactService.default}],execute:function(){contactTypes=[{label:"Company",value:"company"},{label:"Person",value:"person"}];_export("default",ContactEditorPage=class ContactEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.contactID)?yield this.contactService.get(this.parameters.contactID):Contact.create({type:"person",name:"",emails:[ContactEmail.create({emailAddressText:"",emailAddressID:null})],phones:[ContactPhone.create({phoneNumberE64:""})]});this.title=this.model.contactID?"Edit "+this.model.name:"Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name",required:true,error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(FormField,{label:"Type"},XNode.create(ToggleButtonBar,{items:contactTypes,labelPath:x=>x.label,valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Domain"},XNode.create(Select,{items:Bind.oneWay((()=>this.entityService.query(HostedDomain).include((x=>x.domain)).toArray())),labelPath:x=>x.domain.name,valuePath:x=>x.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(CollectionEditorEx,{label:"Phone",model:this.model,field:x=>x.phones,itemRenderer:item=>XNode.create("div",null,XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.phoneNumberE64))}))}),XNode.create(CollectionEditorEx,{label:"Email",model:this.model,field:x=>x.emails,itemRenderer:item=>XNode.create("div",null,item.emailAddress?XNode.create("div",{text:item.emailAddress.emailAddress}):XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.emailAddress))}))})),XNode.create("details",{open:true,"data-border":"frame"},XNode.create("summary",null,"Tax Numbers"),XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(FormField,{label:"GST ID (GSTIN)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.gstTaxID))})),XNode.create(FormField,{label:"Income TAX (PAN/TAX ID)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.incomeTaxID))})),XNode.create(FormField,{label:"Sales TAX ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salesTaxID))})))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-contact"}))))}))}saveContact(){return __awaiter(this,void 0,void 0,(function*(){yield this.contactService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ContactEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",ContactService)],ContactEditorPage.prototype,"contactService",void 0);__decorate([Action({onEvent:"save-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ContactEditorPage.prototype,"saveContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreItemService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","../files/MimeTypeService","../../common/pages/files/service/CloudFileService","../../common/menu/MenuService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,StoreItem,StoreMediaFile,WebSite,Sql,MimeTypeService,CloudFileService,MenuService,StoreItemService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;StoreItem=_modelModel.StoreItem;StoreMediaFile=_modelModel.StoreMediaFile;WebSite=_modelModel.WebSite},function(_commonSql){Sql=_commonSql.Sql},function(_filesMimeTypeService){MimeTypeService=_filesMimeTypeService.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default}],execute:function(){StoreItemService=class StoreItemService{getStore(storeID){return __awaiter(this,void 0,void 0,(function*(){const store=yield this.entityService.query(WebSite).where({storeID},(p=>x=>x.folderID===p.storeID)).include((x=>x.folder)).firstOrDefault();this.menuService.addWebSite(store);return store}))}get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const items=yield this.entityService.query(StoreItem).where({id},(p=>x=>x.storeItemID===p.id||x.variantForID===p.id||x.sizeForID===p.id)).include((x=>[x.store.folder,x.itemFolder,x.fileFolder,x.storeItemPrices,x.variantFor,x.sizeFor,x.applicableTaxes.forEach((t=>t.taxItem.storeItemPrices)),x.mediaFiles.forEach((m=>m.appFile)),x.storeItemTags.forEach((t=>t.tag))])).toArray();const item=items.find((x=>x.storeItemID===id));(_a=item.storeItemTags)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.sortOrder-b.sortOrder));return item}))}list({start=0,size=100,search="",storeID=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreItem).where({storeID},(p=>x=>x.storeID===p.storeID&&x.sizeForID===null&&x.variantForID===null));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.name,p.search)||Sql.text.iLike(x.description,p.search)))}return q.orderByDescending((x=>x.storeItemID)).include((x=>[x.itemFolder,x.storeItemPrices])).toPagedList({start,size,cancelToken})}))}save(storeItem){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(storeItem,(c=>c.include((x=>x.storeItemPrices)).include((x=>x.applicableTaxes)).include((x=>x.storeItemTags)).thenInclude((x=>x.tag)).include((x=>x.mediaFiles))));return storeItem}))}getOrCreateMediaFile(model,name,template){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{folderID}=model;let file=yield this.entityService.query(AppFile).where({folderID,name},(p=>x=>x.parentID===p.folderID&&x.name===p.name)).firstOrDefault();if(!file){file=AppFile.create({parentID:folderID,isFolder:false,contentType:yield this.mimeTypeService.getMimeType(name),name});yield this.entityService.save(file);if(template){const{fileContentID,url}=yield this.cloudFileService.saveFile({appFileID:file.appFileID,content:new File([template()],name,{type:"text/html"})});file.url=url;file.fileContentID=fileContentID}}let mediaFile=(_a=model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title===name));if(!mediaFile){mediaFile=StoreMediaFile.create({storeItemID:model.storeItemID,appFileID:file.appFileID,fileContentID:file.fileContentID,isPreview:false,title:name});yield this.entityService.save(mediaFile);((_b=model.mediaFiles)!==null&&_b!==void 0?_b:model.mediaFiles=[]).add(mediaFile)}else{if(mediaFile.fileContentID!==file.fileContentID){mediaFile.appFileID=file.appFileID;mediaFile.fileContentID=file.fileContentID;yield this.entityService.save(mediaFile,(c=>c))}}mediaFile.appFile=file;return mediaFile}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreItemService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MimeTypeService)],StoreItemService.prototype,"mimeTypeService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],StoreItemService.prototype,"cloudFileService",void 0);__decorate([Inject,__metadata("design:type",MenuService)],StoreItemService.prototype,"menuService",void 0);StoreItemService=__decorate([DISingleton()],StoreItemService);_export("default",StoreItemService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/order/EditOrderPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreOrderService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/collection-editor/CollectionEditorEx","../../../../common/controls/reference-editor/ReferenceEditor","../../../../common/pages/contacts/ContactEditorPage","../../../../common/Sql","../../../../services/store/StoreItemService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StoreJournal,StoreJournalLineItem,InjectProperty,StoreOrderService,XNode,Form,Expander,Bind,AtomRepeater,CollectionEditorEx,ReferenceEditor,ContactEditorPage,Sql,StoreItemService,EditOrderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_commonControlsCollectionEditorCollectionEditorEx.default},function(_commonControlsReferenceEditorReferenceEditor){ReferenceEditor=_commonControlsReferenceEditorReferenceEditor.default},function(_commonPagesContactsContactEditorPage){ContactEditorPage=_commonPagesContactsContactEditorPage.default},function(_commonSql){Sql=_commonSql.Sql},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default}],execute:function(){_export("default",EditOrderPage=class EditOrderPage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const storeID=this.parameters.storeID;if(!storeID){alert("StoreID must be present.");this.cancel();return}yield this.storeItemService.getStore(this.parameters.storeID);this.model=this.parameters.journalID?yield this.storeOrderService.get(this.parameters.journalID):StoreJournal.create(Object.assign(Object.assign({},this.parameters),{journalType:"sales-invoice",storeID,buyer:null,seller:null,lineItems:[StoreJournalLineItem.create({item:null,itemPrice:null,quantity:1})]}));this.renderer=XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(Form,null,XNode.create(ReferenceEditor,{label:"Buyer",model:this.model,field:x=>x.buyer,editModelPage:ContactEditorPage,searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch)||x.emails.some((e=>Sql.text.iLike(e.emailAddress.emailAddress,p.likeSearch)))||x.phones.some((e=>e.phoneNumberE64===p.search)))):q).where((x=>x.type!=="domain")).include((x=>[x.items,x.domains,x.addresses])).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("label",{text:x.name}),XNode.create("label",{text:x.gstTaxID||x.incomeTaxID}))})),XNode.create(CollectionEditorEx,{label:"Items",model:this.model,field:x=>x.lineItems,addItemDefaults:{item:null,itemPrice:null,quantity:1},"event-item-deleted":ce=>this.onLineItemDeleted(ce.detail),itemRenderer:line=>XNode.create("div",{"data-layout":"row","data-align-items":"flex-start"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.item,addNewDefaults:{storeID},searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch))):q).where({storeID},(p=>x=>x.storeID===p.storeID)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.itemPrice,addNewDefaults:Bind.source(line,(x=>({storeItemID:x.source.itemID}))),"event-reference-updated":ce=>this.onItemPriceUpdated(line,ce.detail),searchQuery:(q,search)=>q.where({id:line.itemID},(p=>x=>x.storeItemID===p.id)),itemRenderer:x=>XNode.create("div",{text:`${x.currency} ${x.amount}`})}),XNode.create("input",{value:Bind.sourceTwoWays(line,(x=>x.source.quantity))}),XNode.create("input",{readOnly:true,value:Bind.source(line,(x=>x.source.amount))}),XNode.create("div",{"data-layout":"vertical-flex","style-padding":"0","style-overflow":"visible"},XNode.create(AtomRepeater,{items:Bind.source(line,(x=>x.source.relatedItems)),itemRenderer:ri=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.source(ri,(x=>x.source.item?x.source.item.name:""))}),XNode.create("div",{text:Bind.source(ri,(x=>x.source.amount))}))})))}),XNode.create(Expander,{isExpanded:false,"data-border":"frame"},XNode.create("div",null,"Journal Entries"),XNode.create("table",null,XNode.create("tr",null,XNode.create("th",null,"Ledger"),XNode.create("th",null,"Debit"),XNode.create("th",null,"Credit"),XNode.create("th",{title:"Balance when entry was posted"},"Posted Balance")),...((_a=this.model.entries)!==null&&_a!==void 0?_a:[]).map((x=>XNode.create("tr",null,XNode.create("td",null,x.storeAccount.name),XNode.create("td",null,x.debit),XNode.create("td",null,x.credit),XNode.create("td",{title:"Balance when posted"},x.balance)))))))}))}onItemPriceUpdated(line,detail){line.amount=Number(detail.amount)}onLineItemDeleted(line){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.deleteLineItem(this.model,line)}))}taxFolderUpdated(line,taxFolder){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.updateTaxFolder(this.model,line,taxFolder)}))}});__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],EditOrderPage.prototype,"storeOrderService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditOrderPage.prototype,"storeItemService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/orders/StoreOrderListPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/store/StoreService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../../../services/store/StoreOrderService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../order/EditOrderPage","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ContentPage,StoreService,InjectProperty,Bind,StoreOrderService,Action,PageNavigator,EditOrderPage,InfiniteRepeater,AddIconTextButton,StoreDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_orderEditOrderPage){EditOrderPage=_orderEditOrderPage.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton}],execute:function(){_export("default",StoreDetailPage=class StoreDetailPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.selectedItem=null;this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeService.get(this.parameters.id);this.title=`${this.model.folder.name} Orders`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeOrderService.list({storeID:this.parameters.id,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",null,XNode.create("label",{text:item.journalID}),XNode.create("label",{text:item.journalType}),XNode.create("a",{text:(_a=item.buyer)===null||_a===void 0?void 0:_a.name,"data-click-event":"route"}))}}))));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"create-order",text:"Create Order"}))}))}createOrder(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditOrderPage,{storeID:this.parameters.id})}))}});__decorate([InjectProperty,__metadata("design:type",StoreService)],StoreDetailPage.prototype,"storeService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],StoreDetailPage.prototype,"storeOrderService",void 0);__decorate([Action({onEvent:"create-order"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreDetailPage.prototype,"createOrder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tags/TagChips");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,Tag,Sql,TagChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Tag=_modelModel.Tag},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",TagChips=class TagChips extends AtomChips{preCreate(){super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Tags";this.itemRenderer=x=>{var _a,_b;return XNode.create(Chip,{draggable:true,deleted:x.$deleted,label:(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.label)!==null&&_b!==void 0?_b:x.name})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:x.name});this.enterKeyHint="enter";this.itemToChip=(item,name)=>({$deleted:false,name});this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a;return((_a=x.tag)===null||_a===void 0?void 0:_a.path)||x.name};this.bindEvent(this.element,"itemDropped",(()=>{this.items.forEach(((v,i)=>v.sortOrder=i))}))}removeItem(item){if(!item.tagID){this.items.remove(item);return}super.removeItem(item)}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}let q=this.entityService.query(Tag);search=search.toLocaleLowerCase();q=q.where({search:search+"%"},(p=>x=>Sql.text.like(x.name,p.search)));const items=yield q.orderBy((x=>x.name)).toPagedList({cancelToken,hideActivityIndicator:true,size:10});return items.items.map((tag=>({tag})))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/folder-view/FolderViewControl");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/core/InjectProperty","../NumberFormats","@web-atoms/core/dist/view-model/Action","../controls/buttons/IconButton","../fileUrl","../pages/files/service/CloudFileService","../FileUrlService","./FolderViewControl.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomControl,XNode,Bind,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,FilesDragDrop,InjectProperty,toFileSize,Action,DeleteIconTextButton,fileUrl,CloudFileService,FileUrlService,FolderViewControl,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsTreeFileTreeView){FolderTreeView=_controlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_controlsButtonsIconButton){DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton},function(_fileUrl){fileUrl=_fileUrl.fileUrl},function(_pagesFilesServiceCloudFileService){CloudFileService=_pagesFilesServiceCloudFileService.default},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_FolderViewControlLocalLess){}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",FolderViewControl=class FolderViewControl extends AtomControl{constructor(app,e){super(app,e);this.mode="thumbnails";this.selectedFolder=null;this.root=null;this.search="";this.version=0;this.selectedFiles=[];this.files=[];this.element.setAttribute("data-folder-view","folder-view");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{files:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,cancelToken})))},XNode.create(FolderTreeView,{class:"folder-tree",folderId:Bind.oneWay((()=>this.root.appFileID)),presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{allowMultipleSelection:true,selectedItems:this.selectedFiles,header:true,headerRenderer:()=>XNode.create("header",null,XNode.create(SelectAll,{items:Bind.oneWay((()=>this.files)),selectedItems:this.selectedFiles})),itemRenderer:Bind.oneWay((()=>this.getItemRenderere(this.mode))),items:Bind.oneWay((()=>this.files))})),XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0))},XNode.create(DeleteIconTextButton,{"data-click-event":"delete-files"})))}))}getItemRenderere(m){switch(this.mode){case"list":return f=>this.renderFile(f)}return f=>this.renderPreview(f)}renderPreview(item){if(/^(image|video)\//i.test(item.contentType)){return XNode.create("div",{class:"media-file"},XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",text:item.name}),XNode.create("img",{class:"file-preview",title:item.name,src:fileUrl.webp(item,300)}))}return XNode.create("div",{class:"media-file"},XNode.create("img",null))}renderFile(item){if(item.isFolder){return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("span",{"data-click-event":"open-folder",class:"file-link",text:item.name,"data-padding-left":"auto"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})))}return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("a",{href:item.url,target:"_blank",text:item.name,"data-margin-left":"default"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null,XNode.create("a",{href:FileUrlService.downloadUrl(item),target:"_blank",download:true},XNode.create("i",{class:"fas fa-download"}))),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})))}deleteFiles(){return __awaiter(this,void 0,void 0,(function*(){const copy=[].concat(this.selectedFiles);while(copy.length){const slice=copy.splice(0,10);yield this.cloudFileService.delete(slice);for(const iterator of slice){this.selectedFiles.remove(iterator);this.files.remove(iterator)}}this.version++}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderViewControl.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"delete-files",confirm:"Are you sure you want to delete selected files?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderViewControl.prototype,"deleteFiles",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderViewControl.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/Offsers");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/email-dom/dist/DomToString"],(function(_export,_context){"use strict";var XNode,DomToString,Offers;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default}],execute:function(){_export("Offers",Offers=()=>DomToString(XNode.create("main",null,XNode.create("section",{"styler-layout":"column"}),XNode.create("section",{"styler-layout":"column"}))))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/Specifications");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/email-dom/dist/DomToString"],(function(_export,_context){"use strict";var XNode,DomToString,Specifications;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default}],execute:function(){_export("Specifications",Specifications=()=>DomToString(XNode.create("main",null,XNode.create("section",{"styler-layout":"columns-2"},XNode.create("table",null,XNode.create("thead",null,XNode.create("tr",null,XNode.create("th",{colspan:2},"Spec 1"))),XNode.create("tbody",null,XNode.create("tr",null,XNode.create("td",null,"Size"),XNode.create("td",null,"Medium")),XNode.create("tr",null,XNode.create("td",null,"Color"),XNode.create("td",null,"Transparent")))),XNode.create("table",null,XNode.create("thead",null,XNode.create("tr",null,XNode.create("th",{colspan:2},"Spec 1"))),XNode.create("tbody",null,XNode.create("tr",null,XNode.create("td",null,"Size"),XNode.create("td",null,"Medium")),XNode.create("tr",null,XNode.create("td",null,"Color"),XNode.create("td",null,"Transparent"))))))))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/folders/EditItemFolderPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../../common/controls/reference-editor/ReferenceEditor","../../../../common/controls/buttons/IconButton","../../../../common/Sql","../../../../services/store/StoreItemService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,StoreItemFolder,InjectProperty,EntityService,XNode,Form,FormField,Bind,Action,ReferenceEditor,SaveIconTextButton,Sql,StoreItemService,EditItemFolderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){StoreItemFolder=_modelModel.StoreItemFolder},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsReferenceEditorReferenceEditor){ReferenceEditor=_commonControlsReferenceEditorReferenceEditor.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_commonSql){Sql=_commonSql.Sql},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default}],execute:function(){_export("default",EditItemFolderPage=class EditItemFolderPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.itemFolderID)?yield this.entityService.query(StoreItemFolder).where(this.parameters,(p=>x=>x.itemFolderID===p.itemFolderID)).firstOrDefault():StoreItemFolder.create({parent:null,storeID:(_b=this.parameters)===null||_b===void 0?void 0:_b.storeID});if(!this.parameters.storeID){alert("Store is not set");this.cancel();return}yield this.storeItemService.getStore(this.parameters.storeID);this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{placeholder:"Name",value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(ReferenceEditor,{label:"Folder",model:this.model,field:x=>x.parent,searchQuery:(q,search)=>(search?q.where({search},(p=>x=>Sql.text.startsWith(x.name,p.search))):q).orderBy((x=>x.path)),itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.name}))}),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-folder"}))))}))}saveFolder(){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.model,(c=>c));return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],EditItemFolderPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditItemFolderPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"save-folder",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditItemFolderPage.prototype,"saveFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/ProductEditor");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Select","../../../../common/Sql","../../../../common/controls/buttons/IconButton","../../../../common/controls/collection-editor/CollectionEditorEx","../../../../common/controls/reference-editor/ReferenceEditor","../../../../common/controls/tags/TagChips","../../../../common/date/DateFormats","../../../../common/folder-view/FolderViewControl","@web-atoms/core/dist/core/BindableProperty","../../../../common/controls/drag-drop/FilesDragDrop","@web-atoms/web-controls/dist/basic/UploadEvent","@web-atoms/core/dist/view-model/Action","../../../../common/fileUrl","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreItemService","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./html/Offsers","./html/Specifications","../../../../common/controls/countries/CountrySelect","@web-atoms/web-controls/dist/basic/Checkbox","../folders/EditItemFolderPage","../../../commands/SiteEditorCommands","../web-hooks/WebHookPage","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomControl,StoreItem,StoreItemItemTypeArray,StoreMediaFile,WebHook,Bind,XNode,FormField,Select,Sql,UploadIconTextButton,CollectionEditorEx,ReferenceEditor,TagChips,DateFormats,FolderViewControl,BindableProperty,FilesDragDrop,UploadEvent,Action,fileUrl,signedImageUrl,InjectProperty,StoreItemService,InlinePopupButton,MenuItem,Offers,Specifications,CurrencySelect,Checkbox,EditItemFolderPage,SiteEditorCommands,WebHookPage,EntityService,ProductEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){StoreItem=_modelModel.StoreItem;StoreItemItemTypeArray=_modelModel.StoreItemItemTypeArray;StoreMediaFile=_modelModel.StoreMediaFile;WebHook=_modelModel.WebHook},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonControlsButtonsIconButton){UploadIconTextButton=_commonControlsButtonsIconButton.UploadIconTextButton},function(_commonControlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_commonControlsCollectionEditorCollectionEditorEx.default},function(_commonControlsReferenceEditorReferenceEditor){ReferenceEditor=_commonControlsReferenceEditorReferenceEditor.default},function(_commonControlsTagsTagChips){TagChips=_commonControlsTagsTagChips.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonFolderViewFolderViewControl){FolderViewControl=_commonFolderViewFolderViewControl.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl;signedImageUrl=_commonFileUrl.signedImageUrl},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_htmlOffsers){Offers=_htmlOffsers.Offers},function(_htmlSpecifications){Specifications=_htmlSpecifications.Specifications},function(_commonControlsCountriesCountrySelect){CurrencySelect=_commonControlsCountriesCountrySelect.CurrencySelect},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_foldersEditItemFolderPage){EditItemFolderPage=_foldersEditItemFolderPage.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_webHooksWebHookPage){WebHookPage=_webHooksWebHookPage.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",ProductEditor=class ProductEditor extends AtomControl{constructor(){super(...arguments);this.productID=null;this.model=null}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"model":this.app.runAsync((()=>this.init()));break;case"productID":this.app.runAsync((()=>this.loadProduct()));break}}loadProduct(){return __awaiter(this,void 0,void 0,(function*(){if(!this.productID){return}this.model=yield this.storeItemService.get(this.productID)}))}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){if(!this.model){return}(_a=(_b=this.model).storeItemTags)!==null&&_a!==void 0?_a:_b.storeItemTags=[];const storeID=this.model.storeID;this.renderer=XNode.create("div",null,XNode.create("div",{"data-border":"frame","data-layout":"vertical-flex"},XNode.create(FormField,{label:"Type"},XNode.create(Select,{labelPath:x=>x.label[0].toUpperCase()+x.label.substring(1),valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.itemType)),items:StoreItemItemTypeArray})),XNode.create(ReferenceEditor,{label:"Folder",model:this.model,field:x=>x.itemFolder,addNewDefaults:{storeID:this.model.storeID},editModelPage:EditItemFolderPage,searchQuery:(q,search)=>(search?q.where({search},(p=>x=>Sql.text.startsWith(x.name,p.search))):q).where({storeID},(p=>x=>x.storeID===p.storeID)).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Description"},XNode.create("textarea",{rows:"5",cols:"80",value:Bind.twoWaysImmediate((()=>this.model.description))}))),XNode.create(TagChips,{softDeleteProperty:Bind.oneWay((()=>this.model.storeItemID>0)),items:Bind.twoWaysImmediate((()=>this.model.storeItemTags))}),XNode.create(CollectionEditorEx,{"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Sizes",model:this.model,field:x=>x.sizes,itemFactory:()=>{const name=prompt("Name of new size");if(name){return StoreItem.create({sizeForID:this.model.storeItemID,storeID:this.model.storeID,itemType:"size",name})}},itemRenderer:item=>XNode.create("div",null,XNode.create("a",{text:item.name,href:SiteEditorCommands.editProduct.displayRoute({storeItemID:item.storeItemID}),"data-click-event":"route"}))}),XNode.create(CollectionEditorEx,{"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Variants",model:this.model,field:x=>x.variants,itemFactory:()=>{const name=prompt("Name of new variant");if(name){return StoreItem.create({variantForID:this.model.storeItemID,storeID:this.model.storeID,itemType:"variant",name})}},itemRenderer:item=>XNode.create("div",null,XNode.create("a",{text:item.name,href:SiteEditorCommands.editProduct.displayRoute({storeItemID:item.storeItemID}),"data-click-event":"route"}))}),XNode.create(CollectionEditorEx,{label:"Prices",model:this.model,field:x=>x.storeItemPrices,addItemDefaults:{currency:this.model.store.currency,active:true},inlineAdd:true,"event-delete-collection-item":x=>(x.preventDefault(),this.deletePrice(x.detail)),inlineAddRenderer:item=>XNode.create("div",null,XNode.create("menu",null,XNode.create(CurrencySelect,{value:Bind.sourceTwoWays(item,(x=>x.source.currency))})),XNode.create("input",{placeholder:"Price",value:Bind.sourceTwoWays(item,(x=>x.source.amount))}),XNode.create("input",{placeholder:"Max Price",value:Bind.sourceTwoWays(item,(x=>x.source.maxAmount))}),XNode.create(Checkbox,{checked:Bind.sourceTwoWays(item,(x=>x.source.taxIncluded)),text:"Tax Included"})),itemRenderer:item=>item.active&&XNode.create("div",null,XNode.create("div",{text:item.currency}),XNode.create("div",{text:item.amount}),XNode.create("div",{text:item.taxAmount}),XNode.create("i",{"data-click-event":"copy-item-price","data-cursor":"pointer",title:"Copy",class:"fad fa-copy"}),XNode.create("div",{title:DateFormats.withWeekDayAndTime(item.startDate),text:DateFormats.relative.short(item.startDate)}),item.taxIncluded&&XNode.create("div",{text:"(Tax Included)"}),item.endDate?XNode.create("div",{title:DateFormats.withWeekDayAndTime(item.endDate),text:DateFormats.relative.short(item.endDate)}):XNode.create("div",null))}),XNode.create(CollectionEditorEx,{label:"Taxes",model:this.model,field:x=>x.applicableTaxes,addItemDefaults:{taxItem:null,storeItem:null},saveAfterAdd:false,inlineAddRenderer:item=>XNode.create("div",null,XNode.create(ReferenceEditor,{model:item,field:x=>x.taxItem,searchQuery:(q,search)=>(search?q.where({search:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.search))):q).where({storeID},(p=>x=>x.storeID===p.storeID&&x.itemType==="tax")).include((x=>x.storeItemPrices)),itemRenderer:ti=>XNode.create("div",null," ",XNode.create("label",{text:ti.name})," "),suggestionRenderer:ti=>XNode.create("div",null," ",XNode.create("label",{text:ti.name})," ")})),itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.taxItem.name}),XNode.create("div",{"data-layout":"flex-wrap-padding"},...item.taxItem.storeItemPrices.map((t=>XNode.create("label",{text:t.amount})))))}),XNode.create("details",{"data-border":"frame"},XNode.create("summary",{text:"Files"}),XNode.create(FolderViewControl,{root:Bind.oneWay((()=>this.model.fileFolder))})),XNode.create(CollectionEditorEx,Object.assign({"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Media",layout:"flex-wrap",model:this.model,field:x=>x.mediaFiles,footer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(UploadIconTextButton,Object.assign({},UploadEvent.AttachUploadAction({uploadEvent:"files-uploaded",extra:Bind.oneWay((()=>JSON.stringify({parentID:this.model.folderID})))}))),XNode.create(InlinePopupButton,{icon:"fas fa-plus",label:"Add Html",popup:()=>XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"add-offer",label:"Add Offers"}),XNode.create(MenuItem,{"data-click-event":"add-specifications",label:"Add Specifications"}))})),itemRenderer:item=>XNode.create("div",null,item.isPreview?XNode.create("img",{src:this.mediaFileUrl(item)}):XNode.create("button",{"data-click-event":"edit-media-file","data-layout":"link",text:item.title}))},FilesDragDrop({uploadEvent:"files-uploaded",extra:Bind.oneWay((()=>JSON.stringify({parentID:this.model.folderID})))}))),XNode.create(CollectionEditorEx,{"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Web Hooks",layout:"flex-wrap",model:this.model,field:x=>x.webHooks,addPage:WebHookPage,addItemDefaults:Bind.oneWay((()=>WebHook.create({eventType:"order-paid",storeItemID:this.model.storeItemID}))),itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.eventType}),XNode.create("label",{title:item.url,text:item.url}),XNode.create("label",{text:item.lastEvent}),XNode.create("label",{text:DateFormats.relative.short(item.lastEventTime)}))}))}))}mediaFileUrl(item){if(item.appFile){return fileUrl.webp(item,200)}return signedImageUrl(item,200)}deletePrice(price){return __awaiter(this,void 0,void 0,(function*(){this.model.storeItemPrices.remove(price);price.active=false;yield this.entityService.save(price,(x=>x))}))}copyItemPrice(item){return __awaiter(this,void 0,void 0,(function*(){yield navigator.clipboard.writeText(`/pg-i/phone-pe/create/${item.storeItemID}/${item.currency}`)}))}onFilesUploaded({files}){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){(_a=(_b=this.model).mediaFiles)!==null&&_a!==void 0?_a:_b.mediaFiles=[];for(const appFile of files){const isPreview=/^(image|video)\//i.test(appFile.contentType);this.model.mediaFiles.add(StoreMediaFile.create({appFile,appFileID:appFile.appFileID,fileContentID:appFile.fileContentID,isPreview}))}}))}onAddHtmlFile(data,e){return __awaiter(this,void 0,void 0,(function*(){let title="";let template;switch(e.type){case"addOffer":title="offer.html";template=Offers;break;case"addSpecifications":title="specs.html";template=Specifications;break;default:return}const file=yield this.storeItemService.getOrCreateMediaFile(this.model,title,template);this.element.dispatchEvent(new CustomEvent("editMediaFile",{detail:file,bubbles:true}))}))}});__decorate([BindableProperty,__metadata("design:type",Number)],ProductEditor.prototype,"productID",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],ProductEditor.prototype,"model",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],ProductEditor.prototype,"storeItemService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],ProductEditor.prototype,"entityService",void 0);__decorate([Action({confirm:"Are you sure you want to deactivate this price?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"deletePrice",null);__decorate([Action({onEvent:"copy-item-price",success:"Copied successful"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"copyItemPrice",null);__decorate([Action({onEvent:"files-uploaded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:["add-offer","add-specifications"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Event]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"onAddHtmlFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/ProductHtmlEditor");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/PageNavigator","../../../../../site-editor/editor/HtmlPageEditor","../../../../../common/fileUrl","../../../../../common/pages/files/service/CloudFileService","../../../../../common/pages/files/media/ChooseMediaPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,InjectProperty,PageNavigator,HtmlPageEditor,srcSetUrl,storeFileUrl,CloudFileService,ChooseMediaPage,ProductHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_siteEditorEditorHtmlPageEditor){HtmlPageEditor=_siteEditorEditorHtmlPageEditor.default},function(_commonFileUrl){srcSetUrl=_commonFileUrl.srcSetUrl;storeFileUrl=_commonFileUrl.storeFileUrl},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonPagesFilesMediaChooseMediaPage){ChooseMediaPage=_commonPagesFilesMediaChooseMediaPage.default}],execute:function(){_export("default",ProductHtmlEditor=class ProductHtmlEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const{tagName}=this.selection.element;let accept="image/*";let multiple=true;let isVideo=false;let inject=false;switch(tagName){case"VIDEO":accept="video/*";multiple=false;isVideo=true;break;case"INJECT":accept="text/html";multiple=false;inject=true;break}const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept,multiple,selected:this.selection.element});if(inject||isVideo){const[{file,folder}]=files;const path="/"+[...folder,file.name].join("/");this.selection.element.setAttribute("src",path);return}const images=files.map((({file,size})=>{const src=storeFileUrl(this.folder.appFileID,file,`webp(${size})`,`${file.name}.${size}.webp`);const srcset=srcSetUrl(this.folder,file,((folder,f,s)=>storeFileUrl(this.folder.appFileID,file,`webp(${s})`,`${file.name}.${s}.webp`)));return{src,"data-src-set":srcset}}));yield this.insertImage(...images)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){}))}});__decorate([BindableProperty,__metadata("design:type",Object)],ProductHtmlEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ProductHtmlEditor.prototype,"cloudFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/ProductHtmlEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../../../common/controls/Loader","../../../../../common/fileUrl","@web-atoms/core/dist/services/FetchBuilder","./ProductHtmlEditor","../../../../../site-editor/styler/StylerSet","@web-atoms/web-controls/dist/PageNavigator","../../../../../code-editor/CodeEditorPage","@web-atoms/core/dist/view-model/Action","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../../../../../services/EntityService","../../../../../common/pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,Loader,signedUrl,FetchBuilder,ProductHtmlEditor,StylerSet,PageNavigator,CodeEditorPage,Action,SaveIconTextButton,InjectProperty,EntityService,CloudFileService,ProductHtmlEditorPage,wrap;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_commonFileUrl){signedUrl=_commonFileUrl.signedUrl},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_ProductHtmlEditor){ProductHtmlEditor=_ProductHtmlEditor.default},function(_siteEditorStylerStylerSet){StylerSet=_siteEditorStylerStylerSet.StylerSet},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default}],execute:function(){wrap=(styleText,body)=>`\n<!DOCTYPE html>\n<html>\n<style styler-style-sheet="styler-style-sheet">\n${styleText}\n</style>\n<body>\n${body}\n</body>\n</html>\n`;_export("default",ProductHtmlEditorPage=class ProductHtmlEditorPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Loader,null));this.storeItem=this.parameters.item;this.mediaFile=this.parameters.file;const htmlMain=this.mediaFile.fileContentID?yield FetchBuilder.get(signedUrl(this.mediaFile)).asText():"<main>Content</main>";this.originalHtml=htmlMain;const css=StylerSet.instance.toString();this.html=wrap(css,htmlMain);this.renderer=XNode.create("div",null,XNode.create(ProductHtmlEditor,{"data-position":"absolute-fill",folder:this.storeItem.store.folder,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:this.html}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"header-row","style-display":Bind.oneWay((()=>this.pageContent!==this.html))},XNode.create(SaveIconTextButton,{"event-click":()=>this.savePage(),text:"Save"}),XNode.create(SaveIconTextButton,{"event-click":()=>this.savePage(true),text:"Save and Close"}))}))}savePage(close=false){return __awaiter(this,void 0,void 0,(function*(){if(!this.htmlEditor.modifiedBody){if(close){this.close(this.mediaFile)}return}const{fileContentID}=yield this.cloudFileService.saveFile({appFileID:this.mediaFile.appFileID,content:new File([this.htmlEditor.modifiedBody],this.parameters.file.title,{type:"text/html"})});this.mediaFile.fileContentID=fileContentID;const es=this.resolve(EntityService);yield es.save(this.mediaFile,(c=>c));if(close){this.close(this.mediaFile)}}))}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:this.parameters.file.title,content:(_a=this.htmlEditor.modifiedPage)!==null&&_a!==void 0?_a:this.htmlEditor.htmlPage});this.pageContent=content;this.htmlEditor.htmlPage=content}))}hide(){var _a,_b,_c;this.pageContent=(_b=(_a=this.htmlEditor)===null||_a===void 0?void 0:_a.modifiedPage)!==null&&_b!==void 0?_b:(_c=this.htmlEditor)===null||_c===void 0?void 0:_c.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ProductHtmlEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductHtmlEditorPage.prototype,"savePage",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ProductHtmlEditorPage.prototype,"editCode",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/EditProductDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../../model/model","../../../../services/store/StoreItemService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","./ProductEditor","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./html/ProductHtmlEditorPage","@web-atoms/web-controls/dist/PageNavigator","../../../commands/SiteEditorCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,StoreItem,StoreItemService,InjectProperty,Bind,SaveIconTextButton,Action,ProductEditor,MasterDetailPage,ProductHtmlEditor,PageNavigator,SiteEditorCommands,EditProductDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_modelModel){StoreItem=_modelModel.StoreItem},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ProductEditor){ProductEditor=_ProductEditor.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_htmlProductHtmlEditorPage){ProductHtmlEditor=_htmlProductHtmlEditorPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default}],execute:function(){_export("default",EditProductDetailPage=class EditProductDetailPage extends MasterDetailPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters.storeItemID?yield this.storeItemService.get(this.parameters.storeItemID):StoreItem.create({storeID:this.parameters.storeID,storeItemID:null,name:"",itemFolder:null,store:this.parameters.store});const{storeID}=this.model;if(!storeID){alert("StoreID must be present.");this.cancel();return}yield this.storeItemService.getStore(storeID);const parent=(_a=this.model.variantFor)!==null&&_a!==void 0?_a:this.model.sizeFor;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},parent&&XNode.create("a",{"data-click-event":"route",href:SiteEditorCommands.editProduct.displayRoute({storeItemID:parent.storeItemID})},parent.name));this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(ProductEditor,{model:this.model}),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-product"}),XNode.create(SaveIconTextButton,{"style-display":Bind.oneWay((()=>this.model.storeItemID&&!this.model.active)),"data-submit-event":"publish-product",text:"Publish"}))))}))}publishProduct(){return __awaiter(this,void 0,void 0,(function*(){this.model.active=true;if(this.model.storeItemTags){let sortOrder=0;for(const iterator of this.model.storeItemTags){iterator.sortOrder=sortOrder++}}yield this.storeItemService.save(this.model);yield this.init()}))}saveProduct(){return __awaiter(this,void 0,void 0,(function*(){const added=!this.model.storeItemID;if(this.model.storeItemTags){let sortOrder=0;for(const iterator of this.model.storeItemTags){iterator.sortOrder=sortOrder++}}yield this.storeItemService.save(this.model);if(added){location.href=SiteEditorCommands.editProduct.displayRoute({storeItemID:this.model.storeItemID});return}yield this.init()}))}editMediaFile(file){return __awaiter(this,void 0,void 0,(function*(){const item=this.model;yield PageNavigator.pushPageForResult(ProductHtmlEditor,{item,file})}))}});__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditProductDetailPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"publish-product"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditProductDetailPage.prototype,"publishProduct",null);__decorate([Action({onEvent:"save-product"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditProductDetailPage.prototype,"saveProduct",null);__decorate([Action({onEvent:"editMediaFile"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditProductDetailPage.prototype,"editMediaFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/StoreLink");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../services/store/StoreService","../../commands/SiteEditorCommands"],(function(_export,_context){"use strict";var __awaiter,XNode,Bind,StoreService,SiteEditorCommands;function StoreLink({storeID}){return XNode.create("a",{"data-click-event":"route",href:SiteEditorCommands.orderList.displayRoute({id:storeID}),text:Bind.oneTimeAsync((s=>__awaiter(this,void 0,void 0,(function*(){return(yield s.app.resolve(StoreService).get(storeID)).folder.name}))))})}_export("default",StoreLink);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/currency");System.register([],(function(_export,_context){"use strict";var CurrencySymbols;function formatCurrency(n,currency){if(n===void 0||n===null){return""}n=Number(n);return n.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0,style:"currency",currency})}function formatPrice(n){if(!n){return"Ask"}return formatCurrency(Number(n.amount)+Number(n.taxAmount),n.currency||"INR")}_export({formatCurrency,formatPrice});return{setters:[],execute:function(){_export("CurrencySymbols",CurrencySymbols={USD:"$",EUR:"€",CRC:"₡",GBP:"£",ILS:"₪",INR:"₹",JPY:"¥",KRW:"₩",NGN:"₦",PHP:"₱",PLN:"zł",PYG:"₲",THB:"฿",UAH:"₴",VND:"₫"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/EditProductListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreItemService","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/Bind","./EditProductDetailPage","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/PageNavigator","../StoreLink","../../../../common/controls/repeater/InfiniteRepeater","../../../commands/SiteEditorCommands","../../../../common/currency"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,AtomRepeater,SelectorCheckBox,InjectProperty,StoreItemService,Action,Bind,EditProductDetailPage,InlinePopupButton,MenuItem,PageNavigator,StoreLink,InfiniteRepeater,SiteEditorCommands,formatPrice,EditProductListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditProductDetailPage){EditProductDetailPage=_EditProductDetailPage.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_StoreLink){StoreLink=_StoreLink.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_commonCurrency){formatPrice=_commonCurrency.formatPrice}],execute:function(){_export("default",EditProductListPage=class EditProductListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.items=[];this.store=null;this.selectedItem=null}init(){return __awaiter(this,void 0,void 0,(function*(){const{storeID}=this.parameters;this.store=yield this.storeItemService.getStore(storeID);this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(StoreLink,{storeID}),XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(InlinePopupButton,{icon:"fas fa-plus",text:"Add",popup:()=>XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"product",label:"Product"}),XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"service",label:"Service"}),XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"tax",label:"Tax"}))}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",allowMultipleSelection:true,items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeItemService.list({storeID:this.parameters.storeID,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a,_b,_c;return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("label",{text:item.storeItemID}),XNode.create("label",{text:item.itemType}),XNode.create("label",{text:(_a=item.itemFolder)===null||_a===void 0?void 0:_a.name}),XNode.create("label",{text:formatPrice((_c=(_b=item.storeItemPrices)===null||_b===void 0?void 0:_b.filter((x=>x.active)))===null||_c===void 0?void 0:_c[0])}),XNode.create("a",{text:item.name,"data-click-event":"route",href:SiteEditorCommands.editProduct.displayRoute({storeItemID:item.storeItemID})}))}}))))}))}addNew({itemType}){return __awaiter(this,void 0,void 0,(function*(){const product=yield PageNavigator.pushPageForResult(EditProductDetailPage,{storeID:this.parameters.storeID,store:this.store});this.items.add(product);this.selectedItem=product}))}});__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditProductListPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"add-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditProductListPage.prototype,"addNew",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/coupons/StoreCouponsPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../model/model","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","../../../../common/controls/buttons/IconButton","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/date/DateFormats","../../../../common/Sql","../../../../services/store/StoreItemService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,EntityService,XNode,AtomRepeater,StoreCoupon,StoreCouponTypeArray,Form,FormField,Bind,Select,Action,SaveIconTextButton,InfiniteRepeater,DateFormats,Sql,StoreItemService,StoreCouponsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){StoreCoupon=_modelModel.StoreCoupon;StoreCouponTypeArray=_modelModel.StoreCouponTypeArray},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonSql){Sql=_commonSql.Sql},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default}],execute:function(){_export("default",StoreCouponsPage=class StoreCouponsPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.search="";this.newItem=StoreCoupon.create({type:"subtract",active:true,hidden:false})}init(){return __awaiter(this,void 0,void 0,(function*(){yield this.storeItemService.getStore(this.parameters.storeID);this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.loadItems({start,search:this.search,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.couponID}),XNode.create("label",{text:item.code}),XNode.create("label",{text:DateFormats.relative.short(item.startDate)}),XNode.create("label",{text:DateFormats.relative.short(item.endDate)}),XNode.create("label",{text:DateFormats.relative.short(item.dateUpdated)}))})));this.footerRenderer=()=>XNode.create("details",null,XNode.create("summary",null,"Add New"),XNode.create(Form,null,XNode.create(FormField,{label:"Code"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.newItem.code))})),XNode.create(FormField,{label:"Type"},XNode.create(Select,{items:StoreCouponTypeArray,value:Bind.twoWaysImmediate((()=>this.newItem.type))})),XNode.create(FormField,{label:"Subtract"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.newItem.amount))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"add-item",text:"Add"}))))}))}loadItems({start,search,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const{storeID}=this.parameters;let q=this.entityService.query(StoreCoupon).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.code,p.search)))}return q.toPagedList({start,cancelToken})}))}addItem(){return __awaiter(this,void 0,void 0,(function*(){const item=Object.assign({},this.newItem);this.newItem.code="";item.storeID=this.parameters.storeID;if(!item.amount){throw new Error("amount cannot be empty")}yield this.entityService.save(item,(c=>c));this.newItem.code="";this.newItem.type="subtract";this.newItem.amount=0}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],StoreCouponsPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],StoreCouponsPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"add-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreCouponsPage.prototype,"addItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/payment-gateway/PaymentGatewayEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","../../../../services/store/StoreService","@web-atoms/date-time/dist/DateTime","../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StorePaymentGatewayPaymentGatewayArray,XNode,Form,FormField,Bind,Select,Action,InjectProperty,EntityService,StoreService,DateTime,SaveIconTextButton,PaymentGatewayEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StorePaymentGatewayPaymentGatewayArray=_modelModel.StorePaymentGatewayPaymentGatewayArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",PaymentGatewayEditorPage=class PaymentGatewayEditorPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Payment Gateway";this.model=this.parameters;const{storeAccount:{storeID}}=this.model;yield this.storeService.get(storeID);this.renderer=XNode.create("div",{"payment-gateway-editor":"true"},XNode.create(Form,{"data-payment-type":Bind.oneWay((()=>this.model.paymentGateway))},XNode.create(FormField,{label:"Type"},XNode.create(Select,{items:StorePaymentGatewayPaymentGatewayArray,value:Bind.twoWaysImmediate((()=>this.model.paymentGateway))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.storeAccount.name))})),XNode.create(FormField,{label:"Description"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.storeAccount.description))})),XNode.create(FormField,{label:"Public Key"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.publicKey))})),XNode.create(FormField,{label:"Client ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.clientID))})),XNode.create(FormField,{label:"MerchantID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.merchantID))})),XNode.create(FormField,{label:"Salt Index"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.saltIndex))})),XNode.create(FormField,{label:"Salt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salt))})),XNode.create(FormField,{label:"Secret"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.secret))})),XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.url))})),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"submitForm"}))))}))}submitForm(){return __awaiter(this,void 0,void 0,(function*(){this.model.dateUpdated=DateTime.now;yield this.entityService.save(this.model,(c=>c.include((x=>x.storeAccount))));return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PaymentGatewayEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreService)],PaymentGatewayEditorPage.prototype,"storeService",void 0);__decorate([Action({onEvent:"submitForm",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],PaymentGatewayEditorPage.prototype,"submitForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/payment-gateway/PaymentGatewayListPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","../../../../services/EntityService","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","./PaymentGatewayEditorPage","../../../../services/store/StoreService","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/controls/buttons/IconButton","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,MasterDetailPage,EntityService,StoreAccount,StorePaymentGateway,Bind,Action,PaymentGatewayEditorPage,StoreService,InfiniteRepeater,AddIconTextButton,Sql,PaymentGatewayListPage;_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(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){StoreAccount=_modelModel.StoreAccount;StorePaymentGateway=_modelModel.StorePaymentGateway},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_PaymentGatewayEditorPage){PaymentGatewayEditorPage=_PaymentGatewayEditorPage.default},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("default",PaymentGatewayListPage=class PaymentGatewayListPage extends MasterDetailPage{constructor(){super(...arguments);this.search="";this.items=[]}init(){return __awaiter(this,void 0,void 0,(function*(){const{storeID}=this.parameters;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",selectOnClick:true,"data-selection-updated-event":"itemSelected","data-items-updated-event":"itemsLoaded",presenter:Bind.presenter((c=>this.repeater=c)),items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.load({start,search:this.search,cancelToken}))),{itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.paymentGateway}),XNode.create("label",{text:x.storeAccount.name}))})));this.footerRenderer=()=>XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"addItem"}))}))}load({start,cancelToken,search}){const{storeID}=this.parameters;let q=this.entityService.query(StorePaymentGateway).where({storeID},(p=>x=>x.storeAccount.storeID===p.storeID));if(search){q=q.where({search},(p=>x=>Sql.text.iLike(x.storeAccount.description,p.search)))}return q.include((x=>x.storeAccount)).toPagedList({start,cancelToken})}itemSelected(){const data=this.repeater.selectedItem;if(!data){return}this.openDetail(PaymentGatewayEditorPage,data)}itemsLoaded(){this.repeater.selectedItem=this.items[0]}addItem(){const{storeID}=this.parameters;const item=StorePaymentGateway.create({isGatewayActive:true,storeAccount:StoreAccount.create({storeID,head:"Income"})});this.items.add(item);this.repeater.selectedItem=item}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PaymentGatewayListPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreService)],PaymentGatewayListPage.prototype,"storeService",void 0);__decorate([Action({onEvent:"itemSelected"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],PaymentGatewayListPage.prototype,"itemSelected",null);__decorate([Action({onEvent:"itemsLoaded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],PaymentGatewayListPage.prototype,"itemsLoaded",null);__decorate([Action({onEvent:"addItem"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],PaymentGatewayListPage.prototype,"addItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/commands/SiteEditorCommands");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands"],(function(_export,_context){"use strict";var Command,CommonCommands,SiteEditorCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default}],execute:function(){_export("default",SiteEditorCommands=class SiteEditorCommands extends CommonCommands{});SiteEditorCommands.websiteList=Command.create({route:"/social-mail/studio/sites",routeOrder:100,openPage:()=>_context.import("../pages/websites/SiteWebsiteList")});SiteEditorCommands.editWebSite=Command.create({route:"/social-mail/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});SiteEditorCommands.orderList=Command.create({route:"/social-mail/stores/{id}/orders",routeOrder:100,openPage:()=>_context.import("../pages/store/orders/StoreOrderListPage")});SiteEditorCommands.productList=Command.create({route:"/social-mail/stores/{storeID}/products",routeOrder:500,openPage:()=>_context.import("../pages/store/products/EditProductListPage")});SiteEditorCommands.editProduct=Command.create({route:"/social-mail/stores/product/{storeItemID}",routeOrder:200,openPage:()=>_context.import("../pages/store/products/EditProductDetailPage")});SiteEditorCommands.couponList=Command.create({route:"/social-mail/stores/{storeID}/coupons",routeOrder:100,openPage:()=>_context.import("../pages/store/coupons/StoreCouponsPage")});SiteEditorCommands.paymentGatewayList=Command.create({route:"/social-mail/stores/{storeID}/payment-gateways",routeOrder:100,openPage:()=>_context.import("../pages/store/payment-gateway/PaymentGatewayListPage")});SiteEditorCommands.catchAll=Command.create({route:"/social-mail",routeOrder:1e3,openPage:()=>_context.import("../pages/websites/SiteWebsiteList")});SiteEditorCommands.root=Command.create({route:"/",routeOrder:1e5,openPage:()=>_context.import("../pages/websites/SiteWebsiteList")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/menu/MenuItem");System.register(["tslib","@web-atoms/core/dist/core/XNode","./MenuItem.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function MenuItem(_a){var{label,icon=void 0,click=undefined,title=label,description=void 0,href="",commandLink="",target=undefined,bell=void 0,bellTitle=void 0,bellClick=void 0}=_a,a=__rest(_a,["label","icon","click","title","description","href","commandLink","target","bell","bellTitle","bellClick"]);return href||commandLink?XNode.create("a",Object.assign({"data-layout":"menu-item","data-text-decoration":"none",title,"data-click-event":commandLink?"route":void 0,href:href||commandLink,target,"event-click":click},a),icon&&XNode.create("i",{class:icon}),XNode.create("span",{text:label}),description&&XNode.create("small",{text:description}),bell!==void 0&&XNode.create("i",Object.assign({"data-element":"badge",title:bellTitle,class:bell?"fad fa-bell":"fad fa-bell-slash"},typeof bellClick==="string"?{"data-click-event":bellClick}:{"data-click-event":"none","event-click":bellClick}))):XNode.create("div",Object.assign({title,"data-layout":"menu-item","event-click":click},a),icon&&XNode.create("i",{class:icon}),XNode.create("span",{text:label}),description&&XNode.create("small",{text:description}),bell!==void 0&&XNode.create("i",{"data-click-event":bellClick,"data-element":"badge",title:bellTitle,class:bell?"fad fa-bell":"fad fa-bell-slash"}))}_export("default",MenuItem);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_MenuItemGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drawer/BaseDrawer");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp","./BaseDrawer.global.less"],(function(_export,_context){"use strict";var Drawer,BaseDrawer;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){Drawer=_webAtomsWebControlsDistMobileAppMobileApp.Drawer},function(_BaseDrawerGlobalLess){}],execute:function(){_export("default",BaseDrawer=class BaseDrawer extends Drawer{constructor(app,e=document.createElement("drawer-menu")){super(app,e)}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/drawer/SiteEditorDrawer");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","../../common/menu/MenuService","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","../commands/SiteEditorCommands","@web-atoms/web-controls/dist/basic/Expander","../../common/controls/menu/MenuItem","../../common/controls/drawer/BaseDrawer"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MenuService,AtomRepeater,Bind,SiteEditorCommands,ExpanderMenu,MenuItem,BaseDrawer,SiteEditorDrawer;_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(_commonMenuMenuService){MenuService=_commonMenuMenuService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_webAtomsWebControlsDistBasicExpander){ExpanderMenu=_webAtomsWebControlsDistBasicExpander.ExpanderMenu},function(_commonControlsMenuMenuItem){MenuItem=_commonControlsMenuMenuItem.default},function(_commonControlsDrawerBaseDrawer){BaseDrawer=_commonControlsDrawerBaseDrawer.default}],execute:function(){_export("default",SiteEditorDrawer=class SiteEditorDrawer extends BaseDrawer{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("header",null,"Social Websites"),XNode.create("section",null,XNode.create(AtomRepeater,{items:Bind.oneWay((()=>this.menuService.websites)),itemRenderer:x=>XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:x.folder.name,commandLink:null}),XNode.create(MenuItem,{label:"Site Editor",commandLink:SiteEditorCommands.editWebSite.displayRoute({id:x.folderID})}),XNode.create(MenuItem,{label:"Site Files",commandLink:SiteEditorCommands.openFiles.displayRoute({id:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Products",commandLink:SiteEditorCommands.productList.displayRoute({storeID:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Orders",commandLink:SiteEditorCommands.orderList.displayRoute({id:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Coupons",commandLink:SiteEditorCommands.couponList.displayRoute({storeID:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Payment Gateways",commandLink:SiteEditorCommands.paymentGatewayList.displayRoute({storeID:x.folderID})}))}),XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"All Websites",commandLink:SiteEditorCommands.websiteList.displayRoute({})})))}))}});__decorate([InjectProperty,__metadata("design:type",MenuService)],SiteEditorDrawer.prototype,"menuService",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/SiteEditorApp");System.register(["tslib","../common/BaseApp","./drawer/SiteEditorDrawer","./commands/SiteEditorCommands","@web-atoms/core/dist/Pack"],(function(_export,_context){"use strict";var __decorate,BaseApp,SiteEditorDrawer,SiteEditorCommands,Pack,SiteEditorApp;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_commonBaseApp){BaseApp=_commonBaseApp.default},function(_drawerSiteEditorDrawer){SiteEditorDrawer=_drawerSiteEditorDrawer.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default}],execute:function(){SiteEditorApp=class SiteEditorApp extends BaseApp{constructor(){super(...arguments);this.commands=SiteEditorCommands;this.appDrawer=SiteEditorDrawer}openDefaultPage(){SiteEditorCommands.websiteList.dispatch()}};SiteEditorApp=__decorate([Pack],SiteEditorApp);_export("default",SiteEditorApp)}}}));window.installStyleSheet(new URL("./SiteEditorApp.pack.global.less.css",document.currentScript.src).toString());window.installStyleSheet(new URL("./SiteEditorApp.pack.local.less.css",document.currentScript.src).toString());
|
|
1203
|
+
`.expand("[styler-layout=grid-1x1]"));_export("Grid1x1Box",Grid1x1Box=Block({className:"fa-duotone fa-solid fa-grid-5",title:"Add Grid Box",factory:()=>XNode.create("section",{"styler-layout":"grid-1x1"},XNode.create("section",null),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ScrollAware");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,ScrollAware;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){_export("ScrollAware",ScrollAware=Block({className:"fad fa-arrow-up-arrow-down",title:"Add Scroll Aware",factory:()=>XNode.create("scroll-aware",null,XNode.create("section",{"styler-layout":"column"}))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/InlineSvg");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,InlineSvg;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){_export("InlineSvg",InlineSvg=Block({className:"fad fa-file-svg",title:"Add Inline Svg",factory:()=>XNode.create("inline-svg",null)}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/controls/AtomControl","../drag-drop/DragDropHelper","../toolbars/UndoRedoToolbar","../blocks/WrapGrid","../toolbars/EditorToolbar","../properties/Properties","../styler/StylerSet","./SelectedElement","@web-atoms/core/dist/core/AtomBinder","../blocks/ImageBox","../blocks/RowBox","../blocks/ColumnBox","../blocks/VerticalImageBox","../blocks/Image","../blocks/ImageCard","../blocks/TextBox","../blocks/Card","../blocks/List","../blocks/Components","@web-atoms/core/dist/core/types","../blocks/Buttons","../blocks/Columns2","../blocks/Columns3","../blocks/RightImageBox","@web-atoms/core/dist/web/core/AtomUI","../blocks/PriceBox","@web-atoms/core/dist/core/BindableProperty","../blocks/Billboard","../blocks/OutlineText","../blocks/Carousel","../blocks/ImageGallery","@web-atoms/web-controls/dist/basic/InlinePopup","../blocks/VideoPlayer","../blocks/BackgroundVideo","../blocks/TextMask","../blocks/MarqueeText","../blocks/ImageGrid","../blocks/BoxFrame","../blocks/InjectBox","../blocks/PDFFlipBook","../blocks/PDFViewer","../blocks/Banner","./BreadCrum","./LanguageDropDown","./webComponentsPath","./UndoRedo","./DomHelper","../blocks/FlipBox","../blocks/GridBox","../styles/html-page-editor.global.less","../blocks/ScrollAware","../blocks/InlineSvg"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__rest,Bind,XNode,sleep,Action,AtomControl,InstallDragDropHelper,UndoRedoToolbar,WrapGrid,EditorToolbar,Properties,StylerSet,SelectedElement,AtomBinder,ImageBox,RowBox,ColumnBox,VerticalImageBox,Image,ImageCard,TextBox,Card,List,BlogComponent,TypeWriterComponent,CancelToken,UMD,ImageLink,LinkButton,Columns2,Columns3,RightImageBox,descendentElementIterator,PriceTable,BindableProperty,Billboard,OutlineText,Carousel,ImageGallery,InlinePopupButton,VideoPlayer,BackgroundVideo,TextMask,MarqueeText,ImageGrid,BoxFrame,InjectBox,PDFFlipBook,PDFViewer,Banner,BreadCrum,LanguageDropDown,WebComponents,UndoRedo,DomHelper,FlipBox,GridBox,ScrollAware,InlineSvg,HtmlPageEditor,desktopWidth,tabletWidth,mobileWidth,languageSymbol;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_dragDropDragDropHelper){InstallDragDropHelper=_dragDropDragDropHelper.InstallDragDropHelper},function(_toolbarsUndoRedoToolbar){UndoRedoToolbar=_toolbarsUndoRedoToolbar.default},function(_blocksWrapGrid){WrapGrid=_blocksWrapGrid.WrapGrid},function(_toolbarsEditorToolbar){EditorToolbar=_toolbarsEditorToolbar.default},function(_propertiesProperties){Properties=_propertiesProperties.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_SelectedElement){SelectedElement=_SelectedElement.SelectedElement},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_blocksImageBox){ImageBox=_blocksImageBox.ImageBox},function(_blocksRowBox){RowBox=_blocksRowBox.RowBox},function(_blocksColumnBox){ColumnBox=_blocksColumnBox.ColumnBox},function(_blocksVerticalImageBox){VerticalImageBox=_blocksVerticalImageBox.VerticalImageBox},function(_blocksImage){Image=_blocksImage.Image},function(_blocksImageCard){ImageCard=_blocksImageCard.ImageCard},function(_blocksTextBox){TextBox=_blocksTextBox.TextBox},function(_blocksCard){Card=_blocksCard.Card},function(_blocksList){List=_blocksList.List},function(_blocksComponents){BlogComponent=_blocksComponents.BlogComponent;TypeWriterComponent=_blocksComponents.TypeWriterComponent},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken;UMD=_webAtomsCoreDistCoreTypes.UMD},function(_blocksButtons){ImageLink=_blocksButtons.ImageLink;LinkButton=_blocksButtons.LinkButton},function(_blocksColumns){Columns2=_blocksColumns.Columns2},function(_blocksColumns2){Columns3=_blocksColumns2.Columns3},function(_blocksRightImageBox){RightImageBox=_blocksRightImageBox.RightImageBox},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_blocksPriceBox){PriceTable=_blocksPriceBox.PriceTable},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_blocksBillboard){Billboard=_blocksBillboard.Billboard},function(_blocksOutlineText){OutlineText=_blocksOutlineText.OutlineText},function(_blocksCarousel){Carousel=_blocksCarousel.Carousel},function(_blocksImageGallery){ImageGallery=_blocksImageGallery.ImageGallery},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_blocksVideoPlayer){VideoPlayer=_blocksVideoPlayer.VideoPlayer},function(_blocksBackgroundVideo){BackgroundVideo=_blocksBackgroundVideo.BackgroundVideo},function(_blocksTextMask){TextMask=_blocksTextMask.TextMask},function(_blocksMarqueeText){MarqueeText=_blocksMarqueeText.MarqueeText},function(_blocksImageGrid){ImageGrid=_blocksImageGrid.ImageGrid},function(_blocksBoxFrame){BoxFrame=_blocksBoxFrame.BoxFrame},function(_blocksInjectBox){InjectBox=_blocksInjectBox.InjectBox},function(_blocksPDFFlipBook){PDFFlipBook=_blocksPDFFlipBook.PDFFlipBook},function(_blocksPDFViewer){PDFViewer=_blocksPDFViewer.PDFViewer},function(_blocksBanner){Banner=_blocksBanner.Banner},function(_BreadCrum){BreadCrum=_BreadCrum.default},function(_LanguageDropDown){LanguageDropDown=_LanguageDropDown.default},function(_webComponentsPath){WebComponents=_webComponentsPath.WebComponents},function(_UndoRedo){UndoRedo=_UndoRedo.default},function(_DomHelper){DomHelper=_DomHelper.default},function(_blocksFlipBox){FlipBox=_blocksFlipBox.FlipBox},function(_blocksGridBox){GridBox=_blocksGridBox.GridBox},function(_stylesHtmlPageEditorGlobalLess){},function(_blocksScrollAware){ScrollAware=_blocksScrollAware.ScrollAware},function(_blocksInlineSvg){InlineSvg=_blocksInlineSvg.InlineSvg}],execute:function(){desktopWidth=992;tabletWidth=768;mobileWidth=480;languageSymbol=Symbol.for("language");_export("default",HtmlPageEditor=class HtmlPageEditor extends AtomControl{get modifiedDocument(){var _a;if(!this.undoRedo.changed){return null}const clone=this.htmlDocument.documentElement.cloneNode(true);const body=clone.querySelector("body");body.removeAttribute("contentEditable");body.removeAttribute("editing");body.removeAttribute("editing-lang");const all=clone.querySelectorAll("*");const clearChildren=[];const removeAll=[];for(let index=0;index<all.length;index++){const element=all[index];if(element.hasAttribute("remove-when-save")){removeAll.push(element);continue}if(element.tagName==="INJECT"){clearChildren.push(element);continue}if(element.getAttribute("data-cursor-style")==="editing"){removeAll.push(element);continue}element.removeAttribute("draggable")}for(const iterator of clearChildren){iterator.innerHTML=""}for(const iterator of removeAll){iterator.remove()}if(clone.querySelector(`[styler-layout="component"]`)){let componentScript=clone.querySelector("[styler-component-script]");if(!componentScript){componentScript=this.htmlDocument.createElement("script");const head=clone.querySelector("head");head.appendChild(componentScript)}componentScript.src=UMD.resolvePath("@social-mail/social-mail-client/component.js");componentScript.setAttribute("styler-component-script","component-script")}if(this.baseUrl){if(!this.originalBaseUrl){(_a=clone.querySelector("base"))===null||_a===void 0?void 0:_a.remove()}else{const baseUrl=clone.querySelector("base");if(baseUrl){baseUrl.setAttribute("href",this.originalBaseUrl)}}}return clone}get modifiedPage(){var _a;return(_a=this.modifiedDocument)===null||_a===void 0?void 0:_a.outerHTML}get modifiedBody(){const doc=this.modifiedDocument;if(!doc){return}const body=doc.querySelector("body");return body.innerHTML}get htmlPage(){var _a,_b;return(_b=(_a=this.htmlDocument)===null||_a===void 0?void 0:_a.documentElement)===null||_b===void 0?void 0:_b.outerHTML}set htmlPage(v){var _a;if(!this.element){return}if(!this.ready){setTimeout((()=>{this.htmlPage=v}),100);return}(_a=this.initCT)===null||_a===void 0?void 0:_a.cancel();const ct=this.initCT=new CancelToken;void this.ready.then((()=>{const prevInit=this.lastInit;this.lastInit=this.initDocument(prevInit,v,ct)}))}get language(){return this[languageSymbol]}set language(v){var _a;if(v===this[languageSymbol]){return}this[languageSymbol]=v;localStorage.setItem("editing-lang",v);if((_a=this.htmlDocument)===null||_a===void 0?void 0:_a.body){this.htmlDocument.body.setAttribute("editing-lang",v)}AtomBinder.refreshValue(this,"language")}constructor(app,e){super(app,e);this.selection=new SelectedElement(this);this.undoRedo={canUndo:false,canRedo:false,dispose(){}};this.pageVariables=[];this.languages=null;this.hover=new SelectedElement(this);this.dropTarget=new SelectedElement(this);this.maxWidth=desktopWidth;this.ready=this.init()}init(){return __awaiter(this,void 0,void 0,(function*(){this.render(XNode.create("div",{"data-html-page-editor":"html-page-editor"},XNode.create("div",{"data-element":"top"},XNode.create(EditorToolbar,{"data-element":"max-width","event-click":()=>this.deferUpdate()},XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===desktopWidth)),"event-click":()=>this.maxWidth=desktopWidth,class:"fas fa-desktop"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===tabletWidth)),"event-click":()=>this.maxWidth=tabletWidth,class:"fas fa-tablet-screen"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===mobileWidth)),"event-click":()=>this.maxWidth=mobileWidth,class:"fas fa-mobile-screen"})),XNode.create(UndoRedoToolbar,null),XNode.create(EditorToolbar,null,XNode.create("i",{"data-click-event":"edit-code",class:"fa-solid fa-code"}),XNode.create(LanguageDropDown,null))),XNode.create(EditorToolbar,{"data-element":"left"},XNode.create(TextBox,null),XNode.create(Image,null),XNode.create(WrapGrid,null),XNode.create(ImageBox,null),XNode.create(RightImageBox,null),XNode.create(ColumnBox,null),XNode.create(Columns2,null),XNode.create(Columns3,null),XNode.create(GridBox,null),XNode.create(List,null),XNode.create(ImageLink,null),XNode.create(LinkButton,null),XNode.create(ScrollAware,null),XNode.create(InlineSvg,null),XNode.create(InlinePopupButton,{icon:"fas fa-plus","data-layout":"warning-icon-button",alignment:"above",popup:()=>XNode.create(EditorToolbar,null,XNode.create(Card,null),XNode.create(ImageCard,null),XNode.create(RowBox,null),XNode.create(VerticalImageBox,null),XNode.create(PriceTable,null),XNode.create(TypeWriterComponent,null),XNode.create(Billboard,null),XNode.create(PDFFlipBook,null),XNode.create(PDFViewer,null),XNode.create(OutlineText,null),XNode.create(Carousel,null),XNode.create(BlogComponent,null),XNode.create(FlipBox,null),XNode.create(BoxFrame,null),XNode.create(VideoPlayer,null),XNode.create(BackgroundVideo,null),XNode.create(TextMask,null),XNode.create(InjectBox,null),XNode.create(ImageGrid,null),XNode.create(ImageGallery,null),XNode.create(MarqueeText,null),XNode.create(Banner,null))})),XNode.create("div",{"data-element":"editor","style-max-width":Bind.oneWay((()=>this.maxWidth>768?"":this.maxWidth+"px"))},XNode.create("div",{"data-element":"resizer"}),XNode.create("div",{"data-element":"drop-target","style-display":Bind.oneWay((()=>this.dropTarget.element?"":"none")),"style-position":"absolute","style-left":Bind.oneWay((()=>this.dropTarget.left)),"style-top":Bind.oneWay((()=>this.dropTarget.top)),"style-width":Bind.oneWay((()=>this.dropTarget.width)),"style-height":Bind.oneWay((()=>this.dropTarget.height))}),XNode.create("div",{"data-element":"selection","style-left":Bind.oneWay((()=>this.selection.left)),"style-top":Bind.oneWay((()=>this.selection.top)),"style-width":Bind.oneWay((()=>this.selection.width)),"style-height":Bind.oneWay((()=>this.selection.height))},XNode.create("i",{class:"lt"}),XNode.create("i",{class:"rt"}),XNode.create("i",{class:"lb"}),XNode.create("i",{class:"rb"}),XNode.create("div",null,XNode.create("i",{class:"fa-regular fa-arrow-up","event-click":()=>{if(this.selection.element.parentElement!==this.htmlDocument.body){this.selection.update(this.selection.element.parentElement)}}}),XNode.create("i",{"event-click":()=>{this.selection.setDraggable()},class:"fa-solid fa-up-down-left-right","data-click-event":"start-drag"}),XNode.create("i",{"style-display":Bind.oneWay((()=>this.selection.isImage)),"data-click-event":"change-image",title:"Change Image (Double Click)",class:"fa-solid fa-arrows-rotate-reverse"}),XNode.create("i",{title:"Duplicate","data-click-event":"copy-element",class:"fas fa-copy"}),XNode.create("i",{title:"Move Up","data-click-event":"move-up-element",class:"fa-duotone fa-angles-up"}),XNode.create("i",{title:"Move Down","data-click-event":"move-down-element",class:"fa-duotone fa-angles-down"}),XNode.create("i",{title:"Extract Fragment","data-click-event":"extract-element",class:"fad fa-file-export"}),XNode.create("i",{title:"Delete","data-click-event":"delete-element",class:"fas fa-trash-can"}))),XNode.create("div",{"data-element":"hover","style-left":Bind.oneWay((()=>this.hover.left)),"style-top":Bind.oneWay((()=>this.hover.top)),"style-width":Bind.oneWay((()=>this.hover.width)),"style-height":Bind.oneWay((()=>this.hover.height))},XNode.create("label",{text:Bind.oneWay((()=>this.hover.name))})),XNode.create("div",{"data-element":"content-frame"},XNode.create("iframe",{"data-element":"content-editor",sandbox:"allow-same-origin "}))),XNode.create("div",{"data-element":"right"},XNode.create("button",{"data-click-event":"open-variables","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-code"}),"Variables"),XNode.create(Properties,null)),XNode.create(BreadCrum,{selection:Bind.oneWay((()=>this.selection.element))})));this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`)}))}buildXNode(node){const build=n=>{const e=this.htmlDocument.createElement(n.name);if(n.attributes){for(const key in n.attributes){if(Object.prototype.hasOwnProperty.call(n.attributes,key)){const element=n.attributes[key];e.setAttribute(key,element)}}}if(n.children){for(const iterator of n.children){if(typeof iterator==="string"){e.append(iterator);continue}e.appendChild(build(iterator))}}return e};return build(node)}deleteElement(){var _a;return __awaiter(this,void 0,void 0,(function*(){const current=this.selection.element;let previous=(_a=current.previousElementSibling)!==null&&_a!==void 0?_a:current.parentElement;current.remove();this.commit();if(!previous.textContent){previous=previous.previousElementSibling.lastElementChild}this.setSelection(previous);yield sleep(100);this.selection.update()}))}copyElement(){const current=this.selection.element;const copy=current.cloneNode(true);for(const iterator of descendentElementIterator(copy)){if(iterator.id){iterator.id=`sm-${Date.now()}`}}current.insertAdjacentElement("afterend",copy);this.commit()}moveUpElement(){const current=this.selection.element;const prevSibling=current.previousElementSibling;if(!prevSibling){return}current.remove();prevSibling.insertAdjacentElement("beforebegin",current);this.commit()}moveDownElement(){const current=this.selection.element;const nextSibling=current.nextElementSibling;if(!nextSibling){return}current.remove();nextSibling.insertAdjacentElement("afterend",current);this.commit()}changeImage(){return __awaiter(this,void 0,void 0,(function*(){return this.insertImage({src:prompt("Image Src","")})}))}changeBackgroundImage(){return __awaiter(this,void 0,void 0,(function*(){const img=prompt("Image Src","");this.selection.element.style.setProperty("--styler-background-image",`url(${JSON.stringify(img)})`);return}))}extractElement(){return __awaiter(this,void 0,void 0,(function*(){alert("Not implemented")}))}onKeyUp(d,ke){if(ke.ctrlKey){switch(ke.key){case"z":ke.preventDefault();this.undo();break;case"y":ke.preventDefault();this.redo();break}}}insertImage(...images){var _a;return __awaiter(this,void 0,void 0,(function*(){let img=((_a=this.selection)===null||_a===void 0?void 0:_a.isImage)?this.selection.element:null;const container=img?img.parentElement:this.selection.element;for(let _b of images){const{src,style}=_b,a=__rest(_b,["src","style"]);if(!img){img=this.htmlDocument.createElement("img");container.appendChild(img);container.appendChild(document.createTextNode("\n"))}img.src=src;const i=img;img.onload=()=>{this.selection.update();i.onload=null};if(style){for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=style[key];img.style[key]=element}}}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){const element=a[key];img.setAttribute(key,element)}}}img=null}this.commit()}))}insertElement(e,parent=this.selection.element,preferMain=false){if(preferMain){while(parent.parentElement!==this.htmlDocument.body){parent=parent.parentElement}}parent.appendChild(e);if(!e.id){e.id="sm-"+Date.now().toString()}setTimeout((()=>{this.setSelection(e);this.commit()}),100)}deferUpdate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){yield sleep(100);(_a=this.hover)===null||_a===void 0?void 0:_a.update();(_b=this.selection)===null||_b===void 0?void 0:_b.update()}))}setSelection(element,commit=true){var _a;const old=(_a=this.selection)===null||_a===void 0?void 0:_a.element;if(old===null||old===void 0?void 0:old.draggable){old.removeAttribute("draggable")}this.selection.update(element);if(commit){this.commit()}}commit(){}undo(){var _a;(_a=this.undoRedo)===null||_a===void 0?void 0:_a.undo()}redo(){var _a;(_a=this.undoRedo)===null||_a===void 0?void 0:_a.redo()}merge(text){return __awaiter(this,void 0,void 0,(function*(){const parser=new this.htmlDocument.defaultView.DOMParser;const dom=parser.parseFromString(text,"text/html");yield DomHelper.applyChanges(this.htmlDocument,dom);yield this.updateEditable(this.htmlDocument)}))}initDocument(prev,v,ct){return __awaiter(this,void 0,void 0,(function*(){try{yield prev}catch(_a){}this.undoRedo.dispose();this.contentEditor.srcdoc="about:empty";const dom=new DOMParser;const doc=dom.parseFromString(v,"text/html");yield this.updateEditable(doc);this.htmlDocument=void 0;yield this.loadContentDocument();this.htmlDocument.open();this.htmlDocument.write(doc.documentElement.outerHTML);this.htmlDocument.close();yield sleep(1e3);yield WebComponents.run(this.contentEditor,this.htmlDocument);this.htmlDocument.addEventListener("click",(e=>{const target=e.target;const previous=this.selection.element;if(previous===null||previous===void 0?void 0:previous.isContentEditable){let start=target;while(start){if(previous===target){return}start=start.parentElement}if(previous!==this.htmlDocument.body){previous.removeAttribute("contentEditable")}this.queueCommit()}e.preventDefault();this.setSelection(target)}));this.htmlDocument.addEventListener("dblclick",(e=>{const target=e.target;e.preventDefault();const element=target.nodeType===Node.ELEMENT_NODE?target:target.parentElement;if(/^(IMG|INJECT|VIDEO|PDF)/.test(element.tagName)){this.changeImage().catch(console.error);return}if(element.getAttribute("data-editable")==="false"){return}if(element.hasAttribute("data-web-atoms-view")){return}this.setSelection(element)}));this.htmlDocument.addEventListener("scroll",(e=>{this.hover.update();this.selection.update()}),{passive:true});this.htmlDocument.addEventListener("pointerover",(e=>{let target=e.target;target=target.nodeType===Node.ELEMENT_NODE&&target.tagName?target:target.parentElement;if(this.hover.element===target){return}this.hover.update(target)}),{capture:true});this.htmlDocument.addEventListener("keydown",(e=>{if(e.ctrlKey||e.metaKey){switch(e.key){case"s":this.contentEditor.dispatchEvent(new CustomEvent("savePage",{bubbles:true}));e.preventDefault();break;case"z":this.contentEditor.dispatchEvent(new CustomEvent("undo",{bubbles:true}));e.preventDefault();break;case"y":this.contentEditor.dispatchEvent(new CustomEvent("redo",{bubbles:true}));e.preventDefault();break}}}));this.htmlDocument.addEventListener("input",(()=>this.queueCommit()));InstallDragDropHelper(this);setTimeout((()=>{this.undoRedo=new UndoRedo(this.htmlDocument,this);const clone=this.htmlDocument;if(clone.querySelector(`[styler-layout="component"]`)){let componentScript=clone.querySelector("[styler-component-script]");if(!componentScript){componentScript=this.htmlDocument.createElement("script");componentScript.setAttribute("styler-component-script","component-script");const head=clone.querySelector("head");head.appendChild(componentScript);const scripts=clone.querySelectorAll("script[src]");for(let index=0;index<scripts.length;index++){const script=scripts[index];const srcScript=script.getAttribute("src");if(srcScript.includes("@social-mail/social-mail-client/")||srcScript.includes("/component.js")){script.remove();break}}}const src=UMD.resolvePath("@social-mail/social-mail-client/component.js");if(componentScript.getAttribute("src")!==src){componentScript.setAttribute("src",src)}}let wc=clone.querySelector("script[web-components]");if(!wc){wc=this.htmlDocument.createElement("script");wc.setAttribute("web-components","social");wc.setAttribute("async","true");wc.setAttribute("defer","true");clone.head.appendChild(doc.createTextNode("\n"));clone.head.appendChild(wc);clone.head.appendChild(doc.createTextNode("\n"))}const wcs=`${WebComponents.path}/dist/main.js`;if(wc.getAttribute("src")!==wcs){wc.setAttribute("src",wcs)}}),10)}))}updateEditable(doc){return __awaiter(this,void 0,void 0,(function*(){doc.body.contentEditable="true";doc.body.setAttribute("editing","true");this.updateBaseUrl(doc);yield this.setStylerSheet(doc);const lc=doc.querySelector("language-chooser");const languageStyles=[];if(lc){const languages=[{label:"Lang",value:"all"}];const list=lc.getAttribute("languages");if(list){for(const token of list.split(/[\,\;\s]+/)){const lang=token.trim();if(!lang){continue}languageStyles.push(`body[editing-lang=${lang}] *[lang]:not([lang=${lang}]) { display: none; }`);languages.push({label:lang,value:lang})}}this.languages=languages;const current=localStorage.getItem("editing-lang");if(current){doc.body.setAttribute("editing-lang",current);this[languageSymbol]=current;AtomBinder.refreshValue(this,"language")}else{this[languageSymbol]="all"}}doc.body.removeAttribute("data-lang");const cursorStyle=doc.createElement("style");cursorStyle.textContent=`* {\n caret-color: currentColor !important;\n }\n ${languageStyles.join("\n")}\n `;cursorStyle.setAttribute("data-cursor-style","editing");doc.head.append(cursorStyle)}))}queueCommit(){const id=this.lastCommitTimerID;if(id){clearTimeout(id)}this.lastCommitTimerID=setTimeout((()=>this.commit()),1e3)}setStylerSheet(doc=this.htmlDocument){return __awaiter(this,void 0,void 0,(function*(){let style=doc.querySelector(`[styler-style-sheet]`);if(!style){style=doc.createElement("style");style.setAttribute("styler-style-sheet","inline");doc.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}updateBaseUrl(doc){var _a;let baseElement=doc.querySelector("base");if((_a=baseElement===null||baseElement===void 0?void 0:baseElement.getAttribute("href"))===null||_a===void 0?void 0:_a.startsWith("/api/site/")){baseElement.remove();baseElement=null}if(baseElement){const href=baseElement.getAttribute("href");if(href!==this.baseUrl){this.originalBaseUrl=href;baseElement.setAttribute("href",this.baseUrl)}}else{baseElement=doc.createElement("base");baseElement.setAttribute("href",this.baseUrl);doc.head.insertAdjacentElement("afterbegin",baseElement)}}loadContentDocument(){return __awaiter(this,void 0,void 0,(function*(){this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}});__decorate([BindableProperty,__metadata("design:type",String)],HtmlPageEditor.prototype,"baseUrl",void 0);__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"move-up-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"moveUpElement",null);__decorate([Action({onEvent:"move-down-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"moveDownElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"change-background-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeBackgroundImage",null);__decorate([Action({onEvent:"extract-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"extractElement",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/MonacoService");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,UMD,FetchBuilder,MonacoService,monacoPath,codeModelChangedDisposable;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){monacoPath=UMD.resolvePath("@social-mail/social-mail-client/content/modules/monaco/monaco.html");codeModelChangedDisposable=Symbol("codeModelChangedDisposable");_export("default",MonacoService=class MonacoService{static createEditor(ctrl,iframe){return __awaiter(this,void 0,void 0,(function*(){const ms=new MonacoService;const srcdoc=yield FetchBuilder.get(monacoPath).asText();const{monaco,editor}=yield new Promise(((resolve,reject)=>{iframe.parentEditor={resolve,reject,codeEditor:ctrl,save(){ctrl.element.dispatchEvent(new CustomEvent("saveFile",{detail:ctrl,bubbles:true}))}};iframe.srcdoc=srcdoc}));ctrl.registerDisposable({dispose:()=>{ms.monaco=null;ms.editor=null}});ms.monaco=monaco;ms.editor=editor;ms.languages=monaco.languages.getLanguages();return ms}))}clearModels(){for(const model of this.monaco.editor.getModels()){model.dispose()}}getLanguages(){return this.languages.map((x=>{var _a,_b,_c;return{label:(_b=(_a=x.aliases)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:x.id,value:x.id,ext:(_c=x.extensions)===null||_c===void 0?void 0:_c[0],extensions:x.extensions}}))}createModel({code,url="http://a/file.html"}){const{monaco}=this;const uri=monaco.Uri.parse(url);const model=monaco.editor.getModel(uri);if(model){model.setValue(code);return model}return monaco.editor.createModel(code,void 0,uri)}setCodeModel(ctrl,code,url,clear=false){var _a;const{monaco,editor}=this;const uri=monaco.Uri.parse(url);let model=monaco.editor.getModel(uri);if(model){model.setValue(code);editor.setModel(model);return}(_a=ctrl[codeModelChangedDisposable])===null||_a===void 0?void 0:_a.dispose();if(clear){this.clearModels()}model=monaco.editor.createModel(code,void 0,uri);editor.setModel(model);let id=0;ctrl[codeModelChangedDisposable]=ctrl.registerDisposable(model.onDidChangeContent((()=>{if(id){clearTimeout(id)}id=setTimeout((()=>{var _a;const newCode=model.getValue();const ce=new CustomEvent("codeChanged",{bubbles:true,detail:{code:newCode,originalCode:code}});ctrl.element.dispatchEvent(ce);(_a=ctrl===null||ctrl===void 0?void 0:ctrl.onCodeChanged)===null||_a===void 0?void 0:_a.call(ctrl,newCode,code)}),500)})));return model}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../common/controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","./MonacoService","../common/pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,SaveIconTextButton,Bind,Action,InjectProperty,MonacoService,CloudFileService,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_MonacoService){MonacoService=_MonacoService.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends ContentPage{constructor(){super(...arguments);this.modified=false}init(){return __awaiter(this,void 0,void 0,(function*(){const{fileName}=this.parameters;this.title=fileName;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create("iframe",null));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified),false)},XNode.create(SaveIconTextButton,{"data-click-event":"save-file",text:"Close"}));const iframe=this.element.querySelector("iframe");this.monacoService=yield MonacoService.createEditor(this,iframe);this.content=this.parameters.content;this.monacoService.setCodeModel(this,this.content,`http://a/${fileName}`)}))}codeChanged({code}){this.modified||(this.modified=this.content!==code);this.content=code}saveFile(){return __awaiter(this,void 0,void 0,(function*(){const{content}=this;return content}))}hide(){this.element.setAttribute("data-page-state","hidden")}show(){if(!this.element._logicalParent.contains(this.element)){this.element._logicalParent.appendChild(this.element)}setTimeout((()=>this.element.setAttribute("data-page-state","ready")),1)}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],CodeEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"code-changed"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CodeEditorPage.prototype,"codeChanged",null);__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeEditorPage.prototype,"saveFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,viewFileUrl,fileUrl,imageUrl,srcSetUrl,signedImageUrl,signedUrl,storeFileUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("viewFileUrl",viewFileUrl=(site,file)=>apiPath(`/api/site/asset/view/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`));_export("fileUrl",fileUrl=(file,{action="download",args=void 0,fileName="",ext=""}={})=>{let name=encodeURIComponent(file.name);if(args){if(Array.isArray(args)){args=args.join(",")}ext="."+args+ext;action=action+"("+args+")"}if(ext){fileName=name+ext}if(fileName){name+="/"+fileName}const{emailID,appFileID,fileContentID}=file;if(emailID){return apiPath(`/api/emails/attachment/${action}/${emailID}/${appFileID}/${name}/`)}return apiPath(`/api/files/${action}/${appFileID}/${fileContentID}/${name}`)});fileUrl.webp=(file,size=300)=>fileUrl(file,{action:"webp",args:size,ext:".webp"});fileUrl.webm=file=>fileUrl(file,{action:"webm",ext:".webm"});fileUrl.pdf=file=>fileUrl(file,{action:"pdf",ext:".pdf"});fileUrl.html=file=>fileUrl(file,{action:"html",ext:".html"});_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file,imgUrlFunc=imageUrl)=>{const small=imgUrlFunc(site,file,480)+" 640w";const medium=imgUrlFunc(site,file,720)+" 1024w";const large=imgUrlFunc(site,file)+" 1256w";return`${small},${medium},${large}`});_export("signedImageUrl",signedImageUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0},size)=>apiPath(`/api/signed/webp(${size})/${appFileID}/${fileContentID}/${signed}/file.${size}.webp`));_export("signedUrl",signedUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0})=>apiPath(`/api/signed/download/${appFileID}/${fileContentID}/${signed}/file.dat`));_export("storeFileUrl",storeFileUrl=(rootFolderID,file,type="download",name=file.name)=>apiPath(`/api/store/file/${type}/${rootFolderID}/${file.appFileID}/${file.fileContentID}/${name}`))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/web/core/AtomUI","./TreeView.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator},function(_TreeViewGlobalLess){}],execute:function(){expandSymbol=Symbol("expand");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"){this.createElement(child,item,index);return}if(event==="set"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();this.createElement(child,item,index);return}if(event==="remove"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();return}for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}for(const iterator of children){this.createElement(iterator,item)}}));element.dispose=()=>{var _a;watcher.dispose();for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}element.remove()};const actionElement=(_a=this.actionRenderer)===null||_a===void 0?void 0:_a.call(this,item);const isFolder=(_c=(_b=this.isFolder)===null||_b===void 0?void 0:_b.call(this,item))!==null&&_c!==void 0?_c:true;const iconElement=isFolder?this.folderIconRenderer(item):(_e=(_d=this.fileIconRenderer)===null||_d===void 0?void 0:_d.call(this,item))!==null&&_e!==void 0?_e:XNode.create("i",null);const labelElement=this.labelRenderer(item);if(iconElement){const a=(_f=iconElement.attributes)!==null&&_f!==void 0?_f:iconElement.attributes={};(_g=a["data-element"])!==null&&_g!==void 0?_g:a["data-element"]=isFolder?"expand-collapse":"file-icon";(_h=a["data-click-event"])!==null&&_h!==void 0?_h:a["data-click-event"]="toggle-expand";this.render(XNode.create("div",null,iconElement),element,this)}if(labelElement){const a=(_j=labelElement.attributes)!==null&&_j!==void 0?_j:labelElement.attributes={};a["data-element"]="label";(_k=a["data-click-event"])!==null&&_k!==void 0?_k:a["data-click-event"]="select-item";this.render(XNode.create("div",null,labelElement),element,this)}if(actionElement){((_l=actionElement.attributes)!==null&&_l!==void 0?_l:actionElement.attributes={})["data-element"]="action";this.render(XNode.create("div",null,actionElement),element,this)}const header=document.createElement("div");header.setAttribute("data-element","header");element.appendChild(header);const parentElement=this.map.get(parentItem);let last=parentElement;if(parentItem){const siblings=this.childrenProperty(parentItem);if(insertIndex===-1){insertIndex=siblings.indexOf(item)}if(insertIndex>=1){last=this.map.get(siblings[insertIndex-1])}last.insertAdjacentElement("afterend",element);const pad=Number((_m=parentElement.getAttribute("data-pad"))!==null&&_m!==void 0?_m:"0")+10;element.setAttribute("data-pad",`${pad}`);element.style.paddingLeft=`${pad}px`}else{this.element.appendChild(element);this.expandElement(element,false)}for(const iterator of children){this.createElement(iterator,item)}setTimeout((()=>this.updateExpanded()),1);return element}updateExpanded(item,show){if(!item){item=this.root;show=true}const element=this.map.get(item);if(!element){return}if(item===this.root){show=true}else if(show===void 0){show=element.getAttribute("data-expanded")==="true"}if(show){element.style.display=""}else{element.style.display="none"}const children=this.childrenProperty(element.dataItem);show&&(show=element.getAttribute("data-expanded")==="true");for(const iterator of children){this.updateExpanded(iterator,show)}}});__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"root",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"selectedItem",void 0);delete TreeView.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,CloudFileService,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_pagesFilesServiceCloudFileService){CloudFileService=_pagesFilesServiceCloudFileService.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.accept=null;this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item,void 0,this.accept);const setParent=i=>{if(!i.children){return}for(const iterator of i.children){iterator.parent=i}};setParent(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child);child.parent=file}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file);const e=this.map.get(file);const{parentItem:{children}}=e;children.set(children.indexOf(file),file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.menuActions=null;this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical",popup:()=>{var _a,_b;return XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),...(_b=(_a=this.menuActions)===null||_a===void 0?void 0:_a.call(this,item))!==null&&_b!==void 0?_b:[],this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"}))}})}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","./FilesDragDrop.global.less"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_FilesDragDropGlobalLess){}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;dragEnter=e=>{if(!e.dataTransfer){return}e.currentTarget.setAttribute("data-drop-enabled","1")};dragOver=e=>{if(!e.dataTransfer){return}e.preventDefault()};dragLeave=e=>{if(!e.dataTransfer){return}e.currentTarget.removeAttribute("data-drop-enabled")};eventDrop=e=>{if(!e.dataTransfer){return}e.preventDefault();const currentTarget=e.currentTarget;currentTarget.removeAttribute("data-drop-enabled");const uploadEvent=currentTarget.getAttribute("data-upload-event");const extra=currentTarget.getAttribute("data-extra");const fileHandlesPromises=[...e.dataTransfer.items].filter((item=>item.kind==="file")).map((item=>supportsFileSystemAccessAPI?item.getAsFileSystemHandle().then((f=>f!==null&&f!==void 0?f:item.getAsFile())):supportsWebkitGetAsEntry?item.webkitGetAsEntry():item.getAsFile()));const files=[];const getFiles=(dir,parent=dir.name)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,e_1,_b,_c;const all=[];try{for(var _d=true,_e=__asyncValues(dir.entries()),_f;_f=yield _e.next(),_a=_f.done,!_a;){_c=_f.value;_d=false;try{const[name,handle]=_c;const path=`${parent}/${handle.name}`;if(handle.kind==="directory"||handle.isDirectory){all.push(...yield getFiles(handle,path));continue}const file=yield handle.getFile();Object.defineProperty(file,"webkitRelativePath",{value:path});all.push(file)}finally{_d=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_d&&!_a&&(_b=_e.return))yield _b.call(_e)}finally{if(e_1)throw e_1.error}}return all}));const control=AtomControl.from(e.currentTarget);control.app.runAsync((()=>__awaiter(void 0,void 0,void 0,(function*(){var _g,e_2,_h,_j;try{for(var _k=true,fileHandlesPromises_1=__asyncValues(fileHandlesPromises),fileHandlesPromises_1_1;fileHandlesPromises_1_1=yield fileHandlesPromises_1.next(),_g=fileHandlesPromises_1_1.done,!_g;){_j=fileHandlesPromises_1_1.value;_k=false;try{const handle=_j;if(handle.kind==="directory"||handle.isDirectory){files.push(...yield getFiles(handle))}else{files.push(handle.getFile?yield handle.getFile():handle)}}finally{_k=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_k&&!_g&&(_h=fileHandlesPromises_1.return))yield _h.call(fileHandlesPromises_1)}finally{if(e_2)throw e_2.error}}const detail={files,extra,uploadEvent};currentTarget.dispatchEvent(new CustomEvent("uploadRequested",{detail,bubbles:true,cancelable:true}))}))))};_export("FilesDragDrop",FilesDragDrop=({uploadEvent="files-available",uploadRequested="upload-requested",extra=""})=>({"data-extra":extra,"data-drag-drop":"1","data-upload-event":uploadEvent,"data-upload-requested":uploadRequested,"event-dragenter":dragEnter,"event-dragleave":dragLeave,"event-dragover":dragOver,"event-drop":eventDrop}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/FileUrlService");System.register([],(function(_export,_context){"use strict";var FileUrlService;return{setters:[],execute:function(){_export("FileUrlService",FileUrlService={downloadUrl(file){const url=file.url;return url.replace("/view/","/download/")},pdf(file){const url=file.url;return url.replace("/view/","/pdf/")+".pdf"},html(file){const url=file.url;return url.replace("/view/","/html/")+".html"},webP(file,size=300){const url=file.url.replace("/view/",`/webp(${300})/`);return url+`.${size}.webp`},webM(file){const url=file.url;return url.replace("/view/",`/webm/`)+`.webm`},webMBranded(file){const url=file.url;return url.replace("/view/",`/webm-branded/`)+`.branded.webm`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../../../common/controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../service/CloudFileService","../../../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../common/controls/buttons/IconButton","../../../FileUrlService","./ChooseMediaPage.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,Bind,InjectProperty,CloudFileService,FilesDragDrop,Action,UploadEvent,SaveIconTextButton,FileUrlService,ChooseMediaPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsTreeFileTreeView){FolderTreeView=_commonControlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceCloudFileService){CloudFileService=_serviceCloudFileService.default},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_ChooseMediaPageLocalLess){}],execute:function(){css="choose-media-page";_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFiles=[];this.showSize=true}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.showSize=/^(image|video)\//i.test(accept);const selected=this.parameters.selected;if((selected===null||selected===void 0?void 0:selected.tagName)==="IMG"){if(/^image\-grid$/i.test((_a=selected.parentElement)===null||_a===void 0?void 0:_a.tagName)){this.size=480}}this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{class:"folder-tree",folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",{class:"search","data-layout":"row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.filesRepeater=c)),selectOnClick:true,selectedItems:this.selectedFiles,allowMultipleSelection:this.parameters.multiple,header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,includeFilesInFolder:false,accept,cancelToken}))),itemRenderer:item=>{if(/text\/html/i.test(item.contentType)){return XNode.create("div",{class:"media-file"},this.parameters.multiple&&XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",title:item.name,text:item.name}),XNode.create("div",{class:"file-preview",text:"HTML File"}))}return XNode.create("div",{class:"media-file"},this.parameters.multiple&&XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",title:item.name,text:item.name}),XNode.create("img",{class:"file-preview",src:FileUrlService.webP(item,300)}))}})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0)),"data-layout":"row"},this.parameters.multiple&&XNode.create(SelectAll,{items:Bind.oneWay((()=>this.filesRepeater.items)),selectedItems:this.selectedFiles}),this.showSize&&XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),this.showSize&&XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create(SaveIconTextButton,{"data-click-event":"select-file",text:"Insert"}))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const size=this.size;return this.selectedFiles.map((file=>({file,size,folder:this.getFolder(file)})))}))}getFolder(file){var _a;if(file.appFileID===this.parameters.folder.appFileID){return[]}const parent=(_a=file.parent)!==null&&_a!==void 0?_a:this.selectedFolder;if(parent.appFileID===this.parameters.folder.appFileID){return[]}return[...this.getFolder(parent),parent.name]}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage","@web-atoms/core/dist/services/FetchBuilder","../../common/fileUrl","../../common/pages/files/media/ChooseMediaPage","../../common/pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,PageNavigator,StylerSet,InjectProperty,Action,CodeEditorPage,FetchBuilder,imageUrl,srcSetUrl,ChooseMediaPage,CloudFileService,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonFileUrl){imageUrl=_commonFileUrl.imageUrl;srcSetUrl=_commonFileUrl.srcSetUrl},function(_commonPagesFilesMediaChooseMediaPage){ChooseMediaPage=_commonPagesFilesMediaChooseMediaPage.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null;this.selectedFile=null}changeBackgroundImage(){return __awaiter(this,void 0,void 0,(function*(){const element=this.selection.element;const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*",multiple:false});const{folder,file}=files[0];const path="./"+[...folder,file.name].join("/");element.style.setProperty("background-image",`url("${path}")`);element.style.setProperty("--styler-background-image",`url("${path}")`)}))}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const element=this.selection.element;const{tagName}=element;let accept="image/*";let multiple=true;let isVideo=false;let isPdf=false;let inject=false;if(/^video/i.test(tagName)){accept="video/*";multiple=false;isVideo=true}if(/^inject$/i.test(tagName)){accept="text/html";multiple=false;inject=true}if(/pdf/i.test(tagName)){accept="application/pdf";multiple=false;inject=false;isPdf=true}const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept,multiple,selected:element});if(inject||isVideo||isPdf){const[{file,folder}]=files;const path="./"+[...folder,file.name].join("/");element.setAttribute("src",path);element.setAttribute("poster",imageUrl(this.folder,file,300));this.commit();return}const images=files.map((({file,size})=>{const src=imageUrl(this.folder,file,size);const srcset=srcSetUrl(this.folder,file);return{src,"data-src-set":srcset}}));yield this.insertImage(...images)}))}extractElement(){return __awaiter(this,void 0,void 0,(function*(){const selectedElement=this.selection.element;const outerText=selectedElement.outerHTML;let fileName=prompt("File Name","/templates/header.html");if(!fileName){return}if(fileName.startsWith("/")){fileName=fileName.substring(1)}const hasFile=yield this.cloudFileService.children(this.folder.appFileID,fileName).firstOrDefault();if(hasFile){alert("File already exists");return}const file=`<!DOCTYPE html>\n <html>\n <body>\n ${outerText}\n </body>\n </html>\n `;const folder=[];for(const iterator of fileName.split("/")){folder.push(iterator)}fileName=folder.pop();yield this.cloudFileService.saveFile({content:new File([file],fileName,{type:"text/html"}),parentID:this.folder.appFileID,folder:folder.join("/")||null});folder.push(fileName);const injectElement=selectedElement.ownerDocument.createElement("inject");injectElement.setAttribute("src","/"+folder.join("/"));selectedElement.parentElement.replaceChild(injectElement,selectedElement);injectElement.appendChild(selectedElement);selectedElement.setAttribute("contentEditable","off");this.selection.update(injectElement)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){let file=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();let content=yield FetchBuilder.get(file.url).asText();const modifiedContent=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:file.name,content});if(modifiedContent!==content){content=modifiedContent;yield this.cloudFileService.saveFile({content:new File([content],file.name,{type:file.contentType}),appFileID:file.appFileID});file=yield this.cloudFileService.getFile(file.appFileID)}yield this.addStyleSheet(this.htmlDocument,file,"styles/vars.css")}))}setStylerSheet(doc){return __awaiter(this,void 0,void 0,(function*(){const pending=[];for(const e of Array.from(doc.querySelectorAll("inject"))){let src=e.getAttribute("src");if(src.startsWith("/")){src=src.substring(1)}else{}pending.push((()=>__awaiter(this,void 0,void 0,(function*(){const file=yield this.cloudFileService.children(this.folder.appFileID,src).firstOrDefault();const text=yield FetchBuilder.get(file.url).asText();const parser=new DOMParser;const dom=parser.parseFromString(text,"text/html");const children=Array.from(dom.body.children);for(const iterator of Array.from(e.children)){iterator.remove()}for(const iterator of children){iterator.setAttribute("contentEditable","false");e.appendChild(iterator)}}))))}pending.push((()=>__awaiter(this,void 0,void 0,(function*(){let stylerFile=yield this.cloudFileService.children(this.folder.appFileID,"styles/styler.css").firstOrDefault();if(!stylerFile){stylerFile=yield this.createFile("styler.css",StylerSet.instance.toString())}else{const stylerContent=yield FetchBuilder.get(stylerFile.url).asText();const newStyle=StylerSet.instance.toString();if(stylerContent!==newStyle){stylerFile=yield this.createFile("styler.css",newStyle)}}yield this.addStyleSheet(doc,stylerFile,"styles/styler.css")}))));pending.push((()=>__awaiter(this,void 0,void 0,(function*(){let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n ${StylerSet.instance.varsCss}\n }`)}yield this.addStyleSheet(doc,vars,"styles/vars.css")}))));yield Promise.all(pending.map((x=>x())));const start="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free";if(!Array.from(doc.querySelectorAll(`link[rel=stylesheet]`)).find((x=>x.getAttribute("href").startsWith(start)))){const css=doc.createElement("link");css.setAttribute("rel","stylesheet");css.setAttribute("href",start+"@6.6.0/css/all.min.css");doc.head.appendChild(css)}}))}addStyleSheet(doc,file,path){return __awaiter(this,void 0,void 0,(function*(){const filePath=this.selectedFile.path.substring(this.folder.path.length);let folder=filePath.split("/").length-2;while(folder>0){path="../"+path;folder--}const document=doc;const href="./"+path;let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(doc.createTextNode("\n"));document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/home/HomePage");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,HomePage;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",HomePage=class HomePage extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox"],(function(_export,_context){"use strict";var __rest,Bind,XNode,BindError,FormField,PasswordBox;function RequiredFormField(_a,node){var _b,_c;var{label,value,required=true,message,isValid,placeholder,valuePropertyName="value"}=_a,extra=__rest(_a,["label","value","required","message","isValid","placeholder","valuePropertyName"]);const a=(_b=node.attributes)!==null&&_b!==void 0?_b:node.attributes={};a[valuePropertyName]=Bind.twoWaysImmediate(value);if(placeholder){a.placeholder=placeholder}for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];(_c=a[key])!==null&&_c!==void 0?_c:a[key]=element}}return XNode.create(FormField,{required,label,error:BindError({value,message,isValid})},node)}function TextFormField(a){return XNode.create(RequiredFormField,Object.assign({},a),XNode.create("input",{type:"text"}))}function PasswordFormField(a){return XNode.create(RequiredFormField,Object.assign({},a),XNode.create(PasswordBox,{value:Bind.twoWaysImmediate(a.value)}))}_export({default:RequiredFormField,TextFormField,PasswordFormField});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){BindError=_webAtomsWebControlsDistBasicForm.BindError},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const value=this.value;const valuePath=(_a=this.valuePath)!==null&&_a!==void 0?_a:item=>item;this.element.selectedIndex=(_b=this.items)===null||_b===void 0?void 0:_b.findIndex((v=>valuePath(v)==value));this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,Sql,AdminUserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){AdminUserService=class AdminUserService{get(userID){return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>[x.authFactors,x.fileAccessList.forEach((f=>f.file)),x.userMailboxes.forEach((m=>m.mailbox.emailAddress)),x.domainUsers.forEach((d=>d.hostedDomain.domain))])).firstOrDefault()}list({search="",start=0,size=50,cancelToken,v=void 0,external=false}){let q=this.entityService.query(User).where({external},(p=>x=>x.isExternal===p.external));if(search){if(/\^d+$/.test(search)){q=q.where({search},(p=>x=>x.userID===Sql.cast.asBigInt(p.search)))}const startsWith=search+"%";q=q.where({startsWith},(p=>x=>Sql.text.iLike(x.userName,p.startsWith)||Sql.text.iLike(x.displayName,p.startsWith)))}return q.include((x=>x.domainUsers.forEach((d=>d.hostedDomain.domain)))).orderBy((x=>x.displayName)).toPagedList({start,size,cancelToken})}save(user){const cloner=this.entityService.cloner(user).include((x=>x.domainUsers)).include((x=>x.userMailboxes)).thenInclude((x=>x.mailbox));return this.entityService.save(cloner.copy)}resetMFA(user){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!((_a=user.authFactors)===null||_a===void 0?void 0:_a.length)){return}user.multiFactor=false;for(const iterator of user.authFactors){iterator.$deleted=true}const cloner=this.entityService.cloner(user).include((x=>x.authFactors)).copy;yield this.entityService.save(cloner);(_b=user.authFactors)===null||_b===void 0?void 0:_b.clear()}))}};__decorate([Inject,__metadata("design:type",EntityService)],AdminUserService.prototype,"entityService",void 0);AdminUserService=__decorate([DITransient()],AdminUserService);_export("default",AdminUserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","./services/AdminUserService","../../../common/controls/repeater/InfiniteRepeater","../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,XNode,AtomRepeater,Bind,AdminUserService,InfiniteRepeater,SaveIconTextButton,ChooseUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",ChooseUserPage=class ChooseUserPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.users=[];this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),placeholder:"Search User"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.users,selectOnClick:true,"data-layout":"list",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),"data-list-selection":"default","data-selection-updated-event":"selection-updated"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({search:this.search,start,cancelToken}))),{itemRenderer:user=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:user.userName}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.selectedUser))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selectedUser),text:"Select"}))}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],ChooseUserPage.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","../../../admin/pages/users/ChooseUserPage","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,UserMailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,AtomRepeater,AddIconTextButton,PageNavigator,ChooseUserPage,Checkbox,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox;UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_adminPagesUsersChooseUserPage){ChooseUserPage=_adminPagesUsersChooseUserPage.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{init(){var _a,_b,_c,_d,_e,_f,_g,_h;var _j,_k,_l,_m,_o,_p;return __awaiter(this,void 0,void 0,(function*(){this.title="Add Hosted Mailbox";this.model=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.model)!==null&&_b!==void 0?_b:Mailbox.create({emailAddress:EmailAddress.create({emailAddress:""}),maxStorage:1*1024*1024*1024,userMailboxes:[]});if(this.parameters.domainID){this.model.domainID=this.parameters.domainID}(_c=(_j=this.model).isChannel)!==null&&_c!==void 0?_c:_j.isChannel=false;(_d=(_k=this.model).isPrivateChannel)!==null&&_d!==void 0?_d:_k.isPrivateChannel=false;(_e=(_l=this.model).requiresCommentModeration)!==null&&_e!==void 0?_e:_l.requiresCommentModeration=true;(_f=(_m=this.model).requiresMembershipApproval)!==null&&_f!==void 0?_f:_m.requiresMembershipApproval=true;(_g=(_o=this.model).requiresPostModeration)!==null&&_g!==void 0?_g:_o.requiresPostModeration=true;(_h=(_p=this.model).requiresSignup)!==null&&_h!==void 0?_h:_p.requiresSignup=true;this.model.username="";const domains=yield this.mailboxService.domains(true);this.model.name=SocialMailApp.user.displayName;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-mailbox"},XNode.create(TextFormField,{label:"Name",value:()=>this.model.name}),XNode.create(TextFormField,{label:"Email Prefix/Username",value:()=>this.model.username}),XNode.create(FormField,{label:"Domain"},XNode.create(ComboBox,{labelPath:item=>item===null||item===void 0?void 0:item.name,valuePath:item=>item===null||item===void 0?void 0:item.domainID,selectedItem:Bind.twoWaysImmediate((()=>this.model.domain)),value:Bind.twoWaysImmediate((()=>this.model.domainID)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.name}`))})),XNode.create(FormField,{label:"Create Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isChannel)),text:"Create a newsletter channel, which anyone with email can subscribe"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Private Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isPrivateChannel)),text:"Make this channel private, only users with invitation can subscribe"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Approval"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.requiresMembershipApproval)),text:"Membership requires approval"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Moderation"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.requiresPostModeration)),text:"New post goes in moderation queue"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Moderation"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.requiresCommentModeration)),text:"New comment goes in moderation queue"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Content Library"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isLibrary)),text:"Make this channel Library so every one can access the content"})),XNode.create(FormField,{label:"Add Users who can access this mailbox"},XNode.create("div",null,XNode.create(AtomRepeater,{items:this.model.userMailboxes,"data-layout":"list",itemRenderer:item=>XNode.create("div",null,XNode.create("span",{text:item.user.userName}))}),XNode.create(AddIconTextButton,{"data-click-event":"add-user",text:"User"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-type":"submit","data-layout":"accept-button",text:"Add"}))))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailboxService.save(this.model);return this.model}))}addUser(){return __awaiter(this,void 0,void 0,(function*(){const user=yield PageNavigator.pushPageForResult(ChooseUserPage);this.model.userMailboxes.add(UserMailbox.create({user,userID:user.userID}))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxEditorPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"save-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"saveMailbox",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"addUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","../../../../common/apiPath","../../../../common/SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxContact,UserPushSubscription,Sql,CommonEvents,FetchBuilder,apiPath,SocialMailApp,MailService;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){AppFile=_modelModel.AppFile;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_commonSql){Sql=_commonSql.Sql},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default}],execute:function(){MailService=class MailService{constructor(){this.tags=new Map}mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){const mb=yield this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>[x.emailAddress,x.folders.forEach((t=>t.tag))])).firstOrDefault();const notify=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();mb.notify=!!notify;const index=x=>{switch(x.tag.name.toLocaleLowerCase()){case"contacts":SocialMailApp.contactsFolderTagID=x.tagID;return 1;case"new":this.newTagID=x.tagID;SocialMailApp.newFolderTagID=x.tagID;return 2;case"spam":return 3;case"blocked":return 4}return 100};mb.folders.sort(((a,b)=>index(a)-index(b)));if(mb.folders.length){mb.folders[0].main=true}mb.folders.remove((x=>!x.main&&!x.count));return mb}))}list({search="",searchInMessages=false,mailboxID,conversationType="all",start=0,size=20,version=1,folderID=null,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID));if(folderID){q=q.where({folderID},(p=>x=>x.folderTagID===p.folderID))}switch(conversationType){case"open":q=q.where((x=>x.openThreads!==0));break;case"closed":q=q.where((x=>x.openThreads===0));break}if(search){const likeSearch=`${search}%`;if(searchInMessages){q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.lastEmail.textBody,p.likeSearch)||Sql.text.iLike(x.lastEmail.subject,p.likeSearch)||Sql.text.iLike(x.emailAddress.name,p.likeSearch)||Sql.text.iLike(x.lastEmail.senderName,p.likeSearch)));q=q.orderByDescending({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.emailAddress.name,p.likeSearch))).thenByDescending((x=>x.dateUpdated))}else{q=q.where({likeSearch},(p=>x=>x.emailAddress.names.some((n=>Sql.text.like(n.nameToken.word,p.likeSearch)))||Sql.text.like(x.emailAddress.domain.name,p.likeSearch))).orderByDescending((x=>x.dateUpdated))}}else{q=q.orderByDescending((x=>x.dateUpdated))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){return FetchBuilder.get(apiPath(`/api/emails/logs/${email.email.mimeFileID}/${email.emailID}.eml`)).asText()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){const{textBody}=email;if(textBody&&!email.subject){const lines=textBody.split("\n");for(const line of lines){if(!line.trim()){continue}email.subject||(email.subject=line.trim().substring(0,80));break}}for(const iterator of email.recipients){if(iterator.emailAddressText){iterator.emailAddressText=iterator.emailAddressText.trim()}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.attachments))));CommonEvents.onEmailScheduled.dispatchEvent(email)}))}deleteAttachment(file){return __awaiter(this,void 0,void 0,(function*(){const{appFileID}=file;yield this.entityService.save(AppFile.create({$deleted:true,appFileID}));CommonEvents.onFileDeleted.dispatchEvent(file)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register(["../PageNavigator","./MobileApp","@web-atoms/core/dist/web/core/AtomUI","../basic/AtomRepeater","./master-detail.global.less"],(function(_export,_context){"use strict";var PageNavigator,ContentPage,isMobileView,descendentElementIterator,AtomRepeater,MasterDetailPage,findItem;_export("default",void 0);return{setters:[function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_MobileApp){ContentPage=_MobileApp.ContentPage;isMobileView=_MobileApp.isMobileView},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default},function(_masterDetailGlobalLess){}],execute:function(){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/email-dom/dist/style/mergeStyle");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/dom/StyleHelper");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/DomToString");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");DomToElement(div,XNode.create("div",null,node));return div.innerHTML}function DomToElement(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}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,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.setAttribute(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);DomToElement(child,iterator)}}_export({default:DomToString,DomToElement});return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30,fifteenMinutes:15*60}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/models/TaskManager","../../model/model","@web-atoms/core/dist/di/Inject","../EntityService","../../common/cache/CacheTTL"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,TaskManager,Email,MailboxContactEmail,Inject,EntityService,CacheTTL,cacheVersion,cacheSeconds,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_modelModel){Email=_modelModel.Email;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL}],execute:function(){cacheVersion="c1";cacheSeconds=CacheTTL.seconds.oneMonth;EmailContentDownloader=class EmailContentDownloader extends TaskManager{downloadChatContent(mce){return this.entityService.run(MailboxContactEmail,"getBody",mce,{cacheVersion,cacheSeconds}).asText()}downloadPost(email){return __awaiter(this,void 0,void 0,(function*(){email.htmlBody||(email.htmlBody=yield this.entityService.run(Email,"getBody",email,{cacheVersion,cacheSeconds}).asText())}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailContentDownloader.prototype,"entityService",void 0);EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");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","../../../../common/events/CommonEvents","../../../../services/email/EmailContentDownloader","./EngagementService","../../../commands/MailAppEvents","../../../../common/fileUrl","../../../../common/cache/CacheTTL","../../../../common/controls/Loader"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,Sql,DomToString,XNode,AtomControl,AncestorEnumerator,descendentIterator,DateTime,CommonEvents,EmailContentDownloader,EngagementService,MailAppEvents,fileUrl,CacheTTL,Loader,cacheVersion,renderMailPromise,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;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;descendentIterator=_webAtomsCoreDistWebCoreAtomUI.descendentIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonControlsLoader){Loader=_commonControlsLoader.default}],execute:function(){cacheVersion="c1";_export("renderMailPromise",renderMailPromise=AtomControl.registerProperty("data-html","html",((c,e,value)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b,_c,_d;if(!value){e.innerHTML="";return}const{thread,email}=value;const mail=email!==null&&email!==void 0?email:thread.email;let html=email.htmlBody;if(!html){c.render(XNode.create("div",null,XNode.create("div",{"style-height":"40vh"},XNode.create(Loader,null))),e,c);const es=c.app.resolve(EntityService);mail.htmlBody=html=yield es.run(Email,"getBody",email,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion}).asText();e.innerHTML=""}const msg=document.createElement("div");if(!html){html!==null&&html!==void 0?html:html=mail.textBody;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;let firstVisibleElement=null;for(const node of descendentIterator(msg)){if(!firstVisibleElement&&node.nodeType===Node.TEXT_NODE){const{parentElement}=node;if(parentElement.tagName!=="STYLE"&&((_a=node.nodeValue)===null||_a===void 0?void 0:_a.trim())){firstVisibleElement||(firstVisibleElement=node.parentElement)}}if(node.nodeType!==Node.ELEMENT_NODE){continue}const iterator=node;let cid=iterator.getAttribute("data-content-id");if(cid){const a=(_b=mail.attachments)===null||_b===void 0?void 0:_b.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url)}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){firstVisibleElement||(firstVisibleElement=iterator);const src=iterator.getAttribute("src");iterator.setAttribute("controls","true");iterator.setAttribute("crossorigin","anonymous");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=(_c=mail.attachments)===null||_c===void 0?void 0:_c.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",fileUrl(a));a.included=true}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const container=document.createElement("div");const style=e.ownerDocument.createElement("style");style.textContent=`\n video,img {\n max-width: 100% !important;\n }\n\n div[msg] {\n overflow: visible;\n display: flex;\n flex-direction: column;\n word-break: break-word;\n align-items: flex-start;\n }\n `;container.appendChild(style);msg.setAttribute("msg","msg");container.appendChild(msg);if(/img|video/i.test(firstVisibleElement===null||firstVisibleElement===void 0?void 0:firstVisibleElement.tagName)){const root=AncestorEnumerator.find(e,(x=>x.hasAttribute("data-msg-container")));(root!==null&&root!==void 0?root:e).setAttribute("has-poster","true")}if(thread&&!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_d=thread.email)===null||_d===void 0?void 0:_d.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const es=c.app.resolve(EntityService);es.run(MailboxContactEmail,"markAsRead",thread).asJson().then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}if(window.previewMode){e.appendChild(container);return}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(container);setTimeout((()=>{if(msg.scrollWidth>msg.offsetWidth){msg.style.scale=msg.offsetWidth/msg.scrollWidth+"";msg.style.transformOrigin="top left"}}),100);return})))));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft(email,mailboxContacts,create=false,saveAttachments=true,cancelToken){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}cloner=cloner.include((x=>x.recipients)).include((x=>x.threadContacts));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const threads=(_b=email.threadContacts)!==null&&_b!==void 0?_b:email.threadContacts=[];if(!email.senderID){throw new Error("SenderID is not set")}email.status="draft";for(const{mailboxID,emailAddressID}of mailboxContacts){if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.threadContacts))))}return email}))}list({searchItems=null,mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(searchItems){for(const{tag,text}of searchItems){if(tag){q=q.where({tag:tag.tagID},(p=>x=>x.email.emailTags.some((t=>t.tagID===p.tag))));continue}let search=text;if(!/\%/.test(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)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken,expandable:true});const tasks=[];for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";email.engagements=[]}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}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})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TitleEditor");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/title-editor.global.less"],(function(_export,_context){"use strict";var __rest,XNode,paste,formatText,capitalizeText,toText,changeCase;function TitleEditor(_a){var{value,type,placeholder,capitalize="on",capitalizationTitle="Capitalization"}=_a,a=__rest(_a,["value","type","placeholder","capitalize","capitalizationTitle"]);return XNode.create("div",Object.assign({"data-title-editor":"title-editor"},a),XNode.create("input",{autocapitalize:capitalize,type,placeholder,value,"event-input":capitalizeText,"event-paste":paste}),XNode.create("i",{"data-element":"icon",class:"fas fa-font-case","event-click":changeCase,title:capitalizationTitle}),XNode.create("span",{"data-element":"text",text:toText(capitalize),"event-click":changeCase,title:capitalizationTitle}))}_export("default",TitleEditor);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesTitleEditorGlobalLess){}],execute:function(){paste=e=>{const input=e.target;const capitalize=input.autocapitalize;if(!capitalize||capitalize==="off"||capitalize==="none"){return}setTimeout((()=>{const start=input.selectionStart;const end=input.selectionEnd;formatText(input,capitalize);input.setSelectionRange(start,end)}),1)};formatText=(input,capitalize,all=true)=>{let value=input.value;if(!value){return}switch(capitalize){case"on":case"sentences":if(value.length===1){value=value.toLocaleUpperCase()}break;case"words":if(all){value=value.replace(/(\S+)/g,(s=>s.substring(0,1).toLocaleUpperCase()+s.substring(1)))}else{value=value.replace(/(\S+)$/g,(s=>s.substring(0,1).toLocaleUpperCase()+s.substring(1)))}break;case"characters":value=value.toLocaleUpperCase();break}input.value=value};capitalizeText=/android|iPhone|iOS/i.test(navigator.userAgent)?()=>undefined:e=>{const input=e.target;const capitalize=input.autocapitalize;if(!capitalize||capitalize==="off"||capitalize==="none"){return}const start=input.selectionStart;const end=input.selectionEnd;formatText(input,capitalize,false);input.setSelectionRange(start,end)};toText=capitalize=>{switch(capitalize){case"off":case"none":return"Caps Off";case"characters":return"All Caps";case"on":case"sentences":return"Sentence";case"words":return"Title Case"}return""};changeCase=e=>{let element=e.target;if(element.tagName==="SPAN"){element=element.previousElementSibling}const input=element.previousElementSibling;const span=element.nextElementSibling;let capitalize=input.autocapitalize;switch(capitalize){case"sentences":capitalize="words";break;case"words":capitalize="characters";break;case"characters":capitalize="off";break;default:capitalize="sentences";break}span.textContent=toText(capitalize);input.autocapitalize=capitalize}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Chip");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/chip.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function Chip(_a,...nodes){var{icon,label,header,deleteIcon="fa-solid fa-xmark",undoDeleteIcon="fa-solid fa-undo",draggable,recreate=true,deleted}=_a,a=__rest(_a,["icon","label","header","deleteIcon","undoDeleteIcon","draggable","recreate","deleted"]);return XNode.create("div",Object.assign({},a,{"data-recreate":recreate,"data-deleted":!!deleted,"data-item-chip":"chip",draggable}),icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleted&&XNode.create("div",{class:"delete-strike"}),undoDeleteIcon&&deleted&&XNode.create("i",{class:"undo delete "+undoDeleteIcon,"data-click-event":"undo-remove-chip"}),deleteIcon&&!deleted&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-chip"}))}_export("default",Chip);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesChipGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");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/types","@web-atoms/core/dist/core/XNode","./AtomRepeater","./Chip","./InlinePopup","./styles/chips.global.less","./styles/item-suggestion.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,CancelToken,XNode,AtomRepeater,MatchTrue,InlinePopup,AtomChips;function getChips(target){let start=target;while(start){const chips=start.atomControl;if(chips&&chips instanceof AtomChips){return chips}start=start.parentElement}}function askSuggestionPopup(host,opener,itemRenderer,suggestionFilter,cancelToken){class Suggestions extends InlinePopup{create(){this.opener=opener;this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.opener.anchorItem)),itemRenderer,eventDeleteSuggestion:e=>opener.element.dispatchEvent(e),visibilityFilter:suggestionFilter!==null&&suggestionFilter!==void 0?suggestionFilter:MatchTrue,"event-item-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.close(e.detail)},items:Bind.oneWay((()=>this.opener.suggestions))}))))}}return Suggestions.showControl(host,{cancelToken,alignment:"auto"})}function Suggestion(_a,...nodes){var{icon,label,header,deleteIcon}=_a,a=__rest(_a,["icon","label","header","deleteIcon"]);return XNode.create("div",Object.assign({"data-item-suggestion":"suggestion"},a),icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header,title:header}),label&&XNode.create("label",{class:"label",text:label,title:label}),...nodes,deleteIcon&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-suggestion"}))}_export({Suggestion,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__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(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;MatchTrue=_AtomRepeater.MatchTrue},function(_Chip){_export("Chip",_Chip.default)},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_stylesChipsGlobalLess){},function(_stylesItemSuggestionGlobalLess){}],execute:function(){document.body.addEventListener("focusin",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(true)}));document.body.addEventListener("focusout",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(false)}));document.body.addEventListener("keydown",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.onKey(e)}));_export("default",AtomChips=class AtomChips extends AtomRepeater{get searchType(){return this.searchInput.type}set searchType(v){this.searchInput.type=v}get enterKeyHint(){return this.searchInput.enterKeyHint}set enterKeyHint(v){this.searchInput.enterKeyHint=v}onPropertyChanged(name){var _a;super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break;case"focused":this.updatePopup();break;case"suggestions":(_a=this.suggestionsWatcher)===null||_a===void 0?void 0:_a.dispose();this.suggestionsWatcher=undefined;const suggestions=this.suggestions;if(suggestions){this.suggestionsWatcher=this.registerDisposable(suggestions.watch((()=>{this.updatePopup()})))}this.updatePopup();break}}preCreate(){super.preCreate();this.preventDuplicates=true;this.softDeleteProperty=null;this.prompt="Search";this.element.setAttribute("data-atom-chips","atom-chips");this.element.setAttribute("data-mode","search");this.suggestionFilter=MatchTrue;this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{class:"presenter"}),XNode.create("input",{class:"search",placeholder:Bind.oneWay((()=>this.prompt)),value:Bind.twoWaysImmediate((()=>this.search)),autofocus:Bind.oneWay((()=>this.autofocus)),type:"search"}),XNode.create("div",{class:"footer"})));this.itemsPresenter=this.element.children[0];this.searchInput=this.element.children[1];this.footerPresenter=this.element.children[2];this.bindEvent(this.element,"removeChip",(e=>e.defaultPrevented||this.removeItem(e.detail)));this.bindEvent(this.element,"undoRemoveChip",(e=>e.defaultPrevented||this.undoRemoveItem(e.detail)));this.bindEvent(this.searchInput,"blur",(()=>{const search=this.search;setTimeout((()=>{if(this.onBlurItemToChip&&search){const item=this.onBlurItemToChip(search);if(item){this.items.add(item);this.searchInput.value="";this.search=""}}}),50)}))}setFocus(hasFocus){if(hasFocus){if(this.focusTimeout){clearTimeout(this.focusTimeout);this.focusTimeout=void 0}this.focused=true;return}this.focusTimeout=setTimeout((()=>{this.focusTimeout=void 0;this.focused=false}),1500)}updatePopup(){return __awaiter(this,void 0,void 0,(function*(){var _a,_b,_c;const suggestions=this.suggestions;if(!this.focused){(_a=this.popupCancelToken)===null||_a===void 0?void 0:_a.cancel();this.popupCancelToken=null;return}const detail=this.suggestions;const ce=new CustomEvent("suggestions-requested",{detail});this.element.dispatchEvent(ce);if(ce.defaultPrevented){return}const{promise}=ce;if(promise){yield promise}if(ce.detail!==this.suggestions){this.suggestions=ce.detail}if(!(suggestions===null||suggestions===void 0?void 0:suggestions.length)){(_b=this.popupCancelToken)===null||_b===void 0?void 0:_b.cancel();this.popupCancelToken=null;return}if(this.popupCancelToken){return}const cancelToken=this.popupCancelToken=new CancelToken;try{let selectedItem=yield askSuggestionPopup(this.element,this,(_c=this.suggestionRenderer)!==null&&_c!==void 0?_c:this.itemRenderer,this.suggestionFilter,cancelToken);const itemToChip=this.itemToChip;if(itemToChip){selectedItem=itemToChip(selectedItem,this.search)}this.addItem(selectedItem);this.search="";this.popupCancelToken=null}catch(e){this.popupCancelToken=null;if(CancelToken.isCancelled(e)){return}console.warn(e)}}))}addItem(selectedItem){var _a;const ce=new CustomEvent("suggestionChosen",{detail:selectedItem,cancelable:true,bubbles:true});this.element.dispatchEvent(ce);if(!ce.defaultPrevented){const item=ce.detail;const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:x=>x;const v=vp(item);for(const iterator of this.items){if(v===vp(iterator)){return}}this.items.add(ce.detail)}}undoRemoveItem(item){let{softDeleteProperty}=this;softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=false;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}removeItem(item){let{softDeleteProperty}=this;if(softDeleteProperty){softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=true;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}else{this.items.remove(item)}}onKey(e){var _a,_b;const suggested=this.suggestions;const onKeyPressedItemToChip=this.onKeyPressedItemToChip;if(onKeyPressedItemToChip&&this.search){const item=onKeyPressedItemToChip(e.key,this.search);if(item){this.addItem(item);this.searchInput.value="";return}}switch(e.key){case"Enter":(_a=e.preventDefault)===null||_a===void 0?void 0:_a.call(e);(_b=e.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(e);setTimeout((()=>{let anchorItem=this.anchorItem;const itemToChip=this.itemToChip;if(itemToChip){anchorItem=itemToChip(anchorItem,this.search)}if(!anchorItem){return}this.addItem(anchorItem);this.anchorIndex=0;this.anchorItem=null;this.search=""}),1);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",Array)],AtomChips.prototype,"suggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomChips.prototype,"autofocus",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"softDeleteProperty",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomChips.prototype,"focused",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onKeyPressedItemToChip",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onBlurItemToChip",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../common/Sql","../../model/model","../../common/cache/CacheTTL","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Sql,EmailAddress,CacheTTL,DISingleton,cacheVersion,cacheSeconds,hideActivityIndicator,EmailAddressService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){EmailAddress=_modelModel.EmailAddress},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheVersion="1";cacheSeconds=CacheTTL.seconds.oneDay;hideActivityIndicator=true;EmailAddressService=class EmailAddressService{getName(ea){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.entityService.query(EmailAddress).where({ea},(p=>x=>x.emailAddress===p.ea)).firstOrDefault({cacheSeconds,cacheVersion,hideActivityIndicator});return f===null||f===void 0?void 0:f.name}))}search(search,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!search){return[]}let q=this.entityService.query(EmailAddress);if(!/\%$/.test(search)){search=`${search}%`.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress,p.search)||Sql.text.iLike(x.name,p.search)))}const list=yield q.orderByDescending((x=>x.emailAddressID)).toPagedList({start:0,size:10,count:false,cacheSeconds,cacheVersion,cancelToken,hideActivityIndicator});return list.items}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailAddressService.prototype,"entityService",void 0);EmailAddressService=__decorate([DISingleton()],EmailAddressService);_export("default",EmailAddressService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomChips","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/email-addresses/EmailAddressService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomChips,Chip,Suggestion,EmailRecipient,XNode,Bind,InjectProperty,EmailAddressService,EmailRecipientChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEmailAddressesEmailAddressService){EmailAddressService=_servicesEmailAddressesEmailAddressService.default}],execute:function(){_export("default",EmailRecipientChips=class EmailRecipientChips extends AtomChips{preCreate(){super.preCreate();this.search="";this.suggestions=[];this.itemToChip=(item,text)=>{if(typeof item==="string"){return this.createRecipient(item)}const{name,emailAddress,emailAddressID}=item;return EmailRecipient.create({emailAddressID,name,emailAddressText:emailAddress})};this.itemRenderer=item=>XNode.create(Chip,{title:item.name?item.emailAddressText:void 0,label:item.name||item.emailAddressText});this.suggestionRenderer=item=>XNode.create(Suggestion,{header:item.name&&item.name!==item.emailAddress?item.name:void 0,label:item.emailAddress});this.onKeyPressedItemToChip=(key,search)=>{if(key==="Enter"||key==="Comma"){return this.createRecipient(search)}};this.onBlurItemToChip=search=>this.createRecipient(search);this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,ct)=>this.addressService.search(this.search,ct)))}))}createRecipient(search){search=search===null||search===void 0?void 0:search.trim();if(!search){return}if(!/\@/.test(search)){return}const er=EmailRecipient.create({emailAddressText:search});if(!er.name&&er.emailAddressText){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const n=yield this.addressService.getName(er.emailAddressText);if(n){er.name=n;this.refreshItem(er)}}))))}return er}});__decorate([InjectProperty,__metadata("design:type",EmailAddressService)],EmailRecipientChips.prototype,"addressService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/Emoji");System.register([],(function(_export,_context){"use strict";var Emoji;function emojiUnicode(input){return emojiUnicode.raw(input).split(" ").map((val=>parseInt(val,10).toString(16))).join(" ")}return{setters:[],execute:function(){emojiUnicode.raw=function(input){if(input.length===1){return input.charCodeAt(0).toString()}else if(input.length>1){const pairs=[];for(let i=0;i<input.length;i++){if(input.charCodeAt(i)>=55296&&input.charCodeAt(i)<=56319){if(input.charCodeAt(i+1)>=56320&&input.charCodeAt(i+1)<=57343){pairs.push((input.charCodeAt(i)-55296)*1024+(input.charCodeAt(i+1)-56320)+65536)}}else if(input.charCodeAt(i)<55296||input.charCodeAt(i)>57343){pairs.push(input.charCodeAt(i))}}return pairs.join(" ")}return""};_export("Emoji",Emoji={emojiUnicode:emoji=>{let comp;if(emoji.length===1){comp=emoji.charCodeAt(0)}comp=(emoji.charCodeAt(0)-55296)*1024+(emoji.charCodeAt(1)-56320)+65536;if(comp<0){comp=emoji.charCodeAt(0)}return comp.toString(16).padStart(4,"0")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate");System.register(["@web-atoms/core/dist/core/XNode","../../../../services/Emoji"],(function(_export,_context){"use strict";var XNode,Emoji,SocialTemplate,unsubscribe,svgImage,EmojiButton,AvatarButton;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_servicesEmoji){Emoji=_servicesEmoji.Emoji}],execute:function(){unsubscribe="⛔";svgImage=(emoji,height=16)=>{const pad=height+5;const svg=`<svg viewBox="0 0 ${pad+5} ${pad}" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="${height-2}" style="font-size:${height}px">${emoji}</text>\n </svg>`;return`data:image/svg+xml;charset=utf-8,`+svg};EmojiButton=({emoji,command="track",title})=>{const emojiCode="u"+Emoji.emojiUnicode(emoji);const selector=`social-button-${emojiCode}`;return XNode.create("a",{class:selector,style:"text-decoration: none;outline: none;border:none; margin-right: 5px","data-social-mail-command":command,title,"data-social-mail-transform":"buttons-3x","data-social-mail-transform-max-image":"30px","data-social-mail-track":emoji},XNode.create("button",{style:"margin: 1px;padding:2px;padding-left: 5px;padding-right: 5px; border: solid 1px lightgray; border-radius: 9999px; display: inline-flex; align-items: center;"},emoji," ",XNode.create("span",{"data-social-mail-element":"count"})))};AvatarButton=({senderEmail,senderName})=>{const names=senderName.split(/\s+/,2);const first=names[0];const last=names.pop();const initials=first===last?first:first+last;XNode.create("a",{"data-element":"avatar","data-editor-action":"change-avatar",style:"padding-left:5px;padding-right:5px; text-decoration: none;","data-command":"subscribe"},XNode.create("img",{alt:senderName,style:"margin-left:5px;height: 30px",src:svgImage(initials,30)}))};_export("default",SocialTemplate=class SocialTemplate{static simple({senderEmail,senderName}){senderEmail||(senderEmail="[{senderEmail}]");senderName||(senderName="[{senderName}]");return XNode.create("div",{contentEditable:false},XNode.create("table",{"data-element":"header"},XNode.create("tr",null,XNode.create("td",{"data-element":"title"},XNode.create("label",{text:senderName,contentEditable:true})))),XNode.create("div",{contentEditable:true,style:"padding-left:10px; padding-right: 10px;"},XNode.create("p",null,"Hello,")),XNode.create("div",{"data-element":"footer"},XNode.create("table",{style:"width:100%"},XNode.create("td",null,XNode.create(EmojiButton,{emoji:"👍",title:"Like this ... "}),XNode.create(EmojiButton,{emoji:"👎",title:"Don't like this ... "}),XNode.create(EmojiButton,{emoji:"🗨️",title:"Comment ... "})),XNode.create("td",{style:"text-align: right"},XNode.create(EmojiButton,{emoji:"👁️🗨️",command:"view",title:"Views"})))),XNode.create("div",null,XNode.create("br",null),XNode.create("br",null),XNode.create("a",{"data-command":"unsubscribe"},"Unsubscribe")))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/view-model/Action","./service/MailService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/TitleEditor","../../../common/controls/email-recipients/EmailRecipientChips","@web-atoms/email-dom/dist/DomToString","../templates/social/SocialTemplate","./styles/compose-mail-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InlineHtmlEditorWithToolbar,XNode,Bind,Form,FormField,HorizontalFormField,AppFile,Email,EmailRecipient,Action,MailService,InjectProperty,DateTime,AtomRepeater,TitleEditor,EmailRecipientChips,DomToString,SocialTemplate,ComposeMailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default;HorizontalFormField=_webAtomsWebControlsDistBasicFormField.HorizontalFormField},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_templatesSocialSocialTemplate){SocialTemplate=_templatesSocialSocialTemplate.default},function(_stylesComposeMailPageLocalLess){}],execute:function(){_export("default",ComposeMailPage=class ComposeMailPage extends PopupWindowPage{init(){var _a,_b,_c,_d;var _e;return __awaiter(this,void 0,void 0,(function*(){if(this.parameters.subject){this.title="Reply: "+this.parameters.subject}else{this.title="Compose New"}this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:Email.create({subject:(_b=this.parameters.subject)!==null&&_b!==void 0?_b:"",textBody:"",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,recipients:[],attachments:[]});(_c=(_e=this.model).attachments)!==null&&_c!==void 0?_c:_e.attachments=[];if(this.parameters.social){const senderName=this.parameters.mailbox.emailAddress.name;const senderEmail=this.parameters.mailbox.emailAddress.emailAddress;this.model.htmlBody=DomToString(SocialTemplate.simple({senderEmail,senderName}))}if(this.parameters.emailAddress){this.model.recipients.add(EmailRecipient.create({emailAddressText:this.parameters.emailAddress,emailAddressID:(_d=this.parameters.emailAddressID)!==null&&_d!==void 0?_d:void 0}))}this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(HorizontalFormField,{label:"To:"},XNode.create(EmailRecipientChips,{items:this.model.recipients})),XNode.create(FormField,{label:""},XNode.create(TitleEditor,{placeholder:"Subject",capitalize:"words",value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{autofocus:true,"data-html-editor":"email-editor",presenter:Bind.presenter((c=>this.editor=c)),content:this.model.htmlBody,attachments:this.model.attachments,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:item.name}))}),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create("button",{"data-click-event":"send-email",text:"Send"}),XNode.create("button",{"data-click-event":"save-email",text:"Save"}))))}))}filesAvailable({files,extra}){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){(_a=(_b=this.model).attachments)!==null&&_a!==void 0?_a:_b.attachments=[];for(const iterator of files){this.model.attachments.add(AppFile.create({appFileID:iterator.appFileID,name:iterator.file.name,contentType:iterator.file.type,contentDisposition:iterator.inline?"inline":"attachment",contentID:iterator.inline?iterator.appFileID.toString(36):void 0}))}}))}sendEmail(){return __awaiter(this,void 0,void 0,(function*(){if(!this.model.recipients.length){throw new Error("No recipients specified")}if(!this.model.subject){throw new Error("No subject specified")}const{html,text}=this.editor.htmlTextContent;this.model.htmlBody=html;this.model.textBody=text;if(!this.model.textBody){throw new Error("Email is empty")}this.model.senderID=this.parameters.mailboxID;this.model.status="scheduled";this.model.dateSent=DateTime.now;yield this.mailService.send(this.model)}))}saveEmail(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailService.send(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],ComposeMailPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"filesAvailable",null);__decorate([Action({onEvent:"send-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"sendEmail",null);__decorate([Action({onEvent:"save-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"saveEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/socket/sockets");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/types","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,AtomDisposableList,UMD,DISingleton,SocketNamespace,io,cache,of,MailboxSocket;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cache=new Map;of=name=>__awaiter(void 0,void 0,void 0,(function*(){io!==null&&io!==void 0?io:io=(yield UMD.import("https://cdn.jsdelivr.net/npm/socket.io-client@4.6.0/dist/socket.io.min.js")).io;const value=io(name,{transports:["websocket"]});yield new Promise(((resolve,reject)=>{value.on("connect",resolve)}));return value}));SocketNamespace=class SocketNamespace{static for(ns){let sn=cache.get(ns);if(!sn){sn=new SocketNamespace(ns);cache.set(ns,sn)}return sn}constructor(ns){this.ns=ns;this.rooms=new Map}connect(roomName,events){var _a;return __awaiter(this,void 0,void 0,(function*(){(_a=this.socket)!==null&&_a!==void 0?_a:this.socket=yield this.init();let room=this.rooms.get(roomName);if(!room){room=new Set;this.rooms.set(roomName,room);this.socket.emit("join",roomName)}const disposables=new AtomDisposableList;for(const key in events){if(Object.prototype.hasOwnProperty.call(events,key)){const element=events[key];const handler=(...a)=>{var _a;return(_a=element(...a))===null||_a===void 0?void 0:_a.catch(console.error)};room.add(handler);this.socket.on(key,handler);disposables.add((()=>{this.socket.off(key,handler);room.delete(handler)}))}}disposables.add((()=>this.clear(roomName)));return disposables}))}clear(roomName){const room=this.rooms.get(roomName);if(room.size===0){this.rooms.delete(roomName);this.socket.emit("leave",roomName)}}init(){const init=()=>__awaiter(this,void 0,void 0,(function*(){const ns=yield of("/"+this.ns);return ns}));const value=init();Object.defineProperty(this,"init",{value:()=>value});return value}};_export("MailboxSocket",MailboxSocket=class MailboxSocket{join(room,events){return __awaiter(this,void 0,void 0,(function*(){const disposables=new AtomDisposableList;const ns=SocketNamespace.for("mailbox");ns.connect(room,events).then((v=>disposables.add(v)),console.error);return disposables}))}});_export("MailboxSocket",MailboxSocket=__decorate([DISingleton()],MailboxSocket))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");System.register(["tslib","@web-atoms/core/dist/core/XNode","../styles/limited-text.global.less"],(function(_export,_context){"use strict";var __rest,XNode,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesLimitedTextGlobalLess){}],execute:function(){toggleDetails=e=>{let start=e.target;if(e.defaultPrevented){return}start=start.parentElement;const container=start;start=start===null||start===void 0?void 0:start.parentElement;if(!start||start.getAttribute("data-limited-text")!=="limited-text"){return}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();if(start.getAttribute("data-mode")==="collapsed"){start.setAttribute("data-mode","open");start.style.maxHeight="";container.style.top=""}else{const h=start.getAttribute("data-max-height");start.style.maxHeight=h;container.style.top=h;start.setAttribute("data-mode","collapsed")}};setEventHandler=()=>{document.body.addEventListener("click",toggleDetails);setEventHandler=null}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","../../../../services/EntityService","@web-atoms/core/dist/di/Inject","../../../../model/model"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,EntityService,Inject,EmailLog,AppLogService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_modelModel){EmailLog=_modelModel.EmailLog}],execute:function(){AppLogService=class AppLogService{logs({emailID,start,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(EmailLog);if(emailID){q=q.where({emailID},(p=>x=>x.emailID===p.emailID))}return q.orderBy((x=>x.logID)).toPagedList({start,size,cancelToken})}))}};__decorate([Inject,__metadata("design:type",EntityService)],AppLogService.prototype,"entityService",void 0);AppLogService=__decorate([DITransient()],AppLogService);_export("default",AppLogService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/logs/LogsPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","./services/AppLogService","@web-atoms/core/dist/core/InjectProperty","../../controls/repeater/InfiniteRepeater","../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,PopupWindowPage,AppLogService,InjectProperty,InfiniteRepeater,DateFormats,LogsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_servicesAppLogService){AppLogService=_servicesAppLogService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",LogsPage=class LogsPage extends PopupWindowPage{constructor(){super(...arguments);this.logs=[]}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title="Logs";const emailID=(_a=this.parameters.emailID)!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.logs,for:"table"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.logService.logs({emailID,start,cancelToken}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.fileName,"data-flex":"stretch-full"}),XNode.create("td",{title:DateFormats.withWeekDayAndTime(item.dateCreated),text:DateFormats.relative.short(item.dateCreated)}),XNode.create("td",null,XNode.create("a",{href:item.url,target:"_blank"},"View")))})))}))}});__decorate([InjectProperty,__metadata("design:type",AppLogService)],LogsPage.prototype,"logService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","../../../../common/date/DateFormats","@web-atoms/core/dist/core/InjectProperty","../service/MailService","./mail-detail-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailRecipient,XNode,DateFormats,InjectProperty,MailService,MailDetailPage,displayRecipient,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_mailDetailPageLocalLess){}],execute:function(){displayRecipient=({name,emailAddress:{emailAddress}})=>{if(name){return XNode.create("span",null,name," ",XNode.create("a",{href:`mailto:${emailAddress}`},"<",emailAddress,">"))}return XNode.create("a",{href:`mailto:${emailAddress}`},emailAddress)};css="mail-detail-page";_export("default",MailDetailPage=class MailDetailPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const model=this.parameters.email;this.renderer=XNode.create("div",null,XNode.create("div",null,"Fetching... this might take longer based on size of the email..."));this.title=model.subject;const text=yield this.mailService.raw(this.parameters);let from;const to=[];const cc=[];const bcc=[];(_a=model.recipients)!==null&&_a!==void 0?_a:model.recipients=[];for(const iterator of model.recipients){switch(iterator.type.toLocaleLowerCase()){case"to":if(to.length){to.push(XNode.create("span",{text:", "}))}to.push(displayRecipient(iterator));break;case"cc":if(cc.length){cc.push(XNode.create("span",{text:", "}))}cc.push(displayRecipient(iterator));break;case"bcc":if(bcc.length){bcc.push(XNode.create("span",{text:", "}))}bcc.push(displayRecipient(iterator));break;case"from":from=displayRecipient(iterator);break}}if(!from){from=displayRecipient(EmailRecipient.create({name:model.senderEmail.name,emailAddress:model.senderEmail}))}this.headerRenderer=()=>{var _a;return XNode.create("div",{"data-padding":"auto"},XNode.create("table",null,from&&XNode.create("tr",null,XNode.create("td",null,"From:"),XNode.create("td",null,from)),to.length&&XNode.create("tr",null,XNode.create("td",null,"To:"),XNode.create("td",null,...to)),cc.length&&XNode.create("tr",null,XNode.create("td",null,"Cc:"),XNode.create("td",null,...cc)),bcc.length&&XNode.create("tr",null,XNode.create("td",null,"Bcc:"),XNode.create("td",null,...bcc)),XNode.create("tr",null,XNode.create("td",null,"Subject:"),XNode.create("td",null,model.subject)),XNode.create("tr",null,XNode.create("td",null,"Date:"),XNode.create("td",null,DateFormats.withWeekDayAndTime((_a=model.dateReceived)!==null&&_a!==void 0?_a:model.dateCreated)))))};this.renderer=XNode.create("div",{class:css,"data-padding":"auto"},XNode.create("pre",null,...text.split("\n").map((x=>[x,XNode.create("br",null)])).flat()))}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailDetailPage.prototype,"mailService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview");System.register(["@web-atoms/core/dist/core/XNode","../../NumberFormats","../../../web/commands/AppCommands","@social-mail/social-mail-client/content/images/icons/audio.svg","../../FileUrlService","./FilePreview.global.less"],(function(_export,_context){"use strict";var XNode,toFileSize,AppCommands,audioIcon,FileUrlService;function FilePreview(a){const size=a.fileSize&&toFileSize(a.fileSize);const{emailID,appFileID,name,fileContentID,url:rawUrl}=a;const url=encodeURIComponent(rawUrl);let src=FileUrlService.webP(a,300);if(/^audio\//i.test(a.contentType)){src=audioIcon}const command=AppCommands.getPreviewCommand(a);if(command){return XNode.create("a",{href:command.displayRoute({emailID,appFileID,name,fileContentID,url}),"data-click-event":"route",title:size?`${name} (${size})`:name,"data-file-preview":"file-preview"},XNode.create("img",{"data-element":"preview",src}),XNode.create("label",{"data-element":"file-name"},name))}return XNode.create("a",{href:FileUrlService.downloadUrl(a),title:size?`${name} (${size})`:name,target:"_blank","data-file-preview":"file-preview"},XNode.create("i",{"data-element":"preview",class:"fas fa-paperclip"}),XNode.create("label",{"data-element":"file-name"},name))}_export("default",FilePreview);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_socialMailSocialMailClientContentImagesIconsAudioSvg){audioIcon=_socialMailSocialMailClientContentImagesIconsAudioSvg.default},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_FilePreviewGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/animations/Animations");System.register(["@web-atoms/core/dist/web/controls/AtomControl","./Animations.global.less"],(function(_export,_context){"use strict";var AtomControl,Animations;return{setters:[function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_AnimationsGlobalLess){}],execute:function(){Animations=class Animations{};Animations.slideFromBottom=AtomControl.registerProperty("animate","bottom-slide",((ctrl,e,v)=>{e.dataset.animateSlide="from-bottom";if(v){e.dataset.animationState="down";setTimeout((()=>{e.dataset.animationState="normal"}),10);return}if(e.dataset.animationState==="normal"){e.dataset.animationState="down"}setTimeout((()=>{e.removeAttribute("data-animation-state")}),600)}));Animations.slideFromTop=AtomControl.registerProperty("animate","top-slide",((ctrl,e,v)=>{e.dataset.animateSlide="from-top";if(v){e.dataset.animationState="up";setTimeout((()=>{e.dataset.animationState="normal"}),10);return}if(e.dataset.animationState==="normal"){e.dataset.animationState="up"}setTimeout((()=>{e.removeAttribute("data-animation-state")}),600)}));_export("default",Animations)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/BottomPopup");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/web/services/PopupService","../animations/Animations","./MobileApp","./bottom-popup.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,CancelToken,XNode,AtomControl,ChildEnumerator,PopupService,MobileApp,BottomPopup;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_animationsAnimations){_export({})},function(_MobileApp){MobileApp=_MobileApp.default},function(_bottomPopupGlobalLess){}],execute:function(){_export("default",BottomPopup=class BottomPopup extends AtomControl{static showModal(options){return this.show(options)}static show(){return __awaiter(this,arguments,void 0,(function*({parameters,cancelToken}={}){var _a;const last=PopupService.lastTarget;const current=MobileApp.current;const popup=new this(current.app);popup.parameters=parameters;popup.bindEvent(window,"backButton",(ce=>{ce.preventDefault();return popup.cancelRequested()}),void 0,true);popup.bindEvent(popup.element,"cancelPopup",(()=>popup.cancelRequested()));if(popup.modal){const container=document.createElement("div");container.setAttribute("data-bottom-popup-container","1");popup.bindEvent(container,"click",(e=>{if(e.target===e.currentTarget){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();popup.element.dispatchEvent(new CustomEvent("cancelPopup"))}}));popup.registerDisposable({dispose:()=>{container.remove()}});container.append(popup.element);current.element.append(container)}else{current.element.append(popup.element)}if(cancelToken){cancelToken.registerForCancel(popup.cancel)}const result=new Promise(((resolve,reject)=>{let disposed=false;popup.close=r=>{if(disposed){return}disposed=true;popup.dispose();resolve(r);PopupService.lastTarget=last};popup.cancel=(reason="cancelled")=>{if(disposed){return}disposed=true;popup.dispose();reject(reason);PopupService.lastTarget=last}}));const pr=(_a=popup.init)===null||_a===void 0?void 0:_a.call(popup);if(pr){try{yield pr}catch(e){popup.cancel(e)}}return yield result}))}dispose(e){if(e){super.dispose(e);return}const element=this.element;this.element.setAttribute("data-animation-state","down");setTimeout((()=>{super.dispose(e);element.remove()}),500)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}preCreate(){this.modal=true;const element=this.element;element.dataset.bottomPopup="bottom-popup";this.animate=true;super.preCreate();this.barRenderer=()=>XNode.create("div",null);this.popupCancelToken=new CancelToken;this.registerDisposable({dispose:()=>{this.popupCancelToken.cancel()}});this.bindEvent(this.element,"closeClick",(()=>this.cancelRequested()))}render(node,e,creator){var _a,_b;this.render=super.render;const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-element"]="content";(_b=na["data-click-event"])!==null&&_b!==void 0?_b:na["data-click-event"]="popupClick";this.render(XNode.create("div",null,node));this.updateElement("title");this.updateElement("bar");this.updateElement("icon");this.updateElement("close");this.updateElement("footer");if(!this.animate){return}this.element.setAttribute("data-animate-slide",this.animate?"from-bottom":"normal");this.element.setAttribute("data-animation-state","down");this.animate=false;setTimeout((()=>{this.element.setAttribute("data-animation-state","normal")}),10)}cancelRequested(){return this.cancel()}updateElement(name,property=name+"Renderer"){var _a,_b;const r=this[property];const child=ChildEnumerator.find(this.element,(e=>e.dataset.element===name));if(child){this.dispose(child);child.remove()}const node=r===null||r===void 0?void 0:r();if(!node){return}const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-element"]=name;(_b=na["data-click-event"])!==null&&_b!==void 0?_b:na["data-click-event"]=name+"-click";this.render(XNode.create("div",null,node))}});__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"closeRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BottomPopup.prototype,"barRenderer",void 0);delete BottomPopup.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService");System.register(["tslib","@web-atoms/date-time/dist/TimeSpan"],(function(_export,_context){"use strict";var __awaiter,TimeSpan,WebRecordingSession,WebRTCService;_export({WebRecordingSession:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default}],execute:function(){_export("WebRecordingSession",WebRecordingSession=class WebRecordingSession{constructor(stream){this.duration=TimeSpan.fromSeconds(0);this.recorder=new MediaRecorder(stream)}start(segments){const buffer=[];return new Promise(((resolve,reject)=>{this.recorder.ondataavailable=be=>{buffer.push(be.data)};const start=Date.now();const id=setInterval((()=>{const seconds=Math.ceil((Date.now()-start)/1e3);this.duration=TimeSpan.fromSeconds(seconds)}),1e3);this.recorder.onerror=me=>{clearInterval(id);reject(me.error)};this.recorder.onstop=()=>{clearInterval(id);resolve(new Blob(buffer,{type:this.recorder.mimeType}))};this.recorder.start(segments)}))}stop(){this.recorder.stop()}});_export("default",WebRTCService=class WebRTCService{static startAudioSession(){return __awaiter(this,void 0,void 0,(function*(){return new WebRecordingSession(yield navigator.mediaDevices.getUserMedia({audio:true}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/buttons/round/RoundButton");System.register(["tslib","@web-atoms/core/dist/core/XNode","./RoundButton.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function RoundButton(_a,...nodes){var{icon}=_a,a=__rest(_a,["icon"]);if(icon){return XNode.create("button",Object.assign({"data-color":"white","data-round-button":"round-button"},a),XNode.create("i",{class:`${icon} white`}),...nodes)}return XNode.create("button",Object.assign({"data-color":"white","data-round-button":"round-button"},a),...nodes)}_export("default",RoundButton);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_RoundButtonGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/mobile-app/BottomPopup","./WebRTCService","../buttons/round/RoundButton","../../../services/files/LocalFileService","./AudioRecorder.global.less"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,DateTime,BottomPopup,WebRTCService,RoundButton,LocalFileService,AudioRecorder;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistMobileAppBottomPopup){BottomPopup=_webAtomsWebControlsDistMobileAppBottomPopup.default},function(_WebRTCService){WebRTCService=_WebRTCService.default},function(_buttonsRoundRoundButton){RoundButton=_buttonsRoundRoundButton.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_AudioRecorderGlobalLess){}],execute:function(){_export("default",AudioRecorder=class AudioRecorder extends BottomPopup{create(){this.element.setAttribute("data-component","audio-recorder");this.renderer=XNode.create("div",null,XNode.create("div",{text:"Tap mic when ready"}),XNode.create(RoundButton,{icon:"fa-solid fa-microphone-lines fa-xl","event-click":()=>this.startRecording()}))}startRecording(){return __awaiter(this,void 0,void 0,(function*(){this.element.dataset.clickEvent="none";if(location.protocol!=="https:"){this.cancel(new Error("Recording only supported in Secure URLs"));return}this.recorder=yield WebRTCService.startAudioSession();this.renderer=XNode.create("div",null,XNode.create("div",{"data-background-color":"white","data-border-radius":"full","data-layout":"vertical-flex-center-items"},XNode.create("div",{text:Bind.oneWay((()=>this.recorder.duration.toString()))}),XNode.create(RoundButton,{icon:"fa-solid fa-stop fa-xl","event-click":()=>this.recorder.stop()})));const blob=yield this.recorder.start();this.element.dataset.clickEvent="none";const url=URL.createObjectURL(blob);this.registerDisposable({dispose:()=>{URL.revokeObjectURL(url)}});this.renderer=XNode.create("div",null,XNode.create("audio",{src:url,controls:true}),XNode.create("div",{"data-layout":"row"},XNode.create(RoundButton,{icon:"button fa-solid fa-inbox-out fa-2xl","event-click":()=>this.uploadAudio(blob)}),XNode.create(RoundButton,{icon:"button fa-solid fa-circle-xmark fa-2xl","event-click":()=>this.cancel()})))}))}uploadAudio(blob){return __awaiter(this,void 0,void 0,(function*(){const uploadService=this.app.resolve(LocalFileService);const dt=DateTime.now;const fileName=`${dt.year}-${dt.month+1}-${dt.day}.mp4`;this.renderer=XNode.create("div",null,XNode.create("div",null,"Uploading... ",XNode.create("i",{class:"fa-solid fa-spinner fa-spin"})," "));const file=yield uploadService.uploadFile(new File([blob],fileName,{type:blob.type}),{});this.close(file)}))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AttachFile");System.register(["@web-atoms/core/dist/core/XNode","../../basic/UploadEvent"],(function(_export,_context){"use strict";var XNode,UploadEvent;function AttachFile({accept="image/*",maxSize=1024*1024*5,authorize=true,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,multiple:false,ariaLabel})),XNode.create("i",{class:"ri-attachment-2"}))}_export("default",AttachFile);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_basicUploadEvent){UploadEvent=_basicUploadEvent.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor");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/XNode","@web-atoms/core/dist/web/controls/AtomControl","../basic/AtomRepeater","./commands/AddImage","./commands/AddLink","./commands/Align","./commands/AttachFile","./commands/Bold","./commands/ChangeColor","./commands/ChangeFont","./commands/ChangeFontSize","./commands/Headings","./commands/HorizontalRule","./commands/IndentLess","./commands/IndentMore","./commands/Italic","./commands/NumberedList","./commands/RemoveFormat","./commands/Separator","./commands/Source","./commands/StrikeThrough","./commands/Underline","./commands/Unlink","./commands/UnorderedList","./commands/Toolbar","../styles/atom-html-editor.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,Bind,BindableProperty,XNode,AtomControl,AtomRepeater,AddImage,showImageDialog,AddLink,Align,AttachFile,Bold,ChangeColor,ChangeFont,ChangeFontSize,Headings,HorizontalRule,IndentLess,IndentMore,Italic,NumberedList,RemoveFormat,Separator,Source,StrikeThrough,Underline,Unlink,UnorderedList,Toolbar,AtomHtmlEditor,link;function preventLinkClick(e,editor,doc){let target=e.target;const body=doc.body;while(target){if(target.getAttribute("data-prompt")){break}if(target===body){break}if(target.isContentEditable){editor.dispatchEvent(new MouseEvent("click",{bubbles:true,cancelable:true}));return}if(target.tagName==="A"){e.preventDefault()}target=target.parentElement}target=e.target;const originalTarget=target;const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});editor.dispatchEvent(new CustomEvent("editorClick",{detail:{target,data},bubbles:true,cancelable:true}));editor.dispatchEvent(new MouseEvent("click",{bubbles:true,cancelable:true}))}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default},function(_commandsAddImage){AddImage=_commandsAddImage.default;showImageDialog=_commandsAddImage.showImageDialog},function(_commandsAddLink){AddLink=_commandsAddLink.default},function(_commandsAlign){Align=_commandsAlign.default},function(_commandsAttachFile){AttachFile=_commandsAttachFile.default},function(_commandsBold){Bold=_commandsBold.default},function(_commandsChangeColor){ChangeColor=_commandsChangeColor.default},function(_commandsChangeFont){ChangeFont=_commandsChangeFont.default},function(_commandsChangeFontSize){ChangeFontSize=_commandsChangeFontSize.default},function(_commandsHeadings){Headings=_commandsHeadings.default},function(_commandsHorizontalRule){HorizontalRule=_commandsHorizontalRule.default},function(_commandsIndentLess){IndentLess=_commandsIndentLess.default},function(_commandsIndentMore){IndentMore=_commandsIndentMore.default},function(_commandsItalic){Italic=_commandsItalic.default},function(_commandsNumberedList){NumberedList=_commandsNumberedList.default},function(_commandsRemoveFormat){RemoveFormat=_commandsRemoveFormat.default},function(_commandsSeparator){Separator=_commandsSeparator.default},function(_commandsSource){Source=_commandsSource.default},function(_commandsStrikeThrough){StrikeThrough=_commandsStrikeThrough.default},function(_commandsUnderline){Underline=_commandsUnderline.default},function(_commandsUnlink){Unlink=_commandsUnlink.default},function(_commandsUnorderedList){UnorderedList=_commandsUnorderedList.default},function(_commandsToolbar){Toolbar=_commandsToolbar.default;_export("Toolbar",_commandsToolbar.default)},function(_stylesAtomHtmlEditorGlobalLess){}],execute:function(){link=document.createElement("link");link.href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css";link.rel="preload";link.as="style";link.onload=()=>{link.onload=null;link.rel="stylesheet"};document.head.appendChild(link);_export("default",AtomHtmlEditor=class AtomHtmlEditor extends AtomControl{get htmlContent(){var _a,_b;try{return(_b=(_a=this.editor)===null||_a===void 0?void 0:_a.innerHTML)!==null&&_b!==void 0?_b:this.initialContent}catch(ex){console.warn(ex)}}set htmlContent(v){if(this.editor){this.editor.innerHTML=v}else{this.initialContent=v}AtomBinder.refreshValue(this,"htmlContent")}insertImage(s,e){return showImageDialog(s,e)}executeCommand(cmd,showUI,value){const r=this.editorDocument.execCommand(cmd,showUI,value);setTimeout((()=>this.version++),1);return r}queryCommandState(cmd,...a){return this.editorDocument.queryCommandState(cmd)}getStyle(name,v){try{const node=this.editorWindow.getSelection().getRangeAt(0);const e=node.startContainer.parentElement;return this.editorWindow.getComputedStyle(e)[name]}catch(ex){return null}}onPropertyChanged(name){super.onPropertyChanged(name);if(name==="tags"){this.setupTags()}}setupTags(){const doc=this.editorDocument;if(!doc){return}if(Array.isArray(this.tags)){for(const{name,style}of this.tags){if(style){const styleElement=doc.createElement("style");styleElement.textContent=`*[data-command=${name}] {\n ${style.toStyleSheet()}\n }`;doc.head.appendChild(styleElement)}}}}preCreate(){this.version=1;this.files=[];this.runAfterInit((()=>{this.setup()}));this.element.classList.add("atom-control-html-editor");this.element.classList.add("html-editor")}onPasteEvent(e){if(!e.clipboardData.types.find((x=>x==="text/html"))){return}const d=e.clipboardData.getData("text/plain");if(d){const s=window.getSelection();const r=s.getRangeAt(0);let last;const tags=[];for(const iterator of d.split("\n")){const text=iterator.trim();if(!text){continue}last=document.createElement("p");last.innerText=iterator;tags.push(last)}while(tags.length){r.insertNode(tags.pop())}r.setStartAfter(last)}e.preventDefault()}onInputEvent(e){console.log(e)}setup(){var _a;const frame=this.element.getElementsByTagName("iframe")[0];const doc=frame.contentWindow.document;doc.open();const baseUrl=`${location.protocol}//${location.host}`;doc.writeln(`<base href="${baseUrl}"></base><div id="editor"><p> </p></div>`);doc.close();const style=doc.createElement("style");style.textContent=`body {\n font-family: arial,sans-serif\n }\n #editor {\n min-height: 500px;\n }\n *[data-prompt] {\n background: yellow\n }\n `;doc.head.appendChild(style);doc.body.addEventListener("click",(e=>preventLinkClick(e,this.element,doc)));this.editor=doc.getElementById("editor");this.editor.contentEditable="true";this.editor.innerHTML=(_a=this.initialContent)!==null&&_a!==void 0?_a:"";doc.execCommand("styleWithCSS");doc.execCommand("insertBrOnReturn");const updateVersion=()=>setTimeout((()=>{this.version++;AtomBinder.refreshValue(this,"htmlContent");this.element.dispatchEvent(new CustomEvent("documentUpdated",{detail:this.editor}));this.documentUpdated(this.editor)}),1);this.editor.addEventListener("click",updateVersion);this.editor.addEventListener("keydown",updateVersion);this.editor.addEventListener("keypress",updateVersion);this.editor.addEventListener("input",updateVersion);this.editorWindow=frame.contentWindow;this.editorDocument=doc;updateVersion();this.documentCreated(this.editor);this.element.dispatchEvent(new CustomEvent("documentCreated",{detail:this.editor}));this.registerDisposable({dispose:()=>{this.editor.removeEventListener("click",updateVersion);this.editor.removeEventListener("keydown",updateVersion);this.editor.removeEventListener("keypress",updateVersion);this.editor.removeEventListener("input",updateVersion)}});this.bindEvent(this.element,"editorClick",(ce=>{var _a,_b;const{detail:{data,target}}=ce;if(data.prompt){const element=target;const result=prompt("Enter "+((_a=data.promptTitle)!==null&&_a!==void 0?_a:data.prompt),data.promptDefault);if(result){const replace=((_b=data.replace)!==null&&_b!==void 0?_b:"textContent").split(",").map((x=>x.trim()));for(const iterator of replace){const template=element.getAttribute("data-"+iterator+"-template")||element.getAttribute("data-template");if(template){element[iterator]=template.replace(data.prompt,result)}else{element[iterator]=result}}}return}if(this.tags){for(const{name,handler}of this.tags){if(name===data.command||name===data.clickEvent){handler(ce)}}}}));this.setupTags()}documentCreated(e){}documentUpdated(e){}render(node,e,creator){this.render=super.render;if(!node.children||node.children.length===0){node.children[0]=XNode.create(Toolbar,null,XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,null),XNode.create(Separator,null),XNode.create(Headings,null),XNode.create(ChangeColor,null),XNode.create(HorizontalRule,null),XNode.create(Separator,null),XNode.create(ChangeFont,null),XNode.create(ChangeFontSize,null),XNode.create(Separator,null),XNode.create(NumberedList,null),XNode.create(UnorderedList,null),XNode.create(IndentLess,null),XNode.create(IndentMore,null),XNode.create(Separator,null),XNode.create(AddImage,null),XNode.create(AttachFile,null),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null),XNode.create(RemoveFormat,null),XNode.create(Separator,null),XNode.create(Source,null))}super.render(XNode.create("div",Object.assign({},node.attributes),...node.children,XNode.create(AtomRepeater,{class:"files","event-item-delete":ce=>this.files.remove(ce.detail),items:Bind.oneWay((()=>this.files)),itemRenderer:file=>XNode.create("div",{class:"file"},XNode.create("i",{class:"ri-attachment-2"}),XNode.create("label",{text:file.name}),XNode.create("i",{"data-click-event":"item-delete",class:"ri-close-circle-fill"}))}),XNode.create("iframe",{class:"editor-frame"})))}});__decorate([BindableProperty,__metadata("design:type",String)],AtomHtmlEditor.prototype,"content",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomHtmlEditor.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],AtomHtmlEditor.prototype,"version",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomHtmlEditor.prototype,"files",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomHtmlEditor.prototype,"tags",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeSnippetPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/Bind","../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","./MonacoService","@web-atoms/web-controls/dist/basic/Select"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,PopupWindowPage,isMobileView,Bind,SaveIconTextButton,Action,MonacoService,Select,CodeSnippetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_MonacoService){MonacoService=_MonacoService.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default}],execute:function(){_export("default",CodeSnippetPage=class CodeSnippetPage extends PopupWindowPage{constructor(){super(...arguments);this.languageId="html";this.code=""}init(){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){this.code=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.code)!==null&&_b!==void 0?_b:"";this.languageId=(_d=(_c=this.parameters)===null||_c===void 0?void 0:_c.languageId)!==null&&_d!==void 0?_d:"html";this.title="Insert Code Snippet";if(!isMobileView){this.element.style.minWidth="70vw";this.element.style.minHeight="60vh"}this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create("iframe",null));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-click-event":"save-file"}));const iframe=this.element.querySelector("iframe");this.monacoService=yield MonacoService.createEditor(this,iframe);this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(Select,{items:this.monacoService.getLanguages(),value:Bind.twoWaysImmediate((()=>this.languageId)),"event-input":()=>setTimeout((()=>this.createModel()))}));this.createModel()}))}save(){return __awaiter(this,void 0,void 0,(function*(){this.code=this.textModel.getValue();const colorizedText=yield this.monacoService.monaco.editor.colorize(this.code,this.textModel.getLanguageId(),{});const colorized=yield this.colorize(colorizedText);return colorized}))}codeChanged({code}){this.code=code}createModel(){var _a,_b,_c;const lang=(_a=this.monacoService.languages.find((x=>x.id===this.languageId)))!==null&&_a!==void 0?_a:this.monacoService.languages[0];this.textModel=this.monacoService.setCodeModel(this,this.code,`http://a/file${(_c=(_b=lang.extensions)===null||_b===void 0?void 0:_b[0])!==null&&_c!==void 0?_c:".txt"}`)}colorize(code){return __awaiter(this,void 0,void 0,(function*(){return code}))}});__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeSnippetPage.prototype,"save",null);__decorate([Action({onEvent:"code-changed"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CodeSnippetPage.prototype,"codeChanged",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../code-editor/CodeSnippetPage"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,PageNavigator,PopupButton,MenuItem,UploadEvent,CodeSnippetPage,maxSize,stream,maxStreamSize;function Insert({alignment="above"}){return XNode.create(PopupButton,{class:"command","data-layout":"toolbar-button",icon:"fas fa-plus",title:"Insert",alignment},XNode.create(MenuItem,{icon:"ri-list-unordered",label:"List","event-click":Bind.event((editor=>editor.executeCommand("insertUnorderedList")))}),XNode.create(MenuItem,{icon:"ri-list-ordered",label:"Numbered List","event-click":Bind.event((editor=>editor.executeCommand("insertOrderedList")))}),XNode.create(MenuItem,{icon:"ri-list-ordered",label:"Insert Code","event-click":Bind.event((editor=>__awaiter(this,void 0,void 0,(function*(){const code=yield PageNavigator.pushPageForResult(CodeSnippetPage);editor.executeCommand("insertHTML",void 0,`<pre style="margin: 5px; border: solid 1px lightgray; padding: 10px; border-radius: 10px;" contentEditable="true" spellcheck="false">${code}</pre><br/><p contentEditable="true"></p>`)}))))}),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",multiple:true,maxSize,extra:{insert:true}}),{"data-click-event":"send-photos",icon:"fas fa-image",label:"Add Photos"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",capture:"user",maxSize,extra:{insert:true}}),{"data-click-event":"take-photo",icon:"fa-duotone fa-camera-retro",label:"Take Photo"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",multiple:false,maxSize,stream,maxStreamSize,extra:{insert:true,stream}}),{"data-click-event":"send-video",icon:"fas fa-file-video",label:"Add Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",maxSize,stream,maxStreamSize,extra:{insert:true,stream}}),{"data-click-event":"record-video",icon:"fa-duotone fa-video-plus",label:"Record Video"})))}_export("default",Insert);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_codeEditorCodeSnippetPage){CodeSnippetPage=_codeEditorCodeSnippetPage.default}],execute:function(){maxSize=25*1024*1024;stream=true;maxStreamSize=100*1024*1024}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var XNode,PopupButton,MenuItem,UploadEvent,convert,maxSize;function Attach({alignment="above"}){return XNode.create(PopupButton,{class:"command","data-layout":"toolbar-button",icon:"fa-light fa-file-plus",title:"Attach",alignment},XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",maxSize,multiple:true,extra:{}}),{icon:"fas fa-image",label:"Attach Photos"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",maxSize,capture:"user",extra:{}}),{icon:"fa-duotone fa-camera-retro",label:"Take Photo"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",multiple:false,maxSize,convert,extra:{}}),{icon:"fas fa-file-video",label:"Attach Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",maxSize,convert,extra:{}}),{icon:"fa-duotone fa-video-plus",label:"Record Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"*/*",maxSize,multiple:true,extra:{}}),{icon:"fa-duotone fa-file",label:"Attach Documents","style-min-width":"150px"})))}_export("default",Attach);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){convert=false;maxSize=25*1024*1024}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/mailboxes/MailboxDropDown");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,EntityService,Mailbox,XNode,Bind,Sql,MailboxDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",MailboxDropDown=class MailboxDropDown extends DropDown{constructor(app,e){super(app,e);this.pushInit();this.valuePath=mb=>mb.mailboxID;this.itemRenderer=mb=>XNode.create("div",null,mb.emailAddress.name," (",mb.emailAddress.emailAddress,")")}init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.prompt="From";this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>this.searchMailboxes(this.search,this.value,cancelToken)))}));const item=yield this.entityService.query(Mailbox).where((x=>x.isChannel===false)).orderByDescending((x=>x.dateUpdated)).include((x=>x.emailAddress)).firstOrDefault();this.items=[item];this.selectedItem=item}))}searchMailboxes(search,value,cancelToken){var _a;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox).where((x=>x.isChannel===false));search=(_a=search===null||search===void 0?void 0:search.trim())===null||_a===void 0?void 0:_a.toLowerCase();value||(value="0");if(search){search=search+"%";q=q.where({search,value},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)||Sql.text.like(x.domain.name,p.search)||x.mailboxID===p.value))}else{q=q.where({value},(p=>x=>x.mailboxID===p.value))}const items=yield q.include((x=>x.emailAddress)).toPagedList({size:10,cancelToken});return items.items}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],MailboxDropDown.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../../common/controls/audio/AudioRecorder","../service/ConversationService","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../common/events/CommonEvents","../service/MailService","@web-atoms/date-time/dist/DateTime","@web-atoms/core/dist/core/sleep","../../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/Separator","./Insert","@web-atoms/date-time/dist/TimeSpan","./Attach","@web-atoms/core/dist/core/types","@web-atoms/email-dom/dist/DomToString","../../../../common/controls/Loader","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/web-controls/dist/basic/TitleEditor","../../../../common/controls/email-recipients/EmailRecipientChips","../../../../common/controls/mailboxes/MailboxDropDown","../../../../common/fileUrl","./styles/mini-compose.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,AppFile,Email,EmailRecipient,Bind,Action,AudioRecorder,ConversationService,AtomRepeater,InjectProperty,CommonEvents,MailService,DateTime,sleep,MailHtmlEditor,Toolbar,Align,Bold,Italic,StrikeThrough,Underline,AddLink,Unlink,Separator,Insert,TimeSpan,Attach,CancelToken,DomToElement,Loader,descendentElementIterator,TitleEditor,EmailRecipientChips,MailboxDropDown,fileUrl,MiniComposeBox,css,defaultEmailBody,addRecipient;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsAudioAudioRecorder){AudioRecorder=_commonControlsAudioAudioRecorder.default},function(_serviceConversationService){ConversationService=_serviceConversationService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){MailHtmlEditor=_commonControlsHtmlInlineHtmlEditorWithToolbar.MailHtmlEditor},function(_webAtomsWebControlsDistHtmlEditorAtomHtmlEditor){Toolbar=_webAtomsWebControlsDistHtmlEditorAtomHtmlEditor.Toolbar},function(_webAtomsWebControlsDistHtmlEditorCommandsAlign){Align=_webAtomsWebControlsDistHtmlEditorCommandsAlign.default},function(_webAtomsWebControlsDistHtmlEditorCommandsBold){Bold=_webAtomsWebControlsDistHtmlEditorCommandsBold.default},function(_webAtomsWebControlsDistHtmlEditorCommandsItalic){Italic=_webAtomsWebControlsDistHtmlEditorCommandsItalic.default},function(_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough){StrikeThrough=_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnderline){Underline=_webAtomsWebControlsDistHtmlEditorCommandsUnderline.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAddLink){AddLink=_webAtomsWebControlsDistHtmlEditorCommandsAddLink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnlink){Unlink=_webAtomsWebControlsDistHtmlEditorCommandsUnlink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSeparator){Separator=_webAtomsWebControlsDistHtmlEditorCommandsSeparator.default},function(_Insert){Insert=_Insert.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_Attach){Attach=_Attach.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsEmailDomDistDomToString){DomToElement=_webAtomsEmailDomDistDomToString.DomToElement},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default},function(_commonControlsMailboxesMailboxDropDown){MailboxDropDown=_commonControlsMailboxesMailboxDropDown.default},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_stylesMiniComposeLocalLess){}],execute:function(){css="mini-compose-page";defaultEmailBody=`<section style="background-color: white; color: black;">\n<section contentEditable="true"> <br/></section>\n<footer data-social-mail-commands="emoji-bar"></footer>\n</section>`;addRecipient=(e,a,type)=>{var _a,_b;if(!a){return}const r=(_a=e.recipients)!==null&&_a!==void 0?_a:e.recipients=[];for(const er of a){const et=(_b=er.emailAddressText)===null||_b===void 0?void 0:_b.toLowerCase();if(r.some((x=>{var _a;return x.emailAddressID?x.emailAddressID===er.emailAddressID:((_a=x.emailAddressText)===null||_a===void 0?void 0:_a.toLowerCase())===et}))){continue}er.type=type;r.push(er)}};_export("default",MiniComposeBox=class MiniComposeBox extends AtomControl{constructor(app,e){super(app,e);this.mailboxContacts=[];this.senderID=null;this.draft=null;this.typedMessage="";this.to=null;this.cc=null;this.bcc=null;this.showSendButton=true;this.showTo=false;this.showCc=false;this.showBcc=false;this.active=false;this.savedSubject=void 0;this.savedBody=void 0;this.element.className=css;this.element.setAttribute("data-mini-compose","mini-compose");this.pushInit()}init(){var _a,_b,_c,_d,_e,_f,_g;return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Loader,null));yield sleep(100);(_a=this.draft)!==null&&_a!==void 0?_a:this.draft=null;if(!this.draft){this.ensureDraft()}(_b=this.to)!==null&&_b!==void 0?_b:this.to=[];(_c=this.cc)!==null&&_c!==void 0?_c:this.cc=[];(_d=this.bcc)!==null&&_d!==void 0?_d:this.bcc=[];if(this.draft.recipients){for(const iterator of this.draft.recipients){if(iterator.type==="to"){this.to.add(iterator);this.showTo||(this.showTo=!((_e=this.mailboxContacts)===null||_e===void 0?void 0:_e.some((x=>x.emailAddressID===iterator.emailAddressID))));continue}if(iterator.type==="cc"){this.showTo=true;this.showCc=true;this.cc.add(iterator);continue}if(iterator.type==="bcc"){this.showTo=true;this.showCc=true;this.showBcc=true;this.bcc.add(iterator);continue}}}this.typedMessage=((_f=this.draft)===null||_f===void 0?void 0:_f.htmlBody)?this.draft.htmlBody:defaultEmailBody;this.renderer=XNode.create("div",null,XNode.create(MailHtmlEditor,{toolbar:()=>XNode.create("div",null,XNode.create(Toolbar,null,XNode.create(Insert,{alignment:this.showSendButton?"above":"below"}),XNode.create(Separator,null),XNode.create(Attach,{alignment:this.showSendButton?"above":"below"}),XNode.create(Separator,null),XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,{alignment:this.showSendButton?"above":"below"}),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null)),XNode.create("div",{"data-layout":"vertical-flex-stretch-items","style-width":"100%"},!this.senderID&&XNode.create("div",{"data-layout":"row"},"From: ",XNode.create(MailboxDropDown,{value:Bind.sourceTwoWays(this,(x=>x.source.senderID))})),XNode.create("div",{"data-layout":"row"},XNode.create(TitleEditor,{"data-flex":"stretch-full",class:"subject",placeholder:"Subject ... ",value:Bind.sourceTwoWays(this,(x=>x.source.draft.subject))}),XNode.create("i",{"style-display":Bind.source(this,(x=>!x.source.showTo)),"event-click":()=>this.showTo=true,class:"fas fa-angle-down"})),XNode.create("div",{"data-layout":"row","style-display":Bind.source(this,(x=>x.source.showTo))},XNode.create(EmailRecipientChips,{prompt:"To","data-flex":"stretch-full",items:this.to}),XNode.create("label",{"style-display":Bind.source(this,(x=>!x.source.showCc)),"event-click":()=>this.showCc=true,text:"CC"})),XNode.create("div",{"data-layout":"row","style-display":Bind.source(this,(x=>x.source.showCc))},XNode.create(EmailRecipientChips,{prompt:"Cc","data-flex":"stretch-full",items:this.cc}),XNode.create("label",{"style-display":Bind.source(this,(x=>!x.source.showBcc)),"event-click":()=>this.showBcc=true,text:"BCC"})),XNode.create(EmailRecipientChips,{prompt:"Bcc","data-flex":"stretch-full","style-display":Bind.source(this,(x=>x.source.showBcc)),items:this.bcc}))),"data-element":"editor","data-html-editor":"email-editor",presenter:Bind.presenter((c=>this.editor=c)),content:this.typedMessage,"style-min-height":"50px",attachments:Bind.oneWay((()=>this.draft.attachments))}),this.showSendButton&&XNode.create("i",{"data-element":"send",class:"fa-solid fa-microphone-lines mic","event-click":()=>this.sendAudioMessage(),"style-display":Bind.oneWay((()=>!this.typedMessage))}),this.showSendButton&&XNode.create("i",{"data-element":"send",class:"fa-solid fa-angle-double-right send","style-display":Bind.oneWay((()=>!!this.typedMessage)),"data-click-event":"send-email"}),XNode.create(AtomRepeater,{"data-element":"files",items:Bind.oneWay((()=>{var _a;return(_a=this.draft)===null||_a===void 0?void 0:_a.attachments})),"style-display":Bind.oneWay((()=>this.draft&&this.draft.attachments&&this.draft.attachments.length>0),false),"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",{"data-layout":"icon-button"},XNode.create("label",{text:item.name}),XNode.create("i",{"data-click-event":"delete-attachment",class:"fas fa-times-circle","data-cursor":"pointer","data-color":"red"}))}));yield sleep(100);if(!this.draft.subject){(_g=this.editor.element.querySelector(".subject > input"))===null||_g===void 0?void 0:_g.focus();return}const editor=this.editor.element.querySelector(`[data-element="editor"]`);for(const iterator of descendentElementIterator(editor)){if(iterator.isContentEditable){let start=iterator;let next;while((next=start.firstElementChild)&&next.tagName!=="BR"){start=next}start.focus();window.getSelection().setPosition(start.firstElementChild);return}}}))}filesAvailable({files,extra}){return __awaiter(this,void 0,void 0,(function*(){const size=files.reduce(((pv,cv)=>pv+(extra.stream&&/^video\//i.test(cv.file.type)?0:cv.file.size)),0);if(size>20*1024*1024){if(!extra.stream){throw new Error(`Total size of attachments cannot be more than 20MB.`)}}if(extra.insert){this.ensureDraft();const firstChild=this.editor.editor.firstElementChild;for(const iterator of files){if(/^image\//.test(iterator.contentType)){const af=this.createAppFile(iterator);const img=firstChild.ownerDocument.createElement("img");img.src=fileUrl.webp(iterator,700);img.setAttribute("data-content-id",af.contentID);this.draft.attachments.add(af);firstChild.appendChild(img);const newLine=document.createElement("div");newLine.appendChild(document.createElement("br"));firstChild.appendChild(newLine);continue}if(/^(video|audio)\//.test(iterator.contentType)){const af=this.createAppFile(iterator);this.draft.attachments.add(af);const video=firstChild.ownerDocument.createElement("div");const link=af.url;const imgLink=fileUrl.webp(af,700);DomToElement(video,XNode.create("div",null,XNode.create("video",{"data-content-id":af.contentID,"data-stream-enabled":"true",autoplay:"true",muted:"true",controls:"true",poster:imgLink,src:link,style:"max-width: 700px;"},XNode.create("div",null,"If you cannot see the video,",XNode.create("br",null),XNode.create("a",{"data-stream-enabled":"true","data-content-id":af.contentID,href:link},"click this link to open the video.")))));firstChild.appendChild(video);continue}}return}yield this.addFiles(...files)}))}streamFiles({files,extra}){return __awaiter(this,void 0,void 0,(function*(){}))}deleteAttachment(file){var _a;return __awaiter(this,void 0,void 0,(function*(){yield this.mailService.deleteAttachment(file);(_a=this.draft)===null||_a===void 0?void 0:_a.attachments.remove(file)}))}recreateDraft(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.draft=null;(_a=this.draft)!==null&&_a!==void 0?_a:this.draft=Email.create({subject:"",attachments:[]});(_b=(_c=this.draft).attachments)!==null&&_b!==void 0?_b:_c.attachments=[]}))}onChanged(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!((_a=this.editor)===null||_a===void 0?void 0:_a.htmlTextContent)){return}(_b=this.draft)!==null&&_b!==void 0?_b:this.draft=Email.create({attachments:[]});const{html,text}=this.editor.htmlTextContent;if(this.savedSubject===this.draft.subject&&this.savedBody===html){return}if(this.prevSave){yield this.prevSave}this.savedSubject=this.draft.subject;this.savedBody=html;this.draft.htmlBody=html;this.draft.textBody=text;yield this.save(false)}))}onEmailUnscheduled(mce){return __awaiter(this,void 0,void 0,(function*(){this.draft=mce.email}))}sendEmail(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(!((_a=this.draft)===null||_a===void 0?void 0:_a.textBody)){if(!((_c=(_b=this.draft)===null||_b===void 0?void 0:_b.attachments)===null||_c===void 0?void 0:_c.length)){alert("Cannot send empty email");return}}const{html,text}=this.editor.htmlTextContent;this.draft.htmlBody=html;this.draft.textBody=text;yield this.save();const{prevSave}=this;if(prevSave){yield prevSave}this.draft.status="scheduled";this.draft.dateSent=DateTime.now.add(TimeSpan.fromSeconds(30));this.draft.dateUpdated=DateTime.now;yield this.mailService.send(this.draft);const saved=this.draft;this.draft=Email.create({subject:"",senderID:this.senderID,htmlBody:defaultEmailBody,attachments:[]});this.editor.htmlContent=this.draft.htmlBody;this.element.dispatchEvent(new CustomEvent("emailSent",{bubbles:true,detail:saved}))}))}sendAudioMessage(){return __awaiter(this,void 0,void 0,(function*(){const uploadedFile=yield AudioRecorder.show();this.ensureDraft();this.draft.textBody=this.typedMessage;yield this.addFiles(uploadedFile)}))}save(saveAttachments=true){return __awaiter(this,void 0,void 0,(function*(){const{prevSave,saveCancelToken}=this;saveCancelToken===null||saveCancelToken===void 0?void 0:saveCancelToken.cancel();const ct=this.saveCancelToken=new CancelToken;this.prevSave=(()=>__awaiter(this,void 0,void 0,(function*(){try{if(prevSave){yield prevSave}this.draft.senderID=this.senderID;addRecipient(this.draft,this.to,"to");addRecipient(this.draft,this.cc,"cc");addRecipient(this.draft,this.bcc,"bcc");this.draft=yield this.conversationService.draft(this.draft,this.mailboxContacts,true,saveAttachments,ct)}catch(_a){}})))().catch(console.error)}))}addFiles(...files){return __awaiter(this,void 0,void 0,(function*(){this.ensureDraft();const attachments=this.draft.attachments;for(const file of files){attachments.add(this.createAppFile(file))}yield this.save()}))}createAppFile(file){return AppFile.create({appFileID:file.appFileID,contentType:file.file.type,name:file.file.name,fileContentID:file.fileContentID,contentID:file.appFileID.toString(36),fileSize:file.file.size,url:file.url})}ensureDraft(){var _a,_b,_c,_d;var _e;(_a=this.draft)!==null&&_a!==void 0?_a:this.draft=Email.create({subject:"",senderID:this.senderID,attachments:[]});(_b=(_e=this.draft).attachments)!==null&&_b!==void 0?_b:_e.attachments=[];if(!this.draft.recipients){const recipients=this.draft.recipients=[];for(const iterator of this.mailboxContacts){if(recipients.some((x=>x.emailAddressID===iterator.emailAddressID))){continue}recipients.push(EmailRecipient.create({emailAddressID:iterator.emailAddressID,emailAddressText:(_d=(_c=iterator.emailAddress)===null||_c===void 0?void 0:_c.emailAddress)!==null&&_d!==void 0?_d:"",type:"to"}))}}}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],MiniComposeBox.prototype,"conversationService",void 0);__decorate([InjectProperty,__metadata("design:type",MailService)],MiniComposeBox.prototype,"mailService",void 0);__decorate([Action({onEvent:"filesAvailable"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"filesAvailable",null);__decorate([Action({onEvent:"delete-attachment",confirm:"Are you sure you want to delete this attachment?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"deleteAttachment",null);__decorate([Action({onEvent:CommonEvents.onDraftDeleted}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"recreateDraft",null);__decorate([Action({onEvent:"input",defer:500,blockMultipleExecution:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onChanged",null);__decorate([Action({onEvent:CommonEvents.onEmailUnscheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onEmailUnscheduled",null);__decorate([Action({onEvent:"send-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"sendEmail",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"sendAudioMessage",null)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomOnce");System.register([],(function(_export,_context){"use strict";var AtomOnce;_export("AtomOnce",void 0);return{setters:[],execute:function(){_export("AtomOnce",AtomOnce=class AtomOnce{run(f){if(this.isRunning){return}let isAsync=false;try{this.isRunning=true;const p=f();if(p&&p.then&&p.catch){isAsync=true;p.then((()=>{this.isRunning=false})).catch((()=>{this.isRunning=false}))}}finally{if(!isAsync){this.isRunning=false}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/StyleBuilder");System.register([],(function(_export,_context){"use strict";var StyleBuilder;function cssNumberToString(n,unit="px"){if(typeof n==="number"){if(n===0){return n+""}return n+unit}return n}_export({cssNumberToString,default:void 0});return{setters:[],execute:function(){_export("default",StyleBuilder=class StyleBuilder{static get newStyle(){return new StyleBuilder}constructor(style){this.style=style;this.style=this.style||{}}toStyle(){return this.style}size(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({width,height})}roundBorder(radius){radius=cssNumberToString(radius);return this.merge({borderRadius:radius,padding:radius})}border(borderWidth,borderColor,borderStyle="solid"){borderWidth=cssNumberToString(borderWidth);return this.merge({borderWidth,borderStyle,borderColor})}center(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({position:"absolute",left:0,right:0,top:0,bottom:0,width,height,margin:"auto"})}absolute(left,top,right,bottom){left=cssNumberToString(left);top=cssNumberToString(top);if(right!==undefined){right=cssNumberToString(right);bottom=cssNumberToString(bottom);return this.merge({position:"absolute",left,top,right,bottom})}return this.merge({position:"absolute",left,top})}merge(style){return new StyleBuilder(Object.assign(Object.assign({},this.style),style))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WebBusyIndicatorService");System.register(["tslib","../../App","../../di/Inject","../../di/RegisterSingleton","../../services/BusyIndicatorService","../../services/NavigationService","../controls/AtomControl","../styles/StyleBuilder"],(function(_export,_context){"use strict";var __decorate,__metadata,App,Inject,RegisterSingleton,BusyIndicatorService,NavigationService,AtomControl,cssNumberToString,WebBusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_App){App=_App.App},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString}],execute:function(){_export("WebBusyIndicatorService",WebBusyIndicatorService=class WebBusyIndicatorService extends BusyIndicatorService{constructor(){super(...arguments);this.zIndex=5e4;this.indicators=0}createIndicator(){const host=document.createElement("div");const popup=new AtomControl(this.app,host);host.className="indicator-host";const span=document.createElement("i");const divStyle=host.style;divStyle.position="absolute";divStyle.overflow="hidden";divStyle.left=divStyle.right=divStyle.bottom=divStyle.top="0";divStyle.zIndex=this.zIndex+++"";const spanStyle=span.style;spanStyle.position="absolute";spanStyle.margin="auto";spanStyle.width="16px";spanStyle.height="16px";spanStyle.overflow="hidden";spanStyle.maxHeight="100%";spanStyle.maxWidth="100%";spanStyle.left=spanStyle.right=spanStyle.bottom=spanStyle.top="0";span.className="fas fa-spinner fa-spin";host.appendChild(span);const ws=this.navigationService;const e=ws.getHostForElement();if(e){e.appendChild(host)}else{document.body.appendChild(host);ws.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,ws.screen)}popup.registerDisposable({dispose:()=>{host.remove()}});return popup}});__decorate([Inject,__metadata("design:type",NavigationService)],WebBusyIndicatorService.prototype,"navigationService",void 0);__decorate([Inject,__metadata("design:type",App)],WebBusyIndicatorService.prototype,"app",void 0);_export("WebBusyIndicatorService",WebBusyIndicatorService=__decorate([RegisterSingleton],WebBusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Atom");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,Atom;_export("Atom",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("Atom",Atom=class Atom{static superProperty(tc,target,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(target)}while(true)}static get(target,path){const segments=path.split(".");for(const iterator of segments){if(target===undefined||target===null){return target}target=target[iterator]}return target}static delay(n,ct){return new Promise(((resolve,reject)=>{const h={};h.id=setTimeout((()=>{resolve()}),n);if(ct){ct.registerForCancel((()=>{clearTimeout(h.id);reject(new Error("cancelled"))}))}}))}static encodeParameters(p){if(!p){return""}let s="";for(const key in p){if(p.hasOwnProperty(key)){const element=p[key];let v=element;if(v===undefined||v===null){continue}if(v instanceof Date){v=v.toISOString()}else if(typeof element==="object"){v=JSON.stringify(element)}if(s){s+="&"}s+=`${key}=${encodeURIComponent(v)}`}}return s}static url(url,query,hash){if(!url){return url}let p=this.encodeParameters(query);if(p){if(url.indexOf("?")===-1){url+="?"}else{url+="&"}url+=p}p=this.encodeParameters(hash);if(p){if(url.indexOf("#")===-1){url+="#"}else{url+="&"}url+=p}return url}static postAsync(app,f){return new Promise(((resolve,reject)=>{app.callLater((()=>__awaiter(this,void 0,void 0,(function*(){try{resolve(yield f())}catch(error){reject(error)}}))))}))}});Atom.designMode=false}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedError");System.register([],(function(_export,_context){"use strict";var FormattedError;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedError=class FormattedError{constructor(msg){const e=new Error(msg.toString());e.formattedMessage=msg;e.__proto__=FormattedError.prototype;return e}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/baseTypes");System.register([],(function(_export,_context){"use strict";function registerInit(target,fx){const t=target;const inits=t._$_inits=t._$_inits||[];inits.push(fx)}_export("registerInit",registerInit);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomViewModel");System.register(["tslib","../App","../Atom","../core/AtomBinder","../core/AtomDisposableList","../core/AtomWatcher","../core/BindableProperty","../di/Inject","./baseTypes"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomBinder,AtomDisposableList,AtomWatcher,BindableProperty,Inject,registerInit,AtomViewModel;function runDecoratorInits(){const v=this.constructor.prototype;if(!v){return}const ris=v._$_inits;if(ris){for(const ri of ris){ri.call(this,this)}}}function privateInit(){return __awaiter(this,void 0,void 0,(function*(){try{yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){runDecoratorInits.apply(this)}))));yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){yield this.init();this.onReady()}))));if(this.postInit){for(const i of this.postInit){i()}this.postInit=null}}finally{const pi=this.pendingInits;this.pendingInits=null;for(const iterator of pi){iterator()}}}))}function waitForReady(vm){return __awaiter(this,void 0,void 0,(function*(){while(vm.pendingInits){yield Atom.delay(100)}}))}function Receive(...channel){return(target,key)=>{registerInit(target,(vm=>{const fx=vm[key];const a=(ch,d)=>{const p=fx.call(vm,ch,d);if(p&&p.then&&p.catch){p.catch((e=>{console.warn(e)}))}};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,a))}}))}}function BindableReceive(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=(cx,m)=>{vm[key]=m};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,fx))}}));return bp}}function BindableBroadcast(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=t=>{const v=vm[key];for(const c of channel){vm.app.broadcast(c,v)}};const d=new AtomWatcher(vm,[key.split(".")],fx);d.init();vm.registerDisposable(d)}));return bp}}function Watch(target,key,descriptor){registerInit(target,(vm=>{const ivm=vm;if(descriptor&&descriptor.get){ivm.setupWatch(descriptor.get,(()=>{vm.refresh(key.toString())}));return}ivm.setupWatch(vm[key])}))}function CachedWatch(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const ivm=vm;const fieldName=`_${key}`;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){const c=ivm[fieldName]||(ivm[fieldName]={value:getMethod.apply(ivm)});return c.value}});ivm.setupWatch(getMethod,(()=>{ivm[fieldName]=null;AtomBinder.refreshValue(ivm,key)}))}))}function Validate(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const initialized={i:false};const ivm=vm;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){if(vm.mShouldValidate&&initialized.i){return getMethod.apply(this)}return null}});ivm.setupWatch(getMethod,(()=>{initialized.i=true;vm.refresh(key.toString())}),true,key.toString());return}))}_export({waitForReady,Receive,BindableReceive,BindableBroadcast,Watch,CachedWatch,Validate});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreAtomWatcher){AtomWatcher=_coreAtomWatcher.AtomWatcher},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_diInject){Inject=_diInject.Inject},function(_baseTypes){registerInit=_baseTypes.registerInit}],execute:function(){_export("AtomViewModel",AtomViewModel=class AtomViewModel{get isReady(){return this.pendingInits===null}get errors(){const e=[];if(!this.mShouldValidate){return e}for(const v of this.validations){if(!v.initialized){return e}const error=this[v.name];if(error){e.push({name:v.name,error})}}return e}get parent(){return this.mParent}set parent(v){if(this.mParent&&this.mParent.mChildren){this.mParent.mChildren.remove(this)}this.mParent=v;if(v){const c=v.mChildren||(v.mChildren=[]);c.add(this);this.registerDisposable({dispose:()=>{c.remove(this)}})}}get isValid(){let valid=true;const validateWasFalse=this.mShouldValidate===false;this.mShouldValidate=true;for(const v of this.validations){if(!v.initialized){v.watcher.init(true);v.initialized=true}if(this[v.name]){if(validateWasFalse){AtomBinder.refreshValue(this,v.name)}valid=false}}if(this.mChildren){for(const child of this.mChildren){if(!child.isValid){valid=false}}}AtomBinder.refreshValue(this,"errors");return valid}constructor(app){this.app=app;this.disposables=null;this.validations=[];this.pendingInits=[];this.mShouldValidate=false;this.app.runAsync((()=>privateInit.apply(this)))}resetValidations(resetChildren=true){this.mShouldValidate=false;for(const v of this.validations){this.refresh(v.name)}if(resetChildren&&this.mChildren){for(const iterator of this.mChildren){iterator.resetValidations(resetChildren)}}}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f);return}f()}refresh(name){AtomBinder.refreshValue(this,name)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}dispose(){if(this.disposables){this.disposables.dispose()}}registerDisposable(d){this.disposables=this.disposables||new AtomDisposableList;return this.disposables.add(d)}onReady(){}setupWatch(ft,proxy,forValidation,name){const d=new AtomWatcher(this,ft,proxy,this);if(forValidation){this.validations=this.validations||[];this.validations.push({name,watcher:d,initialized:false})}else{d.init()}return this.registerDisposable(d)}onPropertyChanged(name){}});_export("AtomViewModel",AtomViewModel=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App])],AtomViewModel))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomWindowViewModel");System.register(["tslib","../services/NavigationService","./AtomViewModel"],(function(_export,_context){"use strict";var __awaiter,NavigationService,AtomViewModel,AtomWindowViewModel;_export("AtomWindowViewModel",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_AtomViewModel){AtomViewModel=_AtomViewModel.AtomViewModel}],execute:function(){_export("AtomWindowViewModel",AtomWindowViewModel=class AtomWindowViewModel extends AtomViewModel{close(result){this.app.broadcast(`atom-window-close:${this.windowName}`,result)}cancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){const navigationService=this.app.resolve(NavigationService);if(!(yield navigationService.confirm(this.closeWarning,"Are you sure?"))){return false}}this.app.broadcast(`atom-window-cancel:${this.windowName}`,"cancelled");return true}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomWindowStyle");System.register(["@web-atoms/core/src/web/images/close-button-hover.svg","../styles/AtomStyle"],(function(_export,_context){"use strict";var closeButtonHover,AtomStyle,AtomWindowStyle;_export("AtomWindowStyle",void 0);return{setters:[function(_webAtomsCoreSrcWebImagesCloseButtonHoverSvg){closeButtonHover=_webAtomsCoreSrcWebImagesCloseButtonHoverSvg.default},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomWindowStyle",AtomWindowStyle=class AtomWindowStyle extends AtomStyle{get root(){return Object.assign(Object.assign({},this.frameHost),{subclasses:{" .close-button":this.closeButton," .command-bar-presenter":this.commandBarPresenter," .command-bar":this.commandBar," .content-presenter":this.contentPresenter," .content":this.content," .frame":this.frame," .title":this.title," .title-host":this.titleHost," .title-presenter":this.titlePresenter}})}get frameHost(){return{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"#50505080"}}get frame(){return{position:"absolute",minHeight:"100px",minWidth:"300px",margin:"auto",border:"solid 1px #808080",borderRadius:"5px",backgroundColor:"white"}}get titlePresenter(){return{position:"relative",left:0,right:0,top:0,height:"37px"}}get titleHost(){return{position:"absolute",left:0,right:0,padding:"7px",minHeight:"32px",backgroundColor:"#404040",color:"white",top:0,borderTopRightRadius:"4px",borderTopLeftRadius:"4px"}}get title(){return{margin:"auto"}}get closeButton(){return{position:"absolute",right:"6px",top:"7px",width:"0",height:"0",padding:"9px",border:"none",backgroundColor:"transparent",backgroundImage:closeButtonHover}}get content(){return{}}get contentPresenter(){return{position:"relative",padding:"10px",background:"white"}}get commandBarPresenter(){return{left:0,right:0,bottom:0,padding:"5px",backgroundColor:"#d4d4d4",textAlign:"right",borderBottomRightRadius:"4px",borderBottomLeftRadius:"4px"}}get commandBar(){return{subclasses:{" button":{borderRadius:"3px",marginLeft:"5px",marginRight:"5px",padding:"4px 16px",backgroundColor:"whitesmoke",border:"1px solid gray"}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomAlertWindowStyle");System.register(["../../core/Colors","./AtomWindowStyle"],(function(_export,_context){"use strict";var Colors,AtomWindowStyle,AtomAlertWindowStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomWindowStyle){AtomWindowStyle=_AtomWindowStyle.AtomWindowStyle}],execute:function(){_export("default",AtomAlertWindowStyle=class AtomAlertWindowStyle extends AtomWindowStyle{get titleHost(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"titleHost")),{color:Colors.black,backgroundColor:Colors.white})}get contentPresenter(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"contentPresenter")),{padding:"0px 10px 30px 10px",textAlign:"center",color:Colors.rgba(51,51,51)})}get commandBar(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"commandBar")),{textAlign:"center",subclasses:{" button":this.buttonStyle," .yes-button":{backgroundColor:Colors.rgba(0,128,0)}," .no-button":{backgroundColor:Colors.rgba(255,0,0)}}})}get buttonStyle(){return{border:"none",color:Colors.white,width:"50%",height:"40px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomTemplate");System.register(["./AtomControl"],(function(_export,_context){"use strict";var AtomControl,AtomTemplate;_export("AtomTemplate",void 0);return{setters:[function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("AtomTemplate",AtomTemplate=class AtomTemplate extends AtomControl{})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomWindow");System.register(["../../App","../../core/Bind","../../core/XNode","../styles/AtomWindowStyle","./AtomControl","./AtomTemplate"],(function(_export,_context){"use strict";var App,Bind,XNode,AtomWindowStyle,AtomControl,AtomTemplate,AtomWindowFrameTemplate,AtomWindowTitleTemplate,AtomWindow;function getTemplateParent(e){const tp=e._templateParent;if(tp){return tp}const p=e._logicalParent||e.parentElement;if(p){return getTemplateParent(p)}}_export({getTemplateParent,AtomWindowFrameTemplate:void 0,AtomWindow:void 0});return{setters:[function(_App){App=_App.App},function(_coreBind){Bind=_coreBind.default},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomWindowStyle){AtomWindowStyle=_stylesAtomWindowStyle.AtomWindowStyle},function(_AtomControl){AtomControl=_AtomControl.AtomControl},function(_AtomTemplate){AtomTemplate=_AtomTemplate.AtomTemplate}],execute:function(){_export("AtomWindowFrameTemplate",AtomWindowFrameTemplate=class AtomWindowFrameTemplate extends AtomTemplate{get templateParent(){return getTemplateParent(this.element)}preCreate(){this.titlePresenter=null;this.commandPresenter=null;this.contentPresenter=null;super.preCreate()}create(){this.render(XNode.create("div",{class:"frame",styleWidth:Bind.oneWay((()=>this.templateParent.width||undefined)),styleHeight:Bind.oneWay((()=>this.templateParent.height||undefined)),styleLeft:Bind.oneWay((()=>this.templateParent.x>=0?`${this.templateParent.x}px`:undefined)),styleTop:Bind.oneWay((()=>this.templateParent.y>=0?`${this.templateParent.y}px`:undefined)),styleMarginTop:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginLeft:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginRight:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginBottom:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined))},XNode.create("div",{class:"title-presenter",presenter:Bind.presenter("titlePresenter")}),XNode.create("div",{class:"content-presenter",presenter:Bind.presenter("contentPresenter")}),XNode.create("div",{class:"command-bar-presenter",presenter:Bind.presenter("commandPresenter")})))}});AtomWindowTitleTemplate=class AtomWindowTitleTemplate extends AtomControl{get templateParent(){return getTemplateParent(this.element)}create(){this.render(XNode.create("div",{class:"title-host"},XNode.create("span",{class:"title",text:Bind.oneWay((()=>this.templateParent.title))}),XNode.create("button",{class:"close-button",eventClick:Bind.event((()=>this.templateParent.close()))})))}};_export("AtomWindow",AtomWindow=class AtomWindow extends AtomControl{constructor(){super(...arguments);this.title="";this.width="";this.height="";this.x=-1;this.y=-1;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;this.isReady=false}get templateParent(){return getTemplateParent(this.element)}onPropertyChanged(name){switch(name){case"windowTemplate":case"commandTemplate":case"frameTemplate":this.invalidate();break}}close(){const vm=this.viewModel;if(vm.cancel){this.app.runAsync((()=>vm.cancel()));return}const message=`atom-window-cancel:${this.id}`;const device=this.app.resolve(App);device.broadcast(message,"cancelled")}onUpdateUI(){if(!(this.windowTemplate&&this.frameTemplate)){return}if(this.isReady){return}this.bind(this.element,"title",[["viewModel","title"]]);const frame=new this.frameTemplate(this.app);const fe=frame.element;const titleContent=new this.titleTemplate(this.app);titleContent.element._templateParent=this;frame.titlePresenter.appendChild(titleContent.element);this.setupDragging(frame.titlePresenter);this.element.classList.add("frame-host");fe._logicalParent=this.element;fe._templateParent=this;if(!frame.contentPresenter){throw new Error("ContentPresenter must be set inside frameTemplate before creating window")}const content=new this.windowTemplate(this.app);content.element._templateParent=this;this.setElementClass(content.element,{content:1});frame.contentPresenter.appendChild(content.element);if(this.commandTemplate){if(!frame.commandPresenter){throw new Error("CommandPresenter must be set inside frameTemplate"+"before creating window if command template is present")}const command=new this.commandTemplate(this.app);command.element._templateParent=this;this.setElementClass(command.element,{"command-bar":1});frame.commandPresenter.appendChild(command.element)}this.append(frame);setTimeout((()=>{this.centerFrame(frame.element)}),100);this.isReady=true}preCreate(){this.defaultControlStyle=AtomWindowStyle;this.title=null;this.width="";this.height="";this.x=-1;this.y=-1;this.windowTemplate=null;this.commandTemplate=null;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;super.preCreate();this.render(XNode.create("div",{styleClass:Bind.oneTime((()=>this.controlStyle.name))}))}centerFrame(e){if(!this.element){return}const parent=this.element.parentElement;if(parent===window||parent===document.body){return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;this.x=x;this.y=y;e.style.opacity="1";this.element.style.removeProperty("opacity")}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{startEvent.preventDefault();const disposables=[];const offset={x:tp.parentElement.offsetLeft,y:tp.parentElement.offsetTop};const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;offset.x+=dx;offset.y+=dy;this.x=offset.x;this.y=offset.y;rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;for(const iterator of disposables){iterator.dispose()}})))}))}});AtomWindow.windowTemplate=XNode.prepare("windowTemplate",true,true);AtomWindow.commandTemplate=XNode.prepare("commandTemplate",true,true);AtomWindow.titleTemplate=XNode.prepare("titleTemplate",true,true);AtomWindow.frameTemplate=XNode.prepare("frameTemplate",true,true)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomAlertWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../view-model/AtomWindowViewModel","../styles/AtomAlertWindowStyle","./AtomWindow"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomWindowViewModel,AtomAlertWindowStyle,AtomWindow,AtomAlertWindow,AtomAlertViewModel;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_stylesAtomAlertWindowStyle){AtomAlertWindowStyle=_stylesAtomAlertWindowStyle.default},function(_AtomWindow){AtomWindow=_AtomWindow.AtomWindow}],execute:function(){_export("default",AtomAlertWindow=class AtomAlertWindow extends AtomWindow{create(){this.defaultControlStyle=AtomAlertWindowStyle;this.viewModel=this.resolve(AtomAlertViewModel);this.render(XNode.create(AtomWindow,{title:Bind.oneWay((()=>this.viewModel.title))},XNode.create(AtomWindow.windowTemplate,null,XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message))})),XNode.create(AtomWindow.commandTemplate,null,XNode.create("div",null,XNode.create("button",{class:"yes-button",styleDisplay:Bind.oneWay((()=>this.viewModel.okTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.okTitle)),eventClick:()=>this.viewModel.onOkClicked()}),XNode.create("button",{class:"no-button",styleMarginBottom:Bind.oneWay((()=>this.viewModel.cancelTitle?"0":"10px")),styleDisplay:Bind.oneWay((()=>this.viewModel.cancelTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.cancelTitle)),eventClick:()=>this.viewModel.onCancelClicked()})))))}});AtomAlertViewModel=class AtomAlertViewModel extends AtomWindowViewModel{onOkClicked(){this.close(true)}onCancelClicked(){this.cancel()}};__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"message",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"okTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"cancelTitle",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomNotificationStyle");System.register(["../../core/Colors","./AtomStyle"],(function(_export,_context){"use strict";var Colors,AtomStyle,AtomNotificationStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomStyle){AtomStyle=_AtomStyle.AtomStyle}],execute:function(){_export("default",AtomNotificationStyle=class AtomNotificationStyle extends AtomStyle{get root(){return{padding:"5px",borderRadius:"5px",border:"solid 1px lightgray",fontFamily:"Verdana, Geneva, sans-serif",fontSize:"16px",subclasses:{".error":{borderColor:Colors.red,color:Colors.red},".warning":{backgroundColor:Colors.lightYellow}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomNotification");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../styles/AtomNotificationStyle","./AtomControl"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomNotificationStyle,AtomControl,AtomNotification;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomNotificationStyle){AtomNotificationStyle=_stylesAtomNotificationStyle.default},function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("default",AtomNotification=class AtomNotification extends AtomControl{constructor(){super(...arguments);this.timeout=5e3;this.timeoutKey=null}onPropertyChanged(name){switch(name){case"timeout":this.setupTimeout();break}}create(){this.defaultControlStyle=AtomNotificationStyle;this.render(XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message)),timeout:Bind.oneWay((()=>this.viewModel.timeout||5e3)),styleClass:Bind.oneWay((()=>({[this.controlStyle.name]:1,error:this.viewModel.type&&/error/i.test(this.viewModel.type),warning:this.viewModel.type&&/warn/i.test(this.viewModel.type)})))}))}setupTimeout(){if(this.timeoutKey){clearTimeout(this.timeoutKey)}this.timeoutKey=setTimeout((()=>{if(this.element){this.app.broadcast(`atom-window-close:${this.id}`,"")}}),this.timeout)}});__decorate([BindableProperty,__metadata("design:type",Number)],AtomNotification.prototype,"timeout",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomPopupStyle");System.register(["../styles/AtomStyle"],(function(_export,_context){"use strict";var AtomStyle,AtomPopupStyle;_export("AtomPopupStyle",void 0);return{setters:[function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomPopupStyle",AtomPopupStyle=class AtomPopupStyle extends AtomStyle{get root(){return{backgroundColor:"white",border:"solid 1px lightgray",padding:"5px",borderRadius:"5px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/NotificationPopup");System.register(["../../core/XNode","./PopupService","./NotifcationPopup.global.less"],(function(_export,_context){"use strict";var XNode,PopupWindow,css;function NotificationPopup({message,type}){return class Notification extends PopupWindow{create(){if(message instanceof XNode){this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)}},message));return}this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)},formattedText:message}))}}}_export("default",NotificationPopup);return{setters:[function(_coreXNode){XNode=_coreXNode.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow},function(_NotifcationPopupGlobalLess){}],execute:function(){css="web-atoms-notification-popup"}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WindowService");System.register(["tslib","../../App","../../Atom","../../core/AtomLoader","../../core/AtomUri","../../core/FormattedError","../../core/FormattedString","../../core/types","../../di/Inject","../../di/RegisterSingleton","../../di/ServiceCollection","../../services/JsonService","../../services/NavigationService","../../view-model/AtomWindowViewModel","../../web/core/AtomUI","../controls/AtomAlertWindow","../controls/AtomNotification","../controls/AtomWindow","../styles/AtomPopupStyle","../styles/AtomStyleSheet","../styles/StyleBuilder","./NotificationPopup","./PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomLoader,AtomUri,FormattedError,FormattedString,CancelToken,Inject,RegisterSingleton,Scope,ServiceCollection,JsonService,NavigationService,AtomWindowViewModel,AtomUI,AtomAlertWindow,AtomNotification,AtomWindow,AtomPopupStyle,AtomStyleSheet,cssNumberToString,NotificationPopup,PopupService,WindowService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomLoader){AtomLoader=_coreAtomLoader.AtomLoader},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedError){FormattedError=_coreFormattedError.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceCollection){Scope=_diServiceCollection.Scope;ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI},function(_controlsAtomAlertWindow){AtomAlertWindow=_controlsAtomAlertWindow.default},function(_controlsAtomNotification){AtomNotification=_controlsAtomNotification.default},function(_controlsAtomWindow){AtomWindow=_controlsAtomWindow.AtomWindow},function(_stylesAtomPopupStyle){AtomPopupStyle=_stylesAtomPopupStyle.AtomPopupStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString},function(_NotificationPopup){NotificationPopup=_NotificationPopup.default},function(_PopupService){PopupService=_PopupService.default}],execute:function(){_export("WindowService",WindowService=class WindowService extends NavigationService{get title(){return window.document.title}set title(v){window.document.title=v}get location(){return new AtomUri(location.href)}set location(v){location.href=v.toString()}constructor(app,jsonService){super(app);this.jsonService=jsonService;this.popups=[];this.hostForElementFunc=[];this.lastPopupID=0;this.screen=app.screen;let st="desktop";if(/mobile|android|ios/i.test(window.navigator.userAgent)){st="mobile";if(/tablet/i.test(window.navigator.userAgent)){st="tablet"}}this.screen.screenType=st;if(window){const update=e=>{this.refreshScreen()};if(st!=="mobile"){window.addEventListener("resize",update);window.addEventListener("scroll",update);document.body.addEventListener("scroll",update);document.body.addEventListener("resize",update)}setTimeout((()=>{update(null)}),1e3)}}registerHostForWindow(f){this.hostForElementFunc.push(f);return{dispose:()=>{this.hostForElementFunc.remove(f)}}}navigate(url){location.href=url}back(){window.history.back()}register(id,type){ServiceCollection.instance.register(type,null,Scope.Transient,id)}confirm(message,title){return PopupService.confirm({message,title})}alert(message,title){if(!(message instanceof FormattedString||typeof message==="string")){if(message instanceof FormattedError){message=message.formattedMessage}else{message=message.message?message.message:message.toString()}}return PopupService.alert({message,title})}refresh(){location.reload()}getHostForElement(){const ce=PopupService.lastTarget;if(!ce){return null}for(const iterator of this.hostForElementFunc){const e=iterator(ce);if(e){return e}}return null}refreshScreen(){const height=this.screen.height=window.innerHeight||document.body.clientHeight;const width=this.screen.width=window.innerWidth||document.body.clientWidth;this.screen.scrollLeft=window.scrollX||document.body.scrollLeft||0;this.screen.scrollTop=window.scrollY||document.body.scrollTop||0;this.screen.orientation=width>height?"landscape":"portrait"}notify(message,title,type,delay){return __awaiter(this,void 0,void 0,(function*(){try{const notification=NotificationPopup({message,type});const cancelToken=new CancelToken(delay!==null&&delay!==void 0?delay:5e3);yield notification.showWindow(notification,{title,cancelToken})}catch(ex){console.error(ex)}}))}openWindow(url,options){return __awaiter(this,void 0,void 0,(function*(){yield Atom.delay(1);const lastTarget=PopupService.lastTarget;const{view:popup,returnPromise,disposables}=yield AtomLoader.loadView(url,this.app,true,(()=>this.app.resolve(AtomWindowViewModel,true)));if(options&&options.onInit){options.onInit(popup)}const cancelToken=options.cancelToken;if(cancelToken){if(cancelToken.cancelled){this.app.callLater((()=>{this.remove(popup,true)}))}cancelToken.registerForCancel((()=>{this.remove(popup,true)}))}const e=popup.element;let isPopup=true;if(popup instanceof AtomWindow){isPopup=false;e.style.opacity="0"}popup.registerDisposable({dispose:()=>{PopupService.lastTarget=lastTarget}});if(isPopup){const root=popup.element;const last=PopupService.lastTarget;const closePopup=et=>{let target=et.target;while(target){if(target===root||target===last){return}target=target.parentElement}this.remove(popup,true)};document.body.addEventListener("click",closePopup);popup.registerDisposable({dispose:()=>{document.body.removeEventListener("click",closePopup)}})}e._logicalParent=lastTarget;e.sourceUrl=url;const pvm=popup.viewModel;if(pvm){let ce=PopupService.lastTarget;if(ce){while(!ce.atomControl){ce=ce.parentElement;if(!ce){break}}if(ce&&ce.atomControl&&ce.atomControl.viewModel){pvm.parent=ce.atomControl.viewModel}}}const theme=this.app.get(AtomStyleSheet).getNamedStyle(AtomPopupStyle);e.style.zIndex=1e4+this.lastPopupID+"";const isNotification=popup instanceof AtomNotification;if(isPopup){const sr=AtomUI.screenOffset(PopupService.lastTarget);const x=sr.x;const y=sr.y;const h=sr.height;e.style.position="absolute";e.style.left=x+"px";e.style.top=y+h+"px";e.classList.add(theme.name);this.popups.push(popup);disposables.add((()=>{this.popups.remove(popup)}));document.body.appendChild(e);if(isNotification){e.style.opacity="0";this.centerElement(popup)}}else{const eHost=(options===null||options===void 0?void 0:options.modal)?null:this.getHostForElement();if(eHost){eHost.appendChild(e)}else{const host=document.createElement("div");document.body.appendChild(host);host.style.position="absolute";host.appendChild(e);disposables.add({dispose(){host.remove()}});this.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,this.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,this.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,this.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,this.screen)}}popup.bindEvent(document.body,"keyup",(keyboardEvent=>{if(keyboardEvent.key==="Escape"){this.app.runAsync((()=>this.remove(popup)))}}));disposables.add({dispose:()=>{e.innerHTML="";e.remove()}});return yield returnPromise}))}centerElement(c){const e=c.element;const parent=e.parentElement;if(parent===window||parent===document.body){setTimeout((()=>{const ew=(document.body.offsetWidth-e.offsetWidth)/2;const eh=window.scrollY+(window.innerHeight-e.offsetHeight)/2;e.style.left=`${ew}px`;e.style.top=`${eh}px`;e.style.removeProperty("opacity")}),200);return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;e.style.left=`${x}px`;e.style.top=`${y}px`;e.style.removeProperty("opacity")}});WindowService.alertWindow=AtomAlertWindow;_export("WindowService",WindowService=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,JsonService])],WindowService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomTheme");System.register(["tslib","../../App","../../core/Colors","../../di/Inject","../../di/RegisterSingleton","../../services/NavigationService","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,Colors,Inject,RegisterSingleton,NavigationService,AtomStyleSheet,AtomTheme;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreColors){Colors=_coreColors.default},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){_export("AtomTheme",AtomTheme=class AtomTheme extends AtomStyleSheet{constructor(app,navigationService){super(app,"atom-theme");this.navigationService=navigationService;this.bgColor=Colors.white;this.color=Colors.gray;this.hoverColor=Colors.lightGray;this.activeColor=Colors.lightBlue;this.selectedBgColor=Colors.blue;this.selectedColor=Colors.white;this.padding=5;setTimeout((()=>{window.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}));document.body.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}))}),1e3)}});_export("AtomTheme",AtomTheme=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,NavigationService])],AtomTheme))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/WebApp");System.register(["../App","../core/AtomOnce","../core/AtomUri","../di/ServiceCollection","../services/BusyIndicatorService","../services/NavigationService","./services/WebBusyIndicatorService","./services/WindowService","./styles/AtomStyleSheet","./styles/AtomTheme"],(function(_export,_context){"use strict";var App,AtomOnce,AtomUri,ServiceCollection,BusyIndicatorService,NavigationService,WebBusyIndicatorService,WindowService,AtomStyleSheet,AtomTheme,WebApp;_export("default",void 0);return{setters:[function(_App){App=_App.App},function(_coreAtomOnce){AtomOnce=_coreAtomOnce.AtomOnce},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_diServiceCollection){ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_servicesWebBusyIndicatorService){WebBusyIndicatorService=_servicesWebBusyIndicatorService.WebBusyIndicatorService},function(_servicesWindowService){WindowService=_servicesWindowService.WindowService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesAtomTheme){AtomTheme=_stylesAtomTheme.AtomTheme}],execute:function(){_export("default",WebApp=class WebApp extends App{get parentElement(){return document.body}get root(){return this.mRoot}set root(v){const old=this.mRoot;if(old){old.dispose()}this.mRoot=v;if(!v){return}const pe=this.parentElement;const de=Array.from(pe.children);for(const iterator of de){iterator.remove()}pe.appendChild(v.element)}get theme(){return this.get(AtomStyleSheet)}set theme(v){this.put(AtomTheme,v);this.put(AtomStyleSheet,v)}get contextId(){var _a;(_a=this.mContextId)!==null&&_a!==void 0?_a:this.mContextId=parseInt((this.url.hash.contextId||"0").toString(),10);if(!this.mContextId){for(let index=0;index<100;index++){const cid=`contextId${index}`;const cidData=sessionStorage.getItem(`contextId${index}`);if(!cidData){this.mContextId=index;sessionStorage.setItem(cid,cid);this.url.hash.contextId=index;this.syncUrl();break}}}return`contextId_${this.mContextId}`}constructor(){super();this.hashUpdater=new AtomOnce;this.url=new AtomUri(location.href);this.put(NavigationService,this.resolve(WindowService));this.put(WebApp,this);this.put(BusyIndicatorService,this.resolve(WebBusyIndicatorService));ServiceCollection.instance.registerSingleton(AtomStyleSheet,(sp=>sp.resolve(AtomTheme)));window.addEventListener("hashchange",(()=>{this.hashUpdater.run((()=>{this.url=new AtomUri(location.href)}))}));this.initPromise=new Promise(((resolve,reject)=>{this.onReady(resolve)}))}updateDefaultStyle(textContent){if(this.styleElement){if(this.styleElement.textContent===textContent){return}}const ss=document.createElement("style");ss.textContent=textContent;if(this.styleElement){this.styleElement.remove()}document.head.appendChild(ss);this.styleElement=ss}syncUrl(){this.hashUpdater.run((()=>{const currentUrl=new AtomUri(location.href);const sourceHash=this.url.hash;const keyValues=[];let modified=false;for(const key in sourceHash){if(/^\_\$\_/.test(key)){continue}if(sourceHash.hasOwnProperty(key)){const element=sourceHash[key];const cv=currentUrl.hash[key];if(element!==undefined){keyValues.push({key,value:element})}if(cv===element){continue}modified=true}}if(!modified){return}const hash=keyValues.map((s=>`${s.key}=${encodeURIComponent(s.value)}`)).join("&");location.hash=hash}))}invokeReady(){if(document.readyState==="complete"){super.invokeReady();return}document.addEventListener("readystatechange",(e=>{super.invokeReady()}))}});(function(){if(typeof window.CustomEvent==="function"){return false}function CustomEvent(event,params){params=params||{bubbles:false,cancelable:false,detail:null};const evt=document.createEvent("CustomEvent");evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt}window.CustomEvent=CustomEvent})()}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/emoji-picker/EmojiPicker");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/web/WebApp","@web-atoms/web-controls/dist/mobile-app/BottomPopup"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,WebApp,BottomPopup,EmojiPicker;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistWebWebApp){WebApp=_webAtomsCoreDistWebWebApp.default},function(_webAtomsWebControlsDistMobileAppBottomPopup){BottomPopup=_webAtomsWebControlsDistMobileAppBottomPopup.default}],execute:function(){_export("default",EmojiPicker=class EmojiPicker extends BottomPopup{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,"Loading....");yield WebApp.installScript("https://cdn.jsdelivr.net/npm/emoji-mart@latest/dist/browser.js");yield sleep(500);this.renderer=XNode.create("div",{"style-background-color":"transparent","style-display":"flex","data-align-content":"center","data-justify-content":"center","data-align-items":"center","data-justify-items":"center","style-flex-direction":"column"},XNode.create("div",{"style-max-height":"100px","style-overflow":"hidden"},this.parameters.preview),XNode.create("div",{"data-element":"picker"}));const e=this.element.querySelector(`[data-element="picker"]`);const picker=new EmojiMart.Picker({previewPosition:"none",autoFocus:true,theme:"light",maxFrequentRows:2,onEmojiSelect:emoji=>this.close(emoji.native)});e.appendChild(picker)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/engagements/EngagementDetails");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/InjectProperty","../service/EngagementService","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,ToggleButtonBar,AtomRepeater,Bind,InfiniteRepeater,InjectProperty,EngagementService,DateFormats,EngagementDetails;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceEngagementService){EngagementService=_serviceEngagementService.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EngagementDetails=class EngagementDetails extends PopupWindowPage{constructor(){super(...arguments);this.selectedEngagement="";this.emails=[]}init(){return __awaiter(this,void 0,void 0,(function*(){const{email:{engagements,emailID,dateUpdated},emailAddressID,mailboxID}=this.parameters;this.title="Responses";this.selectedEngagement=engagements[0].engagement;this.headerRenderer=()=>XNode.create("div",null,XNode.create(ToggleButtonBar,{items:engagements,labelPath:x=>`${x.engagement} ${x.count}`,valuePath:x=>x.engagement,value:Bind.twoWaysImmediate((()=>this.selectedEngagement))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.emails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.engagementService.list({start,engagement:this.selectedEngagement,emailID,emailAddressID,mailboxID,dateUpdated}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("div",{text:item.senderName}),XNode.create("div",{text:item.engagement}),XNode.create("div",{text:DateFormats.relative.short(item.dateReceived)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",EngagementService)],EngagementDetails.prototype,"engagementService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/unsubscribe/UnsubscribeWindow");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/sleep","../../../commands/MailAppEvents"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxContact,XNode,InjectProperty,EntityService,Action,FetchBuilder,sleep,MailAppEvents,UnsubscribeWindow;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents}],execute:function(){_export("default",UnsubscribeWindow=class UnsubscribeWindow extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Are you sure?";this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create("div",{text:`From: ${this.parameters.email.senderName}`}),XNode.create("div",{text:this.parameters.email.senderEmail.emailAddress})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"unsubscribe-post"},"Unsubscribe"),XNode.create("button",{"data-click-event":"block-sender","data-margin-left":"auto"},"Block")))}))}unsubscribePost(){return __awaiter(this,void 0,void 0,(function*(){yield this.doUnsubscribe();yield sleep(2e3);this.close("unsubscribed");const{mailboxID,emailAddressID}=this.parameters;const entity=MailboxContact.create({mailboxID,emailAddressID,closeAllConversations:true});yield this.entityService.save(entity,(e=>e));MailAppEvents.mailboxContactUpdated.dispatchEvent(entity)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.unsubscribePost();const{mailboxID,emailAddressID}=this.parameters;const entity=MailboxContact.create({mailboxID,emailAddressID,blocked:true});yield this.entityService.save(entity,(e=>e));MailAppEvents.mailboxContactUpdated.dispatchEvent(entity);this.close("blocked")}))}doUnsubscribe(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("div",null,"Unsubscribing...."));const mce=this.parameters;yield FetchBuilder.post(`/api/emails/unsubscribe/${mce.emailID}/1`).asText();this.renderer=XNode.create("div",null,XNode.create("div",null,"Unsubscribed Successfully."))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],UnsubscribeWindow.prototype,"entityService",void 0);__decorate([Action({onEvent:"unsubscribe-post"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UnsubscribeWindow.prototype,"unsubscribePost",null);__decorate([Action({onEvent:"block-sender"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UnsubscribeWindow.prototype,"blockSender",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailLabel");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function EmailLabel({recipient=void 0}){return XNode.create("a",{href:`mailto:${recipient.emailAddress.emailAddress}`},recipient.name&&XNode.create("span",null,'"',recipient.name,'"'),"<",recipient.emailAddress.emailAddress,">")}_export("default",EmailLabel);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","../../../../common/controls/email-recipients/EmailLabel","./MiniComposeBox","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFile,Email,EmailRecipient,DomToString,XNode,EmailLabel,MiniComposeBox,Bind,EmailIconTextButton,SaveIconTextButton,Action,EntityService,InjectProperty,MiniComposePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsEmailRecipientsEmailLabel){EmailLabel=_commonControlsEmailRecipientsEmailLabel.default},function(_MiniComposeBox){MiniComposeBox=_MiniComposeBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){EmailIconTextButton=_commonControlsButtonsIconButton.EmailIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default}],execute:function(){_export("default",MiniComposePage=class MiniComposePage extends PopupWindowPage{init(){var _a,_b,_c,_d,_e,_f;return __awaiter(this,void 0,void 0,(function*(){const{htmlBody,attachments}=this.prepareEmail();const draft=Email.create({senderID:(_b=(_a=this.parameters.thread)===null||_a===void 0?void 0:_a.mailboxID)!==null&&_b!==void 0?_b:null,forwardedID:(_d=(_c=this.parameters.thread)===null||_c===void 0?void 0:_c.emailID)!==null&&_d!==void 0?_d:null,htmlBody,attachments});const to=[];if(this.parameters.mailto){const url=new URL(this.parameters.mailto);for(const e of url.pathname.split(",")){const ea=e.trim();if(!ea){continue}to.push(EmailRecipient.create({emailAddressText:ea}))}draft.subject=url.searchParams.get("subject");const inReplyTo=url.searchParams.get("in-reply-to");if(inReplyTo){draft.inReplyTo=inReplyTo}const body=url.searchParams.get("body")||"";draft.htmlBody=DomToString(XNode.create("div",null," ",...body.split("\n").map((x=>[x,XNode.create("br",null)])).flat()," "))}this.renderer=XNode.create("div",{"style-overflow-x":"hidden"},XNode.create(MiniComposeBox,{"style-min-width":"50vw","style-min-height":"50vh",senderID:(_f=(_e=this.parameters.thread)===null||_e===void 0?void 0:_e.mailboxID)!==null&&_f!==void 0?_f:null,draft,to,mailboxContacts:[],presenter:Bind.presenter((c=>this.composer=c)),showSendButton:false,showTo:true}),XNode.create("div",{"data-layout":"command-row"},XNode.create(EmailIconTextButton,{"event-click":()=>this.save(true),text:"Send"}),XNode.create(SaveIconTextButton,{"event-click":()=>this.save()})))}))}save(send=false){return __awaiter(this,void 0,void 0,(function*(){if(send){yield this.composer.sendEmail();return send}yield this.composer.save(true);return send}))}prepareEmail(){var _a,_b;this.title="Forward";let htmlBody;let attachments=[];if(!((_a=this.parameters.thread)===null||_a===void 0?void 0:_a.emailID)){htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null))));return{htmlBody,attachments}}const{thread:{email},asAttachment}=this.parameters;const{mimeFileID}=email;if(asAttachment){htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null))));attachments=[AppFile.create({name:"forwarded.eml",sourceEmailLogID:mimeFileID,contentType:"message/rfc822"})]}else{const{recipients}=email;const to=recipients===null||recipients===void 0?void 0:recipients.filter((x=>x.type==="to"));const cc=recipients===null||recipients===void 0?void 0:recipients.filter((x=>x.type==="cc"));htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null)),XNode.create("blockquote",{"data-type":"forwarded",style:"margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;"},XNode.create("summary",null,XNode.create("div",null,"From: ",email.senderName," ",`<${email.senderEmail.emailAddress}>`),XNode.create("div",null,(to===null||to===void 0?void 0:to.length)>0&&XNode.create("div",null,XNode.create("label",{style:"margin-right:10px;"},"To:"),...to.map((x=>XNode.create(EmailLabel,{recipient:x})))),(cc===null||cc===void 0?void 0:cc.length)>0&&XNode.create("div",null,XNode.create("label",{style:"margin-right:10px;"},"CC:"),...cc.map((x=>XNode.create(EmailLabel,{recipient:x})))),XNode.create("div",null,XNode.create("label",{style:"margin-right:10px;"},"Subject:"),XNode.create("label",null,email.subject)),XNode.create("div",{"data-type":"html-body"},XNode.create("div",{innerHTML:email.htmlBody}))))),XNode.create("footer",{"data-social-mail-commands":"emoji-bar"})));attachments=(_b=email.attachments)===null||_b===void 0?void 0:_b.map((x=>AppFile.create(Object.assign(Object.assign({},x),{appFileID:void 0}))))}return{htmlBody,attachments}}});__decorate([InjectProperty,__metadata("design:type",EntityService)],MiniComposePage.prototype,"entityService",void 0);__decorate([Action({close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposePage.prototype,"save",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationTags");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","@web-atoms/core/dist/core/XNode","../../../services/EntityService","../../../common/NumberFormats"],(function(_export,_context){"use strict";var __awaiter,AtomRepeater,MailboxContactTag,XNode,EntityService,toKMBString,ConversationTags;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){MailboxContactTag=_modelModel.MailboxContactTag},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString}],execute:function(){_export("default",ConversationTags=class ConversationTags extends AtomRepeater{constructor(app,e=document.createElement("conversation-tags")){super(app,e);this.contact=null;e.setAttribute("data-layout","flex-wrap-padding");this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.itemRenderer=item=>XNode.create("a",{"data-click-event":"open-tag","data-text-decoration":"none",href:`?tag=${item.tagID}`,text:`#${item.tag.name} (${toKMBString(item.count)})`});this.items=yield this.loadTags();if(this.items.length){return}this.element.style.display="none"}))}loadTags(){return __awaiter(this,void 0,void 0,(function*(){const es=this.resolve(EntityService);const{mailboxID,emailAddressID}=this.contact;const result=yield es.query(MailboxContactTag).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID)).include((x=>x.tag)).orderByDescending((x=>x.count)).toPagedList({size:10});return result.items}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationTagChips");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../../common/Sql","../../../common/cache/CacheTTL","../../../common/NumberFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,MailboxContactTag,Sql,CacheTTL,toKMBString,ConversationTagChips,cacheVersion,cacheSeconds;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){MailboxContactTag=_modelModel.MailboxContactTag},function(_commonSql){Sql=_commonSql.Sql},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString}],execute:function(){cacheVersion="c1";cacheSeconds=CacheTTL.seconds.fifteenMinutes;_export("default",ConversationTagChips=class ConversationTagChips extends AtomChips{constructor(){super(...arguments);this.contact=null}preCreate(){this.bindEvent(document.body,"openTag",(e=>{e.preventDefault();e.stopImmediatePropagation();this.items.add({tag:e.detail.tag})}));super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Search";this.itemRenderer=x=>{var _a,_b;return XNode.create(Chip,{draggable:true,label:(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.name)!==null&&_b!==void 0?_b:x.text})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:`${x.tag.name}(${toKMBString(x.count)})`});this.enterKeyHint="enter";this.itemToChip=(item,text)=>item?item:{text};this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a;return((_a=x.tag)===null||_a===void 0?void 0:_a.tagID)||x.text}}removeItem(item){if(!item.tagID){this.items.remove(item);return}super.removeItem(item)}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}if(!search.startsWith("#")){return}if(!this.contact){return}const{mailboxID,emailAddressID}=this.contact;search=search.substring(1).toLowerCase()+"%";let q=this.entityService.query(MailboxContactTag);q=q.where({mailboxID,emailAddressID,search},(p=>x=>Sql.text.like(x.tag.lowerCaseName,p.search)&&x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID));const items=yield q.orderBy((x=>x.tag.name)).include((x=>x.tag)).toPagedList({cancelToken,cacheSeconds,cacheVersion,hideActivityIndicator:true,size:10});return items.items}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ConversationTagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/web-hooks/WebHookPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,PopupWindowPage,WebHook,WebHookEventTypeArray,Form,FormField,Select,Bind,SaveIconTextButton,Action,InjectProperty,EntityService,WebHookPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebHook=_modelModel.WebHook;WebHookEventTypeArray=_modelModel.WebHookEventTypeArray},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",WebHookPage=class WebHookPage extends PopupWindowPage{constructor(){super(...arguments);this.model=WebHook.create({})}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Web Hook";if(this.parameters){this.model=this.parameters}this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(Select,{items:WebHookEventTypeArray,value:Bind.twoWaysImmediate((()=>this.model.eventType))})),XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.url))})),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-submit-event":"save-item"}))))}))}saveItem(){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.model,(c=>c));return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],WebHookPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-item",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebHookPage.prototype,"saveItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/web-hooks/WebHookListPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","../../../../model/model","../../../../common/date/DateFormats","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../site-editor-app/pages/store/web-hooks/WebHookPage","@web-atoms/web-controls/dist/PageNavigator"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,EntityService,XNode,AtomRepeater,Bind,WebHook,DateFormats,AddIconTextButton,Action,WebHookPage,PageNavigator,WebHookListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_modelModel){WebHook=_modelModel.WebHook},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_siteEditorAppPagesStoreWebHooksWebHookPage){WebHookPage=_siteEditorAppPagesStoreWebHooksWebHookPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default}],execute:function(){_export("default",WebHookListPage=class WebHookListPage extends ContentPage{constructor(){super(...arguments);this.items=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.title;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{"data-layout":"data-grid",items:Bind.oneWayAsync(((c,e,cancelToken)=>this.load({cancelToken}))),itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.eventType}),XNode.create("label",{text:x.url}),XNode.create("label",{text:x.lastEvent}),XNode.create("label",{text:DateFormats.relative.short(x.lastEventTime)}),XNode.create("menu",null,XNode.create("i",{class:"fas fa-times-circle","data-color":"red","data-cursor":"pointer"})))}));this.footerRenderer=()=>XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"add-item",text:"Add Web Hook"}))}))}load({cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID,emailAddressID}=this.parameters;let q=this.entityService.query(WebHook).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID));if(emailAddressID){q=q.where({emailAddressID},(p=>x=>x.emailAddressID===p.emailAddressID))}return this.items=yield q.toArray()}))}addItem(){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID,emailAddressID}=this.parameters;const item=WebHook.create({mailboxID,emailAddressID});const result=yield PageNavigator.pushPageForResult(WebHookPage,item);this.items.add(result)}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],WebHookListPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"add-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebHookListPage.prototype,"addItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","./service/ConversationService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/InlinePopupControl","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage","../../../services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","../../../common/date/DateFormats","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","../../../common/pages/logs/LogsPage","../../../common/SocialMailApp","./detail/MailDetailPage","../../../common/controls/file-preview/FilePreview","./mini-compose/MiniComposeBox","@web-atoms/core/dist/web/core/AtomUI","../../../common/events/CommonEvents","@web-atoms/date-time/dist/DateTime","../../../common/controls/emoji-picker/EmojiPicker","../../../services/EntityService","./engagements/EngagementDetails","../../../common/apiPath","../../../common/controls/buttons/IconButton","./unsubscribe/UnsubscribeWindow","./mini-compose/MiniComposePage","@social-mail/social-mail-client/content/images/gif/loader.gif","./ConversationTags","./ConversationTagChips","./web-hooks/WebHookListPage","./styles/conversation-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,isMobileView,Email,EmailEngagement,EmailRecipient,MailboxContactEmail,Tag,XNode,AtomRepeater,InfiniteRepeater,ConversationService,renderMailPromise,InjectProperty,InlinePopupControl,Bind,Action,PageNavigator,ComposeMailPage,MailboxSocket,LimitedText,DateFormats,InlinePopup,MenuItem,PopupActionButton,LogsPage,SocialMailApp,MailDetailPage,FilePreview,MiniComposeBox,AncestorEnumerator,CommonEvents,DateTime,EmojiPicker,EntityService,EngagementDetails,apiPath,AddIconTextButton,DeleteIconTextButton,EditIconTextButton,UnsubscribeWindow,MiniComposePage,loaderImage,ConversationTags,ConversationTagChips,WebHookListPage,ConversationPage,itemCss,css,id,fixLinks;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage;isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail;Tag=_modelModel.Tag},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_serviceConversationService){ConversationService=_serviceConversationService.default;renderMailPromise=_serviceConversationService.renderMailPromise},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicInlinePopupControl){InlinePopupControl=_webAtomsWebControlsDistBasicInlinePopupControl.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default},function(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopup=_webAtomsWebControlsDistBasicInlinePopup.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_commonPagesLogsLogsPage){LogsPage=_commonPagesLogsLogsPage.default},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_detailMailDetailPage){MailDetailPage=_detailMailDetailPage.default},function(_commonControlsFilePreviewFilePreview){FilePreview=_commonControlsFilePreviewFilePreview.default},function(_miniComposeMiniComposeBox){MiniComposeBox=_miniComposeMiniComposeBox.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonControlsEmojiPickerEmojiPicker){EmojiPicker=_commonControlsEmojiPickerEmojiPicker.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_engagementsEngagementDetails){EngagementDetails=_engagementsEngagementDetails.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;EditIconTextButton=_commonControlsButtonsIconButton.EditIconTextButton},function(_unsubscribeUnsubscribeWindow){UnsubscribeWindow=_unsubscribeUnsubscribeWindow.default},function(_miniComposeMiniComposePage){MiniComposePage=_miniComposeMiniComposePage.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default},function(_ConversationTags){ConversationTags=_ConversationTags.default},function(_ConversationTagChips){ConversationTagChips=_ConversationTagChips.default},function(_webHooksWebHookListPage){WebHookListPage=_webHooksWebHookListPage.default},function(_stylesConversationPageLocalLess){}],execute:function(){itemCss="conversation-page-item-css";css="conversation-page-css";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.keep=true;this.mails=[];this.version=1;this.tags=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const url=new URL(location.href);const tag=url.searchParams.get("tag");if(tag){const tagEntity=yield this.resolve(EntityService).query(Tag).where({tag},(p=>x=>x.lowerCaseName===p.tag)).firstOrDefault();this.tags.add({tag:tagEntity})}const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(ConversationTags,{contact:mb})))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags}),XNode.create("span",{text:title}));this.headerRenderer=()=>XNode.create(ConversationTags,{contact:mb})}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,searchItems:this.tags.length?this.tags:null,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));const isDraft=item.status==="draft";if(item.status==="closed"){return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:`Closed by ${item.senderName}`}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)})))}let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(isSending){let tm=remaining.totalMilliseconds;if(tm<0){tm=1e3}setTimeout((()=>this.mailsRepeater.refreshItem(thread)),tm)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMailPromise({thread})))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),isDraft&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create(EditIconTextButton,{"data-click-event":"edit-draft",text:"Edit Draft"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-draft",text:"Delete Draft"})),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"}),item.hasUnsubscribe&&XNode.create("button",{"data-layout":"link","data-margin-left":"auto","data-click-event":"unsubscribe-email"},"Unsubscribe")),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:"Sending"}),XNode.create("img",{"style-max-height":"30px",src:loaderImage}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px","data-font-size":"small"},XNode.create(MenuItem,{"data-click-event":"open-contact-web-hooks",label:"Web Hooks"}),XNode.create(MenuItem,{"data-click-event":"close-all-threads",label:"Close All Threads"}),!this.parameters.autoClose?XNode.create(MenuItem,{"data-click-event":"close-permanently",label:"Close Threads Permanently"}):XNode.create(MenuItem,{"data-click-event":"open-threads",label:"Open Threads on new Email"}),this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.showComposeButton()}))}openWebHooks(){return __awaiter(this,void 0,void 0,(function*(){const title=`Web Hooks for Contact ${this.parameters.emailAddress.emailAddress}`;PageNavigator.pushPage(WebHookListPage,{mailboxID:this.parameters.mailboxID,emailAddressID:this.parameters.emailAddressID,title})}))}showComposeButton(email=null){if(this.parameters.newRequest||this.parameters.folderTagID===SocialMailApp.newFolderTagID){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender does not exist in your contacts, and this sender's emails will be restricted in future unless you approve the sender."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Approve Sender"})));return}if(this.parameters.blocked){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender is blocked by you."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Unblock Sender"})));return}if(email){this.mailsRepeater.items.remove(email)}this.footerRenderer=()=>XNode.create("div",{"data-position":"absolute","style-right":"20px","style-bottom":"5px","data-layout":"row"},XNode.create(AddIconTextButton,{"event-click":()=>this.startCompose(),"data-margin-left":"auto",text:"Compose"}))}startCompose(thread=null,email=null){this.footerRenderer=()=>{var _a;return XNode.create(MiniComposeBox,{senderID:this.parameters.mailboxID,mailboxContacts:[thread!==null&&thread!==void 0?thread:this.parameters],draft:(_a=thread===null||thread===void 0?void 0:thread.email)!==null&&_a!==void 0?_a:email})}}approveSender(){return __awaiter(this,void 0,void 0,(function*(){const es=this.resolve(EntityService);this.parameters.newRequest=false;this.parameters.blocked=false;this.parameters.folderTagID=SocialMailApp.contactsFolderTagID;yield es.save(this.parameters,(c=>c));this.showComposeButton()}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;const index=this.mails.findIndex((x=>x.emailID===emailID));if(index!==-1){this.mails.removeAt(index)}this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}closeAllThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closeAllThreads(this.parameters)}))}closePermanent(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}openThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread,true),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_b=thread.email)===null||_b===void 0?void 0:_b.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}onEmailForward(thread,asAttachment=false){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(MiniComposePage,{thread,asAttachment})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMailPromise({thread})))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail(mce,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressID:this.parameters.emailAddressID,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressID,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`<${this.parameters.emailAddress.emailAddress}>`}<br/>\n Subject: ${email.subject}\n </summary>\n <div>\n\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});this.startCompose(null,child)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}unsubscribeEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const result=yield PageNavigator.pushPageForResult(UnsubscribeWindow,mce);switch(result){case"blocked":this.parameters.blocked=true;break}}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"open-contact-web-hooks"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openWebHooks",null);__decorate([Action({onEvent:"emailSent"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"showComposeButton",null);__decorate([Action({onEvent:"edit-draft"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"startCompose",null);__decorate([Action({onEvent:"approve-sender"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"approveSender",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"close-all-threads",confirm:"You sure you want to close all threads?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closeAllThreads",null);__decorate([Action({onEvent:"close-permanently",confirm:"Are you sure, you wan to close this contact permanently?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closePermanent",null);__decorate([Action({onEvent:"open-threads",confirm:"Are you sure you want to change this contact to normal?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openThreads",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onEmailForward",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null);__decorate([Action({onEvent:"unsubscribe-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unsubscribeEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","../../../services/mime-service/MimeMessage","../files/service/CloudFileService","./ChooseTemplatePage.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,MimeMessage,CloudFileService,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_filesServiceCloudFileService){CloudFileService=_filesServiceCloudFileService.default},function(_ChooseTemplatePageLocalLess){}],execute:function(){css="choose-template-page";_export("default",ChooserTemplatePage=class ChooserTemplatePage extends PopupWindowPage{constructor(){super(...arguments);this.selected=null;this.selectedFile=null;this.search=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){(_a=this.parameters)!==null&&_a!==void 0?_a:this.parameters={};(_b=(_c=this.parameters).chooseFile)!==null&&_b!==void 0?_b:_c.chooseFile=false;this.title="Choose the template";this.root=AppFile.create({name:"Drives"});const drives=yield this.cloudFileService.allTemplates();this.root.children=drives;this.renderer=XNode.create("div",{class:css},XNode.create(TreeView,{class:"folders",root:this.root,childrenProperty:item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]},selectedItem:Bind.twoWaysImmediate((()=>this.selected)),labelRenderer:x=>XNode.create("span",{text:x.name,title:x.title,"data-click-event":x.isFolder?"none":"select-item"})}),XNode.create("div",{class:"files"},XNode.create("div",{innerHTML:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadTemplate(this.selected,cancelToken)))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!(this.parameters.chooseFile?this.selectedFile:this.selected)))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Choose"}))}))}loadTemplate(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!(file===null||file===void 0?void 0:file.url)){return}const ac=new AbortController;const{signal}=ac;cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel((()=>ac.abort()));const data=yield fetch(file.url,{signal});const node=yield MimeMessage.load(data.body,file.name);if(cancelToken===null||cancelToken===void 0?void 0:cancelToken.cancelled){throw new Error("cancelled")}return node.html}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooserTemplatePage.prototype,"cloudFileService",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Resizable");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../mobile-app/MobileApp","../styles/resizable.global.less"],(function(_export,_context){"use strict";var __rest,AtomDisposableList,XNode,AtomControl,isMobileView,pointerDown;function resizable(_a,child){var{direction="horizontal"}=_a,a=__rest(_a,["direction"]);if(isMobileView){return child}return XNode.create("div",Object.assign({},a,{"data-resizable":"resizable","data-direction":direction}),child,XNode.create("div",{"data-element":"resizer","event-pointerdown":pointerDown}))}_export("default",resizable);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_mobileAppMobileApp){isMobileView=_mobileAppMobileApp.isMobileView},function(_stylesResizableGlobalLess){}],execute:function(){pointerDown=e=>{const target=e.currentTarget;const direction=target.getAttribute("data-direction");const previous=target.parentElement;const disposables=new AtomDisposableList;const{x,y}=e;const width=previous.clientWidth;const control=AtomControl.from(target);target.setPointerCapture(e.pointerId);target.setAttribute("data-resizing","1");disposables.add((()=>{target.removeAttribute("data-resizing");target.releasePointerCapture(e.pointerId)}));disposables.add(control.bindEvent(target,"pointermove",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px"})));disposables.add(control.bindEvent(target,"pointerup",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px";disposables.dispose()})))}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxContact,XNode,Form,FormField,Bind,Action,InjectProperty,MailboxService,DateTime,AddMiniContactPage,errorForInvalidEmail;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){errorForInvalidEmail=e=>{if(!e){return"Email address is required"}if(/[\s\:\/\\\#\$\%\^]/i.test(e.trim())){return"Email address cannot contain space or special characters."}if(!/\@/i.test(e)){return"Invalid email address"}return""};_export("default",AddMiniContactPage=class AddMiniContactPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({name:"",emailAddressText:""})}init(){return __awaiter(this,void 0,void 0,(function*(){this.model.mailboxID=this.parameters.mailboxID;this.title="Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Valid Email Address",required:true,error:Bind.oneWay((()=>errorForInvalidEmail(this.model.emailAddressText)))},XNode.create("input",{autofocus:true,placeholder:"... someone@socialmail.in ",value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"add-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-save"}),"Add"))))}))}addContact(){return __awaiter(this,void 0,void 0,(function*(){this.model.folderTagID=this.parameters.folders.find((x=>/contact/i.test(x.tag.name))).tagID;this.model.dateUpdated=DateTime.now;return yield this.mailboxService.saveContact(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],AddMiniContactPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddMiniContactPage.prototype,"addContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/StringFormat");System.register([],(function(_export,_context){"use strict";var toSentenceCase;return{setters:[],execute:function(){_export("toSentenceCase",toSentenceCase=x=>x.charAt(0).toLocaleUpperCase()+x.substring(1))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","../../../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","../../../services/socket/sockets","./ChooseMailboxPage","../../../common/pages/folders/ChooseTemplatePage","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/Resizable","../../../common/events/CommonEvents","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/ToggleButtonBar","./contact/AddMiniContactPage","@web-atoms/core/dist/web/services/PopupService","../../../common/pages/mailboxes/services/MailboxService","../../../common/NumberFormats","../../commands/MailAppEvents","../../../services/EntityService","../../../common/StringFormat","../../../common/menu/MenuService","./web-hooks/WebHookListPage","./styles/mailbox-contacts.local.less","../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MailService,AtomRepeater,Mailbox,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,MailboxSocket,ChooseMailboxPage,ChooserTemplatePage,isMobileView,Resizable,CommonEvents,Checkbox,ToggleButtonBar,AddMiniContactPage,PopupService,MailboxService,toKMBString,MailAppEvents,EntityService,toSentenceCase,MenuService,WebHookListPage,DateFormats,MailsPage,displayName,types,conversationTypes,getConversationNumber;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){Mailbox=_modelModel.Mailbox},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(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_ChooseMailboxPage){ChooseMailboxPage=_ChooseMailboxPage.default},function(_commonPagesFoldersChooseTemplatePage){ChooserTemplatePage=_commonPagesFoldersChooseTemplatePage.default},function(_webAtomsWebControlsDistMobileAppMobileApp){isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_webAtomsWebControlsDistBasicResizable){Resizable=_webAtomsWebControlsDistBasicResizable.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_contactAddMiniContactPage){AddMiniContactPage=_contactAddMiniContactPage.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonStringFormat){toSentenceCase=_commonStringFormat.toSentenceCase},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default},function(_webHooksWebHookListPage){WebHookListPage=_webHooksWebHookListPage.default},function(_stylesMailboxContactsLocalLess){},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){displayName=item=>{const{emailAddress:{emailAddress,name}={}}=item;if(name&&name!==emailAddress){return name}return emailAddress.split("@")[0]};types=[{label:"Contacts",value:false},{label:"Blocked",value:true}];conversationTypes=[{label:"All",value:"all"},{label:"Open",value:"open"},{label:"Closed",value:"closed"}];getConversationNumber=(item,mb)=>{switch(item.value){case"open":return toKMBString(Number(mb.openThreads));case"closed":return toKMBString(Number(mb.totalThreads)-Number(mb.openThreads))}return toKMBString(Number(mb.totalThreads))};_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.keep=true;this.folders=[];this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.searchInMessages=false;this.version=1;this.conversationType="all";this.folder=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.menuService.addMailbox(mailbox);this.folder=mailbox.folders[0];if(mailbox.isExternal){const es=this.resolve(EntityService);es.invoke(Mailbox,"fetch",mailbox).catch(console.error)}this.element.className="mailbox-contacts-page";document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;this.updateNotifications(mailbox);if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Resizable,null,XNode.create("div",{class:"threads-container"},XNode.create("div",{class:"blocked-bar"},XNode.create(ToggleButtonBar,{items:mailbox.folders,labelPath:x=>x.main?toSentenceCase(x.tag.name):`${toSentenceCase(x.tag.name)} (${x.count})`,selectedItem:Bind.sourceTwoWays(this,(x=>x.source.folder))}),XNode.create(ToggleButtonBar,{"style-display":Bind.oneWay((()=>this.folder.main)),items:conversationTypes,itemRenderer:item=>XNode.create("div",{"data-item-type":"toggle-button",class:"conversation-type"},XNode.create("label",{text:item.label}),XNode.create("label",{"data-font-size":"xx-small",text:Bind.source(item,(x=>getConversationNumber(x.source,this.currentMailbox)))})),value:Bind.sourceTwoWays(this,(x=>x.source.conversationType))})),XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),presenter:Bind.presenter((c=>this.threadsRepeater=c)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,searchInMessages:this.searchInMessages,conversationType:this.conversationType,mailboxID:this.currentMailbox.mailboxID,version:this.version,folderID:this.folder.tagID,cancelToken}))),{itemRenderer:item=>{var _a,_b;const name=displayName(item)+" "+item.emailAddress.emailAddress;const subject=(_a=item.lastEmail)===null||_a===void 0?void 0:_a.subject;const summary=(_b=item.lastEmail)===null||_b===void 0?void 0:_b.summary;return XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},XNode.create("div",{class:"name",title:name,text:name}),XNode.create("div",{class:"subject",title:subject,text:subject}),XNode.create("div",{class:"summary",title:summary,text:summary}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}),item.openThreads&&XNode.create("div",{class:"open-threads",text:toKMBString(item.openThreads)}),XNode.create("div",{class:"updated",title:DateFormats.withWeekDayAndTime(item.dateUpdated),text:DateFormats.relative.short(item.dateUpdated,{suffix:""})}))}})),XNode.create("div",{class:"add-contact"},XNode.create("button",{"data-click-event":"add-new-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-plus"}),"Contact"),XNode.create("i",{"data-click-event":"open-web-hooks",class:"fas fa-gears"})))));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}updateMailboxContact(mc){const{mailboxID,emailAddressID}=mc;const item=this.threadsRepeater.items.find((x=>x.mailboxID===mailboxID&&x.emailAddressID===emailAddressID));this.threadsRepeater.refreshItem(item)}openWebHooks(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebHookListPage,{mailboxID:this.parameters.id,title:`Web Hooks for Mailbox ${this.title}`})}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox});this.version++}))}composeSocial(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox,social:true});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}onThreadMarkedAsBlocked(thread){const index=this.mails.findIndex((x=>x.emailAddressID===thread.emailAddressID));if(index===-1){return}this.mails.removeAt(index);this.selectedThread=this.mails[index]}addNewContact(){return __awaiter(this,void 0,void 0,(function*(){const c=yield PageNavigator.pushPageForResult(AddMiniContactPage,this.currentMailbox);let existing=this.mails.find((x=>x.emailAddressID===c.emailAddressID));if(!existing){existing=c;this.mails.add(existing)}this.selectedThread=existing}))}updateMailboxNotify(){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){const m=this.currentMailbox;const message=m.notify?`Disable notification for this ${((_a=m.emailAddress)===null||_a===void 0?void 0:_a.name)||""} ${(_b=m.emailAddress)===null||_b===void 0?void 0:_b.emailAddress}?`:`Enable notification for this ${((_c=m.emailAddress)===null||_c===void 0?void 0:_c.name)||""} ${(_d=m.emailAddress)===null||_d===void 0?void 0:_d.emailAddress}?`;if(!(yield PopupService.confirm({message,title:"Are you sure"}))){return}yield this.resolve(MailboxService).toggleNotify(m);this.updateNotifications(m)}))}updateNotifications(mailbox){this.actionRenderer=()=>XNode.create("i",{class:mailbox.notify?"fad fa-bell":"fad fa-bell-slash",title:mailbox.notify?"Disable Notifications":"Enable Notifications","data-click-event":"update-mailbox-notify"})}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([InjectProperty,__metadata("design:type",MenuService)],MailsPage.prototype,"menuService",void 0);__decorate([Action({onEvent:MailAppEvents.mailboxContactUpdated}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"updateMailboxContact",null);__decorate([Action({onEvent:"open-web-hooks"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"openWebHooks",null);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"compose-social"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeSocial",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null);__decorate([Action({onEvent:CommonEvents.onThreadMarkedAsBlocked}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"onThreadMarkedAsBlocked",null);__decorate([Action({onEvent:"add-new-contact"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"addNewContact",null);__decorate([Action({onEvent:"update-mailbox-notify"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"updateMailboxNotify",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../services/email/EmailContentDownloader","../../mails/service/EngagementService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Email,Mailbox,MailboxContact,MailboxContactEmail,Sql,EmailContentDownloader,EngagementService,ChannelService;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){Email=_modelModel.Email;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_mailsServiceEngagementService){EngagementService=_mailsServiceEngagementService.default}],execute:function(){ChannelService=class ChannelService{getMails({channelID,published=true,start=0,size=100,search="",version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail);if(channelID){q=q.where({channelID},(p=>x=>x.mailboxID===p.channelID))}if(published){q=q.where(void 0,(p=>x=>x.email.status==="published"))}else{q=q.where(void 0,(p=>x=>x.email.status!=="published"))}if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.email.subject,p.search)))}const result=yield q.orderByDescending((x=>x.emailID)).include((x=>[x.email,x.email.attachments])).toPagedList({start,size,cancelToken});const tasks=[];for(const iterator of result.items){tasks.push(this.emailContentDownloader.downloadPost(iterator.email));tasks.push(this.engagementService.downloadEngagements(iterator.email))}yield Promise.all(tasks);return{items:result.items.map((x=>x.email)),total:result.total}}))}getMailbox(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).include((x=>x.emailAddress)).where({id,isChannel:true},(p=>x=>x.isChannel===p.isChannel&&x.mailboxID===p.id)).firstOrDefault()}))}subscribers({id,cancelToken,size,start,search,v}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({id},(p=>x=>x.mailboxID===p.id));if(search){if(!/\%/i.test(search)){search+="%"}q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress.name,p.search)||Sql.text.iLike(x.emailAddress.emailAddress,p.search)))}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}))}save(model){return this.entityService.save(model)}saveAll(subscribers){return __awaiter(this,void 0,void 0,(function*(){const cloners=[];for(const iterator of subscribers){cloners.push(this.entityService.cloner(iterator).copy)}yield this.entityService.save(cloners)}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID}=email;yield this.entityService.save(Email.create({emailID,status:"deleted"}));email.status="deleted"}))}};__decorate([Inject,__metadata("design:type",EntityService)],ChannelService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ChannelService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ChannelService.prototype,"engagementService",void 0);ChannelService=__decorate([DITransient({})],ChannelService);_export("default",ChannelService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/XNode","../../../commands/AppCommands","@web-atoms/web-controls/dist/basic/AtomRepeater","../services/ChannelService","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/LimitedText","../../../../common/date/DateFormats","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/InlinePopupControl","@web-atoms/web-controls/dist/basic/PopupButton","../../mails/detail/MailDetailPage","../../../../common/apiPath","../../mails/service/ConversationService","./channel-detail-page.local.less","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,XNode,AppCommands,AtomRepeater,ChannelService,InfiniteRepeater,Bind,LimitedText,DateFormats,Action,PageNavigator,InlinePopupControl,MenuItem,MailDetailPage,apiPath,renderMailPromise,Checkbox,ChannelDetailPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicInlinePopupControl){InlinePopupControl=_webAtomsWebControlsDistBasicInlinePopupControl.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_mailsDetailMailDetailPage){MailDetailPage=_mailsDetailMailDetailPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_mailsServiceConversationService){renderMailPromise=_mailsServiceConversationService.renderMailPromise},function(_channelDetailPageLocalLess){},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){css="channel-detail-page";_export("default",ChannelDetailPage=class ChannelDetailPage extends ContentPage{constructor(){super(...arguments);this.search="";this.version=1;this.published=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.mailbox=yield this.mailboxService.get(this.parameters.id);this.title=`${this.mailbox.emailAddress.name||this.mailbox.name} (${this.mailbox.emailAddress.emailAddress})`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.published)),text:"Published"}),XNode.create("a",{"data-click-event":"route",href:AppCommands.openSubscribers.displayRoute({id:this.parameters.id})},"Subscribers"));this.renderer=XNode.create("section",{class:css},XNode.create(AtomRepeater,Object.assign({"data-blog-list":"blog-list"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.getMails({published:this.published,channelID:this.parameters.id,search:this.search,version:this.version,cancelToken}))),{itemRenderer:email=>XNode.create("section",{"data-element":"blog-item"},XNode.create("div",{"data-element":"bg"}),XNode.create("h4",{"data-element":"title",text:email.subject}),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),XNode.create("h6",{"data-element":"author",text:email.senderName}),XNode.create("i",{"data-element":"actions","data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical"}),XNode.create("section",{"data-element":"content"},XNode.create(LimitedText,{height:200},XNode.create("section",Object.assign({},renderMailPromise({email}))))))})))}))}mailOptions(email,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},(email===null||email===void 0?void 0:email.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-trash-can","data-click-event":"delete-mail",label:"Hide"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs//${email.mimeFileID}/${email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"})))}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){yield this.channelService.deleteMail(email);this.version++}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChannelDetailPage.prototype,"mailboxService",void 0);__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelDetailPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"delete-mail",confirm:"Are you sure you want to delete this email?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"deleteMail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../model/model","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../services/ChannelService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Form,FormField,PopupWindowPage,MailboxContact,SaveIconTextButton,Action,ChannelService,InjectProperty,Checkbox,AddSubscriberPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddSubscriberPage=class AddSubscriberPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({});this.emailAddress=""}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.title="Add/Invite new subscriber";(_a=(_b=this.model).emailAddressText)!==null&&_a!==void 0?_a:_b.emailAddressText="";this.model.mailboxID=this.parameters.id;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Email Address"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"add-subscriber",text:"Add"}))))}))}inviteSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="invited";yield this.channelService.save(this.model)}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.channelService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],AddSubscriberPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"invite-subscriber",success:"Invitation sent",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"inviteSubscriber",null);__decorate([Action({onEvent:"add-subscriber",success:"Subscriber added successfully",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"addSubscriber",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,Checkbox,Form,FormField,PopupWindowPage,SaveIconTextButton,UpdateRightsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",UpdateRightsPage=class UpdateRightsPage extends PopupWindowPage{constructor(){super(...arguments);this.model={isOwner:false,canContribute:false}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Update Rights of selected subscribers";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.model),text:"Update"}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../services/ChannelService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./add/AddSubscriberPage","../../../../common/controls/buttons/IconButton","./rights/UpdateRightsPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,ChannelService,XNode,AtomRepeater,SelectAll,SelectorCheckBox,InfiniteRepeater,Bind,MenuItem,PopupActionButton,Action,PageNavigator,AddSubscriberPage,DeleteIconTextButton,SaveIconTextButton,UpdateRightsPage,ChannelSubscribersPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_addAddSubscriberPage){AddSubscriberPage=_addAddSubscriberPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_rightsUpdateRightsPage){UpdateRightsPage=_rightsUpdateRightsPage.default}],execute:function(){_export("default",ChannelSubscribersPage=class ChannelSubscribersPage extends ContentPage{constructor(){super(...arguments);this.search="";this.subscribers=[];this.version=1;this.selected=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.channelService.getMailbox(this.parameters.id);const{emailAddress}=this.model;const title=emailAddress.name?`${emailAddress.name} (${emailAddress.emailAddress})`:emailAddress.emailAddress;this.title=title;this.actionRenderer=()=>XNode.create(PopupActionButton,{class:"fas fa-plus"},XNode.create(MenuItem,{"data-click-event":"add-subscriber",label:"Add Subscriber"}),XNode.create(MenuItem,{"data-click-event":"import-subscribers",label:"Import CSV"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(SelectAll,{items:this.subscribers,selectedItems:this.selected}),XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.subscribers,selectedItems:this.selected,allowMultipleSelection:true},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.subscribers({start,size:200,id:this.parameters.id,search:this.search,cancelToken,v:this.version}))),{itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create(SelectorCheckBox,null),XNode.create("div",{text:item.emailAddress.emailAddress}),XNode.create("div",{text:item.status}),XNode.create("div",{text:item.isOwner?"Is Owner":""}),XNode.create("div",{text:item.canContribute?"Can Contribute":""}))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected.length>0)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-click-event":"activate-subscribers",text:"Activate"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-subscribers",text:"Delete"}),XNode.create(SaveIconTextButton,{"data-click-event":"update-rights",text:"Update Rights"}))}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(AddSubscriberPage,{id:this.parameters.id});this.version++}))}deleteSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.$deleted=true}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}activateSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.status="active"}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}updateRights(){return __awaiter(this,void 0,void 0,(function*(){const rights=yield PageNavigator.pushPageForResult(UpdateRightsPage);for(const iterator of this.selected){iterator.canContribute=rights.canContribute;iterator.isOwner=rights.isOwner}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelSubscribersPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"add-subscriber"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"addSubscriber",null);__decorate([Action({onEvent:"delete-subscribers",confirm:"Are you sure you want to remove selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"deleteSubscribers",null);__decorate([Action({onEvent:"activate-subscribers",confirm:"Are you sure you want to activate given subscribers?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"activateSubscribers",null);__decorate([Action({onEvent:"update-rights"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"updateRights",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../controls/repeater/InfiniteRepeater","../../NumberFormats","@web-atoms/core/dist/view-model/Action","../../../web/commands/AppCommands","../files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomRepeater,ContentPage,InfiniteRepeater,toFileSize,Action,AppCommands,CloudFileService,DriveListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_filesServiceCloudFileService){CloudFileService=_filesServiceCloudFileService.default}],execute:function(){_export("default",DriveListPage=class DriveListPage extends ContentPage{constructor(){super(...arguments);this.rootFolders=[];this.version=1;this.search=""}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.selectedFolder=null;this.actionRenderer=()=>XNode.create("i",{class:"fas fa-plus","data-click-event":"create-folder"});this.selectedFolder=(_a=this.rootFolders[0])!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.rootFolders,selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder)),"data-list-selection":"default","data-selection-updated-event":"on-selection-changed"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.cloudFileService.drives({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.appFileID})},item.name)),XNode.create("td",{text:item.creator.displayName}),XNode.create("td",{text:toFileSize(item.fileSize)}))})))}))}createFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder you want to create");if(!name){return}const folder=yield this.cloudFileService.createFolder({name});this.rootFolders.add(folder);this.selectedFolder=folder}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],DriveListPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"create-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DriveListPage.prototype,"createFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/FileShareService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,AppFileAccess,Sql,FileShareService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){FileShareService=class FileShareService{list(fileID,expired=false){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(AppFileAccess).where({fileID},(p=>x=>x.fileID===p.fileID));if(!expired){q=q.where((x=>x.expires===null||x.expires>Sql.date.now()))}return q.include((x=>[x.file,x.user])).toArray()}))}save(fa){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(fa);const{fileID,userID}=fa;return this.entityService.query(AppFileAccess).where({userID,fileID},(p=>x=>x.fileID===p.fileID&&x.userID===p.userID)).include((x=>x.user)).firstOrDefault()}))}};__decorate([Inject,__metadata("design:type",EntityService)],FileShareService.prototype,"entityService",void 0);FileShareService=__decorate([DITransient()],FileShareService);_export("default",FileShareService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Switch");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/switch.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function Switch(_a){var{checked,onLabel,offLabel}=_a,a=__rest(_a,["checked","onLabel","offLabel"]);return XNode.create("label",Object.assign({"data-ui-switch":"ui-switch"},a),XNode.create("input",{class:"switch-input",type:"checkbox",checked}),XNode.create("span",{class:"switch-label","data-on":onLabel!==null&&onLabel!==void 0?onLabel:"On","data-off":offLabel!==null&&offLabel!==void 0?offLabel:"Off"}),XNode.create("span",{class:"switch-handle"}))}_export("default",Switch);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesSwitchGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../../admin/pages/users/services/AdminUserService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,AdminUserService,XNode,Bind,UserDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_adminPagesUsersServicesAdminUserService){AdminUserService=_adminPagesUsersServicesAdminUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",UserDropDown=class UserDropDown extends DropDown{init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.valuePath=user=>user.userID;this.itemRenderer=user=>XNode.create("div",null,user.displayName," (",user.userID,", ",user.userName,")");this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>__awaiter(this,void 0,void 0,(function*(){return(yield this.userService.list({search:this.search,start:0,size:20,cancelToken})).items}))))}))}))}preCreate(){super.preCreate();this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDropDown.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Calendar");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/date-time/dist/DateTime","./AtomRepeater","./Select","./styles/calendar.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,WatchProperty,XNode,DateTime,AtomRepeater,Select,Calendar,start,getWeekDays,getMonths,weekdays,months;function setValue(target,name,value){Object.defineProperty(target,name,{value});return value}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default},function(_Select){Select=_Select.default},function(_stylesCalendarGlobalLess){}],execute:function(){start=DateTime.now;getWeekDays=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<7;i++){weekDays.push(baseDate.toLocaleDateString(locale,{weekday:type}));baseDate.setDate(baseDate.getDate()+1)}return weekDays};getMonths=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<12;i++){weekDays.push(baseDate.toLocaleDateString(locale,{month:type}));baseDate.setMonth(i+1)}return weekDays};_export("weekdays",weekdays={get short(){return setValue(this,"short",getWeekDays(navigator.language,"short"))},get long(){return setValue(this,"long",getWeekDays(navigator.language,"long"))}});_export("months",months={get short(){return setValue(this,"short",getMonths(navigator.language,"short"))},get long(){return setValue(this,"long",getMonths(navigator.language,"long"))},get items(){return setValue(this,"items",this.long.map(((x,i)=>({label:x,value:i}))))}});_export("default",Calendar=class Calendar extends AtomRepeater{constructor(){super(...arguments);this.dateModified=false}set startDate(v){if(this.dateModified){return}const year=v.getFullYear();const month=v.getMonth();if(this.year!==year){this.year=year}if(this.month!==month){this.month=month}}get dates(){const year=this.year;const tm=this.month;if(tm===undefined||year===undefined){return[]}const month=Number(tm);const today=DateTime.today;let startDate=new DateTime(year,month,1);while(startDate.dayOfWeek!==1){startDate=startDate.add(-1)}const a=[];const y=startDate.year;const m=startDate.month;const ef=this.enableFunc;for(let index=0;index<42;index++){const cd=startDate.add(index);const item={label:cd.day+"",row:Math.floor(index/7),column:index%7,type:null,value:cd,isToday:cd.equals(today),isOtherMonth:month!==cd.month,isWeekend:cd.dayOfWeek===0||cd.dayOfWeek===6,disabled:false};if(ef){item.disabled=!ef(item)}a.push(item)}return a}get years(){const years=[];const s=start.year+this.yearStart;const e=start.year+this.yearEnd+1;for(let index=s;index<e;index++){years.push({label:index.toString(),value:index})}return years}get value(){return super.value}set value(v){if(v instanceof Date){this.startDate=v}super.value=v}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"enableFunc":case"dateRenderer":this.updateItems();break}}next(){if(this.month===11){this.year++;this.month=0;return}this.month++}prev(){if(this.month===0){this.year--;this.month=11;return}this.month--}preCreate(){super.preCreate();const now=new Date;this.selectedItems=[];this.valuePath=i=>i===null||i===void 0?void 0:i.value;this.yearStart=-10;this.yearEnd=10;this.year=now.getFullYear();this.month=now.getMonth();this.comparer=(left,right)=>{var _a,_b;return left&&right&&((_a=DateTime.from(left).date)===null||_a===void 0?void 0:_a.msSinceEpoch)===((_b=DateTime.from(right).date)===null||_b===void 0?void 0:_b.msSinceEpoch)};this.bindEvent(this.element,"change",(()=>this.dateModified=true),null,{capture:true});this.bindEvent(this.element,"itemSelect",(e=>e.detail.disabled?e.preventDefault():null));this.render(XNode.create("div",{"data-calendar":"calendar",items:Bind.oneWay((()=>this.dates))},XNode.create("i",{"data-element":"previous","event-click":()=>this.prev(),class:"fa-solid fa-circle-chevron-left",title:"Previous Month"}),XNode.create(Select,{"data-element":"month",items:months.items,value:Bind.twoWays((()=>this.month))}),XNode.create(Select,{"data-element":"year",items:Bind.oneWay((()=>this.years)),value:Bind.twoWays((()=>this.year))}),XNode.create("i",{"data-element":"next","event-click":()=>this.next(),class:"fa-solid fa-circle-chevron-right",title:"Next Month"}),XNode.create("div",{class:"week"}),XNode.create("div",{"data-click-event":"item-select",class:"dates"})));this.itemsPresenter=this.element.lastElementChild;const week=this.element.lastElementChild.previousElementSibling;let w=1;for(const iterator of weekdays.short){const text=document.createElement("span");text.textContent=iterator;week.appendChild(text);text.style.gridColumnStart=`${w++}`}this.dateRenderer=item=>XNode.create("div",{text:item.label});this.itemRenderer=item=>{var _a;const d=this.dateRenderer(item);const a=(_a=d.attributes)!==null&&_a!==void 0?_a:d.attributes={};if(item.isToday){a["data-is-today"]=item.isToday}if(item.isOtherMonth){a["data-is-other-month"]=item.isOtherMonth}if(item.isWeekend){a["data-is-weekend"]=item.isWeekend}if(item.disabled){a["data-disabled"]=item.disabled}return d}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){this.dateModified=true;super.dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem)}});__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"month",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"dateRenderer",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"dates",null);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"years",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TimeEditor");System.register(["@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/TimeSpan","./Select","@web-atoms/core/dist/core/Bind","./styles/time-editor.global.less"],(function(_export,_context){"use strict";var AtomBinder,XNode,AtomControl,TimeSpan,Select,Bind,TimeEditor;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_Select){Select=_Select.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_stylesTimeEditorGlobalLess){}],execute:function(){_export("default",TimeEditor=class TimeEditor extends AtomControl{get time(){let t=new TimeSpan(0,this.hour,this.minute);if(this.isPM){t=t.add(TimeSpan.fromHours(12))}return t}set time(v){if(!v){v=TimeSpan.fromSeconds(0)}let h=v.hours;if(h>12){h-=12;this.isPM=true}this.hour=h;this.minute=v.minutes;AtomBinder.refreshValue(this,"time")}create(){this.isPM=false;this.hour=12;this.minute=0;this.render(XNode.create("div",{"data-time-editor":"time-editor","event-change":()=>setTimeout((()=>AtomBinder.refreshValue(this,"time")),1)},XNode.create(Select,{"data-element":"hour",items:hours(),value:Bind.twoWays((()=>this.hour))}),XNode.create(Select,{"data-element":"minute",items:minutes(),value:Bind.twoWays((()=>this.minute))}),XNode.create("button",{"event-click":()=>(this.isPM=false,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>!this.isPM)),"data-element":"am",text:"AM"}),XNode.create("button",{"event-click":()=>(this.isPM=true,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>this.isPM)),"data-element":"pm",text:"PM"})))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");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/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);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(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldGlobalLess){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/FileHistoryService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,AppFile,AppFileVersion,Sql,FileHistoryService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;AppFileVersion=_modelModel.AppFileVersion},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("FileHistoryService",FileHistoryService=class FileHistoryService{list({start=0,size=20,appFileID=0,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(AppFileVersion).where({appFileID},(p=>x=>x.fileID===p.appFileID));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.fileContent.textDocument.searchable,p.search)))}return q.include((x=>[x.fileContent,x.user])).orderByDescending((x=>x.versionID)).toPagedList({start,size,cancelToken})}))}restore(version){return __awaiter(this,void 0,void 0,(function*(){const{fileID,fileContentID}=version;const file=yield this.entityService.query(AppFile).where({fileID},(p=>x=>x.appFileID===p.fileID)).firstOrDefault();file.fileContentID=fileContentID;yield this.entityService.save(file);return file}))}});__decorate([Inject,__metadata("design:type",EntityService)],FileHistoryService.prototype,"entityService",void 0);_export("FileHistoryService",FileHistoryService=__decorate([DITransient()],FileHistoryService))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/InjectProperty","../../../services/files/FileHistoryService","../../date/DateFormats","../../NumberFormats","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InfiniteRepeater,InjectProperty,FileHistoryService,DateFormats,toFileSize,SaveIconTextButton,Action,FileHistoryPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileHistoryService){FileHistoryService=_servicesFilesFileHistoryService.FileHistoryService},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",FileHistoryPage=class FileHistoryPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name+" History";this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.fileHistoryService.list({appFileID:this.parameters.appFileID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.versionID}),XNode.create("label",{text:item.user.userName}),XNode.create("label",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("label",{text:toFileSize(item.fileContent.contentSize)}),XNode.create("br",null),XNode.create("menu",null,XNode.create(SaveIconTextButton,{"data-click-event":"restore-file",text:"Restore"})))})))}))}restoreFile(version){return __awaiter(this,void 0,void 0,(function*(){return yield this.fileHistoryService.restore(version)}))}});__decorate([InjectProperty,__metadata("design:type",FileHistoryService)],FileHistoryPage.prototype,"fileHistoryService",void 0);__decorate([Action({confirm:"Are you sure you want to restore this version?",onEvent:"restore-file",close:true,success:"File restored successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FileHistoryPage.prototype,"restoreFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/folder/FolderPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/UploadEvent","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../controls/tree/TreeView","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../service/CloudFileService","@web-atoms/core/dist/core/InjectProperty","../../../NumberFormats","../../../controls/drag-drop/FilesDragDrop","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/PageNavigator","../shares/EditSharesPage","@web-atoms/web-controls/dist/basic/InlinePopup","../../../../web/page/templates/EditTemplatePage","../FileHistoryPage","../../../FileUrlService","./FolderPage.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,AppFile,XNode,UploadEvent,AtomRepeater,SelectAll,SelectorCheckBox,TreeView,Bind,Action,CloudFileService,InjectProperty,toFileSize,FilesDragDrop,PopupButton,MenuItem,PageNavigator,EditSharesPage,InlinePopup,EditTemplatePage,FileHistoryPage,FileUrlService,FolderPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceCloudFileService){CloudFileService=_serviceCloudFileService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsDragDropFilesDragDrop){FilesDragDrop=_controlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_sharesEditSharesPage){EditSharesPage=_sharesEditSharesPage.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopup=_webAtomsWebControlsDistBasicInlinePopup.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_FileHistoryPage){FileHistoryPage=_FileHistoryPage.default},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_FolderPageLocalLess){}],execute:function(){css="folder-page";getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",FolderPage=class FolderPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.selectedFiles=[];this.files=[]}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_b=this.root).children)!==null&&_a!==void 0?_a:_b.children=[];this.root.children.remove((x=>!x.isFolder));this.selectedFolder=this.root;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFolder.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFolder.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFolder.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFolder.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css,files:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,cancelToken})))},XNode.create(TreeView,{class:"folder-tree",presenter:Bind.presenter((c=>this.folderTree=c)),childrenProperty:item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]},root:this.root,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{"data-layout":"data-grid",allowMultipleSelection:true,selectedItems:this.selectedFiles,header:true,headerRenderer:()=>XNode.create("header",null,XNode.create(SelectAll,{items:Bind.oneWay((()=>this.files)),selectedItems:this.selectedFiles})),itemRenderer:file=>this.renderFile(file),items:Bind.oneWay((()=>this.files))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0)),"data-layout":"command-row"},XNode.create("button",{"data-click-event":"delete-files","data-layout":"stop-icon-button"},XNode.create("i",{class:"fas fa-trash-can"}),"Delete"))}))}renderFile(item){if(item.isFolder){return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("span",{"data-click-event":"open-folder",class:"file-link",text:item.name,"data-padding-left":"auto"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})),XNode.create("menu",null,XNode.create("i",{"data-click-event":"file-options",class:"fad fa-ellipsis-vertical"})))}if(this.parameters.templates&&item.contentType==="message/rfc822"){return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("span",{"data-click-event":"open-template",class:"file-link",text:item.name,"data-margin-left":"default"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null,XNode.create("a",{href:FileUrlService.downloadUrl(item),target:"_blank",download:true},XNode.create("i",{class:"fas fa-download"}))),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})),XNode.create("menu",null,XNode.create("i",{"data-click-event":"file-options",class:"fad fa-ellipsis-vertical"})))}return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("a",{href:item.url,target:"_blank",text:item.name,"data-margin-left":"default"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null,XNode.create("a",{href:FileUrlService.downloadUrl(item),target:"_blank",download:true},XNode.create("i",{class:"fas fa-download"}))),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})),XNode.create("menu",null,XNode.create("i",{"data-click-event":"file-options",class:"fad fa-ellipsis-vertical"})))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}fileOptions(file,e){return InlinePopup.show(e.target,XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"file-history",label:"History"}),XNode.create(MenuItem,{"data-click-event":"file-rename",label:"Rename"})),{alignment:"bottomRight",onClick:"close"})}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(FileHistoryPage,file)}))}fileRename(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Rename file",file.name);if(!newName){return}file.name=newName;yield this.cloudFileService.save(file);this.version++}))}openFolder(file){this.selectedFolder=file}newFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder");if(!name){return}const parentID=this.selectedFolder.appFileID;const folder=yield this.cloudFileService.createFolder({name,parentID});this.selectedFolder.children.add(folder)}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}deleteFiles(){return __awaiter(this,void 0,void 0,(function*(){const copy=[].concat(this.selectedFiles);while(copy.length){const slice=copy.splice(0,10);yield this.cloudFileService.delete(slice);for(const iterator of slice){this.selectedFiles.remove(iterator);this.files.remove(iterator)}}this.version++}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFolder.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFolder.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],FolderPage.prototype,"editShares",null);__decorate([Action({onEvent:"file-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Event]),__metadata("design:returntype",void 0)],FolderPage.prototype,"fileOptions",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"file-rename"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"fileRename",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],FolderPage.prototype,"openFolder",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"newFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-files",confirm:"Are you sure you want to delete selected files?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"deleteFiles",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderPage.prototype,"openTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,AppForm,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/entity/EntityListControl");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/web-controls/dist/basic/AtomRepeater","../repeater/InfiniteRepeater","../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty","../buttons/IconButton","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/view-model/Action","./EntityListControl.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomControl,AtomRepeater,InfiniteRepeater,EntityService,InjectProperty,AddIconTextButton,Form,FormField,Action,FormFields,EntityListControl;_export({FormFields:void 0,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_repeaterInfiniteRepeater){InfiniteRepeater=_repeaterInfiniteRepeater.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_buttonsIconButton){AddIconTextButton=_buttonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_EntityListControlGlobalLess){}],execute:function(){_export("FormFields",FormFields=class FormFields extends AtomControl{});_export("default",EntityListControl=class EntityListControl extends AtomControl{constructor(app,e=document.createElement("entity-list")){super(app,e);this.dataLayout="data-grid";this.typeModel=null;this.items=[];this.selectedItem=null;this.selectedItems=[];this.search="";this.inlineAdd=null;this.addPage=null;this.addItemDefaults={};this.searchQuery=null;this.listQuery=null;this.itemRenderer=null;this.saveInclude=null;this.size=100;this.repeater=null;this.newItem=null;this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{newItem:Bind.oneWay((()=>this.createNewItem(this.inlineAdd,this.addPage)))},XNode.create(AtomRepeater,Object.assign({"data-layout":this.dataLayout,items:Bind.oneWay((()=>this.items)),itemRenderer:Bind.oneWay((()=>this.itemRenderer)),header:Bind.oneWay((()=>this.newItem)),headerRenderer:header=>this.displayHeader(header,this.inlineAdd,this.addPage),presenter:Bind.presenter((c=>this.repeater=c))},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.loadItems({search:this.search,start,size:this.size,cancelToken}))))))}))}displayHeader(header,inlineAdd,addPage){var _a;if(addPage){return XNode.create("header",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(AddIconTextButton,{"data-click-event":"add-new-item",text:"Add"}))}if(!header){return XNode.create("header",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}))}let formItems=inlineAdd===null||inlineAdd===void 0?void 0:inlineAdd(header);if(!Array.isArray(formItems)){if(formItems.name===Form){((_a=formItems.attributes)!==null&&_a!==void 0?_a:formItems.attributes={})["data-submit-event"]="submit-new-item";return XNode.create("header",null,XNode.create("section",null,XNode.create("div",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))})),XNode.create("section",null,XNode.create("details",null,XNode.create("summary",null,"Add New")),formItems)))}else if(!formItems.name||formItems.name===FormFields){formItems=formItems.children}else{formItems=[formItems]}}return XNode.create("header",null,XNode.create("section",{"data-layout":"vertical-flex"},XNode.create("div",{"data-position":"sticky-top"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))})),inlineAdd&&XNode.create("section",null,XNode.create("details",null,XNode.create("summary",null,"Add New"),XNode.create(Form,null,...formItems,XNode.create(FormField,{label:""},XNode.create(AddIconTextButton,{"data-submit-event":"submit-new-item",text:"Add"})))))))}createNewItem(inlineAdd,addPage){var _a;if(inlineAdd){return this.typeModel.create((_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})}return null}loadItems({search,start,size=100,cancelToken}){let q=this.entityService.query(this.typeModel);if(this.search){q=this.searchQuery(q,search)}if(this.listQuery){q=this.listQuery(q)}return q.toPagedList({start,size,cancelToken})}submitNewItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.newItem,(_a=this.saveInclude)!==null&&_a!==void 0?_a:c=>c);this.items.add(this.newItem);this.newItem=this.createNewItem(this.inlineAdd,this.addPage)}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],EntityListControl.prototype,"entityService",void 0);__decorate([Action({onEvent:"submit-new-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EntityListControl.prototype,"submitNewItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/access-tokens/AccessTokenListPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/entity/EntityListControl","../../../../model/model","../../../date/DateFormats","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,XNode,ContentPage,EntityListControl,FormFields,AccessToken,DateFormats,FormField,DateField,Bind,AccessTokenListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_controlsEntityEntityListControl){EntityListControl=_controlsEntityEntityListControl.default;FormFields=_controlsEntityEntityListControl.FormFields},function(_modelModel){AccessToken=_modelModel.AccessToken},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",AccessTokenListPage=class AccessTokenListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(EntityListControl,{typeModel:AccessToken,inlineAdd:item=>XNode.create(FormFields,null,XNode.create(FormField,{label:"Expiry Date"},XNode.create(DateField,{value:Bind.sourceTwoWays(item,(x=>x.source.expiryDate))}))),itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.tokenID}),XNode.create("label",{text:DateFormats.relative.short(x.dateCreated)}),XNode.create("label",{text:DateFormats.relative.short(x.expiryDate)}),XNode.create("label",{text:x.displaySecret}))}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/di/DITransient"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,HostedZone,DITransient,DnsZoneService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedZone=_modelModel.HostedZone},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default}],execute:function(){DnsZoneService=class DnsZoneService{list({start=0,size=100,cancelToken=null,version=1}){return this.entityService.query(HostedZone).include((x=>x.domain)).toPagedList({start,size,cancelToken})}save(zone){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(zone,(c=>c.include((x=>x.records))))}))}saveRecord(...records){return __awaiter(this,void 0,void 0,(function*(){const copy=records.map((x=>this.entityService.cloner(x).copy));yield this.entityService.save(copy)}))}get(zoneID){return this.entityService.query(HostedZone).where({zoneID},(p=>x=>x.zoneID===p.zoneID)).include((x=>[x.domain,x.records])).firstOrDefault()}};__decorate([Inject,__metadata("design:type",EntityService)],DnsZoneService.prototype,"entityService",void 0);DnsZoneService=__decorate([DITransient()],DnsZoneService);_export("default",DnsZoneService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/DnsZoneListPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/services/PopupService","../../controls/repeater/InfiniteRepeater","../../commands/CommonCommands","./DnsZoneService","../../../model/model"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,Action,PopupService,InfiniteRepeater,CommonCommands,DnsZoneService,HostedZone,DnsZoneListPage;_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(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_DnsZoneService){DnsZoneService=_DnsZoneService.default},function(_modelModel){HostedZone=_modelModel.HostedZone}],execute:function(){_export("default",DnsZoneListPage=class DnsZoneListPage extends ContentPage{constructor(){super(...arguments);this.start=0;this.size=100;this.version=1;this.zones=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.zones},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.dnsZoneService.list({start,cancelToken,version:this.version}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:CommonCommands.editDnsZone.displayRoute({zoneID:item.zoneID}),text:item.domain.name}),XNode.create("i",{title:"View Zone File",class:"fa-regular fa-file-lines","data-click-event":"view-zone"}),XNode.create("i",{title:"Delete Zone",class:"fas fa-trash-can","data-click-event":"delete-zone"}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"add-new",text:"Add"}))}))}deleteZone(zone){return __awaiter(this,void 0,void 0,(function*(){zone.$deleted=true;yield this.dnsZoneService.save(zone);this.zones.remove(zone);this.version++}))}viewZone(zone){return __awaiter(this,void 0,void 0,(function*(){yield PopupService.alert({title:zone.domain.name,message:XNode.create("div",null,XNode.create("pre",null,zone.unsigned))})}))}viewDS(zone){return __awaiter(this,void 0,void 0,(function*(){yield PopupService.alert({title:zone.domain.name,message:XNode.create("div",null,XNode.create("pre",null,zone.digest))})}))}addNew(){return __awaiter(this,void 0,void 0,(function*(){const zone=prompt("Add host");if(!zone){return}yield this.dnsZoneService.save(HostedZone.create({zone}));this.version++}))}});__decorate([InjectProperty,__metadata("design:type",DnsZoneService)],DnsZoneListPage.prototype,"dnsZoneService",void 0);__decorate([Action({onEvent:"delete-zone",confirm:"Are you sure you want to delete this zone?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"deleteZone",null);__decorate([Action({onEvent:"view-zone"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"viewZone",null);__decorate([Action({onEvent:"view-ds"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"viewDS",null);__decorate([Action({onEvent:"add-new"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneListPage.prototype,"addNew",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsRecordEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../../model/model"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,ComboBox,Bind,Action,HostedZoneRecord,HostedZoneRecordTypeArray,DnsRecordEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_modelModel){HostedZoneRecord=_modelModel.HostedZoneRecord;HostedZoneRecordTypeArray=_modelModel.HostedZoneRecordTypeArray}],execute:function(){_export("default",DnsRecordEditorPage=class DnsRecordEditorPage extends PopupWindowPage{init(){var _a,_b,_c,_d,_e;return __awaiter(this,void 0,void 0,(function*(){this.title=((_a=this.parameters)===null||_a===void 0?void 0:_a.model)?"Edit Record":"Add New Record";const zone=this.zone=(_b=this.parameters)===null||_b===void 0?void 0:_b.zone;(_c=this.model)!==null&&_c!==void 0?_c:this.model=(_e=(_d=this.parameters)===null||_d===void 0?void 0:_d.model)!==null&&_e!==void 0?_e:HostedZoneRecord.create({ttl:600,type:"A",name:"@",zoneID:zone===null||zone===void 0?void 0:zone.zoneID});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(ComboBox,{items:HostedZoneRecordTypeArray,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{required:true,label:"Name",error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"TTL"},XNode.create("input",{type:"number",value:Bind.twoWaysImmediate((()=>this.model.ttl))})),XNode.create(FormField,{required:true,label:"Value",error:Bind.oneWay((()=>this.model.value?"":"Value is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.value))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-record",text:"Save"}))))}))}saveRecord(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{zone,model:{name,type,value,recordID}}=this;const records=(_a=zone.records)!==null&&_a!==void 0?_a:zone.records=[];if(records.find((x=>x.type===type&&x.name===name&&x.value===value&&recordID&&x.recordID!==recordID))){throw new Error(`${name} ${type} ${value} already exists.`)}return this.model}))}});__decorate([Action({onEvent:"save-record",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsRecordEditorPage.prototype,"saveRecord",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/dns/edit/DnsZoneEditorPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../DnsZoneService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/PageNavigator","./DnsRecordEditorPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,DnsZoneService,XNode,AtomRepeater,SelectorCheckBox,Bind,Action,Checkbox,PageNavigator,DnsRecordEditorPage,DnsZoneEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_DnsZoneService){DnsZoneService=_DnsZoneService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_DnsRecordEditorPage){DnsRecordEditorPage=_DnsRecordEditorPage.default}],execute:function(){_export("default",DnsZoneEditorPage=class DnsZoneEditorPage extends ContentPage{constructor(){super(...arguments);this.selectedRecords=[];this.search="";this.showDisabled=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.dnsZoneService.get(this.parameters.zoneID);this.sort();this.title=this.model.domain.name;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{"data-layout":"data-grid","data-list-selection":"default",selectedItems:this.selectedRecords,items:this.model.records,allowMultipleSelection:true,header:true,headerRenderer:h=>XNode.create("header",null,XNode.create("div",{"data-layout":"row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.showDisabled)),text:"Disabled"}),XNode.create("button",{"data-click-event":"add-new-record","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-plus"}),"Add New"))),footer:true,footerRenderer:()=>XNode.create("footer",{"data-position":"sticky-bottom","style-display":Bind.oneWay((()=>!!this.selectedRecords.length))},XNode.create("button",{"data-click-event":"delete-items",text:"Delete"}),XNode.create("button",{"data-click-event":"add-hosting",text:"Add Hosting"}),XNode.create("button",{"data-click-event":"remove-hosting",text:"Remove Hosting"})),itemRenderer:item=>XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("label",{text:item.fqdn,title:item.fqdn}),XNode.create("label",{text:item.type}),XNode.create("label",{text:item.ttl}),XNode.create("label",{text:item.value}),item.hosted?XNode.create("label",{text:"Hosted"}):XNode.create("label",{text:" "}),XNode.create("br",null),XNode.create("button",{"data-click-event":"edit-item","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-edit"}),"Edit"))}))}))}sort(){this.model.records.sort(((a,b)=>(a.disabled?1:0)-(b.disabled?1:0)));this.model.records.refresh()}deleteItem(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selectedRecords){iterator.$deleted=true}yield this.dnsZoneService.saveRecord(...this.selectedRecords);yield this.init()}))}disableItem(item){return __awaiter(this,void 0,void 0,(function*(){item.disabled=true;yield this.dnsZoneService.saveRecord(item);this.sort()}))}enableItem(item){return __awaiter(this,void 0,void 0,(function*(){item.disabled=false;yield this.dnsZoneService.saveRecord(item);this.sort()}))}editItem(model){return __awaiter(this,void 0,void 0,(function*(){const zone=this.model;model=yield PageNavigator.pushPageForResult(DnsRecordEditorPage,{model,zone});yield this.dnsZoneService.saveRecord(model);this.sort()}))}addNewRecord(){return __awaiter(this,void 0,void 0,(function*(){const zone=this.model;const record=yield PageNavigator.pushPageForResult(DnsRecordEditorPage,{zone});record.zoneID=this.model.zoneID;yield this.dnsZoneService.saveRecord(record);this.model.records.add(record)}))}removeHosting(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selectedRecords){iterator.hosted=false}yield this.dnsZoneService.saveRecord(...this.selectedRecords)}))}addHosting(){return __awaiter(this,void 0,void 0,(function*(){let isWildcard=null;for(const iterator of this.selectedRecords){iterator.hosted=true;if(iterator.name==="*"&&(iterator.type==="A"||iterator.type==="CNAME")){isWildcard=iterator}}let records=[...this.selectedRecords];if(isWildcard){for(const iterator of this.model.records){if((iterator.name==="@"||iterator.name==="")&&iterator.type==="A"){continue}iterator.hosted=false}isWildcard.hosted=true;records=this.model.records}yield this.dnsZoneService.saveRecord(...records)}))}});__decorate([InjectProperty,__metadata("design:type",DnsZoneService)],DnsZoneEditorPage.prototype,"dnsZoneService",void 0);__decorate([Action({onEvent:"delete-items",confirm:"Are you sure you want to delete selected records?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"deleteItem",null);__decorate([Action({onEvent:"disable-item",confirm:"Are you sure you want to disable the record?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"disableItem",null);__decorate([Action({onEvent:"enable-item",confirm:"Are you sure you want to enable the record?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"enableItem",null);__decorate([Action({onEvent:"edit-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"editItem",null);__decorate([Action({onEvent:"add-new-record"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"addNewRecord",null);__decorate([Action({onEvent:"remove-hosting",confirm:"Are you sure you want to remove hosting for this zone?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"removeHosting",null);__decorate([Action({onEvent:"add-hosting",confirm:"Are you sure you want to add hosting for this zone?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DnsZoneEditorPage.prototype,"addHosting",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/PinchZoomView");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/controls/AtomControl","./styles/pinch-zoom-view.global.less"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,PinchZoomView,center,distance;_export("default",void 0);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(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_stylesPinchZoomViewGlobalLess){}],execute:function(){center=ev=>{const touch=ev.touches[0];if(touch){return{x:touch.clientX,y:touch.clientY}}return{x:0,y:0}};distance=(first,second)=>Math.hypot(first.pageX-second.pageX,first.pageY-second.pageY);_export("default",PinchZoomView=class PinchZoomView extends AtomControl{preCreate(){this.element.title="Use mouse wheel to zoom";this.loading=false;this.zoom={scale:0,anchorX:0,anchorY:0,x:0,y:0};this.element.dataset.pinchZoom="true";this.element.draggable=false;this.render(XNode.create("div",null,XNode.create("div",{class:"image-container"},XNode.create("img",{src:Bind.oneWay((()=>this.getSource(this.source))),"style-opacity":Bind.oneWay((()=>this.loading?"0.3":"1")),"event-load":()=>{this.loading=false;this.updateZoom(this.zoom)}})),XNode.create("i",{class:Bind.oneWay((()=>this.loading?"spinner fa-duotone fa-spinner fa-spin":"hide"))}),XNode.create("i",{"event-click":()=>this.updateZoom(),class:Bind.oneWay((()=>this.zoom.scale?"scale":"hide")),title:"Display entire image"})));this.imageContainer=this.element.firstElementChild;this.image=this.imageContainer.firstElementChild;const scrollView=this.element;let previous;let touchMoveDisposable;let touchEndDisposable;this.bindEvent(scrollView,"touchstart",(evs=>{previous=center(evs);let previousDistance=undefined;touchMoveDisposable!==null&&touchMoveDisposable!==void 0?touchMoveDisposable:touchMoveDisposable=this.bindEvent(scrollView,"touchmove",(ev=>{let{x,y,anchorX,anchorY,scale}=this.zoom;if(ev.touches.length===2){ev.preventDefault();ev.stopImmediatePropagation();const rect=this.element.getBoundingClientRect();const first=ev.touches[0];const second=ev.touches[1];anchorX=(first.clientX+second.clientX)/2-rect.left;anchorY=(first.clientY+second.clientY)/2-rect.top;const newScale=distance(first,second);if(previousDistance===void 0){previousDistance=newScale;return}if(previousDistance===newScale){return}scale+=newScale-previousDistance;previousDistance=newScale;this.updateZoom({anchorX,anchorY,x,y,scale});return}if(!previous){return}const cp=center(ev);x+=cp.x-previous.x;y+=cp.y-previous.y;previous=cp;this.updateZoom({anchorX,anchorY,x,y,scale})}));touchEndDisposable!==null&&touchEndDisposable!==void 0?touchEndDisposable:touchEndDisposable=this.bindEvent(scrollView,"touchend",(ev=>{touchMoveDisposable===null||touchMoveDisposable===void 0?void 0:touchMoveDisposable.dispose();touchEndDisposable===null||touchEndDisposable===void 0?void 0:touchEndDisposable.dispose();touchMoveDisposable=undefined;touchEndDisposable=undefined;previousDistance=undefined}))}));let mouseMoveDisposable;let mouseUpDisposable;this.bindEvent(scrollView,"dragstart",(ev=>{ev.preventDefault();ev.stopImmediatePropagation()}));this.bindEvent(scrollView,"mousedown",(ev=>{this.element.dataset.state="grabbing";previous={x:ev.clientX,y:ev.clientY};mouseMoveDisposable!==null&&mouseMoveDisposable!==void 0?mouseMoveDisposable:mouseMoveDisposable=this.bindEvent(scrollView,"mousemove",(e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);const{anchorX,anchorY,scale}=this.zoom;let{x,y}=this.zoom;const cp={x:e.clientX,y:e.clientY};x+=cp.x-previous.x;y+=cp.y-previous.y;previous=cp;this.updateZoom({anchorX,anchorY,x,y,scale})}));mouseUpDisposable!==null&&mouseUpDisposable!==void 0?mouseUpDisposable:mouseUpDisposable=this.bindEvent(scrollView,"mouseup",(e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);this.element.dataset.state="";previous=null;mouseMoveDisposable.dispose();mouseUpDisposable.dispose();mouseMoveDisposable=undefined;mouseUpDisposable=undefined}))}));this.bindEvent(scrollView,"wheel",(ev=>{var _a;const target=ev.currentTarget;ev.preventDefault();(_a=ev.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(ev);const newScale=this.zoom.scale-(ev.deltaY<0?-50:50);const anchorX=ev.offsetX;const anchorY=ev.offsetY;const{x,y}=this.zoom;this.updateZoom({anchorX,anchorY,x,y,scale:newScale<0?0:newScale})}),undefined,{passive:false})}getSource(text){if(text){this.loading=true}return text}updateZoom(zoom={x:0,y:0,anchorX:0,anchorY:0,scale:0}){const{anchorX,anchorY,x,y}=zoom;let{scale}=zoom;this.zoom=zoom;const image=this.image;if(!image.naturalHeight){return}const maxHeight=this.element.clientWidth>this.element.clientHeight;const s=maxHeight?this.element.clientWidth/image.naturalWidth:this.element.clientHeight/image.naturalHeight;if(scale<=0){scale=0}const newWidth=this.element.clientWidth+scale+"px";const newHeight=this.element.clientHeight+scale+"px";this.image.style.maxWidth=this.element.clientWidth+"px";this.image.style.maxHeight=this.element.clientHeight+"px";if(scale<=0){this.imageContainer.style.transform="";return}const clientWidth=this.element.clientWidth;const scaleFactor=(clientWidth+scale)/clientWidth;this.imageContainer.style.transformOrigin=`${anchorX}px ${anchorY}`;this.imageContainer.style.transform=`translate(${x}px, ${y}px) scale(${scaleFactor})`}});__decorate([BindableProperty,__metadata("design:type",Object)],PinchZoomView.prototype,"zoom",void 0);__decorate([BindableProperty,__metadata("design:type",String)],PinchZoomView.prototype,"source",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],PinchZoomView.prototype,"loading",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/image/PreviewImage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/PinchZoomView","../../../../../common/controls/buttons/IconButton","../../../../FileUrlService"],(function(_export,_context){"use strict";var __awaiter,ContentPage,XNode,PinchZoomView,IconButton,FileUrlService,PreviewImage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicPinchZoomView){PinchZoomView=_webAtomsWebControlsDistBasicPinchZoomView.default},function(_commonControlsButtonsIconButton){IconButton=_commonControlsButtonsIconButton.IconButton},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService}],execute:function(){_export("default",PreviewImage=class PreviewImage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name}=this.parameters;const pdf=FileUrlService.pdf(this.parameters);const download=FileUrlService.downloadUrl(this.parameters);this.title=name;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("a",{href:pdf,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-print",text:"Print"})),XNode.create("a",{href:download,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-download",text:"Download"})));const webp=/\.(jpg|png|jpeg|bmp)/i.test(name)?download:FileUrlService.webP(this.parameters);this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch"},XNode.create(PinchZoomView,{source:webp}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewDocument");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/XNode","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/web/controls/AtomControl","../../../../FileUrlService"],(function(_export,_context){"use strict";var __awaiter,ContentPage,FetchBuilder,XNode,IconButton,AtomControl,FileUrlService,PreviewDocument,renderHTML;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsButtonsIconButton){IconButton=_commonControlsButtonsIconButton.IconButton},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService}],execute:function(){renderHTML=AtomControl.registerProperty("data-html","html",((c,e,value)=>{if(!value){e.innerHTML="";return}const html=value;const msg=document.createElement("div");msg.innerHTML=html;const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);return}));_export("default",PreviewDocument=class PreviewDocument extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name}=this.parameters;const pdf=FileUrlService.pdf(this.parameters);const download=FileUrlService.downloadUrl(this.parameters);this.title=name;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("a",{href:pdf,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-print",text:"Print"})),XNode.create("a",{href:download,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-download",text:"Download"})));this.renderer=XNode.create("div",null,XNode.create("div",{text:"..."}));const html=yield FetchBuilder.get(FileUrlService.html(this.parameters)).asText();this.renderer=XNode.create("div",{"style-overflow-y":"hidden"},XNode.create("div",{"data-position":"absolute-fill","data-overflow":"auto"},XNode.create("div",Object.assign({"data-margin-left":"auto","data-margin-right":"auto"},renderHTML(html)))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/PreviewPDF");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","./PreviewPDF.local.less"],(function(_export,_context){"use strict";var __awaiter,XNode,ContentPage,PreviewDocument,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_PreviewPDFLocalLess){}],execute:function(){css="preview-pdf-local";_export("default",PreviewDocument=class PreviewDocument extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name,fileContentID,appFileID,url}=this.parameters;const q=new URLSearchParams({name,fileContentID,appFileID,url});const previewUrl=`/social-mail/ui/dist/public/preview/pdf/PreviewPDF?${q.toString()}`;this.title=name;this.renderer=XNode.create("div",{class:css},XNode.create("iframe",{src:previewUrl}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/player/AtomVideoPlayer");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/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","./AtomVideoPlayer.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomBinder,Bind,BindableProperty,XNode,AtomControl,ChildEnumerator,AtomVideoPlayer,isTouchEnabled,gatherElements,numberToText,durationText,noSoundIcon,mute,low,mid,high,getPlayIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_AtomVideoPlayerGlobalLess){}],execute:function(){isTouchEnabled=/android|iPhone|iPad/i.test(navigator.userAgent);gatherElements=(e,data={})=>{var _a;const ce=ChildEnumerator.enumerate(e);for(const iterator of ce){const elementName=(_a=iterator.dataset.element)===null||_a===void 0?void 0:_a.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(elementName){data[elementName]=iterator}gatherElements(iterator,data)}return data};numberToText=n=>{if(n<10){return"0"+n}return n.toString()};durationText=(n,total)=>{if(n===null||n===undefined){return""}const minutes=Math.floor(n/60);const seconds=numberToText(Math.ceil(n%60));const totalMinutes=Math.floor(total/60);const totalSeconds=numberToText(Math.ceil(total%60));return`${minutes}:${seconds} / ${totalMinutes}:${totalSeconds}`};noSoundIcon="fa-duotone fa-volume-slash";mute="fa-duotone fa-volume-xmark";low="fa-duotone fa-volume-low";mid="fa-duotone fa-volume";high="fa-duotone fa-volume-high";getPlayIcon=state=>{switch(state){case"ended":return"fa-solid fa-refresh";case"paused":return"fa-solid fa-play";case"playing":return"fa-solid fa-pause"}return"fa-solid fa-play"};_export("default",AtomVideoPlayer=class AtomVideoPlayer extends AtomControl{constructor(){super(...arguments);this.maxWidth=""}get poster(){return this.video.poster}set poster(v){this.video.poster=v}get state(){return this.element.getAttribute("data-state")}set state(v){this.element.setAttribute("data-state",v);AtomBinder.refreshValue(this,"paused");AtomBinder.refreshValue(this,"state")}get duration(){return this.video.duration}get time(){return this.video.currentTime}set time(v){this.video.currentTime=v}get paused(){return this.video.paused}get isFullScreen(){var _a;return(_a=document.fullscreenEnabled&&this.element===document.fullscreenElement)!==null&&_a!==void 0?_a:false}stopFullscreen(){if(this.isFullScreen){return document.exitFullscreen()}return Promise.resolve()}pause(){this.video.pause()}play(){this.video.play().catch(console.error)}onPropertyChanged(name){switch(name){case"source":this.updateSource();break}}setCurrentTime(n){this.video.currentTime=n*this.video.duration}create(){this.element.dataset.videoPlayer="video-player";this.bindEvent(this.element,"togglePlay",(e=>{if(e.defaultPrevented){return}e.preventDefault();if(isTouchEnabled){if(this.state==="playing"){if(e.target===this.video){if(this.element.dataset.controls==="true"){this.element.dataset.controls="false"}else{this.element.dataset.controls="true"}return}}if(e.target.tagName==="CANVAS"){return}}if(this.video.paused){this.video.play();this.element.dataset.controls="false"}else{this.video.pause();this.element.dataset.controls="true"}}));this.bindEvent(this.element,"volume",(e=>{this.video.muted=!this.video.muted;this.updateVolume()}));this.bindEvent(this.element,"fullScreen",(e=>__awaiter(this,void 0,void 0,(function*(){if(!this.element.requestFullscreen){this.video.webkitEnterFullscreen();return}if(this.isFullScreen){yield document.exitFullscreen();return}yield this.element.requestFullscreen({navigationUI:"show"})}))));this.bindEvent(document,"fullscreenchange",(()=>{AtomBinder.refreshValue(this,"isFullScreen")}));this.render(XNode.create("div",{"data-click-event":"toggle-play","data-state":"pause"},XNode.create("div",{"data-has-logo":Bind.oneWay((()=>this.logo?"true":"false"),"false"),"data-element":"banner","style-width":Bind.oneWay((()=>this.maxWidth))},XNode.create("img",{"data-element":"logo",src:Bind.oneWay((()=>this.logo))}),XNode.create("div",{"data-element":"logo-title",text:Bind.oneWay((()=>this.logo&&this.logoTitle))}),XNode.create("div",{"data-element":"logo-description",text:Bind.oneWay((()=>this.logo&&this.logoDescription))})),XNode.create("video",{"event-abort":()=>this.state="aborted","event-durationchange":e=>AtomBinder.refreshValue(this,"duration"),"event-ended":e=>__awaiter(this,void 0,void 0,(function*(){this.state="ended";if(document.fullscreenEnabled&&this.element===document.fullscreenElement){yield document.exitFullscreen()}e.target.dispatchEvent(new CustomEvent("videoEnded",{bubbles:true}))})),"event-loadedmetadata":()=>{this.updateVolume();this.currentTimeSpan.textContent=durationText(0,this.duration);this.updateProgress();const{video}=this;const{videoWidth,videoHeight}=video;const eW=video.offsetWidth*videoHeight/videoWidth;const maxWidth=100*(this.element.offsetWidth-eW)/this.element.offsetWidth;if(maxWidth>50&&maxWidth<100){this.maxWidth=`${maxWidth}%`}AtomBinder.refreshValue(this,"duration")},"event-pause":()=>this.state="paused","event-play":()=>this.state="playing","event-progress":()=>this.updateProgress(),"event-timeupdate":()=>{this.currentTimeSpan.textContent=durationText(this.time,this.duration);this.state="playing";this.updateProgress();AtomBinder.refreshValue(this,"time")},"event-waiting":()=>this.state="waiting","event-volumechange":()=>this.updateVolume(),autoplay:false,playsInline:true,"style-max-width":"100%","style-max-height":"100%","data-element":"video"}),XNode.create("canvas",{"data-element":"progress"}),XNode.create("img",{"data-element":"poster"}),XNode.create("div",{"data-element":"toolbar"},XNode.create("i",{"data-element":"play","data-style":"button",class:Bind.oneWay((()=>getPlayIcon(this.state)))}),XNode.create("i",{"data-click-event":"volume","data-style":"button","data-element":"sound",class:"fa-duotone fa-volume-slash"}),!isTouchEnabled&&XNode.create("input",{"data-click-event":"none","data-element":"volume-range",type:"range",min:0,max:1,step:.1}),XNode.create("span",{"data-font-size":"small","data-element":"current",text:"0:00"}),XNode.create("i",{"data-click-event":"full-screen","data-style":"button","data-element":"full-screen",class:Bind.oneWay((()=>this.isFullScreen?"fa-solid fa-compress":"fa-solid fa-expand"))})),XNode.create("div",{"data-click-event":"toggle-play","data-element":"play-element"},XNode.create("button",{class:"play"},XNode.create("i",{class:Bind.oneWay((()=>getPlayIcon(this.state)))})))));const all=gatherElements(this.element);this.video=all.video;this.progress=all.progress;this.currentTimeSpan=all.current;this.soundIcon=all.sound;this.volumeRange=all.volumeRange;if(this.volumeRange){this.bindEvent(this.volumeRange,"input",(()=>{setTimeout((()=>{this.video.volume=parseFloat(this.volumeRange.value)}),1)}))}this.bindEvent(this.element,"mouseenter",(()=>{this.element.dataset.controls="true"}));this.bindEvent(this.element,"mouseleave",(()=>{this.element.dataset.controls="false"}));this.bindEvent(this.progress,"pointerdown",(e=>{e.preventDefault();this.setCurrentTime(e.offsetX/this.progress.clientWidth);const move=e1=>{e1.preventDefault();this.setCurrentTime(e1.offsetX/this.progress.clientWidth)};const up=e1=>{e1.preventDefault();this.progress.removeEventListener("pointermove",move);this.progress.removeEventListener("pointerup",up)};this.progress.addEventListener("pointermove",move);this.progress.addEventListener("pointerup",up)}))}updateSource(){this.video.src=this.source}updateProgress(){const context=this.progress.getContext("2d");context.strokeStyle="rgba(0,0,0,0)";const width=this.progress.clientWidth;const height=this.progress.clientHeight;this.progress.width=width;this.progress.height=height;context.clearRect(0,0,width,height);const max=this.video.duration;const seekable=this.video.buffered;const scale=width/max;context.fillStyle="rgba(255,255,255,0.3)";context.fillRect(0,0,width,height);context.fillStyle="rgba(255,255,255,0.6)";for(let index=0;index<seekable.length;index++){const start=seekable.start(index)*scale;const end=seekable.end(index)*scale;context.fillRect(start,0,end,height)}context.fillStyle="#ffffff";context.fillRect(0,0,this.video.currentTime*scale,height)}updateVolume(){if(this.video.muted){this.soundIcon.className=mute;this.soundIcon.title="Unmute";if(this.volumeRange){this.volumeRange.style.display="none"}return}const audio=this.video.volume;if(this.volumeRange){this.volumeRange.style.display="";this.volumeRange.value=audio===null||audio===void 0?void 0:audio.toString()}this.soundIcon.title="Mute";if(audio>.8){this.soundIcon.className=high;return}if(audio<.2){this.soundIcon.className=low;return}this.soundIcon.className=mid}});__decorate([BindableProperty,__metadata("design:type",Object)],AtomVideoPlayer.prototype,"source",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomVideoPlayer.prototype,"logo",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomVideoPlayer.prototype,"logoTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomVideoPlayer.prototype,"logoDescription",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/media/PreviewMedia");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/player/AtomVideoPlayer","../../../../../common/controls/buttons/IconButton","../../../../FileUrlService"],(function(_export,_context){"use strict";var __awaiter,ContentPage,XNode,AtomVideoPlayer,IconButton,FileUrlService,PreviewImage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPlayerAtomVideoPlayer){AtomVideoPlayer=_webAtomsWebControlsDistPlayerAtomVideoPlayer.default},function(_commonControlsButtonsIconButton){IconButton=_commonControlsButtonsIconButton.IconButton},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService}],execute:function(){_export("default",PreviewImage=class PreviewImage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name}=this.parameters;const download=FileUrlService.downloadUrl(this.parameters);this.title=name;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("a",{href:download,target:"_blank"},XNode.create(IconButton,{icon:"fas fa-download",text:"Download"})));const webm=FileUrlService.webM(this.parameters);const webp=FileUrlService.webP(this.parameters);this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch"},XNode.create(AtomVideoPlayer,{poster:webp,source:webm}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/FileTypes");System.register([],(function(_export,_context){"use strict";var FileTypes;_export("default",void 0);return{setters:[],execute:function(){_export("default",FileTypes=class FileTypes{static canPreview(file){if(/(image|video|audio)\//.test(file.contentType)){return true}return/\.(pdf|docx|docm|pptx|pptm|xlsx|xlsm|doc|xls|pdf|ppt|dot|xlst|sxw|sxc|sxd|sxi|sxm|sxg|txt)$/i.test(file.name)}static isMedia(file){return/^(audio|video)\//i.test(file.contentType)}static isImage(file){return/^image\//i.test(file.contentType)||/\.(jpg|png|bmp|gif|tif|tiff|jiff|jpg)$/i.test(file.name)}static isDocument(file){return/\.(pdf|docx|docm|pptx|pptm|xlsx|xlsm|doc|xls|pdf|ppt|dot|xlst|sxw|sxc|sxd|sxi|sxm|sxg|txt|md)$/i.test(file.name)}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["@web-atoms/core/dist/core/Command","../apiPath","../../services/FileTypes"],(function(_export,_context){"use strict";var Command,Commands,apiPathRoot,FileTypes,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands},function(_apiPath){apiPathRoot=_apiPath.apiPathRoot},function(_servicesFileTypes){FileTypes=_servicesFileTypes.default}],execute:function(){Command.routePrefix=apiPathRoot;_export("default",CommonCommands=class CommonCommands extends Commands{static getPreviewCommand(p){var _a;(_a=p.emailID)!==null&&_a!==void 0?_a:p.emailID=0;if(FileTypes.isDocument(p)){return this.previewPdf}if(FileTypes.isImage(p)){return this.previewImage}if(FileTypes.isMedia(p)){return this.previewMedia}}});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.openFiles=Command.create({route:"/files/{id}",routeOrder:100,openPage:()=>_context.import("../pages/files/folder/FolderPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")});CommonCommands.accessTokenList=Command.create({route:"/user/access-tokens",openPage:()=>_context.import("../pages/user/access-tokens/AccessTokenListPage")});CommonCommands.dnsZoneList=Command.create({route:"/hosted-zones/list/",openPage:()=>_context.import("../pages/dns/DnsZoneListPage")});CommonCommands.editDnsZone=Command.create({route:"/hosted-zone/{zoneID}/",pushPage:()=>_context.import("../pages/dns/edit/DnsZoneEditorPage")});CommonCommands.openTemplates=Command.create({route:"/templates",routeOrder:100,routeDefaults:{templates:true},openPage:()=>_context.import("../pages/files/folder/FolderPage")});CommonCommands.previewImage=Command.create({route:"/social-mail/file-preview/image/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/image/PreviewImage")});CommonCommands.previewHtml=Command.create({route:"/social-mail/file-preview/html/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/document/PreviewDocument")});CommonCommands.previewPdf=Command.create({route:"/social-mail/file-preview/pdf/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/document/PreviewPDF")});CommonCommands.previewMedia=Command.create({route:"/social-mail/file-preview/media/{appFileID}/{emailID}/{fileContentID}/{name}/{url}",pushPage:()=>_context.import("../pages/files/preview/media/PreviewMedia")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/ExpressionParser","../buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/view-model/Action","./CollectionEditorEx.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ExpressionParser,AddIconTextButton,DeleteIconButton,PageNavigator,Bind,EntityService,modelEntitySchemas,AtomControl,Action,CollectionEditorEx,hasKeys;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreExpressionParser){ExpressionParser=_webAtomsCoreDistCoreExpressionParser.default},function(_buttonsIconButton){AddIconTextButton=_buttonsIconButton.AddIconTextButton;DeleteIconButton=_buttonsIconButton.DeleteIconButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_CollectionEditorExGlobalLess){}],execute:function(){hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true};_export("default",CollectionEditorEx=class CollectionEditorEx extends AtomControl{constructor(app,e=document.createElement("details")){super(app,e);this.label="";this.model=null;this.field=null;this.pageResultToItem=null;this.itemFactory=null;this.itemRenderer=null;this.inlineAddRenderer=null;this.inlineAdd=false;this.addPage=null;this.editPage=null;this.autoFocus=false;this.saveAfterAdd=true;this.layout="data-grid";this.footer=null;this.addItemDefaults=null;this.schema=null;this.items=[];this.fieldName=null;this.relation=null;this.element.setAttribute("data-collection-editor-ex","collection-editor-ex");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))));this.bindEvent(document.body,"deleteCollectionItem",(ce=>!ce.defaultPrevented&&this.deleteItem(ce.detail)))}init(){var _a;var _b,_c;return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;if(this.model){(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]}this.inlineAdd||(this.inlineAdd=!!this.inlineAddRenderer);const fx=()=>{var _a;var _b,_c;return(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]};const exp=`() => this.model`;fx.toString=()=>exp;this.renderer=XNode.create("details",{"data-border":"frame",open:true,items:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName))))},XNode.create("summary",{text:Bind.oneWay((()=>this.label))}),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.repeater=c)),"data-layout":this.layout,items:Bind.oneWay((()=>this.items)),footer:Bind.oneWay((()=>{var _a;return this.inlineAdd?this.relation.relatedModel.create(Object.assign({},(_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})):void 0})),footerRenderer:newItem=>{var _a,_b;const node=this.inlineAddRenderer?this.inlineAddRenderer(newItem):this.itemRenderer(newItem);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create("button",{"event-click":()=>__awaiter(this,void 0,void 0,(function*(){var _c;yield this.addNewItemInList(newItem);this.repeater.footer=this.relation.relatedModel.create(Object.assign({},(_c=this.addItemDefaults)!==null&&_c!==void 0?_c:{}))})),text:"Add"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node},itemRenderer:item=>{var _a,_b;const node=this.itemRenderer(item);if(!node){return XNode.create("div",null)}const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));for(const iterator of node.children){if(iterator===false){continue}const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node}}),this.footer?this.footer():!this.inlineAdd&&XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":()=>this.onAddItem(),text:"Add New"}))))}))}deleteItem(item){return __awaiter(this,void 0,void 0,(function*(){const{items,repeater}=this;if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}))}onAddItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{addPage,addItemDefaults,pageResultToItem,itemFactory}=this;let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}));newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=(_a=itemFactory===null||itemFactory===void 0?void 0:itemFactory())!==null&&_a!==void 0?_a:this.relation.relatedModel.create(Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}))}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}yield this.addNewItemInList(newItem)}))}addNewItemInList(newItem){return __awaiter(this,void 0,void 0,(function*(){const{repeater,model,schema}=this;if(hasKeys(model,schema)&&this.saveAfterAdd){const es=this.resolve(EntityService);const draft=Object.assign(Object.assign({},model),{[this.fieldName]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[this.fieldName]));yield es.save(clone.copy)}repeater.items.add(newItem)}))}});__decorate([Action({confirm:"Are you sure you want to delete this?",confirmTitle:"Confirm Delete"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"deleteItem",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"onAddItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/services/PopupService","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","../../NumberFormats","../../controls/buttons/IconButton","../../controls/collection-editor/CollectionEditorEx","../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,EditSyncTargetPage,MailboxService,InjectProperty,Action,PopupService,FormField,Bind,Form,toFileSize,SaveIconTextButton,CollectionEditorEx,EntityService,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:Bind.oneWay((()=>`Storage (${toFileSize(this.model.storage)},${toFileSize(this.model.maxStorage)})`))},XNode.create("input",{type:"range",value:Bind.twoWaysImmediate((()=>this.model.maxStorage)),min:0,max:1e3*1024*1024*1024,step:1024*1024*1024})),XNode.create(CollectionEditorEx,{label:"Sync Targets",model:this.model,field:x=>x.syncTargets,addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("div",null,XNode.create("span",null,XNode.create("span",{text:item.protocol})),XNode.create("span",null,XNode.create("span",{text:item.username})),XNode.create("span",null,XNode.create("span",{text:item.host})),XNode.create("span",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})),XNode.create("span",null,XNode.create("i",{"data-click-event":"check-sync-logs",class:"fas fa-circle-info",title:"Check Logs"})))}),XNode.create(SaveIconTextButton,{"data-submit-event":"save-mailbox"})))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.model,(x=>x))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}checkSyncLogs(item){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const syncState=JSON.parse((_a=item.syncLog)!==null&&_a!==void 0?_a:"{}");yield PopupService.alert({message:XNode.create("div",null,XNode.create("pre",null,...((_b=syncState.log)!==null&&_b!==void 0?_b:[]).map((x=>[XNode.create("span",{text:x}),XNode.create("br",null)])).flat(2)))})}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],MailboxDetailPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"saveMailbox",null);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null);__decorate([Action({onEvent:"check-sync-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"checkSyncLogs",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;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){Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const dateCreated=DateTime.now;const mb=Mailbox.create({externalEmailAddress:emailAddress,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){_export("default",MailboxListPage=class MailboxListPage extends MasterDetailPage{constructor(){super(...arguments);this.search="";this.mailboxes=[];this.version=0;this.domainID=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.domains=yield this.mailboxService.domains();this.domains.insert(0,Domain.create({name:"Any",domainID:0}));this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ComboBox,{valuePath:d=>d.domainID,labelPath:d=>d.name,items:this.domains,value:Bind.twoWaysImmediate((()=>this.domainID))}),this.domains.length>1&&XNode.create("i",{class:"fas fa-plus","data-click-event":"add-mailbox"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(InlinePopupButton,{icon:"fas fa-plus",label:"Add",popup:()=>XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"add-mailbox",label:"Hosted Mailbox"}),XNode.create(MenuItem,{"data-click-event":"add-external-mailbox",label:"External Mailbox"}))}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.mailboxes,"data-layout":"data-grid"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({start,cancelToken,search:this.search,version:this.version,domainID:this.domainID}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("div",null,XNode.create(Icon.Mailbox,{mailbox:item})),XNode.create("div",null,XNode.create("a",{href:item.isChannel?CommonCommands.openChannel.displayRoute({id:item.mailboxID}):CommonCommands.openMailbox.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},item.emailAddress.emailAddress)),XNode.create("div",null,toFileSize(item.storage)),XNode.create("div",null,toFileSize(item.maxStorage)),XNode.create("div",null,item.isChannel?XNode.create("a",{href:CommonCommands.openSubscribers.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},"Subscribers"):XNode.create("span",null)),XNode.create("div",null,XNode.create("i",{class:"fas fa-gears","data-cursor":"pointer",title:"Settings","data-click-event":"open-settings"})))}))))}))}addMailbox(){return __awaiter(this,void 0,void 0,(function*(){const domains=yield this.mailboxService.domains(true);if(!domains.length){alert("There are no hosted domains available, please create domain name from the admin console.");return}yield PageNavigator.pushPageForResult(MailboxEditorPage,{domainID:this.domainID});this.version++}))}openSettings(mailbox){return __awaiter(this,void 0,void 0,(function*(){this.openDetail(MailboxDetailPage,mailbox)}))}addExternalMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(AddExternalMailboxPage)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxListPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addMailbox",null);__decorate([Action({onEvent:"open-settings"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"openSettings",null);__decorate([Action({onEvent:"add-external-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addExternalMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/AppCommands");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands"],(function(_export,_context){"use strict";var Command,CommonCommands,AppCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default}],execute:function(){_export("default",AppCommands=class AppCommands extends CommonCommands{});AppCommands.openHome=Command.create({route:"/",routeOrder:200,openPage:()=>_context.import("../page/home/HomePage")});AppCommands.openMailboxList=Command.create({route:"/mailboxes",routeOrder:100,openPage:()=>_context.import("../../common/pages/mailboxes/MailboxListPage")});AppCommands.openMails=Command.create({route:"/mails",routeOrder:100,openPage:()=>_context.import("../page/mails/MailboxContacts")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/history/WebSiteHistory");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","../../../../common/controls/buttons/IconButton","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/date/DateFormats","../../../../common/NumberFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,WebSiteService,XNode,AtomRepeater,SelectorCheckBox,Action,EntityService,DeleteIconTextButton,InfiniteRepeater,DateFormats,toFileSize,WebSiteHistory;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize}],execute:function(){_export("default",WebSiteHistory=class WebSiteHistory extends PopupWindowPage{constructor(){super(...arguments);this.versions=[];this.selectedVersions=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.folder.name} Versions`;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",allowMultipleSelection:true,items:this.versions,selectedItems:this.selectedVersions},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.getVersions({folderID:this.parameters.folderID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,item.snapshotFolderID===this.parameters.currentVersionID?XNode.create("div",null):XNode.create(SelectorCheckBox,null),XNode.create("span",{text:item.name}),XNode.create("span",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("span",{text:item.author.displayName}),XNode.create("span",{text:toFileSize(item.snapshotFolder.fileSize)}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(DeleteIconTextButton,{"data-click-event":"delete-versions"}))}))}deleteVersions(){return __awaiter(this,void 0,void 0,(function*(){const copy=[...this.selectedVersions];for(const iterator of copy){iterator.$deleted=true}yield this.entityService.save(copy,(c=>c));this.selectedVersions.length=0;for(const iterator of copy){this.versions.remove(iterator)}}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteHistory.prototype,"websiteService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],WebSiteHistory.prototype,"entityService",void 0);__decorate([Action({onEvent:"delete-versions",confirm:"Are you sure you want to delete old published verions? There is no way to recover these versions."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteHistory.prototype,"deleteVersions",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/Expander","../buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/web/services/PopupService","../../../services/EntityService","../../../model/model","./CollectionEditor.global.less"],(function(_export,_context){"use strict";var __awaiter,XNode,AtomRepeater,Expander,AddIconTextButton,DeleteIconButton,PageNavigator,Bind,PopupService,EntityService,modelEntitySchemas,hasKeys;function CollectionEditor({model,collection,addPage,pageResultToItem,addItemDefaults,itemFactory,editPage,label,itemRenderer,autoFocus=false}){var _a;let repeater;const items=(_a=model[collection])!==null&&_a!==void 0?_a:model[collection]=[];const schema=modelEntitySchemas[model.$type];const relation=schema.schema.relations.find((x=>x.name===collection));itemFactory!==null&&itemFactory!==void 0?itemFactory:itemFactory=()=>relation.relatedModel.create(addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{});const onAddItem=()=>__awaiter(this,void 0,void 0,(function*(){const es=repeater.app.resolve(EntityService);let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{});newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=itemFactory===null||itemFactory===void 0?void 0:itemFactory()}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}if(hasKeys(model,schema)){const draft=Object.assign(Object.assign({},model),{[collection]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[collection]));yield es.save(clone.copy)}repeater.items.add(newItem)}));const deleteItem=item=>__awaiter(this,void 0,void 0,(function*(){if(!(yield PopupService.confirm({message:"Are you sure you want to delete this?",title:"Confirm"}))){return}if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}));return XNode.create(Expander,{"data-collection-editor":"editor",isExpanded:true},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:label})),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>repeater=c)),"data-layout":"data-grid","event-delete-collection-item":ce=>deleteItem(ce.detail),items,footer:true,itemRenderer:item=>{const node=itemRenderer(item);node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));return node}}),XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":onAddItem,text:"Add New"}))))}_export("default",CollectionEditor);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_buttonsIconButton){AddIconTextButton=_buttonsIconButton.AddIconTextButton;DeleteIconButton=_buttonsIconButton.DeleteIconButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_CollectionEditorGlobalLess){}],execute:function(){hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/view/ViewWebSitePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../../common/controls/collection-editor/CollectionEditor"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteHost,XNode,Bind,CollectionEditor,ViewWebSitePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteHost=_modelModel.WebSiteHost},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsCollectionEditorCollectionEditor){CollectionEditor=_commonControlsCollectionEditorCollectionEditor.default}],execute:function(){_export("default",ViewWebSitePage=class ViewWebSitePage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).hosts)!==null&&_a!==void 0?_a:_b.hosts=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To view website, you must add host name with correct DNS settings. Please contact support for more help.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Hosts",model:this.model,collection:"hosts",itemRenderer:item=>XNode.create("div",null,XNode.create("a",{href:`https://${item.host}`,target:"_blank",text:item.host})),itemFactory:()=>{const host=prompt("Internet URL Host","");if(!host){return}return WebSiteHost.create({host})}}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/blogs/LookupChannelPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/buttons/IconButton","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Mailbox,XNode,Bind,InjectProperty,EntityService,AtomRepeater,SaveIconTextButton,InfiniteRepeater,Sql,LookupChannelPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("default",LookupChannelPage=class LookupChannelPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selected=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Search for Channels/Blogs";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({selectOnClick:true,"data-list-selection":"default",selectedItem:Bind.twoWaysImmediate((()=>this.selected))},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.searchItems({start,search:this.search,cancelToken}))),{itemRenderer:x=>XNode.create("div",{text:x.emailAddress.emailAddress})})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected!==null)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Select"}))}))}searchItems({start,size=10,search="",cancelToken}){return __awaiter(this,void 0,void 0,(function*(){search=search===null||search===void 0?void 0:search.toLowerCase();search||(search="");let q=this.entityService.query(Mailbox).where((x=>x.isChannel===true&&x.isPrivateChannel===false));if(search){search=search+"%";if(search.startsWith("@")){q=q.where({search},(p=>x=>Sql.text.like(x.domain.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}}return q.include((x=>x.emailAddress)).toPagedList({start,cancelToken,size})}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],LookupChannelPage.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/hosted-domains/HostedDomainDropDown");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,DropDown,HostedDomain,Bind,InjectProperty,EntityService,Sql,HostedDomainDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",HostedDomainDropDown=class HostedDomainDropDown extends DropDown{constructor(app,e){super(app,e);this.pushInit();this.valuePath=mb=>mb.domainID;this.itemRenderer=mb=>XNode.create("div",null,mb.domain.name)}init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.prompt="From";this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>this.searchMailboxes(this.search,this.value,cancelToken)))}));const item=yield this.entityService.query(HostedDomain).include((x=>x.domain)).firstOrDefault();this.items=[item];this.selectedItem=item}))}searchMailboxes(search,value,cancelToken){var _a;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(HostedDomain);search=(_a=search===null||search===void 0?void 0:search.trim())===null||_a===void 0?void 0:_a.toLowerCase();value||(value="0");if(search){search=search+"%";q=q.where({search,value},(p=>x=>Sql.text.like(x.domain.name,p.search)||x.domainID===p.value))}else{q=q.where({value},(p=>x=>x.domainID===p.value))}const items=yield q.include((x=>x.domain)).toPagedList({size:10,cancelToken});return items.items}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],HostedDomainDropDown.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/blogs/WebSiteBlogsPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/PageNavigator","./LookupChannelPage","../../../../common/controls/collection-editor/CollectionEditorEx","../../../../common/controls/hosted-domains/HostedDomainDropDown"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteChannel,XNode,Bind,PageNavigator,LookupChannelPage,CollectionEditorEx,HostedDomainDropDown,WebSiteBlogsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteChannel=_modelModel.WebSiteChannel},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_LookupChannelPage){LookupChannelPage=_LookupChannelPage.default},function(_commonControlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_commonControlsCollectionEditorCollectionEditorEx.default},function(_commonControlsHostedDomainsHostedDomainDropDown){HostedDomainDropDown=_commonControlsHostedDomainsHostedDomainDropDown.default}],execute:function(){_export("default",WebSiteBlogsPage=class WebSiteBlogsPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).channels)!==null&&_a!==void 0?_a:_b.channels=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To display blog/channels on your website, you must add them here.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditorEx,{label:"Domains",model:this.model,field:x=>x.channelDomains,addItemDefaults:{domainID:null},itemRenderer:item=>XNode.create("div",null,XNode.create("div",{text:item.domain.domain.name})),inlineAdd:true,inlineAddRenderer:item=>XNode.create("div",null,XNode.create("menu",null,XNode.create(HostedDomainDropDown,{value:Bind.sourceTwoWays(item,(x=>x.source.domainID))})))}),XNode.create(CollectionEditorEx,{label:"Channels",model:this.model,field:x=>x.channels,itemRenderer:item=>XNode.create("div",null,XNode.create("div",{text:item.channel.emailAddress.emailAddress})),itemFactory:()=>__awaiter(this,void 0,void 0,(function*(){const channel=yield PageNavigator.pushPageForResult(LookupChannelPage);return WebSiteChannel.create({channelID:channel.mailboxID,channel})}))}),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null),XNode.create("br",null))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/DownloadZip");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","./DownloadZip.local.less"],(function(_export,_context){"use strict";var __awaiter,XNode,ContentPage,DownloadZip,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_DownloadZipLocalLess){}],execute:function(){css="download-zip-local";_export("default",DownloadZip=class DownloadZip extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name,fileContentID,appFileID,url,path}=this.parameters;const q=new URLSearchParams({name,url,path,fileContentID,appFileID});const previewUrl=`/social-mail/ui/dist/public/preview/zip/DownloadZip?${q.toString()}`;this.title=name;this.renderer=XNode.create("div",{class:css},XNode.create("iframe",{src:previewUrl}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","../../../../model/model","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../../site-editor/editor/WebSitePageEditor","../../../../code-editor/CodeEditorPage","../../../../services/websites/WebSiteService","../../../../web/commands/AppCommands","../history/WebSiteHistory","../view/ViewWebSitePage","../blogs/WebSiteBlogsPage","../../../../common/apiPath","../../../../common/controls/buttons/IconButton","../../../../common/controls/tree/FileTreeView","../../../../common/pages/files/service/CloudFileService","../../../../common/pages/files/shares/EditSharesPage","../../../../common/pages/files/preview/document/DownloadZip","../../../../common/pages/files/FileHistoryPage","../../../../common/menu/MenuService","./web-site-studio-page.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,Bind,XNode,Action,PageNavigator,MenuItem,AppFile,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,WebSitePageEditor,CodeEditorPage,WebSiteService,AppCommands,WebSiteHistory,ViewWebSitePage,WebSiteBlogsPage,apiPath,SaveIconTextButton,EditIconTextButton,FileTreeView,CloudFileService,EditSharesPage,DownloadZip,FileHistoryPage,MenuService,WebSiteStudioPage,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_historyWebSiteHistory){WebSiteHistory=_historyWebSiteHistory.default},function(_viewViewWebSitePage){ViewWebSitePage=_viewViewWebSitePage.default},function(_blogsWebSiteBlogsPage){WebSiteBlogsPage=_blogsWebSiteBlogsPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton;EditIconTextButton=_commonControlsButtonsIconButton.EditIconTextButton},function(_commonControlsTreeFileTreeView){FileTreeView=_commonControlsTreeFileTreeView.FileTreeView},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonPagesFilesSharesEditSharesPage){EditSharesPage=_commonPagesFilesSharesEditSharesPage.default},function(_commonPagesFilesPreviewDocumentDownloadZip){DownloadZip=_commonPagesFilesPreviewDocumentDownloadZip.default},function(_commonPagesFilesFileHistoryPage){FileHistoryPage=_commonPagesFilesFileHistoryPage.default},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default},function(_webSiteStudioPageLocalLess){}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.keep=true;this.version=1;this.pageContent="";this.modified=false}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);this.title=this.root.name;this.webSite=yield this.websiteService.get(this.root.appFileID);this.menuService.addWebSite(this.webSite);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:this.root.name}),XNode.create("div",{"style-display":Bind.oneWay((()=>this.webSite.isModified))},XNode.create(SaveIconTextButton,{"data-click-event":"publish-website",text:"Publish"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.webSite.folderID})},XNode.create(EditIconTextButton,{text:"Modify Files",title:"Use this to upload files manually"})),XNode.create(EditIconTextButton,{"data-click-event":"version-history",icon:"fas fa-history",text:"History",title:"Version History"}),XNode.create(EditIconTextButton,{"data-click-event":"link-blog",icon:"fad fa-blog",text:"Linked Blogs"}),XNode.create(EditIconTextButton,{"data-click-event":"view-website",icon:"fad fa-globe-pointer",text:"View Site"}),XNode.create("a",{href:Bind.oneWay((()=>apiPath(`${this.root.url}${this.cloudFileService.getFilePath(this.root,this.selectedFile)}${this.selectedFile.name}`))),target:"_blank"},XNode.create(EditIconTextButton,{icon:"fad fa-globe-pointer",text:"Preview Draft"})),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})),XNode.create(EditIconTextButton,{icon:"fad fa-save",text:"Download Site","event-click":()=>PageNavigator.pushPage(DownloadZip,this.webSite.folder)}));this.renderer=XNode.create("div",{class:"web-site-studio-page"},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"}),XNode.create(MenuItem,{icon:"fas fa-history","data-click-event":"file-history",label:"File History"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.modified){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",selectedFile:Bind.oneWay((()=>this.selectedFile)),baseUrl:Bind.oneWay((()=>apiPath(`${this.root.url}${this.cloudFileService.getFilePath(this.root,this.selectedFile)}`))),folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.modified=true,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?this.downloadHtml(this.selectedFile,cancelToken):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified))},XNode.create(SaveIconTextButton,{"data-click-event":"save-page",text:"Save"}))}))}downloadHtml(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const text=yield FetchBuilder.get(file.url).cancelToken(cancelToken).asText(true);this.pageContent=text;return text}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:this.selectedFile.name,content:(_a=this.htmlEditor.modifiedPage)!==null&&_a!==void 0?_a:this.pageContent});this.pageContent=content;yield this.htmlEditor.merge(content)}))}openFolder(file){this.selectedFile=file}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){let html=this.htmlEditor.modifiedPage;if(!html.trim().startsWith("<!")){html=`<!DOCTYPE html>${html}`}const content=new File([html],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.pageContent=html;this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.webSite.isModified=true;this.modified=false;this.htmlEditor.undoRedo.changed=false}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){const{fileContentID,url}=yield PageNavigator.pushPageForResult(FileHistoryPage,file);const{selectedFile}=this;if(file.appFileID===(selectedFile===null||selectedFile===void 0?void 0:selectedFile.appFileID)){selectedFile.url=url;selectedFile.fileContentID=fileContentID}}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.publish(this.webSite)}))}versionHistory(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteHistory,this.webSite)}))}viewWebSite(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ViewWebSitePage,this.webSite)}))}linkBlog(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteBlogsPage,this.webSite)}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteStudioPage.prototype,"websiteService",void 0);__decorate([InjectProperty,__metadata("design:type",MenuService)],WebSiteStudioPage.prototype,"menuService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?",success:"Web site published successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"publishWebsite",null);__decorate([Action({onEvent:"version-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"versionHistory",null);__decorate([Action({onEvent:"view-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"viewWebSite",null);__decorate([Action({onEvent:"link-blog"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"linkBlog",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","../../common/menu/MenuService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,WebSite,Sql,MenuService,StoreService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){WebSite=_modelModel.WebSite},function(_commonSql){Sql=_commonSql.Sql},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default}],execute:function(){StoreService=class StoreService{get(storeID){return __awaiter(this,void 0,void 0,(function*(){const store=yield this.entityService.query(WebSite).where({storeID},(p=>x=>x.folderID===p.storeID)).include((x=>x.folder.accessList)).firstOrDefault();this.menuService.addWebSite(store);return store}))}top(){return __awaiter(this,void 0,void 0,(function*(){const{items}=yield this.stores({size:3,cancelToken:null});return items}))}stores({search="",start=0,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(WebSite);if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.folder.name,p.search)))}return q.orderByDescending((x=>x.folderID)).include((x=>x.folder)).toPagedList({start,size,cancelToken})}))}save(store){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(store,(x=>x))}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MenuService)],StoreService.prototype,"menuService",void 0);StoreService=__decorate([DISingleton()],StoreService);_export("default",StoreService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreOrderService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,StoreItemPrice,StoreJournal,StoreJournalLineItem,Sql,DateTime,StoreOrderService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){StoreItemPrice=_modelModel.StoreItemPrice;StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){StoreOrderService=class StoreOrderService{get(orderID){return this.entityService.query(StoreJournal).where({orderID},(p=>x=>x.journalID===p.orderID)).include((x=>[x.lineItems.forEach((oi=>[oi.itemPrice.storeItem.store])),x.entries.forEach((e=>e.storeAccount)),x.buyer,x.seller])).firstOrDefault()}list({storeID=void 0,start=0,size=100,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreJournal).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.buyer.name,p.search)||x.lineItems.some((oi=>Sql.text.iLike(oi.itemPrice.storeItem.name,p.search)))))}return q.orderByDescending((x=>x.journalID)).toPagedList({start,size,cancelToken})}))}save(order){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(order,(c=>c.include((x=>x.entries)).include((x=>x.lineItems)).thenInclude((x=>x.relatedItems))));return order}))}updateTaxFolder(model,line,taxFolder){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!taxFolder){if(!line.relatedItems){return}for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}line.relatedItems.remove(iterator)}return}const{itemFolderID}=taxFolder;const date=(_a=model.dateCreated)!==null&&_a!==void 0?_a:DateTime.now;const taxItemPrices=yield this.entityService.query(StoreItemPrice).where({itemFolderID,date},(p=>x=>x.startDate<=p.date&&x.storeItem.itemFolderID===p.itemFolderID)).include((x=>x.storeItem)).toArray();const taxItems=taxItemPrices.map((x=>x.storeItem)).groupBy((x=>x.storeItemID)).map((x=>x[0]));const taxItemIDs=new Set(taxItems.map((x=>x.storeItemID)));(_b=line.relatedItems)!==null&&_b!==void 0?_b:line.relatedItems=[];for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}if(!taxItemIDs.has(iterator.itemID)){line.relatedItems.remove(iterator);iterator.source=null;iterator.journal=null;model.lineItems.remove(iterator)}}for(const iterator of taxItems){const{storeItemID:itemID}=iterator;let taxLine=line.relatedItems.find((x=>x.itemID===itemID));if(!taxLine){taxLine=StoreJournalLineItem.create({itemID,source:line});if(line.lineItemID){taxLine.sourceID=line.lineItemID}line.relatedItems.add(taxLine)}taxLine.itemID=itemID;taxLine.item=iterator;taxLine.itemType="tax";const taxItemPrice=taxItemPrices.find((x=>x.storeItemID===itemID));taxLine.itemPriceID=taxItemPrice.priceID;const amount=Number(line.amount)*Number(taxItemPrice.amount);taxLine.amount=amount}}))}deleteLineItem(model,line){return __awaiter(this,void 0,void 0,(function*(){}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreOrderService.prototype,"entityService",void 0);StoreOrderService=__decorate([DISingleton()],StoreOrderService);_export("default",StoreOrderService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/reference-editor/ReferenceEditor");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","../../../services/EntityService","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/ExpressionParser","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../repeater/InfiniteRepeater","@web-atoms/core/dist/view-model/Action","./ReferenceEditor.global.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,PageNavigator,Bind,EntityService,AtomControl,ExpressionParser,modelEntitySchemas,InjectProperty,InfiniteRepeater,Action,ReferenceEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreExpressionParser){ExpressionParser=_webAtomsCoreDistCoreExpressionParser.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_repeaterInfiniteRepeater){InfiniteRepeater=_repeaterInfiniteRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ReferenceEditorGlobalLess){}],execute:function(){_export("default",ReferenceEditor=class ReferenceEditor extends AtomControl{constructor(app,e){super(app,e);this.label="";this.model=null;this.field=null;this.searchQuery=null;this.cacheVersion="c1";this.cacheSeconds=15;this.editModelPage=null;this.addNewDefaults={};this.reference=null;this.fieldName=null;this.search="";this.suggestions=null;this.relation=null;this.schema=null;this.showSearch=false;this.hasFocus=false;this.itemRenderer=()=>XNode.create("div",{title:"Setup Item Renderer to customize view",text:"Model"});this.suggestionRenderer=x=>this.itemRenderer(x);this.onAddNew=search=>PageNavigator.pushPageForResult(this.editModelPage,Object.assign({search},this.addNewDefaults));this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;const renderModel=(renderer,model)=>XNode.create("div",{class:"model","data-border":"frame","data-padding":"auto","data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"row"},XNode.create("label",{text:Bind.oneWay((()=>this.label))}),model&&renderer(model),model&&XNode.create("i",{"event-click":()=>this.clearModel(),title:"Clear","data-cursor":"pointer","data-color":"red",class:"fas fa-times-circle"}),!model&&XNode.create("input",{type:"search",placeholder:`Search ${this.label}`,"event-focus":()=>this.hasFocus=true,"event-blur":()=>setTimeout((()=>this.hasFocus=false),250),value:Bind.twoWaysImmediate((()=>this.search))})),!model&&XNode.create("div",{class:"suggestions","style-display":Bind.oneWay((()=>this.showSearch))},XNode.create("div",null,XNode.create("div",{"style-max-height":"200px","data-overflow-y":"auto"},XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid","data-list-selection":"default","data-click-event":"select-suggestion",items:this.suggestions},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.queryItems(start,this.search,cancelToken,this.showSearch))),{itemRenderer:this.suggestionRenderer}))),XNode.create("div",{"data-layout":"row","data-cursor":"pointer","event-click":()=>this.addNew()},XNode.create("i",{class:"fas fa-plus"}),"Add New"))));const fx=()=>this.model[this.fieldName];fx.toString=()=>`() => this.model.${fieldName}`;this.renderer=XNode.create("div",{"data-reference-editor":"reference-editor",reference:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName)))),renderer:Bind.oneWay((()=>renderModel(this.itemRenderer,this.reference))),showSearch:Bind.oneWay((()=>this.hasFocus||this.search?true:false))})}))}queryItems(start,search,cancelToken,showSearch){if(!showSearch){return{items:[],total:0}}let q=this.entityService.query(this.relation.relatedModel);q=this.searchQuery(q,search);const{cacheVersion,cacheSeconds}=this;return q.toPagedList({start,size:10,cacheSeconds,cacheVersion,cancelToken})}addNew(){return __awaiter(this,void 0,void 0,(function*(){this.showSearch=false;const model=yield this.onAddNew(this.search)}))}clearModel(){return __awaiter(this,void 0,void 0,(function*(){this.model[this.fieldName]=null;const relation=this.relation;if(!relation.isInverse){this.model[relation.fkMap[0].fk]=null}if(!this.hasAllKeys()){this.element.dispatchEvent(new CustomEvent("referenceUpdated",{detail:null}));return}yield this.entityService.save(this.model,(c=>c));this.element.dispatchEvent(new CustomEvent("referenceUpdated",{detail:null}))}))}hasAllKeys(){const{schema,model}=this;if(!model){return}for(const key of schema.schema.keys){if(!model[key.name]){return false}}return schema.schema.keys.length>0}selectSuggestion(item){const{relation,model}=this;model[this.fieldName]=item;model[relation.fkMap[0].fk]=item[relation.fkMap[0].relatedKey];this.element.dispatchEvent(new CustomEvent("referenceUpdated",{detail:item}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ReferenceEditor.prototype,"entityService",void 0);__decorate([Action({onEvent:"select-suggestion"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ReferenceEditor.prototype,"selectSuggestion",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/contacts/ContactService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Contact,DISingleton,ContactService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Contact=_modelModel.Contact},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){ContactService=class ContactService{get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Contact).where({id},(p=>x=>x.contactID===p.id)).include((x=>[x.addresses,x.items,x.emails,x.phones,x.hostedDomain])).firstOrDefault()}))}save(contact){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(contact,(c=>c.include((x=>x.addresses)).include((x=>x.items)).include((x=>x.emails)).include((x=>x.phones))))}))}};__decorate([Inject,__metadata("design:type",EntityService)],ContactService.prototype,"entityService",void 0);ContactService=__decorate([DISingleton()],ContactService);_export("default",ContactService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/contacts/ContactEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../controls/collection-editor/CollectionEditorEx","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/contacts/ContactService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Contact,ContactEmail,ContactPhone,HostedDomain,XNode,Form,FormField,Bind,ToggleButtonBar,Select,InjectProperty,EntityService,CollectionEditorEx,SaveIconTextButton,Action,ContactService,ContactEditorPage,contactTypes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Contact=_modelModel.Contact;ContactEmail=_modelModel.ContactEmail;ContactPhone=_modelModel.ContactPhone;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesContactsContactService){ContactService=_servicesContactsContactService.default}],execute:function(){contactTypes=[{label:"Company",value:"company"},{label:"Person",value:"person"}];_export("default",ContactEditorPage=class ContactEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.contactID)?yield this.contactService.get(this.parameters.contactID):Contact.create({type:"person",name:"",emails:[ContactEmail.create({emailAddressText:"",emailAddressID:null})],phones:[ContactPhone.create({phoneNumberE64:""})]});this.title=this.model.contactID?"Edit "+this.model.name:"Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name",required:true,error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(FormField,{label:"Type"},XNode.create(ToggleButtonBar,{items:contactTypes,labelPath:x=>x.label,valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Domain"},XNode.create(Select,{items:Bind.oneWay((()=>this.entityService.query(HostedDomain).include((x=>x.domain)).toArray())),labelPath:x=>x.domain.name,valuePath:x=>x.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(CollectionEditorEx,{label:"Phone",model:this.model,field:x=>x.phones,itemRenderer:item=>XNode.create("div",null,XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.phoneNumberE64))}))}),XNode.create(CollectionEditorEx,{label:"Email",model:this.model,field:x=>x.emails,itemRenderer:item=>XNode.create("div",null,item.emailAddress?XNode.create("div",{text:item.emailAddress.emailAddress}):XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.emailAddress))}))})),XNode.create("details",{open:true,"data-border":"frame"},XNode.create("summary",null,"Tax Numbers"),XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(FormField,{label:"GST ID (GSTIN)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.gstTaxID))})),XNode.create(FormField,{label:"Income TAX (PAN/TAX ID)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.incomeTaxID))})),XNode.create(FormField,{label:"Sales TAX ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salesTaxID))})))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-contact"}))))}))}saveContact(){return __awaiter(this,void 0,void 0,(function*(){yield this.contactService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ContactEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",ContactService)],ContactEditorPage.prototype,"contactService",void 0);__decorate([Action({onEvent:"save-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ContactEditorPage.prototype,"saveContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreItemService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","../files/MimeTypeService","../../common/pages/files/service/CloudFileService","../../common/menu/MenuService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,StoreItem,StoreMediaFile,WebSite,Sql,MimeTypeService,CloudFileService,MenuService,StoreItemService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;StoreItem=_modelModel.StoreItem;StoreMediaFile=_modelModel.StoreMediaFile;WebSite=_modelModel.WebSite},function(_commonSql){Sql=_commonSql.Sql},function(_filesMimeTypeService){MimeTypeService=_filesMimeTypeService.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonMenuMenuService){MenuService=_commonMenuMenuService.default}],execute:function(){StoreItemService=class StoreItemService{getStore(storeID){return __awaiter(this,void 0,void 0,(function*(){const store=yield this.entityService.query(WebSite).where({storeID},(p=>x=>x.folderID===p.storeID)).include((x=>x.folder)).firstOrDefault();this.menuService.addWebSite(store);return store}))}get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const items=yield this.entityService.query(StoreItem).where({id},(p=>x=>x.storeItemID===p.id||x.variantForID===p.id||x.sizeForID===p.id)).include((x=>[x.store.folder,x.itemFolder,x.fileFolder,x.storeItemPrices,x.variantFor,x.sizeFor,x.applicableTaxes.forEach((t=>t.taxItem.storeItemPrices)),x.mediaFiles.forEach((m=>m.appFile)),x.storeItemTags.forEach((t=>t.tag))])).toArray();const item=items.find((x=>x.storeItemID===id));(_a=item.storeItemTags)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.sortOrder-b.sortOrder));return item}))}list({start=0,size=100,search="",storeID=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreItem).where({storeID},(p=>x=>x.storeID===p.storeID&&x.sizeForID===null&&x.variantForID===null));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.name,p.search)||Sql.text.iLike(x.description,p.search)))}return q.orderByDescending((x=>x.storeItemID)).include((x=>[x.itemFolder,x.storeItemPrices])).toPagedList({start,size,cancelToken})}))}save(storeItem){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(storeItem,(c=>c.include((x=>x.storeItemPrices)).include((x=>x.applicableTaxes)).include((x=>x.storeItemTags)).thenInclude((x=>x.tag)).include((x=>x.mediaFiles))));return storeItem}))}getOrCreateMediaFile(model,name,template){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{folderID}=model;let file=yield this.entityService.query(AppFile).where({folderID,name},(p=>x=>x.parentID===p.folderID&&x.name===p.name)).firstOrDefault();if(!file){file=AppFile.create({parentID:folderID,isFolder:false,contentType:yield this.mimeTypeService.getMimeType(name),name});yield this.entityService.save(file);if(template){const{fileContentID,url}=yield this.cloudFileService.saveFile({appFileID:file.appFileID,content:new File([template()],name,{type:"text/html"})});file.url=url;file.fileContentID=fileContentID}}let mediaFile=(_a=model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title===name));if(!mediaFile){mediaFile=StoreMediaFile.create({storeItemID:model.storeItemID,appFileID:file.appFileID,fileContentID:file.fileContentID,isPreview:false,title:name});yield this.entityService.save(mediaFile);((_b=model.mediaFiles)!==null&&_b!==void 0?_b:model.mediaFiles=[]).add(mediaFile)}else{if(mediaFile.fileContentID!==file.fileContentID){mediaFile.appFileID=file.appFileID;mediaFile.fileContentID=file.fileContentID;yield this.entityService.save(mediaFile,(c=>c))}}mediaFile.appFile=file;return mediaFile}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreItemService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MimeTypeService)],StoreItemService.prototype,"mimeTypeService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],StoreItemService.prototype,"cloudFileService",void 0);__decorate([Inject,__metadata("design:type",MenuService)],StoreItemService.prototype,"menuService",void 0);StoreItemService=__decorate([DISingleton()],StoreItemService);_export("default",StoreItemService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/order/EditOrderPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreOrderService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/collection-editor/CollectionEditorEx","../../../../common/controls/reference-editor/ReferenceEditor","../../../../common/pages/contacts/ContactEditorPage","../../../../common/Sql","../../../../services/store/StoreItemService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StoreJournal,StoreJournalLineItem,InjectProperty,StoreOrderService,XNode,Form,Expander,Bind,AtomRepeater,CollectionEditorEx,ReferenceEditor,ContactEditorPage,Sql,StoreItemService,EditOrderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_commonControlsCollectionEditorCollectionEditorEx.default},function(_commonControlsReferenceEditorReferenceEditor){ReferenceEditor=_commonControlsReferenceEditorReferenceEditor.default},function(_commonPagesContactsContactEditorPage){ContactEditorPage=_commonPagesContactsContactEditorPage.default},function(_commonSql){Sql=_commonSql.Sql},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default}],execute:function(){_export("default",EditOrderPage=class EditOrderPage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const storeID=this.parameters.storeID;if(!storeID){alert("StoreID must be present.");this.cancel();return}yield this.storeItemService.getStore(this.parameters.storeID);this.model=this.parameters.journalID?yield this.storeOrderService.get(this.parameters.journalID):StoreJournal.create(Object.assign(Object.assign({},this.parameters),{journalType:"sales-invoice",storeID,buyer:null,seller:null,lineItems:[StoreJournalLineItem.create({item:null,itemPrice:null,quantity:1})]}));this.renderer=XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(Form,null,XNode.create(ReferenceEditor,{label:"Buyer",model:this.model,field:x=>x.buyer,editModelPage:ContactEditorPage,searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch)||x.emails.some((e=>Sql.text.iLike(e.emailAddress.emailAddress,p.likeSearch)))||x.phones.some((e=>e.phoneNumberE64===p.search)))):q).where((x=>x.type!=="domain")).include((x=>[x.items,x.domains,x.addresses])).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("label",{text:x.name}),XNode.create("label",{text:x.gstTaxID||x.incomeTaxID}))})),XNode.create(CollectionEditorEx,{label:"Items",model:this.model,field:x=>x.lineItems,addItemDefaults:{item:null,itemPrice:null,quantity:1},"event-item-deleted":ce=>this.onLineItemDeleted(ce.detail),itemRenderer:line=>XNode.create("div",{"data-layout":"row","data-align-items":"flex-start"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.item,addNewDefaults:{storeID},searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch))):q).where({storeID},(p=>x=>x.storeID===p.storeID)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.itemPrice,addNewDefaults:Bind.source(line,(x=>({storeItemID:x.source.itemID}))),"event-reference-updated":ce=>this.onItemPriceUpdated(line,ce.detail),searchQuery:(q,search)=>q.where({id:line.itemID},(p=>x=>x.storeItemID===p.id)),itemRenderer:x=>XNode.create("div",{text:`${x.currency} ${x.amount}`})}),XNode.create("input",{value:Bind.sourceTwoWays(line,(x=>x.source.quantity))}),XNode.create("input",{readOnly:true,value:Bind.source(line,(x=>x.source.amount))}),XNode.create("div",{"data-layout":"vertical-flex","style-padding":"0","style-overflow":"visible"},XNode.create(AtomRepeater,{items:Bind.source(line,(x=>x.source.relatedItems)),itemRenderer:ri=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.source(ri,(x=>x.source.item?x.source.item.name:""))}),XNode.create("div",{text:Bind.source(ri,(x=>x.source.amount))}))})))}),XNode.create(Expander,{isExpanded:false,"data-border":"frame"},XNode.create("div",null,"Journal Entries"),XNode.create("table",null,XNode.create("tr",null,XNode.create("th",null,"Ledger"),XNode.create("th",null,"Debit"),XNode.create("th",null,"Credit"),XNode.create("th",{title:"Balance when entry was posted"},"Posted Balance")),...((_a=this.model.entries)!==null&&_a!==void 0?_a:[]).map((x=>XNode.create("tr",null,XNode.create("td",null,x.storeAccount.name),XNode.create("td",null,x.debit),XNode.create("td",null,x.credit),XNode.create("td",{title:"Balance when posted"},x.balance)))))))}))}onItemPriceUpdated(line,detail){line.amount=Number(detail.amount)}onLineItemDeleted(line){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.deleteLineItem(this.model,line)}))}taxFolderUpdated(line,taxFolder){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.updateTaxFolder(this.model,line,taxFolder)}))}});__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],EditOrderPage.prototype,"storeOrderService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditOrderPage.prototype,"storeItemService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/orders/StoreOrderListPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/store/StoreService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../../../services/store/StoreOrderService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../order/EditOrderPage","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ContentPage,StoreService,InjectProperty,Bind,StoreOrderService,Action,PageNavigator,EditOrderPage,InfiniteRepeater,AddIconTextButton,StoreDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_orderEditOrderPage){EditOrderPage=_orderEditOrderPage.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton}],execute:function(){_export("default",StoreDetailPage=class StoreDetailPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.selectedItem=null;this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeService.get(this.parameters.id);this.title=`${this.model.folder.name} Orders`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeOrderService.list({storeID:this.parameters.id,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",null,XNode.create("label",{text:item.journalID}),XNode.create("label",{text:item.journalType}),XNode.create("a",{text:(_a=item.buyer)===null||_a===void 0?void 0:_a.name,"data-click-event":"route"}))}}))));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"create-order",text:"Create Order"}))}))}createOrder(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditOrderPage,{storeID:this.parameters.id})}))}});__decorate([InjectProperty,__metadata("design:type",StoreService)],StoreDetailPage.prototype,"storeService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],StoreDetailPage.prototype,"storeOrderService",void 0);__decorate([Action({onEvent:"create-order"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreDetailPage.prototype,"createOrder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tags/TagChips");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,Tag,Sql,TagChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Tag=_modelModel.Tag},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",TagChips=class TagChips extends AtomChips{preCreate(){super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Tags";this.itemRenderer=x=>{var _a,_b;return XNode.create(Chip,{draggable:true,deleted:x.$deleted,label:(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.label)!==null&&_b!==void 0?_b:x.name})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:x.name});this.enterKeyHint="enter";this.itemToChip=(item,name)=>({$deleted:false,name});this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a;return((_a=x.tag)===null||_a===void 0?void 0:_a.path)||x.name};this.bindEvent(this.element,"itemDropped",(()=>{this.items.forEach(((v,i)=>v.sortOrder=i))}))}removeItem(item){if(!item.tagID){this.items.remove(item);return}super.removeItem(item)}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}let q=this.entityService.query(Tag);search=search.toLocaleLowerCase();q=q.where({search:search+"%"},(p=>x=>Sql.text.like(x.name,p.search)));const items=yield q.orderBy((x=>x.name)).toPagedList({cancelToken,hideActivityIndicator:true,size:10});return items.items.map((tag=>({tag})))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/folder-view/FolderViewControl");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/core/InjectProperty","../NumberFormats","@web-atoms/core/dist/view-model/Action","../controls/buttons/IconButton","../fileUrl","../pages/files/service/CloudFileService","../FileUrlService","./FolderViewControl.local.less"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomControl,XNode,Bind,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,FilesDragDrop,InjectProperty,toFileSize,Action,DeleteIconTextButton,fileUrl,CloudFileService,FileUrlService,FolderViewControl,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsTreeFileTreeView){FolderTreeView=_controlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_controlsButtonsIconButton){DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton},function(_fileUrl){fileUrl=_fileUrl.fileUrl},function(_pagesFilesServiceCloudFileService){CloudFileService=_pagesFilesServiceCloudFileService.default},function(_FileUrlService){FileUrlService=_FileUrlService.FileUrlService},function(_FolderViewControlLocalLess){}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",FolderViewControl=class FolderViewControl extends AtomControl{constructor(app,e){super(app,e);this.mode="thumbnails";this.selectedFolder=null;this.root=null;this.search="";this.version=0;this.selectedFiles=[];this.files=[];this.element.setAttribute("data-folder-view","folder-view");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{files:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,cancelToken})))},XNode.create(FolderTreeView,{class:"folder-tree",folderId:Bind.oneWay((()=>this.root.appFileID)),presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{allowMultipleSelection:true,selectedItems:this.selectedFiles,header:true,headerRenderer:()=>XNode.create("header",null,XNode.create(SelectAll,{items:Bind.oneWay((()=>this.files)),selectedItems:this.selectedFiles})),itemRenderer:Bind.oneWay((()=>this.getItemRenderere(this.mode))),items:Bind.oneWay((()=>this.files))})),XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0))},XNode.create(DeleteIconTextButton,{"data-click-event":"delete-files"})))}))}getItemRenderere(m){switch(this.mode){case"list":return f=>this.renderFile(f)}return f=>this.renderPreview(f)}renderPreview(item){if(/^(image|video)\//i.test(item.contentType)){return XNode.create("div",{class:"media-file"},XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",text:item.name}),XNode.create("img",{class:"file-preview",title:item.name,src:fileUrl.webp(item,300)}))}return XNode.create("div",{class:"media-file"},XNode.create("img",null))}renderFile(item){if(item.isFolder){return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("span",{"data-click-event":"open-folder",class:"file-link",text:item.name,"data-padding-left":"auto"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})))}return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("div",null,XNode.create("i",{class:item.isFolder?"fiv-viv fiv-icon-folder":`fiv-viv fiv-icon-${getExtension(item.name)}`}),XNode.create("a",{href:item.url,target:"_blank",text:item.name,"data-margin-left":"default"})),XNode.create("div",null,item.isShared&&XNode.create("i",{title:"Shared",class:"fas fa-folder-user"})),XNode.create("div",{text:toFileSize(item.fileSize)}),XNode.create("div",null,XNode.create("a",{href:FileUrlService.downloadUrl(item),target:"_blank",download:true},XNode.create("i",{class:"fas fa-download"}))),XNode.create("div",null,XNode.create("i",{"data-click-event":"edit-shares",class:"fas fa-share"})))}deleteFiles(){return __awaiter(this,void 0,void 0,(function*(){const copy=[].concat(this.selectedFiles);while(copy.length){const slice=copy.splice(0,10);yield this.cloudFileService.delete(slice);for(const iterator of slice){this.selectedFiles.remove(iterator);this.files.remove(iterator)}}this.version++}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderViewControl.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"delete-files",confirm:"Are you sure you want to delete selected files?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderViewControl.prototype,"deleteFiles",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],FolderViewControl.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/Offsers");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/email-dom/dist/DomToString"],(function(_export,_context){"use strict";var XNode,DomToString,Offers;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default}],execute:function(){_export("Offers",Offers=()=>DomToString(XNode.create("main",null,XNode.create("section",{"styler-layout":"column"}),XNode.create("section",{"styler-layout":"column"}))))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/Specifications");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/email-dom/dist/DomToString"],(function(_export,_context){"use strict";var XNode,DomToString,Specifications;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default}],execute:function(){_export("Specifications",Specifications=()=>DomToString(XNode.create("main",null,XNode.create("section",{"styler-layout":"columns-2"},XNode.create("table",null,XNode.create("thead",null,XNode.create("tr",null,XNode.create("th",{colspan:2},"Spec 1"))),XNode.create("tbody",null,XNode.create("tr",null,XNode.create("td",null,"Size"),XNode.create("td",null,"Medium")),XNode.create("tr",null,XNode.create("td",null,"Color"),XNode.create("td",null,"Transparent")))),XNode.create("table",null,XNode.create("thead",null,XNode.create("tr",null,XNode.create("th",{colspan:2},"Spec 1"))),XNode.create("tbody",null,XNode.create("tr",null,XNode.create("td",null,"Size"),XNode.create("td",null,"Medium")),XNode.create("tr",null,XNode.create("td",null,"Color"),XNode.create("td",null,"Transparent"))))))))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/folders/EditItemFolderPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../../common/controls/reference-editor/ReferenceEditor","../../../../common/controls/buttons/IconButton","../../../../common/Sql","../../../../services/store/StoreItemService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,StoreItemFolder,InjectProperty,EntityService,XNode,Form,FormField,Bind,Action,ReferenceEditor,SaveIconTextButton,Sql,StoreItemService,EditItemFolderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){StoreItemFolder=_modelModel.StoreItemFolder},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsReferenceEditorReferenceEditor){ReferenceEditor=_commonControlsReferenceEditorReferenceEditor.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_commonSql){Sql=_commonSql.Sql},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default}],execute:function(){_export("default",EditItemFolderPage=class EditItemFolderPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.itemFolderID)?yield this.entityService.query(StoreItemFolder).where(this.parameters,(p=>x=>x.itemFolderID===p.itemFolderID)).firstOrDefault():StoreItemFolder.create({parent:null,storeID:(_b=this.parameters)===null||_b===void 0?void 0:_b.storeID});if(!this.parameters.storeID){alert("Store is not set");this.cancel();return}yield this.storeItemService.getStore(this.parameters.storeID);this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{placeholder:"Name",value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(ReferenceEditor,{label:"Folder",model:this.model,field:x=>x.parent,searchQuery:(q,search)=>(search?q.where({search},(p=>x=>Sql.text.startsWith(x.name,p.search))):q).orderBy((x=>x.path)),itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.name}))}),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-folder"}))))}))}saveFolder(){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(this.model,(c=>c));return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],EditItemFolderPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditItemFolderPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"save-folder",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditItemFolderPage.prototype,"saveFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/ProductEditor");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Select","../../../../common/Sql","../../../../common/controls/buttons/IconButton","../../../../common/controls/collection-editor/CollectionEditorEx","../../../../common/controls/reference-editor/ReferenceEditor","../../../../common/controls/tags/TagChips","../../../../common/date/DateFormats","../../../../common/folder-view/FolderViewControl","@web-atoms/core/dist/core/BindableProperty","../../../../common/controls/drag-drop/FilesDragDrop","@web-atoms/web-controls/dist/basic/UploadEvent","@web-atoms/core/dist/view-model/Action","../../../../common/fileUrl","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreItemService","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./html/Offsers","./html/Specifications","../../../../common/controls/countries/CountrySelect","@web-atoms/web-controls/dist/basic/Checkbox","../folders/EditItemFolderPage","../../../commands/SiteEditorCommands","../web-hooks/WebHookPage","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomControl,StoreItem,StoreItemItemTypeArray,StoreMediaFile,WebHook,Bind,XNode,FormField,Select,Sql,UploadIconTextButton,CollectionEditorEx,ReferenceEditor,TagChips,DateFormats,FolderViewControl,BindableProperty,FilesDragDrop,UploadEvent,Action,fileUrl,signedImageUrl,InjectProperty,StoreItemService,InlinePopupButton,MenuItem,Offers,Specifications,CurrencySelect,Checkbox,EditItemFolderPage,SiteEditorCommands,WebHookPage,EntityService,ProductEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){StoreItem=_modelModel.StoreItem;StoreItemItemTypeArray=_modelModel.StoreItemItemTypeArray;StoreMediaFile=_modelModel.StoreMediaFile;WebHook=_modelModel.WebHook},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonControlsButtonsIconButton){UploadIconTextButton=_commonControlsButtonsIconButton.UploadIconTextButton},function(_commonControlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_commonControlsCollectionEditorCollectionEditorEx.default},function(_commonControlsReferenceEditorReferenceEditor){ReferenceEditor=_commonControlsReferenceEditorReferenceEditor.default},function(_commonControlsTagsTagChips){TagChips=_commonControlsTagsTagChips.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonFolderViewFolderViewControl){FolderViewControl=_commonFolderViewFolderViewControl.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl;signedImageUrl=_commonFileUrl.signedImageUrl},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_htmlOffsers){Offers=_htmlOffsers.Offers},function(_htmlSpecifications){Specifications=_htmlSpecifications.Specifications},function(_commonControlsCountriesCountrySelect){CurrencySelect=_commonControlsCountriesCountrySelect.CurrencySelect},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_foldersEditItemFolderPage){EditItemFolderPage=_foldersEditItemFolderPage.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_webHooksWebHookPage){WebHookPage=_webHooksWebHookPage.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",ProductEditor=class ProductEditor extends AtomControl{constructor(){super(...arguments);this.productID=null;this.model=null}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"model":this.app.runAsync((()=>this.init()));break;case"productID":this.app.runAsync((()=>this.loadProduct()));break}}loadProduct(){return __awaiter(this,void 0,void 0,(function*(){if(!this.productID){return}this.model=yield this.storeItemService.get(this.productID)}))}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){if(!this.model){return}(_a=(_b=this.model).storeItemTags)!==null&&_a!==void 0?_a:_b.storeItemTags=[];const storeID=this.model.storeID;this.renderer=XNode.create("div",null,XNode.create("div",{"data-border":"frame","data-layout":"vertical-flex"},XNode.create(FormField,{label:"Type"},XNode.create(Select,{labelPath:x=>x.label[0].toUpperCase()+x.label.substring(1),valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.itemType)),items:StoreItemItemTypeArray})),XNode.create(ReferenceEditor,{label:"Folder",model:this.model,field:x=>x.itemFolder,addNewDefaults:{storeID:this.model.storeID},editModelPage:EditItemFolderPage,searchQuery:(q,search)=>(search?q.where({search},(p=>x=>Sql.text.startsWith(x.name,p.search))):q).where({storeID},(p=>x=>x.storeID===p.storeID)).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Description"},XNode.create("textarea",{rows:"5",cols:"80",value:Bind.twoWaysImmediate((()=>this.model.description))}))),XNode.create(TagChips,{softDeleteProperty:Bind.oneWay((()=>this.model.storeItemID>0)),items:Bind.twoWaysImmediate((()=>this.model.storeItemTags))}),XNode.create(CollectionEditorEx,{"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Sizes",model:this.model,field:x=>x.sizes,itemFactory:()=>{const name=prompt("Name of new size");if(name){return StoreItem.create({sizeForID:this.model.storeItemID,storeID:this.model.storeID,itemType:"size",name})}},itemRenderer:item=>XNode.create("div",null,XNode.create("a",{text:item.name,href:SiteEditorCommands.editProduct.displayRoute({storeItemID:item.storeItemID}),"data-click-event":"route"}))}),XNode.create(CollectionEditorEx,{"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Variants",model:this.model,field:x=>x.variants,itemFactory:()=>{const name=prompt("Name of new variant");if(name){return StoreItem.create({variantForID:this.model.storeItemID,storeID:this.model.storeID,itemType:"variant",name})}},itemRenderer:item=>XNode.create("div",null,XNode.create("a",{text:item.name,href:SiteEditorCommands.editProduct.displayRoute({storeItemID:item.storeItemID}),"data-click-event":"route"}))}),XNode.create(CollectionEditorEx,{label:"Prices",model:this.model,field:x=>x.storeItemPrices,addItemDefaults:{currency:this.model.store.currency,active:true},inlineAdd:true,"event-delete-collection-item":x=>(x.preventDefault(),this.deletePrice(x.detail)),inlineAddRenderer:item=>XNode.create("div",null,XNode.create("menu",null,XNode.create(CurrencySelect,{value:Bind.sourceTwoWays(item,(x=>x.source.currency))})),XNode.create("input",{placeholder:"Price",value:Bind.sourceTwoWays(item,(x=>x.source.amount))}),XNode.create("input",{placeholder:"Max Price",value:Bind.sourceTwoWays(item,(x=>x.source.maxAmount))}),XNode.create(Checkbox,{checked:Bind.sourceTwoWays(item,(x=>x.source.taxIncluded)),text:"Tax Included"})),itemRenderer:item=>item.active&&XNode.create("div",null,XNode.create("div",{text:item.currency}),XNode.create("div",{text:item.amount}),XNode.create("div",{text:item.taxAmount}),XNode.create("i",{"data-click-event":"copy-item-price","data-cursor":"pointer",title:"Copy",class:"fad fa-copy"}),XNode.create("div",{title:DateFormats.withWeekDayAndTime(item.startDate),text:DateFormats.relative.short(item.startDate)}),item.taxIncluded&&XNode.create("div",{text:"(Tax Included)"}),item.endDate?XNode.create("div",{title:DateFormats.withWeekDayAndTime(item.endDate),text:DateFormats.relative.short(item.endDate)}):XNode.create("div",null))}),XNode.create(CollectionEditorEx,{label:"Taxes",model:this.model,field:x=>x.applicableTaxes,addItemDefaults:{taxItem:null,storeItem:null},saveAfterAdd:false,inlineAddRenderer:item=>XNode.create("div",null,XNode.create(ReferenceEditor,{model:item,field:x=>x.taxItem,searchQuery:(q,search)=>(search?q.where({search:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.search))):q).where({storeID},(p=>x=>x.storeID===p.storeID&&x.itemType==="tax")).include((x=>x.storeItemPrices)),itemRenderer:ti=>XNode.create("div",null," ",XNode.create("label",{text:ti.name})," "),suggestionRenderer:ti=>XNode.create("div",null," ",XNode.create("label",{text:ti.name})," ")})),itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.taxItem.name}),XNode.create("div",{"data-layout":"flex-wrap-padding"},...item.taxItem.storeItemPrices.map((t=>XNode.create("label",{text:t.amount})))))}),XNode.create("details",{"data-border":"frame"},XNode.create("summary",{text:"Files"}),XNode.create(FolderViewControl,{root:Bind.oneWay((()=>this.model.fileFolder))})),XNode.create(CollectionEditorEx,Object.assign({"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Media",layout:"flex-wrap",model:this.model,field:x=>x.mediaFiles,footer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(UploadIconTextButton,Object.assign({},UploadEvent.AttachUploadAction({uploadEvent:"files-uploaded",extra:Bind.oneWay((()=>JSON.stringify({parentID:this.model.folderID})))}))),XNode.create(InlinePopupButton,{icon:"fas fa-plus",label:"Add Html",popup:()=>XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"add-offer",label:"Add Offers"}),XNode.create(MenuItem,{"data-click-event":"add-specifications",label:"Add Specifications"}))})),itemRenderer:item=>XNode.create("div",null,item.isPreview?XNode.create("img",{src:this.mediaFileUrl(item)}):XNode.create("button",{"data-click-event":"edit-media-file","data-layout":"link",text:item.title}))},FilesDragDrop({uploadEvent:"files-uploaded",extra:Bind.oneWay((()=>JSON.stringify({parentID:this.model.folderID})))}))),XNode.create(CollectionEditorEx,{"style-display":Bind.oneWay((()=>this.model.storeItemID>0),false),label:"Web Hooks",layout:"flex-wrap",model:this.model,field:x=>x.webHooks,addPage:WebHookPage,addItemDefaults:Bind.oneWay((()=>WebHook.create({eventType:"order-paid",storeItemID:this.model.storeItemID}))),itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.eventType}),XNode.create("label",{title:item.url,text:item.url}),XNode.create("label",{text:item.lastEvent}),XNode.create("label",{text:DateFormats.relative.short(item.lastEventTime)}))}))}))}mediaFileUrl(item){if(item.appFile){return fileUrl.webp(item,200)}return signedImageUrl(item,200)}deletePrice(price){return __awaiter(this,void 0,void 0,(function*(){this.model.storeItemPrices.remove(price);price.active=false;yield this.entityService.save(price,(x=>x))}))}copyItemPrice(item){return __awaiter(this,void 0,void 0,(function*(){yield navigator.clipboard.writeText(`/pg-i/phone-pe/create/${item.storeItemID}/${item.currency}`)}))}onFilesUploaded({files}){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){(_a=(_b=this.model).mediaFiles)!==null&&_a!==void 0?_a:_b.mediaFiles=[];for(const appFile of files){const isPreview=/^(image|video)\//i.test(appFile.contentType);this.model.mediaFiles.add(StoreMediaFile.create({appFile,appFileID:appFile.appFileID,fileContentID:appFile.fileContentID,isPreview}))}}))}onAddHtmlFile(data,e){return __awaiter(this,void 0,void 0,(function*(){let title="";let template;switch(e.type){case"addOffer":title="offer.html";template=Offers;break;case"addSpecifications":title="specs.html";template=Specifications;break;default:return}const file=yield this.storeItemService.getOrCreateMediaFile(this.model,title,template);this.element.dispatchEvent(new CustomEvent("editMediaFile",{detail:file,bubbles:true}))}))}});__decorate([BindableProperty,__metadata("design:type",Number)],ProductEditor.prototype,"productID",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],ProductEditor.prototype,"model",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],ProductEditor.prototype,"storeItemService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],ProductEditor.prototype,"entityService",void 0);__decorate([Action({confirm:"Are you sure you want to deactivate this price?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"deletePrice",null);__decorate([Action({onEvent:"copy-item-price",success:"Copied successful"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"copyItemPrice",null);__decorate([Action({onEvent:"files-uploaded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:["add-offer","add-specifications"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Event]),__metadata("design:returntype",Promise)],ProductEditor.prototype,"onAddHtmlFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/ProductHtmlEditor");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/PageNavigator","../../../../../site-editor/editor/HtmlPageEditor","../../../../../common/fileUrl","../../../../../common/pages/files/service/CloudFileService","../../../../../common/pages/files/media/ChooseMediaPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,InjectProperty,PageNavigator,HtmlPageEditor,srcSetUrl,storeFileUrl,CloudFileService,ChooseMediaPage,ProductHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_siteEditorEditorHtmlPageEditor){HtmlPageEditor=_siteEditorEditorHtmlPageEditor.default},function(_commonFileUrl){srcSetUrl=_commonFileUrl.srcSetUrl;storeFileUrl=_commonFileUrl.storeFileUrl},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonPagesFilesMediaChooseMediaPage){ChooseMediaPage=_commonPagesFilesMediaChooseMediaPage.default}],execute:function(){_export("default",ProductHtmlEditor=class ProductHtmlEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const{tagName}=this.selection.element;let accept="image/*";let multiple=true;let isVideo=false;let inject=false;switch(tagName){case"VIDEO":accept="video/*";multiple=false;isVideo=true;break;case"INJECT":accept="text/html";multiple=false;inject=true;break}const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept,multiple,selected:this.selection.element});if(inject||isVideo){const[{file,folder}]=files;const path="/"+[...folder,file.name].join("/");this.selection.element.setAttribute("src",path);return}const images=files.map((({file,size})=>{const src=storeFileUrl(this.folder.appFileID,file,`webp(${size})`,`${file.name}.${size}.webp`);const srcset=srcSetUrl(this.folder,file,((folder,f,s)=>storeFileUrl(this.folder.appFileID,file,`webp(${s})`,`${file.name}.${s}.webp`)));return{src,"data-src-set":srcset}}));yield this.insertImage(...images)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){}))}});__decorate([BindableProperty,__metadata("design:type",Object)],ProductHtmlEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ProductHtmlEditor.prototype,"cloudFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/html/ProductHtmlEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../../../common/controls/Loader","../../../../../common/fileUrl","@web-atoms/core/dist/services/FetchBuilder","./ProductHtmlEditor","../../../../../site-editor/styler/StylerSet","@web-atoms/web-controls/dist/PageNavigator","../../../../../code-editor/CodeEditorPage","@web-atoms/core/dist/view-model/Action","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../../../../../services/EntityService","../../../../../common/pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,Loader,signedUrl,FetchBuilder,ProductHtmlEditor,StylerSet,PageNavigator,CodeEditorPage,Action,SaveIconTextButton,InjectProperty,EntityService,CloudFileService,ProductHtmlEditorPage,wrap;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_commonFileUrl){signedUrl=_commonFileUrl.signedUrl},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_ProductHtmlEditor){ProductHtmlEditor=_ProductHtmlEditor.default},function(_siteEditorStylerStylerSet){StylerSet=_siteEditorStylerStylerSet.StylerSet},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default}],execute:function(){wrap=(styleText,body)=>`\n<!DOCTYPE html>\n<html>\n<style styler-style-sheet="styler-style-sheet">\n${styleText}\n</style>\n<body>\n${body}\n</body>\n</html>\n`;_export("default",ProductHtmlEditorPage=class ProductHtmlEditorPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Loader,null));this.storeItem=this.parameters.item;this.mediaFile=this.parameters.file;const htmlMain=this.mediaFile.fileContentID?yield FetchBuilder.get(signedUrl(this.mediaFile)).asText():"<main>Content</main>";this.originalHtml=htmlMain;const css=StylerSet.instance.toString();this.html=wrap(css,htmlMain);this.renderer=XNode.create("div",null,XNode.create(ProductHtmlEditor,{"data-position":"absolute-fill",folder:this.storeItem.store.folder,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:this.html}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"header-row","style-display":Bind.oneWay((()=>this.pageContent!==this.html))},XNode.create(SaveIconTextButton,{"event-click":()=>this.savePage(),text:"Save"}),XNode.create(SaveIconTextButton,{"event-click":()=>this.savePage(true),text:"Save and Close"}))}))}savePage(close=false){return __awaiter(this,void 0,void 0,(function*(){if(!this.htmlEditor.modifiedBody){if(close){this.close(this.mediaFile)}return}const{fileContentID}=yield this.cloudFileService.saveFile({appFileID:this.mediaFile.appFileID,content:new File([this.htmlEditor.modifiedBody],this.parameters.file.title,{type:"text/html"})});this.mediaFile.fileContentID=fileContentID;const es=this.resolve(EntityService);yield es.save(this.mediaFile,(c=>c));if(close){this.close(this.mediaFile)}}))}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:this.parameters.file.title,content:(_a=this.htmlEditor.modifiedPage)!==null&&_a!==void 0?_a:this.htmlEditor.htmlPage});this.pageContent=content;this.htmlEditor.htmlPage=content}))}hide(){var _a,_b,_c;this.pageContent=(_b=(_a=this.htmlEditor)===null||_a===void 0?void 0:_a.modifiedPage)!==null&&_b!==void 0?_b:(_c=this.htmlEditor)===null||_c===void 0?void 0:_c.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ProductHtmlEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ProductHtmlEditorPage.prototype,"savePage",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ProductHtmlEditorPage.prototype,"editCode",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/EditProductDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../../model/model","../../../../services/store/StoreItemService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","./ProductEditor","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./html/ProductHtmlEditorPage","@web-atoms/web-controls/dist/PageNavigator","../../../commands/SiteEditorCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,StoreItem,StoreItemService,InjectProperty,Bind,SaveIconTextButton,Action,ProductEditor,MasterDetailPage,ProductHtmlEditor,PageNavigator,SiteEditorCommands,EditProductDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_modelModel){StoreItem=_modelModel.StoreItem},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ProductEditor){ProductEditor=_ProductEditor.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_htmlProductHtmlEditorPage){ProductHtmlEditor=_htmlProductHtmlEditorPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default}],execute:function(){_export("default",EditProductDetailPage=class EditProductDetailPage extends MasterDetailPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters.storeItemID?yield this.storeItemService.get(this.parameters.storeItemID):StoreItem.create({storeID:this.parameters.storeID,storeItemID:null,name:"",itemFolder:null,store:this.parameters.store});const{storeID}=this.model;if(!storeID){alert("StoreID must be present.");this.cancel();return}yield this.storeItemService.getStore(storeID);const parent=(_a=this.model.variantFor)!==null&&_a!==void 0?_a:this.model.sizeFor;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},parent&&XNode.create("a",{"data-click-event":"route",href:SiteEditorCommands.editProduct.displayRoute({storeItemID:parent.storeItemID})},parent.name));this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(ProductEditor,{model:this.model}),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-product"}),XNode.create(SaveIconTextButton,{"style-display":Bind.oneWay((()=>this.model.storeItemID&&!this.model.active)),"data-submit-event":"publish-product",text:"Publish"}))))}))}publishProduct(){return __awaiter(this,void 0,void 0,(function*(){this.model.active=true;if(this.model.storeItemTags){let sortOrder=0;for(const iterator of this.model.storeItemTags){iterator.sortOrder=sortOrder++}}yield this.storeItemService.save(this.model);yield this.init()}))}saveProduct(){return __awaiter(this,void 0,void 0,(function*(){const added=!this.model.storeItemID;if(this.model.storeItemTags){let sortOrder=0;for(const iterator of this.model.storeItemTags){iterator.sortOrder=sortOrder++}}yield this.storeItemService.save(this.model);if(added){location.href=SiteEditorCommands.editProduct.displayRoute({storeItemID:this.model.storeItemID});return}yield this.init()}))}editMediaFile(file){return __awaiter(this,void 0,void 0,(function*(){const item=this.model;yield PageNavigator.pushPageForResult(ProductHtmlEditor,{item,file})}))}});__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditProductDetailPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"publish-product"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditProductDetailPage.prototype,"publishProduct",null);__decorate([Action({onEvent:"save-product"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditProductDetailPage.prototype,"saveProduct",null);__decorate([Action({onEvent:"editMediaFile"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditProductDetailPage.prototype,"editMediaFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/StoreLink");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../services/store/StoreService","../../commands/SiteEditorCommands"],(function(_export,_context){"use strict";var __awaiter,XNode,Bind,StoreService,SiteEditorCommands;function StoreLink({storeID}){return XNode.create("a",{"data-click-event":"route",href:SiteEditorCommands.orderList.displayRoute({id:storeID}),text:Bind.oneTimeAsync((s=>__awaiter(this,void 0,void 0,(function*(){return(yield s.app.resolve(StoreService).get(storeID)).folder.name}))))})}_export("default",StoreLink);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/currency");System.register([],(function(_export,_context){"use strict";var CurrencySymbols;function formatCurrency(n,currency){if(n===void 0||n===null){return""}n=Number(n);return n.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0,style:"currency",currency})}function formatPrice(n){if(!n){return"Ask"}return formatCurrency(Number(n.amount)+Number(n.taxAmount),n.currency||"INR")}_export({formatCurrency,formatPrice});return{setters:[],execute:function(){_export("CurrencySymbols",CurrencySymbols={USD:"$",EUR:"€",CRC:"₡",GBP:"£",ILS:"₪",INR:"₹",JPY:"¥",KRW:"₩",NGN:"₦",PHP:"₱",PLN:"zł",PYG:"₲",THB:"฿",UAH:"₴",VND:"₫"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/products/EditProductListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreItemService","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/Bind","./EditProductDetailPage","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/PageNavigator","../StoreLink","../../../../common/controls/repeater/InfiniteRepeater","../../../commands/SiteEditorCommands","../../../../common/currency"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,AtomRepeater,SelectorCheckBox,InjectProperty,StoreItemService,Action,Bind,EditProductDetailPage,InlinePopupButton,MenuItem,PageNavigator,StoreLink,InfiniteRepeater,SiteEditorCommands,formatPrice,EditProductListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditProductDetailPage){EditProductDetailPage=_EditProductDetailPage.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_StoreLink){StoreLink=_StoreLink.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_commonCurrency){formatPrice=_commonCurrency.formatPrice}],execute:function(){_export("default",EditProductListPage=class EditProductListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.items=[];this.store=null;this.selectedItem=null}init(){return __awaiter(this,void 0,void 0,(function*(){const{storeID}=this.parameters;this.store=yield this.storeItemService.getStore(storeID);this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(StoreLink,{storeID}),XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(InlinePopupButton,{icon:"fas fa-plus",text:"Add",popup:()=>XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"product",label:"Product"}),XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"service",label:"Service"}),XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"tax",label:"Tax"}))}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",allowMultipleSelection:true,items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeItemService.list({storeID:this.parameters.storeID,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a,_b,_c;return XNode.create("div",null,XNode.create(SelectorCheckBox,null),XNode.create("label",{text:item.storeItemID}),XNode.create("label",{text:item.itemType}),XNode.create("label",{text:(_a=item.itemFolder)===null||_a===void 0?void 0:_a.name}),XNode.create("label",{text:formatPrice((_c=(_b=item.storeItemPrices)===null||_b===void 0?void 0:_b.filter((x=>x.active)))===null||_c===void 0?void 0:_c[0])}),XNode.create("a",{text:item.name,"data-click-event":"route",href:SiteEditorCommands.editProduct.displayRoute({storeItemID:item.storeItemID})}))}}))))}))}addNew({itemType}){return __awaiter(this,void 0,void 0,(function*(){const product=yield PageNavigator.pushPageForResult(EditProductDetailPage,{storeID:this.parameters.storeID,store:this.store});this.items.add(product);this.selectedItem=product}))}});__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditProductListPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"add-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditProductListPage.prototype,"addNew",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/coupons/StoreCouponsPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../model/model","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","../../../../common/controls/buttons/IconButton","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/date/DateFormats","../../../../common/Sql","../../../../services/store/StoreItemService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,EntityService,XNode,AtomRepeater,StoreCoupon,StoreCouponTypeArray,Form,FormField,Bind,Select,Action,SaveIconTextButton,InfiniteRepeater,DateFormats,Sql,StoreItemService,StoreCouponsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){StoreCoupon=_modelModel.StoreCoupon;StoreCouponTypeArray=_modelModel.StoreCouponTypeArray},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_commonSql){Sql=_commonSql.Sql},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default}],execute:function(){_export("default",StoreCouponsPage=class StoreCouponsPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.search="";this.newItem=StoreCoupon.create({type:"subtract",active:true,hidden:false})}init(){return __awaiter(this,void 0,void 0,(function*(){yield this.storeItemService.getStore(this.parameters.storeID);this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.loadItems({start,search:this.search,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.couponID}),XNode.create("label",{text:item.code}),XNode.create("label",{text:DateFormats.relative.short(item.startDate)}),XNode.create("label",{text:DateFormats.relative.short(item.endDate)}),XNode.create("label",{text:DateFormats.relative.short(item.dateUpdated)}))})));this.footerRenderer=()=>XNode.create("details",null,XNode.create("summary",null,"Add New"),XNode.create(Form,null,XNode.create(FormField,{label:"Code"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.newItem.code))})),XNode.create(FormField,{label:"Type"},XNode.create(Select,{items:StoreCouponTypeArray,value:Bind.twoWaysImmediate((()=>this.newItem.type))})),XNode.create(FormField,{label:"Subtract"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.newItem.amount))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"add-item",text:"Add"}))))}))}loadItems({start,search,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const{storeID}=this.parameters;let q=this.entityService.query(StoreCoupon).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.code,p.search)))}return q.toPagedList({start,cancelToken})}))}addItem(){return __awaiter(this,void 0,void 0,(function*(){const item=Object.assign({},this.newItem);this.newItem.code="";item.storeID=this.parameters.storeID;if(!item.amount){throw new Error("amount cannot be empty")}yield this.entityService.save(item,(c=>c));this.newItem.code="";this.newItem.type="subtract";this.newItem.amount=0}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],StoreCouponsPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreItemService)],StoreCouponsPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"add-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreCouponsPage.prototype,"addItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/payment-gateway/PaymentGatewayEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","../../../../services/store/StoreService","@web-atoms/date-time/dist/DateTime","../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StorePaymentGatewayPaymentGatewayArray,XNode,Form,FormField,Bind,Select,Action,InjectProperty,EntityService,StoreService,DateTime,SaveIconTextButton,PaymentGatewayEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StorePaymentGatewayPaymentGatewayArray=_modelModel.StorePaymentGatewayPaymentGatewayArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",PaymentGatewayEditorPage=class PaymentGatewayEditorPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Payment Gateway";this.model=this.parameters;const{storeAccount:{storeID}}=this.model;yield this.storeService.get(storeID);this.renderer=XNode.create("div",{"payment-gateway-editor":"true"},XNode.create(Form,{"data-payment-type":Bind.oneWay((()=>this.model.paymentGateway))},XNode.create(FormField,{label:"Type"},XNode.create(Select,{items:StorePaymentGatewayPaymentGatewayArray,value:Bind.twoWaysImmediate((()=>this.model.paymentGateway))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.storeAccount.name))})),XNode.create(FormField,{label:"Description"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.storeAccount.description))})),XNode.create(FormField,{label:"Public Key"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.publicKey))})),XNode.create(FormField,{label:"Client ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.clientID))})),XNode.create(FormField,{label:"MerchantID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.merchantID))})),XNode.create(FormField,{label:"Salt Index"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.saltIndex))})),XNode.create(FormField,{label:"Salt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salt))})),XNode.create(FormField,{label:"Secret"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.secret))})),XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.url))})),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"submitForm"}))))}))}submitForm(){return __awaiter(this,void 0,void 0,(function*(){this.model.dateUpdated=DateTime.now;yield this.entityService.save(this.model,(c=>c.include((x=>x.storeAccount))));return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PaymentGatewayEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreService)],PaymentGatewayEditorPage.prototype,"storeService",void 0);__decorate([Action({onEvent:"submitForm",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],PaymentGatewayEditorPage.prototype,"submitForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/store/payment-gateway/PaymentGatewayListPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","../../../../services/EntityService","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","./PaymentGatewayEditorPage","../../../../services/store/StoreService","../../../../common/controls/repeater/InfiniteRepeater","../../../../common/controls/buttons/IconButton","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,MasterDetailPage,EntityService,StoreAccount,StorePaymentGateway,Bind,Action,PaymentGatewayEditorPage,StoreService,InfiniteRepeater,AddIconTextButton,Sql,PaymentGatewayListPage;_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(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){StoreAccount=_modelModel.StoreAccount;StorePaymentGateway=_modelModel.StorePaymentGateway},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_PaymentGatewayEditorPage){PaymentGatewayEditorPage=_PaymentGatewayEditorPage.default},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("default",PaymentGatewayListPage=class PaymentGatewayListPage extends MasterDetailPage{constructor(){super(...arguments);this.search="";this.items=[]}init(){return __awaiter(this,void 0,void 0,(function*(){const{storeID}=this.parameters;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",selectOnClick:true,"data-selection-updated-event":"itemSelected","data-items-updated-event":"itemsLoaded",presenter:Bind.presenter((c=>this.repeater=c)),items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.load({start,search:this.search,cancelToken}))),{itemRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.paymentGateway}),XNode.create("label",{text:x.storeAccount.name}))})));this.footerRenderer=()=>XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"addItem"}))}))}load({start,cancelToken,search}){const{storeID}=this.parameters;let q=this.entityService.query(StorePaymentGateway).where({storeID},(p=>x=>x.storeAccount.storeID===p.storeID));if(search){q=q.where({search},(p=>x=>Sql.text.iLike(x.storeAccount.description,p.search)))}return q.include((x=>x.storeAccount)).toPagedList({start,cancelToken})}itemSelected(){const data=this.repeater.selectedItem;if(!data){return}this.openDetail(PaymentGatewayEditorPage,data)}itemsLoaded(){this.repeater.selectedItem=this.items[0]}addItem(){const{storeID}=this.parameters;const item=StorePaymentGateway.create({isGatewayActive:true,storeAccount:StoreAccount.create({storeID,head:"Income"})});this.items.add(item);this.repeater.selectedItem=item}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PaymentGatewayListPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreService)],PaymentGatewayListPage.prototype,"storeService",void 0);__decorate([Action({onEvent:"itemSelected"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],PaymentGatewayListPage.prototype,"itemSelected",null);__decorate([Action({onEvent:"itemsLoaded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],PaymentGatewayListPage.prototype,"itemsLoaded",null);__decorate([Action({onEvent:"addItem"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],PaymentGatewayListPage.prototype,"addItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/commands/SiteEditorCommands");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands"],(function(_export,_context){"use strict";var Command,CommonCommands,SiteEditorCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default}],execute:function(){_export("default",SiteEditorCommands=class SiteEditorCommands extends CommonCommands{});SiteEditorCommands.websiteList=Command.create({route:"/social-mail/studio/sites",routeOrder:100,openPage:()=>_context.import("../pages/websites/SiteWebsiteList")});SiteEditorCommands.editWebSite=Command.create({route:"/social-mail/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});SiteEditorCommands.orderList=Command.create({route:"/social-mail/stores/{id}/orders",routeOrder:100,openPage:()=>_context.import("../pages/store/orders/StoreOrderListPage")});SiteEditorCommands.productList=Command.create({route:"/social-mail/stores/{storeID}/products",routeOrder:500,openPage:()=>_context.import("../pages/store/products/EditProductListPage")});SiteEditorCommands.editProduct=Command.create({route:"/social-mail/stores/product/{storeItemID}",routeOrder:200,openPage:()=>_context.import("../pages/store/products/EditProductDetailPage")});SiteEditorCommands.couponList=Command.create({route:"/social-mail/stores/{storeID}/coupons",routeOrder:100,openPage:()=>_context.import("../pages/store/coupons/StoreCouponsPage")});SiteEditorCommands.paymentGatewayList=Command.create({route:"/social-mail/stores/{storeID}/payment-gateways",routeOrder:100,openPage:()=>_context.import("../pages/store/payment-gateway/PaymentGatewayListPage")});SiteEditorCommands.catchAll=Command.create({route:"/social-mail",routeOrder:1e3,openPage:()=>_context.import("../pages/websites/SiteWebsiteList")});SiteEditorCommands.root=Command.create({route:"/",routeOrder:1e5,openPage:()=>_context.import("../pages/websites/SiteWebsiteList")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/menu/MenuItem");System.register(["tslib","@web-atoms/core/dist/core/XNode","./MenuItem.global.less"],(function(_export,_context){"use strict";var __rest,XNode;function MenuItem(_a){var{label,icon=void 0,click=undefined,title=label,description=void 0,href="",commandLink="",target=undefined,bell=void 0,bellTitle=void 0,bellClick=void 0}=_a,a=__rest(_a,["label","icon","click","title","description","href","commandLink","target","bell","bellTitle","bellClick"]);return href||commandLink?XNode.create("a",Object.assign({"data-layout":"menu-item","data-text-decoration":"none",title,"data-click-event":commandLink?"route":void 0,href:href||commandLink,target,"event-click":click},a),icon&&XNode.create("i",{class:icon}),XNode.create("span",{text:label}),description&&XNode.create("small",{text:description}),bell!==void 0&&XNode.create("i",Object.assign({"data-element":"badge",title:bellTitle,class:bell?"fad fa-bell":"fad fa-bell-slash"},typeof bellClick==="string"?{"data-click-event":bellClick}:{"data-click-event":"none","event-click":bellClick}))):XNode.create("div",Object.assign({title,"data-layout":"menu-item","event-click":click},a),icon&&XNode.create("i",{class:icon}),XNode.create("span",{text:label}),description&&XNode.create("small",{text:description}),bell!==void 0&&XNode.create("i",{"data-click-event":bellClick,"data-element":"badge",title:bellTitle,class:bell?"fad fa-bell":"fad fa-bell-slash"}))}_export("default",MenuItem);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_MenuItemGlobalLess){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drawer/BaseDrawer");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp","./BaseDrawer.global.less"],(function(_export,_context){"use strict";var Drawer,BaseDrawer;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){Drawer=_webAtomsWebControlsDistMobileAppMobileApp.Drawer},function(_BaseDrawerGlobalLess){}],execute:function(){_export("default",BaseDrawer=class BaseDrawer extends Drawer{constructor(app,e=document.createElement("drawer-menu")){super(app,e)}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/drawer/SiteEditorDrawer");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","../../common/menu/MenuService","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","../commands/SiteEditorCommands","@web-atoms/web-controls/dist/basic/Expander","../../common/controls/menu/MenuItem","../../common/controls/drawer/BaseDrawer"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MenuService,AtomRepeater,Bind,SiteEditorCommands,ExpanderMenu,MenuItem,BaseDrawer,SiteEditorDrawer;_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(_commonMenuMenuService){MenuService=_commonMenuMenuService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_webAtomsWebControlsDistBasicExpander){ExpanderMenu=_webAtomsWebControlsDistBasicExpander.ExpanderMenu},function(_commonControlsMenuMenuItem){MenuItem=_commonControlsMenuMenuItem.default},function(_commonControlsDrawerBaseDrawer){BaseDrawer=_commonControlsDrawerBaseDrawer.default}],execute:function(){_export("default",SiteEditorDrawer=class SiteEditorDrawer extends BaseDrawer{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("header",null,"Social Websites"),XNode.create("section",null,XNode.create(AtomRepeater,{items:Bind.oneWay((()=>this.menuService.websites)),itemRenderer:x=>XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:x.folder.name,commandLink:null}),XNode.create(MenuItem,{label:"Site Editor",commandLink:SiteEditorCommands.editWebSite.displayRoute({id:x.folderID})}),XNode.create(MenuItem,{label:"Site Files",commandLink:SiteEditorCommands.openFiles.displayRoute({id:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Products",commandLink:SiteEditorCommands.productList.displayRoute({storeID:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Orders",commandLink:SiteEditorCommands.orderList.displayRoute({id:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Coupons",commandLink:SiteEditorCommands.couponList.displayRoute({storeID:x.folderID})}),x.storeEnabled&&XNode.create(MenuItem,{label:"Payment Gateways",commandLink:SiteEditorCommands.paymentGatewayList.displayRoute({storeID:x.folderID})}))}),XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"All Websites",commandLink:SiteEditorCommands.websiteList.displayRoute({})})))}))}});__decorate([InjectProperty,__metadata("design:type",MenuService)],SiteEditorDrawer.prototype,"menuService",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/SiteEditorApp");System.register(["tslib","../common/BaseApp","./drawer/SiteEditorDrawer","./commands/SiteEditorCommands","@web-atoms/core/dist/Pack"],(function(_export,_context){"use strict";var __decorate,BaseApp,SiteEditorDrawer,SiteEditorCommands,Pack,SiteEditorApp;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_commonBaseApp){BaseApp=_commonBaseApp.default},function(_drawerSiteEditorDrawer){SiteEditorDrawer=_drawerSiteEditorDrawer.default},function(_commandsSiteEditorCommands){SiteEditorCommands=_commandsSiteEditorCommands.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default}],execute:function(){SiteEditorApp=class SiteEditorApp extends BaseApp{constructor(){super(...arguments);this.commands=SiteEditorCommands;this.appDrawer=SiteEditorDrawer}openDefaultPage(){SiteEditorCommands.websiteList.dispatch()}};SiteEditorApp=__decorate([Pack],SiteEditorApp);_export("default",SiteEditorApp)}}}));window.installStyleSheet(new URL("./SiteEditorApp.pack.global.less.css",document.currentScript.src).toString());window.installStyleSheet(new URL("./SiteEditorApp.pack.local.less.css",document.currentScript.src).toString());
|
|
1204
1204
|
//# sourceMappingURL=SiteEditorApp.pack.min.js.map
|