@social-mail/social-mail-client 1.2.259 → 1.2.261
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 +66 -19
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +34 -4
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +66 -19
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +34 -4
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/mails/MailboxContacts.d.ts.map +1 -1
- package/dist/web/page/mails/MailboxContacts.js +46 -15
- package/dist/web/page/mails/MailboxContacts.js.map +1 -1
- package/dist/web/page/mails/mini-compose/MiniComposeBox.d.ts.map +1 -1
- package/dist/web/page/mails/mini-compose/MiniComposeBox.js +19 -3
- package/dist/web/page/mails/mini-compose/MiniComposeBox.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Resizable.js +1 -1
- package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/web-controls/package.json +1 -1
- package/node_modules/@web-atoms/web-controls/src/basic/Resizable.tsx +1 -1
- package/package.json +2 -2
- package/src/web/page/mails/MailboxContacts.tsx +50 -36
- package/src/web/page/mails/mini-compose/MiniComposeBox.tsx +18 -1
|
@@ -1615,7 +1615,7 @@ and limitations under the License.
|
|
|
1615
1615
|
}
|
|
1616
1616
|
}
|
|
1617
1617
|
}
|
|
1618
|
-
`.installLocal();_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(css);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("@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor");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).responseAsText();const{monaco,editor}=yield new Promise(((resolve,reject)=>{iframe.parentEditor={resolve,reject,codeEditor:ctrl};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/MonacoService");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,AtomControl,XNode,labelPathSetter,valuePathSetter,valueSetter,refreshItems,itemsSetter;function Select(_a){var{items,labelPath,valuePath,value}=_a,a=__rest(_a,["items","labelPath","valuePath","value"]);a[labelPathSetter.property]=labelPath;a[valuePathSetter.property]=valuePath;a[valueSetter.property]=value;a[itemsSetter.property]=items;return XNode.create("select",Object.assign({},a))}_export("default",Select);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){labelPathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["labelPath"]=value}));valuePathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["valuePath"]=value}));valueSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["initialValue"]=value;setTimeout(refreshItems,1,element)}));refreshItems=(element,items)=>{var _a,_b;items!==null&&items!==void 0?items:items=element["items"];element.update=true;element.options.length=0;const cv=element["initialValue"];const lp=(_a=element["labelPath"])!==null&&_a!==void 0?_a:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};const vp=(_b=element["valuePath"])!==null&&_b!==void 0?_b:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};let i=0;let si=-1;for(const iterator of items){const option=document.createElement("option");const label=lp(iterator);const value=vp(iterator);option.text=label;option.value=value;element.options.add(option);if(cv!==void 0){if(cv==value){si=i}}i++}if(si!=-1){element.selectedIndex=si}element.update=false};itemsSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["items"]=value;setTimeout(refreshItems,1,element,value)}))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Select");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.langaugeId="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.langaugeId=(_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-code"}));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.langaugeId)),"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.langaugeId)))!==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*(){}))}});__decorate([Action({onEvent:"save-code",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/code-editor/CodeSnippetPage");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;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,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",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,extra:{insert:true}}),{"data-click-event":"send-video",icon:"fas fa-file-video",label:"Add Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",extra:{insert:true}}),{"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(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert");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;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/*",multiple:true,extra:{}}),{icon:"fas fa-image",label:"Attach Photos"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",capture:"user",extra:{}}),{icon:"fa-duotone fa-camera-retro",label:"Take Photo"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",multiple:false,extra:{}}),{icon:"fas fa-file-video",label:"Attach Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",extra:{}}),{icon:"fa-duotone fa-video-plus",label:"Record Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"*/*",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(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach");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/common/controls/email-recipients/EmailLabel");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("i",{class:"fas fa-spinner fa-spin"}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@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/email-recipients/EmailLabel","../../../../common/controls/Loader"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,styled,AtomControl,AppFile,Email,Bind,Action,AudioRecorder,ConversationService,AtomRepeater,InjectProperty,CommonEvents,MailService,DateTime,sleep,MailHtmlEditor,Toolbar,Align,Bold,Italic,StrikeThrough,Underline,AddLink,Unlink,Separator,Insert,TimeSpan,Attach,CancelToken,DomToString,EmailLabel,Loader,MiniComposeBox,css,defaultEmailBody;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email},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){DomToString=_webAtomsEmailDomDistDomToString.default},function(_commonControlsEmailRecipientsEmailLabel){EmailLabel=_commonControlsEmailRecipientsEmailLabel.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default}],execute:function(){css=styled.css`
|
|
1618
|
+
`.installLocal();_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(css);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("@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor");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).responseAsText();const{monaco,editor}=yield new Promise(((resolve,reject)=>{iframe.parentEditor={resolve,reject,codeEditor:ctrl};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/MonacoService");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,AtomControl,XNode,labelPathSetter,valuePathSetter,valueSetter,refreshItems,itemsSetter;function Select(_a){var{items,labelPath,valuePath,value}=_a,a=__rest(_a,["items","labelPath","valuePath","value"]);a[labelPathSetter.property]=labelPath;a[valuePathSetter.property]=valuePath;a[valueSetter.property]=value;a[itemsSetter.property]=items;return XNode.create("select",Object.assign({},a))}_export("default",Select);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){labelPathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["labelPath"]=value}));valuePathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["valuePath"]=value}));valueSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["initialValue"]=value;setTimeout(refreshItems,1,element)}));refreshItems=(element,items)=>{var _a,_b;items!==null&&items!==void 0?items:items=element["items"];element.update=true;element.options.length=0;const cv=element["initialValue"];const lp=(_a=element["labelPath"])!==null&&_a!==void 0?_a:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};const vp=(_b=element["valuePath"])!==null&&_b!==void 0?_b:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};let i=0;let si=-1;for(const iterator of items){const option=document.createElement("option");const label=lp(iterator);const value=vp(iterator);option.text=label;option.value=value;element.options.add(option);if(cv!==void 0){if(cv==value){si=i}}i++}if(si!=-1){element.selectedIndex=si}element.update=false};itemsSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["items"]=value;setTimeout(refreshItems,1,element,value)}))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Select");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.langaugeId="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.langaugeId=(_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-code"}));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.langaugeId)),"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.langaugeId)))!==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*(){}))}});__decorate([Action({onEvent:"save-code",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/code-editor/CodeSnippetPage");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;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,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",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,extra:{insert:true}}),{"data-click-event":"send-video",icon:"fas fa-file-video",label:"Add Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",extra:{insert:true}}),{"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(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert");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;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/*",multiple:true,extra:{}}),{icon:"fas fa-image",label:"Attach Photos"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"image/*",capture:"user",extra:{}}),{icon:"fa-duotone fa-camera-retro",label:"Take Photo"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",multiple:false,extra:{}}),{icon:"fas fa-file-video",label:"Attach Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"video/*",capture:"user",extra:{}}),{icon:"fa-duotone fa-video-plus",label:"Record Video"})),XNode.create(MenuItem,Object.assign({},UploadEvent.AttachUploadAction({accept:"*/*",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(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach");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/common/controls/email-recipients/EmailLabel");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("i",{class:"fas fa-spinner fa-spin"}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@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/email-recipients/EmailLabel","../../../../common/controls/Loader","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,styled,AtomControl,AppFile,Email,Bind,Action,AudioRecorder,ConversationService,AtomRepeater,InjectProperty,CommonEvents,MailService,DateTime,sleep,MailHtmlEditor,Toolbar,Align,Bold,Italic,StrikeThrough,Underline,AddLink,Unlink,Separator,Insert,TimeSpan,Attach,CancelToken,DomToString,EmailLabel,Loader,descendentElementIterator,MiniComposeBox,css,defaultEmailBody;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email},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){DomToString=_webAtomsEmailDomDistDomToString.default},function(_commonControlsEmailRecipientsEmailLabel){EmailLabel=_commonControlsEmailRecipientsEmailLabel.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator}],execute:function(){css=styled.css`
|
|
1619
1619
|
display: grid;
|
|
1620
1620
|
grid-template-columns: auto 1fr auto;
|
|
1621
1621
|
grid-template-rows: auto 1fr auto;
|
|
@@ -1668,7 +1668,7 @@ and limitations under the License.
|
|
|
1668
1668
|
border: none;
|
|
1669
1669
|
border-bottom: solid 1px lightgray;
|
|
1670
1670
|
}
|
|
1671
|
-
`.installLocal();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>`;_export("default",MiniComposeBox=class MiniComposeBox extends AtomControl{constructor(app,e){super(app,e);this.mailboxContact=null;this.draft=null;this.typedMessage="";this.active=false;this.savedSubject=void 0;this.savedBody=void 0;this.element.className=css;this.app.runAsync((()=>this.init()))}init(){var _a,_b,_c,_d,_e;var _f;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=(_b=yield this.conversationService.getDraft(this.mailboxContact))===null||_b===void 0?void 0:_b.email;if(this.draft){(_c=(_f=this.draft).attachments)!==null&&_c!==void 0?_c:_f.attachments=[]}this.typedMessage=((_d=this.draft)===null||_d===void 0?void 0:_d.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,null),XNode.create(Separator,null),XNode.create(Attach,null),XNode.create(Separator,null),XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,{alignment:"above"}),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null)),XNode.create("input",{class:"subject",placeholder:"Subject ... ",value:Bind.sourceTwoWays(this,(x=>x.source.draft.subject))})),"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))}),XNode.create("i",{"data-element":"send",class:"fa-solid fa-microphone-lines mic","event-click":()=>this.sendAudioMessage(),"style-display":Bind.oneWay((()=>!this.typedMessage))}),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"}))}));if(!this.draft.subject){(_e=this.element.querySelector("input.subject"))===null||_e===void 0?void 0:_e.focus();return}}))}filesAvailable({files,extra}){return __awaiter(this,void 0,void 0,(function*(){if(extra.stream){yield this.streamFiles({files,extra});return}const size=files.reduce(((pv,cv)=>pv+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=iterator.url;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);const img=firstChild.ownerDocument.createElement("video");img.src=iterator.url;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}}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}))}onForwardEmail(mce){var _a;return __awaiter(this,void 0,void 0,(function*(){if((_a=this.draft)===null||_a===void 0?void 0:_a.emailID){yield this.save(true);this.draft=null}this.ensureDraft();const{email}=mce;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"));this.draft.htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null)),XNode.create("blockquote",{contentEditable:"false","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)&&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)&&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"},email.htmlBody)))),XNode.create("footer",{"data-social-mail-commands":"emoji-bar"})));this.editor.htmlContent=this.draft.htmlBody;const attachments=mce.email.attachments;if(attachments){for(const iterator of attachments){this.draft.attachments.add(AppFile.create(Object.assign(Object.assign({},iterator),{appFileID:void 0})))}}yield this.save(!!attachments)}))}onForwardEmailAsAttachment(mce){var _a;return __awaiter(this,void 0,void 0,(function*(){if((_a=this.draft)===null||_a===void 0?void 0:_a.emailID){yield this.save(true);this.draft=null}this.ensureDraft();const{email,signedFileLogID}=mce;const{mimeFileID}=email;this.draft.htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null))));this.editor.htmlContent=this.draft.htmlBody;this.draft.attachments.add(AppFile.create({name:"forwarded.eml",sourceEmailLogID:mimeFileID!==null&&mimeFileID!==void 0?mimeFileID:signedFileLogID,contentType:"message/rfc822"}));yield this.save(true)}))}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();this.draft.status="scheduled";this.draft.dateSent=DateTime.now.add(TimeSpan.fromSeconds(30));this.draft.dateUpdated=DateTime.now;yield this.mailService.send(this.draft);this.draft=Email.create({subject:"",htmlBody:defaultEmailBody,attachments:[]});this.editor.htmlContent=this.draft.htmlBody}))}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)}))}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,contentID:file.appFileID.toString(36),url:file.url})}ensureDraft(){var _a,_b;var _c;(_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=[]}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=yield this.conversationService.draft(Object.assign(Object.assign({},this.mailboxContact),{email:this.draft}),true,saveAttachments,ct)}catch(_a){}})))().catch(console.error)}))}});__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:CommonEvents.onEmailForward}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onForwardEmail",null);__decorate([Action({onEvent:CommonEvents.onEmailForwardAsAttachment}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onForwardEmailAsAttachment",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("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox");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/core/AtomOnce");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/styles/StyleBuilder");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/web/services/WebBusyIndicatorService");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/Atom");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/core/FormattedError");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/baseTypes");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/AtomViewModel");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/view-model/AtomWindowViewModel");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/AtomWindowStyle");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/styles/AtomAlertWindowStyle");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/AtomTemplate");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/AtomWindow");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/controls/AtomAlertWindow");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/styles/AtomNotificationStyle");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/controls/AtomNotification");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/styles/AtomPopupStyle");System.register(["../../core/XNode","../../style/styled","./PopupService"],(function(_export,_context){"use strict";var XNode,styled,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(_styleStyled){styled=_styleStyled.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow}],execute:function(){css=styled.css`
|
|
1671
|
+
`.installLocal();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>`;_export("default",MiniComposeBox=class MiniComposeBox extends AtomControl{constructor(app,e){super(app,e);this.mailboxContact=null;this.draft=null;this.typedMessage="";this.active=false;this.savedSubject=void 0;this.savedBody=void 0;this.element.className=css;this.app.runAsync((()=>this.init()))}init(){var _a,_b,_c,_d,_e;var _f;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=(_b=yield this.conversationService.getDraft(this.mailboxContact))===null||_b===void 0?void 0:_b.email;if(this.draft){(_c=(_f=this.draft).attachments)!==null&&_c!==void 0?_c:_f.attachments=[]}this.typedMessage=((_d=this.draft)===null||_d===void 0?void 0:_d.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,null),XNode.create(Separator,null),XNode.create(Attach,null),XNode.create(Separator,null),XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,{alignment:"above"}),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null)),XNode.create("input",{class:"subject",placeholder:"Subject ... ",value:Bind.sourceTwoWays(this,(x=>x.source.draft.subject))})),"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))}),XNode.create("i",{"data-element":"send",class:"fa-solid fa-microphone-lines mic","event-click":()=>this.sendAudioMessage(),"style-display":Bind.oneWay((()=>!this.typedMessage))}),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){(_e=this.editor.element.querySelector("input.subject"))===null||_e===void 0?void 0:_e.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*(){if(extra.stream){yield this.streamFiles({files,extra});return}const size=files.reduce(((pv,cv)=>pv+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=iterator.url;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);const img=firstChild.ownerDocument.createElement("video");img.src=iterator.url;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}}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}))}onForwardEmail(mce){var _a;return __awaiter(this,void 0,void 0,(function*(){if((_a=this.draft)===null||_a===void 0?void 0:_a.emailID){yield this.save(true);this.draft=null}this.ensureDraft();const{email}=mce;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"));this.draft.htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null)),XNode.create("blockquote",{contentEditable:"false","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)&&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)&&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"},email.htmlBody)))),XNode.create("footer",{"data-social-mail-commands":"emoji-bar"})));this.editor.htmlContent=this.draft.htmlBody;const attachments=mce.email.attachments;if(attachments){for(const iterator of attachments){this.draft.attachments.add(AppFile.create(Object.assign(Object.assign({},iterator),{appFileID:void 0})))}}yield this.save(!!attachments)}))}onForwardEmailAsAttachment(mce){var _a;return __awaiter(this,void 0,void 0,(function*(){if((_a=this.draft)===null||_a===void 0?void 0:_a.emailID){yield this.save(true);this.draft=null}this.ensureDraft();const{email,signedFileLogID}=mce;const{mimeFileID}=email;this.draft.htmlBody=DomToString(XNode.create("section",{style:"background-color: white; color: black;"},XNode.create("section",{contentEditable:"true"}," ",XNode.create("br",null))));this.editor.htmlContent=this.draft.htmlBody;this.draft.attachments.add(AppFile.create({name:"forwarded.eml",sourceEmailLogID:mimeFileID!==null&&mimeFileID!==void 0?mimeFileID:signedFileLogID,contentType:"message/rfc822"}));yield this.save(true)}))}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();this.draft.status="scheduled";this.draft.dateSent=DateTime.now.add(TimeSpan.fromSeconds(30));this.draft.dateUpdated=DateTime.now;yield this.mailService.send(this.draft);this.draft=Email.create({subject:"",htmlBody:defaultEmailBody,attachments:[]});this.editor.htmlContent=this.draft.htmlBody}))}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)}))}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,contentID:file.appFileID.toString(36),url:file.url})}ensureDraft(){var _a,_b;var _c;(_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=[]}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=yield this.conversationService.draft(Object.assign(Object.assign({},this.mailboxContact),{email:this.draft}),true,saveAttachments,ct)}catch(_a){}})))().catch(console.error)}))}});__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:CommonEvents.onEmailForward}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onForwardEmail",null);__decorate([Action({onEvent:CommonEvents.onEmailForwardAsAttachment}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MiniComposeBox.prototype,"onForwardEmailAsAttachment",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("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox");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/core/AtomOnce");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/styles/StyleBuilder");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/web/services/WebBusyIndicatorService");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/Atom");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/core/FormattedError");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/baseTypes");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/AtomViewModel");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/view-model/AtomWindowViewModel");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/AtomWindowStyle");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/styles/AtomAlertWindowStyle");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/AtomTemplate");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/AtomWindow");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/controls/AtomAlertWindow");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/styles/AtomNotificationStyle");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/controls/AtomNotification");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/styles/AtomPopupStyle");System.register(["../../core/XNode","../../style/styled","./PopupService"],(function(_export,_context){"use strict";var XNode,styled,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(_styleStyled){styled=_styleStyled.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow}],execute:function(){css=styled.css`
|
|
1672
1672
|
padding: 5px;
|
|
1673
1673
|
font-size: larger;
|
|
1674
1674
|
& .error {
|
|
@@ -1849,7 +1849,7 @@ and limitations under the License.
|
|
|
1849
1849
|
display: grid;
|
|
1850
1850
|
overflow: hidden;
|
|
1851
1851
|
grid-template-columns: 1fr 2px;
|
|
1852
|
-
gap:
|
|
1852
|
+
gap: 1px;
|
|
1853
1853
|
& > * {
|
|
1854
1854
|
grid-row: 1;
|
|
1855
1855
|
grid-column: 1;
|
|
@@ -1872,6 +1872,7 @@ and limitations under the License.
|
|
|
1872
1872
|
}
|
|
1873
1873
|
|
|
1874
1874
|
`.installGlobal("[data-resizable=resizable]");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("@web-atoms/web-controls/dist/basic/Resizable");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*(){const now=DateTime.now;this.model.dateCreated=now;this.model.dateUpdated=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/web/page/mails/contact/AddMiniContactPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/view-model/Action","./ConversationPage","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage","@web-atoms/core/dist/style/styled","../../../services/socket/sockets","./ChooseMailboxPage","../../../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/ToggleButtonBar","./contact/AddMiniContactPage","@web-atoms/core/dist/web/services/PopupService","../../../common/pages/mailboxes/services/MailboxService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MailService,AtomRepeater,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,styled,MailboxSocket,ChooseMailboxPage,ChooserTemplatePage,isMobileView,Resizable,CommonEvents,ToggleButtonBar,AddMiniContactPage,PopupService,MailboxService,MailsPage,css,displayName,types;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ConversationPage){ConversationPage=_ConversationPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_ChooseMailboxPage){ChooseMailboxPage=_ChooseMailboxPage.default},function(_commonPagesFoldersChooseTemplatePage){ChooserTemplatePage=_commonPagesFoldersChooseTemplatePage.default},function(_webAtomsWebControlsDistMobileAppMobileApp){isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_webAtomsWebControlsDistBasicResizable){Resizable=_webAtomsWebControlsDistBasicResizable.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_contactAddMiniContactPage){AddMiniContactPage=_contactAddMiniContactPage.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default}],execute:function(){css=styled.css`
|
|
1875
|
+
|
|
1875
1876
|
&[data-page-type=master-detail] {
|
|
1876
1877
|
& > [data-page-element=content] {
|
|
1877
1878
|
&[data-mode=desktop] {
|
|
@@ -1885,11 +1886,40 @@ and limitations under the License.
|
|
|
1885
1886
|
}
|
|
1886
1887
|
}
|
|
1887
1888
|
|
|
1889
|
+
& .add-contact {
|
|
1890
|
+
place-self: stretch;
|
|
1891
|
+
grid-row: 3;
|
|
1892
|
+
border-top: solid 1px lightgray;
|
|
1893
|
+
padding-top: 5px;
|
|
1894
|
+
display: flex;
|
|
1895
|
+
justify-content: center;
|
|
1896
|
+
}
|
|
1897
|
+
|
|
1898
|
+
& .blocked-bar {
|
|
1899
|
+
grid-row: 1;
|
|
1900
|
+
padding-bottom: 5px;
|
|
1901
|
+
place-self: stretch;
|
|
1902
|
+
font-size: smaller;
|
|
1903
|
+
display: flex;
|
|
1904
|
+
justify-content: center;
|
|
1905
|
+
border-bottom: solid 1px lightgray;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
& .threads-container {
|
|
1909
|
+
display: grid;
|
|
1910
|
+
grid-template-rows: auto 1fr auto;
|
|
1911
|
+
overflow: hidden;
|
|
1912
|
+
grid-template-columns: 1fr;
|
|
1913
|
+
}
|
|
1914
|
+
|
|
1888
1915
|
& .threads {
|
|
1916
|
+
grid-row: 2;
|
|
1889
1917
|
display: flex;
|
|
1890
1918
|
gap: 5px;
|
|
1891
1919
|
flex-direction: column;
|
|
1892
1920
|
overflow-x: hidden !important;
|
|
1921
|
+
padding-top: 5px;
|
|
1922
|
+
padding-bottom: 5px;
|
|
1893
1923
|
& .mailbox-thread {
|
|
1894
1924
|
background-color: canvas;
|
|
1895
1925
|
display: grid;
|
|
@@ -1951,7 +1981,7 @@ and limitations under the License.
|
|
|
1951
1981
|
}
|
|
1952
1982
|
}
|
|
1953
1983
|
}
|
|
1954
|
-
`.installLocal();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}];_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.showBlocked=false;this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.element.className=css;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:"Sender Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Resizable,null,XNode.create(AtomRepeater,Object.assign({class:"threads",header:true,headerRenderer:()=>XNode.create("div",{"data-layout":"row","data-font-size":"smaller"},XNode.create(ToggleButtonBar,{items:types,value:Bind.sourceTwoWays(this,(x=>x.source.showBlocked))}),XNode.create("button",{"data-click-event":"add-new-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-plus"}),"Add")),"data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,mailboxID:this.currentMailbox.mailboxID,version:this.version,showBlocked:this.showBlocked,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}`}))}}))));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,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,{mailboxID:this.parameters.id});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([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/mails/MailboxContacts");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","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Email,Mailbox,MailboxContact,Sql,EmailContentDownloader,EngagementService,apiPath,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},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_mailsServiceEngagementService){EngagementService=_mailsServiceEngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],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(Email);if(channelID){q=q.where({channelID},(p=>x=>x.mailboxes.some((m=>m.mailboxID===p.channelID))))}if(published){q=q.where((x=>x.status==="published"))}else{q=q.where((x=>x.status!=="published"))}if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.subject,p.search)))}const result=yield q.orderByDescending((x=>x.emailID)).toPagedList({start,size,cancelToken});const tasks=[];for(const iterator of result.items){tasks.push(this.emailContentDownloader.downloadFromUrl(apiPath(`/api/emails/channel/content/html/${channelID}/${iterator.emailID}/${iterator.headerMessageID}`),iterator));tasks.push(this.engagementService.downloadEngagements(iterator))}yield Promise.all(tasks);return result}))}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/services/ChannelService");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","../../mails/service/ConversationService","../../../../common/date/DateFormats","@web-atoms/core/dist/style/styled","@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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,XNode,AppCommands,AtomRepeater,ChannelService,InfiniteRepeater,Bind,LimitedText,renderMail,DateFormats,styled,Action,PageNavigator,InlinePopupControl,MenuItem,MailDetailPage,apiPath,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(_mailsServiceConversationService){renderMail=_mailsServiceConversationService.renderMail},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},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}],execute:function(){css=styled.css`
|
|
1984
|
+
`.installLocal();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}];_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.showBlocked=false;this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.element.className=css;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:"Sender Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Resizable,null,XNode.create("div",{class:"threads-container"},XNode.create("div",{class:"blocked-bar"},XNode.create(ToggleButtonBar,{items:types,value:Bind.sourceTwoWays(this,(x=>x.source.showBlocked))})),XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,mailboxID:this.currentMailbox.mailboxID,version:this.version,showBlocked:this.showBlocked,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}`}))}})),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")))));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,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,{mailboxID:this.parameters.id});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([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/mails/MailboxContacts");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","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Email,Mailbox,MailboxContact,Sql,EmailContentDownloader,EngagementService,apiPath,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},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_mailsServiceEngagementService){EngagementService=_mailsServiceEngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],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(Email);if(channelID){q=q.where({channelID},(p=>x=>x.mailboxes.some((m=>m.mailboxID===p.channelID))))}if(published){q=q.where((x=>x.status==="published"))}else{q=q.where((x=>x.status!=="published"))}if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.subject,p.search)))}const result=yield q.orderByDescending((x=>x.emailID)).toPagedList({start,size,cancelToken});const tasks=[];for(const iterator of result.items){tasks.push(this.emailContentDownloader.downloadFromUrl(apiPath(`/api/emails/channel/content/html/${channelID}/${iterator.emailID}/${iterator.headerMessageID}`),iterator));tasks.push(this.engagementService.downloadEngagements(iterator))}yield Promise.all(tasks);return result}))}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/services/ChannelService");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","../../mails/service/ConversationService","../../../../common/date/DateFormats","@web-atoms/core/dist/style/styled","@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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,XNode,AppCommands,AtomRepeater,ChannelService,InfiniteRepeater,Bind,LimitedText,renderMail,DateFormats,styled,Action,PageNavigator,InlinePopupControl,MenuItem,MailDetailPage,apiPath,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(_mailsServiceConversationService){renderMail=_mailsServiceConversationService.renderMail},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},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}],execute:function(){css=styled.css`
|
|
1955
1985
|
|
|
1956
1986
|
& [data-blog-list=blog-list] {
|
|
1957
1987
|
|