@social-mail/social-mail-client 1.2.41 → 1.2.43
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 +77 -29
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +9 -3
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/controls/tree/FileTreeView.d.ts +2 -0
- package/dist/common/controls/tree/FileTreeView.d.ts.map +1 -1
- package/dist/common/controls/tree/FileTreeView.js +40 -28
- package/dist/common/controls/tree/FileTreeView.js.map +1 -1
- package/dist/common/controls/tree/TreeView.d.ts.map +1 -1
- package/dist/common/controls/tree/TreeView.js +7 -1
- package/dist/common/controls/tree/TreeView.js.map +1 -1
- package/dist/common/pages/websites/studio/WebSiteStudioPage.d.ts +1 -0
- package/dist/common/pages/websites/studio/WebSiteStudioPage.d.ts.map +1 -1
- package/dist/common/pages/websites/studio/WebSiteStudioPage.js +24 -0
- package/dist/common/pages/websites/studio/WebSiteStudioPage.js.map +1 -1
- package/dist/public/channel/BlogService.d.ts.map +1 -1
- package/dist/public/channel/BlogService.js +1 -1
- package/dist/public/channel/BlogService.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +1 -1
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +1 -1
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +77 -29
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +9 -3
- package/dist/web/AppIndex.pack.min.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 +1 -0
- package/dist/web/page/mails/mini-compose/MiniComposeBox.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/ArrayLike.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/DataAttributes.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/ModuleFiles.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/PageNavigator.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/animations/Animations.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/auto-complete/AppComboBoxViewModel.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/auto-complete/AutoCompleteBox.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/auto-complete/AutoCompleteBoxStyle.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/auto-complete/ItemHost.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/AtomRepeater.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/AtomSuggestions.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/AttachedPopup.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Button.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Calendar.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/CheckBoxList.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Checkbox.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Chip.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/ComboBox.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/DataGrid.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/DateField.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/DropDown.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Editable.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Expander.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/FilesDragDrop.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Form.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/FormField.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/IElement.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopup.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopupControl.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/ItemPath.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/LimitedText.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/ListRepeater.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/MaskedInput.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/MaskedInputDiv.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/MergeNode.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/PasswordBox.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/PinchZoomView.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/PopupButton.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/RadioButtonList.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/RefreshLock.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Resizable.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Select.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Swipe.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Switch.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/TableRepeater.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/TimeEditor.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/TitleEditor.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/ToggleButtonBar.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/Tooltip.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/combineClasses.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/calendar-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/check-box-list-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/checkbox-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/chip-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/chips-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/data-grid-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/date-field-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/drop-down-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/expander-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/form-field-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/inline-popup-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/item-suggestion-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/list-repeater-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/masked-input-div.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/masked-input-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/password-box-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/popup-button-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/popup-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/radio-button-list-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/repeater-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/suggestion-popup.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/suggestion-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/swipe-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/switch-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/time-editor-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/title-editor-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/toggle-view-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/tooltip-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/styles/ui-display-none-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/button-bar/AtomButtonBar.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/buttons/AtomPopupButton.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/buttons/AtomPopupButtonStyle.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/calendar/AtomCalendar.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/calendar/AtomCalendarStyle.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/calendar/CalendarViewModel.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/calendar/res/SRCalendar.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/calendar/res/en-US/SRCalendar.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomColumn.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomDataGrid.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomDataGridStyle.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomDataGridViewModel.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/data-grid/GridTemplate.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/data-pager/AtomDataPager.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/date-field/AtomDateField.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/desktop-app/DesktopApp.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/dev/DevHost.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/form/AtomField.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/form/AtomForm.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/form/AtomFormGroup.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/form/AtomFormStyle.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/form/HelpPopup.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/HtmlEditorCommands.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.d.ts.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.js +5 -0
- package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/RangeEditor.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AddImage.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AddLink.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Align.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AttachFile.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AttachImage.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Bold.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/ChangeColor.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/ChangeFont.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Command.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/CommandButton.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Headings.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/IndentLess.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/IndentMore.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Italic.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/NumberedList.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Quote.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Separator.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Source.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Toolbar.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Underline.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Unlink.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/UnorderedList.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile/pages/AtomPageFrame.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile/pages/AtomPageFrameStyle.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile/pages/AtomPageFrameTemplate.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile/pages/Page.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile/pages/PageFrameViewModel.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile/pages/TitleTemplate.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile-app/BottomPopup.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile-app/MasterDetailPage.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/player/AtomVideoPlayer.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/player/TrackProgress.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/player/input-range-style.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/time-field/AtomTimeField.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/time-field/AtomTimeFieldStyle.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/toggle-view/AtomToggleView.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/web-controls/package.json +1 -1
- package/node_modules/@web-atoms/web-controls/src/html-editor/InlineHtmlEditor.tsx +5 -0
- package/package.json +2 -2
- package/src/common/controls/tree/FileTreeView.tsx +13 -5
- package/src/common/controls/tree/TreeView.tsx +7 -1
- package/src/common/pages/websites/studio/WebSiteStudioPage.tsx +25 -0
- package/src/public/channel/BlogService.ts +1 -0
- package/src/web/page/mails/mini-compose/MiniComposeBox.tsx +1 -0
|
@@ -1246,7 +1246,7 @@ html, body {
|
|
|
1246
1246
|
}
|
|
1247
1247
|
}
|
|
1248
1248
|
|
|
1249
|
-
`.installGlobal("[data-layout=tree-view]");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"
|
|
1249
|
+
`.installGlobal("[data-layout=tree-view]");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"){this.createElement(child,item,index);return}if(event==="set"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();this.createElement(child,item,index);return}if(event==="remove"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();return}for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}for(const iterator of children){this.createElement(iterator,item)}}));element.dispose=()=>{var _a;watcher.dispose();for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}element.remove()};const actionElement=(_a=this.actionRenderer)===null||_a===void 0?void 0:_a.call(this,item);const isFolder=(_c=(_b=this.isFolder)===null||_b===void 0?void 0:_b.call(this,item))!==null&&_c!==void 0?_c:true;const iconElement=isFolder?this.folderIconRenderer(item):(_e=(_d=this.fileIconRenderer)===null||_d===void 0?void 0:_d.call(this,item))!==null&&_e!==void 0?_e:XNode.create("i",null);const labelElement=this.labelRenderer(item);if(iconElement){const a=(_f=iconElement.attributes)!==null&&_f!==void 0?_f:iconElement.attributes={};(_g=a["data-element"])!==null&&_g!==void 0?_g:a["data-element"]=isFolder?"expand-collapse":"file-icon";(_h=a["data-click-event"])!==null&&_h!==void 0?_h:a["data-click-event"]="toggle-expand";this.render(XNode.create("div",null,iconElement),element,this)}if(labelElement){const a=(_j=labelElement.attributes)!==null&&_j!==void 0?_j:labelElement.attributes={};a["data-element"]="label";(_k=a["data-click-event"])!==null&&_k!==void 0?_k:a["data-click-event"]="select-item";this.render(XNode.create("div",null,labelElement),element,this)}if(actionElement){((_l=actionElement.attributes)!==null&&_l!==void 0?_l:actionElement.attributes={})["data-element"]="action";this.render(XNode.create("div",null,actionElement),element,this)}const header=document.createElement("div");header.setAttribute("data-element","header");element.appendChild(header);const parentElement=this.map.get(parentItem);let last=parentElement;if(parentItem){const siblings=this.childrenProperty(parentItem);if(insertIndex===-1){insertIndex=siblings.indexOf(item)}if(insertIndex>=1){last=this.map.get(siblings[insertIndex-1])}last.insertAdjacentElement("afterend",element);const pad=Number((_m=parentElement.getAttribute("data-pad"))!==null&&_m!==void 0?_m:"0")+10;element.setAttribute("data-pad",`${pad}`);element.style.paddingLeft=`${pad}px`}else{this.element.appendChild(element);this.expandElement(element,false)}for(const iterator of children){this.createElement(iterator,item)}setTimeout((()=>this.updateExpanded()),1);return element}updateExpanded(item,show){if(!item){item=this.root;show=true}const element=this.map.get(item);if(!element){return}if(item===this.root){show=true}else if(show===void 0){show=element.getAttribute("data-expanded")==="true"}if(show){element.style.display=""}else{element.style.display="none"}const children=this.childrenProperty(element.dataItem);show&&(show=element.getAttribute("data-expanded")==="true");for(const iterator of children){this.updateExpanded(iterator,show)}}});__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"root",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"selectedItem",void 0);delete TreeView.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/basic/AtomRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,CloudFileService,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,styled,AtomRepeater,ChooserFolderPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default}],execute:function(){css=styled.css`
|
|
1250
1250
|
display: grid;
|
|
1251
1251
|
grid-template-columns: auto auto;
|
|
1252
1252
|
|
|
@@ -1339,6 +1339,9 @@ html, body {
|
|
|
1339
1339
|
}
|
|
1340
1340
|
`.installLocal();_export("default",UserListPage=class UserListPage extends MasterDetailPage{constructor(){super(...arguments);this.users=[];this.version=0;this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-user",class:"fas fa-plus"});this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{placeholder:"Search Users",value:Bind.twoWaysImmediate((()=>this.search))}));this.search="";this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table","data-layout":"data-grid",selectOnClick:true,"data-list-selection":"default","data-selection-updated-event":"user-selected","data-event-items-updated":"users-loaded",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),items:this.users},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({start,search:this.search,cancelToken,v:this.version}))),{itemRenderer:user=>XNode.create("div",null,XNode.create("label",null,user.userID),XNode.create("label",null,user.displayName),XNode.create("label",null,user.multiFactor?"2FA":"-"))}))))}))}usersLoaded(){if(this.selectedUser){if(this.users.includes(this.selectedUser)){return}this.selectedUser=this.users.find((x=>x.userID===this.selectedUser.userID));if(this.selectedUser){return}}this.selectedUser=this.users[0]}userSelected(){if(!this.selectedUser){return}this.openDetail(UserDetailsPage,this.selectedUser)}addDomain(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditUserPage,User.create({userName:"",displayName:"",changePassword:{forceChangePasswordOnLogin:true,newPassword:""}}));this.version++}))}userChangePassword(model){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserListPage.prototype,"userService",void 0);__decorate([Action({onEvent:"users-loaded",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"usersLoaded",null);__decorate([Action({onEvent:"user-selected"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"userSelected",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserListPage.prototype,"addDomain",null);__decorate([Action({onEvent:"user-change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],UserListPage.prototype,"userChangePassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","./services/AdminUserService","../../../common/controls/repeater/InfiniteRepeater","../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,XNode,AtomRepeater,Bind,AdminUserService,InfiniteRepeater,SaveIconTextButton,ChooseUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",ChooseUserPage=class ChooseUserPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.users=[];this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),placeholder:"Search User"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.users,selectOnClick:true,"data-layout":"list",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),"data-list-selection":"default","data-selection-updated-event":"selection-updated"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({search:this.search,start,cancelToken}))),{itemRenderer:user=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:user.userName}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.selectedUser))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selectedUser),text:"Select"}))}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],ChooseUserPage.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","../../../admin/pages/users/ChooseUserPage","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,UserMailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,AtomRepeater,AddIconTextButton,PageNavigator,ChooseUserPage,Checkbox,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox;UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_adminPagesUsersChooseUserPage){ChooseUserPage=_adminPagesUsersChooseUserPage.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{init(){var _a,_b,_c,_d;var _e,_f;return __awaiter(this,void 0,void 0,(function*(){this.title="Add Hosted Mailbox";this.model=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.model)!==null&&_b!==void 0?_b:Mailbox.create({emailAddress:EmailAddress.create({emailAddress:""}),maxStorage:1*1024*1024*1024,userMailboxes:[]});if(this.parameters.domainID){this.model.domainID=this.parameters.domainID}(_c=(_e=this.model).isChannel)!==null&&_c!==void 0?_c:_e.isChannel=false;(_d=(_f=this.model).isPrivateChannel)!==null&&_d!==void 0?_d:_f.isPrivateChannel=false;this.model.username="";const domains=yield this.mailboxService.domains(true);this.model.name=SocialMailApp.user.displayName;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-mailbox"},XNode.create(TextFormField,{label:"Name",value:()=>this.model.name}),XNode.create(TextFormField,{label:"Email Prefix/Username",value:()=>this.model.username}),XNode.create(FormField,{label:"Domain"},XNode.create(ComboBox,{labelPath:item=>item===null||item===void 0?void 0:item.name,valuePath:item=>item===null||item===void 0?void 0:item.domainID,selectedItem:Bind.twoWaysImmediate((()=>this.model.domain)),value:Bind.twoWaysImmediate((()=>this.model.domainID)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.domain.name}`))})),XNode.create(FormField,{label:"Create Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isChannel)),text:"Create a newsletter channel, which anyone with email can subscribe"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Private Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isPrivateChannel)),text:"Make this channel private, only users with invitation can subscribe"})),XNode.create(FormField,{label:"Add Users who can access this mailbox"},XNode.create("div",null,XNode.create(AtomRepeater,{items:this.model.userMailboxes,"data-layout":"list",itemRenderer:item=>XNode.create("div",null,XNode.create("span",{text:item.user.userName}))}),XNode.create(AddIconTextButton,{"data-click-event":"add-user",text:"User"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-type":"submit","data-layout":"accept-button",text:"Add"}))))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailboxService.save(this.model);return this.model}))}addUser(){return __awaiter(this,void 0,void 0,(function*(){const user=yield PageNavigator.pushPageForResult(ChooseUserPage);this.model.userMailboxes.add(UserMailbox.create({user,userID:user.userID}))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxEditorPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"save-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"saveMailbox",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"addUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../common/events/CommonEvents"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxContact,Sql,CommonEvents,MailService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact},function(_commonSql){Sql=_commonSql.Sql},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents}],execute:function(){MailService=class MailService{mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>x.emailAddress)).firstOrDefault()}))}list({search="",mailboxID,start=0,size=20,version=1,showBlocked=false,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({mailboxID,showBlocked},(p=>x=>x.mailboxID===p.mailboxID&&x.blocked===p.showBlocked)).orderByDescending((x=>x.dateUpdated));if(search){const likeSearch=`%${search}%`;q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.lastEmail.textBody,p.likeSearch)||Sql.text.iLike(x.lastEmail.subject,p.likeSearch)||Sql.text.iLike(x.emailAddress.name,p.likeSearch)||Sql.text.iLike(x.lastEmail.senderName,p.likeSearch)))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){const{originalFileID}=email;const file=yield this.entityService.query(AppFile).where({originalFileID},(p=>x=>x.appFileID===p.originalFileID)).firstOrDefault();const rs=yield fetch(file.url);return yield rs.text()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){if(email.textBody){email.subject||(email.subject=email.textBody.substring(0,80))}for(const iterator of email.recipients){if(iterator.emailAddressText){iterator.emailAddressText=iterator.emailAddressText.trim()}}const cloner=this.entityService.cloner(email).include((x=>x.recipients)).include((x=>x.attachments)).copy;yield this.entityService.save(cloner);CommonEvents.onEmailScheduled.dispatchEvent(email)}))}deleteAttachment(file){return __awaiter(this,void 0,void 0,(function*(){const{appFileID}=file;yield this.entityService.save(AppFile.create({$deleted:true,appFileID}));CommonEvents.onFileDeleted.dispatchEvent(file)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../../services/BusyProgress"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,renderMail,downloadEmailContent,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail;MailboxEmail=_modelModel.MailboxEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesBusyProgress){BusyProgress=_servicesBusyProgress.default}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{if(!value){e.innerHTML="";return}const thread=value;const mail=thread.email;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){const cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`)}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead&&thread.mailboxID){const timeRead=DateTime.now;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxContactEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}return})));downloadEmailContent=(es,email)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b;if(email.replyCount){const children=yield es.query(Email).where({emailID:email.emailID},(p=>x=>x.emailID===p.emailID&&x.engagement!==null)).orderByDescending((x=>x.emailID)).toPagedList({start:0,size:4,cacheVersion:"a",cacheSeconds:900});email.children=(_a=children===null||children===void 0?void 0:children.items)!==null&&_a!==void 0?_a:[]}else{(_b=email.children)!==null&&_b!==void 0?_b:email.children=[]}if(!email.originalFileID){return}for(let i=0;i<10;i++){try{const rs=yield fetch(email.htmlBodyUrl);const text=yield rs.text();email.htmlBody=text;return}catch(error){console.error(error)}}}));ConversationService=class ConversationService{getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft({mailboxID,emailAddressID,email},create=false){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){if(!email.textBody){email.textBody=email.mdBody}email.subject||(email.subject="");const cloner=this.entityService.cloner(email).include((x=>x.attachments)).include((x=>x.recipients));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const mailboxes=(_b=email.mailboxes)!==null&&_b!==void 0?_b:email.mailboxes=[];const threads=(_c=email.threadEmails)!==null&&_c!==void 0?_c:email.threadEmails=[];email.senderID=mailboxID;email.status="draft";if(!mailboxes.some((m=>m.mailboxID===mailboxID))){mailboxes.push(MailboxEmail.create({mailboxID}))}if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}yield this.entityService.save(email)}return email}))}list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(search){if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||Sql.text.iLike(x.email.originalFile.fileContent.textDocument.searchable,p.search)))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});const tasks=[];const d=BusyProgress.create();try{for(const{email}of emails.items){(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(downloadEmailContent(this.entityService,email))}yield Promise.all(tasks)}finally{(_c=d===null||d===void 0?void 0:d.dispose)===null||_c===void 0?void 0:_c.call(d)}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1341
1341
|
|
|
1342
|
+
display: grid;
|
|
1343
|
+
grid-template-rows: auto 1fr;
|
|
1344
|
+
|
|
1342
1345
|
& > [data-element=editor] {
|
|
1343
1346
|
|
|
1344
1347
|
padding: var(--spacing, 5px);
|
|
@@ -1346,6 +1349,8 @@ html, body {
|
|
|
1346
1349
|
border-radius: var(--spacing, 5px);
|
|
1347
1350
|
margin: var(--spacing, 5px);
|
|
1348
1351
|
|
|
1352
|
+
overflow: auto;
|
|
1353
|
+
|
|
1349
1354
|
& > * {
|
|
1350
1355
|
outline: none;
|
|
1351
1356
|
}
|
|
@@ -2569,6 +2574,7 @@ html, body {
|
|
|
2569
2574
|
grid-template-columns: auto 1fr auto;
|
|
2570
2575
|
grid-template-rows: auto 1fr auto;
|
|
2571
2576
|
border-top: solid 1px lightgray;
|
|
2577
|
+
max-height: 50vh;
|
|
2572
2578
|
|
|
2573
2579
|
& > [data-element=add] {
|
|
2574
2580
|
grid-row: 1 / span 2;
|
|
@@ -2776,7 +2782,7 @@ html, body {
|
|
|
2776
2782
|
}
|
|
2777
2783
|
}
|
|
2778
2784
|
}
|
|
2779
|
-
`.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;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}))}});__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)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,ChannelDetailPage;_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}],execute:function(){_export("default",ChannelDetailPage=class ChannelDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.mailbox=yield this.mailboxService.get(this.parameters.id);this.title=`${this.mailbox.emailAddress.name||this.mailbox.name} (${this.mailbox.emailAddress.emailAddress})`}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChannelDetailPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Mailbox,MailboxContact,Sql,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){Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){ChannelService=class ChannelService{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)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ChannelService.prototype,"entityService",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/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../model/model","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../services/ChannelService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Form,FormField,PopupWindowPage,MailboxContact,SaveIconTextButton,Action,ChannelService,InjectProperty,Checkbox,AddSubscriberPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddSubscriberPage=class AddSubscriberPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({});this.emailAddress=""}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.title="Add/Invite new subscriber";(_a=(_b=this.model).emailAddressText)!==null&&_a!==void 0?_a:_b.emailAddressText="";this.model.mailboxID=this.parameters.id;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Email Address"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"add-subscriber",text:"Add"}))))}))}inviteSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="invited";yield this.channelService.save(this.model)}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.channelService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],AddSubscriberPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"invite-subscriber",success:"Invitation sent",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"inviteSubscriber",null);__decorate([Action({onEvent:"add-subscriber",success:"Subscriber added successfully",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"addSubscriber",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,Checkbox,Form,FormField,PopupWindowPage,SaveIconTextButton,UpdateRightsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",UpdateRightsPage=class UpdateRightsPage extends PopupWindowPage{constructor(){super(...arguments);this.model={isOwner:false,canContribute:false}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Update Rights of selected subscribers";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.model),text:"Update"}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../services/ChannelService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./add/AddSubscriberPage","../../../../common/controls/buttons/IconButton","./rights/UpdateRightsPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,ChannelService,XNode,AtomRepeater,SelectAll,SelectorCheckBox,InfiniteRepeater,Bind,MenuItem,PopupActionButton,Action,PageNavigator,AddSubscriberPage,DeleteIconTextButton,SaveIconTextButton,UpdateRightsPage,ChannelSubscribersPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_addAddSubscriberPage){AddSubscriberPage=_addAddSubscriberPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_rightsUpdateRightsPage){UpdateRightsPage=_rightsUpdateRightsPage.default}],execute:function(){_export("default",ChannelSubscribersPage=class ChannelSubscribersPage extends ContentPage{constructor(){super(...arguments);this.search="";this.subscribers=[];this.version=1;this.selected=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.channelService.getMailbox(this.parameters.id);const{emailAddress}=this.model;const title=emailAddress.name?`${emailAddress.name} (${emailAddress.emailAddress})`:emailAddress.emailAddress;this.title=title;this.actionRenderer=()=>XNode.create(PopupActionButton,{class:"fas fa-plus"},XNode.create(MenuItem,{"data-click-event":"add-subscriber",label:"Add Subscriber"}),XNode.create(MenuItem,{"data-click-event":"import-subscribers",label:"Import CSV"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(SelectAll,{items:this.subscribers,selectedItems:this.selected}),XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.subscribers,selectedItems:this.selected,allowMultipleSelection:true},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.subscribers({start,size:200,id:this.parameters.id,search:this.search,cancelToken,v:this.version}))),{itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create(SelectorCheckBox,null),XNode.create("div",{text:item.emailAddress.emailAddress}),XNode.create("div",{text:item.status}),XNode.create("div",{text:item.isOwner?"Is Owner":""}),XNode.create("div",{text:item.canContribute?"Can Contribute":""}))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected.length>0)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-click-event":"activate-subscribers",text:"Activate"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-subscribers",text:"Delete"}),XNode.create(SaveIconTextButton,{"data-click-event":"update-rights",text:"Update Rights"}))}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(AddSubscriberPage,{id:this.parameters.id});this.version++}))}deleteSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.$deleted=true}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}activateSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.status="active"}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}updateRights(){return __awaiter(this,void 0,void 0,(function*(){const rights=yield PageNavigator.pushPageForResult(UpdateRightsPage);for(const iterator of this.selected){iterator.canContribute=rights.canContribute;iterator.isOwner=rights.isOwner}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelSubscribersPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"add-subscriber"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"addSubscriber",null);__decorate([Action({onEvent:"delete-subscribers",confirm:"Are you sure you want to remove selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"deleteSubscribers",null);__decorate([Action({onEvent:"activate-subscribers",confirm:"Are you sure you want to activate given subscribers?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"activateSubscribers",null);__decorate([Action({onEvent:"update-rights"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"updateRights",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","../../controls/repeater/InfiniteRepeater","../../NumberFormats","@web-atoms/core/dist/view-model/Action","../../../web/commands/AppCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomRepeater,ContentPage,CloudFileService,InfiniteRepeater,toFileSize,Action,AppCommands,DriveListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default}],execute:function(){_export("default",DriveListPage=class DriveListPage extends ContentPage{constructor(){super(...arguments);this.rootFolders=[];this.version=1;this.search=""}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.selectedFolder=null;this.actionRenderer=()=>XNode.create("i",{class:"fas fa-plus","data-click-event":"create-folder"});this.selectedFolder=(_a=this.rootFolders[0])!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.rootFolders,selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder)),"data-list-selection":"default","data-selection-updated-event":"on-selection-changed"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.cloudFileService.drives({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.appFileID})},item.name)),XNode.create("td",{text:item.creator.displayName}),XNode.create("td",{text:toFileSize(item.fileSize)}))})))}))}createFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder you want to create");if(!name){return}const folder=yield this.cloudFileService.createFolder({name});this.rootFolders.add(folder);this.selectedFolder=folder}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],DriveListPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"create-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DriveListPage.prototype,"createFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,WebSiteFolder,WebSiteFolderVersion,DateTime,WebSiteService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){WebSiteFolder=_modelModel.WebSiteFolder;WebSiteFolderVersion=_modelModel.WebSiteFolderVersion},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){WebSiteService=class WebSiteService{get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const site=yield this.entityService.query(WebSiteFolder).where({id},(p=>x=>x.folderID===p.id)).include((x=>[x.folder,x.hosts,x.versions])).firstOrDefault();(_a=site.versions)===null||_a===void 0?void 0:_a.sort(((a,b)=>b.snapshotFolderID-a.snapshotFolderID));return site}))}list(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(WebSiteFolder).include((x=>[x.folder,x.hosts])).toArray()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(model).include((x=>x.folder)).copy;yield this.entityService.save(cloner);return model}))}publish(model){var _a;return __awaiter(this,void 0,void 0,(function*(){(_a=model.versions)!==null&&_a!==void 0?_a:model.versions=[];const dateCreated=DateTime.now;const folderID=model.folderID;const version=WebSiteFolderVersion.create({dateCreated,folderID,publish:true});yield this.entityService.save(version);model.versions.add(version)}))}};__decorate([Inject,__metadata("design:type",EntityService)],WebSiteService.prototype,"entityService",void 0);WebSiteService=__decorate([DITransient()],WebSiteService);_export("default",WebSiteService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/websites/WebSiteService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","../../../../model/model","@web-atoms/core/dist/core/XNode","../../../commands/CommonCommands","@web-atoms/core/dist/view-model/Action","../../../date/DateFormats","../../../controls/collection-editor/CollectionEditor","../../../../web/commands/AppCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,WebSiteService,WebSiteFolderHost,XNode,CommonCommands,Action,DateFormats,CollectionEditor,AppCommands,ManageWebSitePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_modelModel){WebSiteFolderHost=_modelModel.WebSiteFolderHost},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default}],execute:function(){_export("default",ManageWebSitePage=class ManageWebSitePage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.webSiteService.get(this.parameters.id);this.renderer=XNode.create("div",null,XNode.create("div",null,this.model.folder.name,this.model.isModified&&XNode.create("button",{"data-click-event":"publish-website",text:"Publish"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editWebSite.displayRoute({id:this.parameters.id})},XNode.create("button",{text:"Edit"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.parameters.id})},XNode.create("button",{text:"Files"})),XNode.create("a",{href:`/api/site/draft/${this.parameters.id}`,target:"_blank"},XNode.create("button",{text:"Preview"}))),XNode.create(CollectionEditor,{label:"Hosts",model:this.model,collection:"hosts",itemRenderer:item=>XNode.create("div",{text:item.host}),itemFactory:()=>{const host=prompt("Internet URL Host","");if(!host){return}return WebSiteFolderHost.create({host})}}),XNode.create("div",null,XNode.create("h5",null,"Versions"),XNode.create("div",null,...((_a=this.model.versions)!==null&&_a!==void 0?_a:[]).map((v=>XNode.create("div",{"data-layout":"row"},XNode.create("span",null,v.name),XNode.create("span",{title:v.dateCreated},DateFormats.relative.short(v.dateCreated))))))))}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.webSiteService.publish(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],ManageWebSitePage.prototype,"webSiteService",void 0);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ManageWebSitePage.prototype,"publishWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/manage/ManageWebSitePage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,FetchBuilder,mimeMap,MimeTypeService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){mimeMap=void 0;MimeTypeService=class MimeTypeService{getMimeType(fileName){return __awaiter(this,void 0,void 0,(function*(){mimeMap!==null&&mimeMap!==void 0?mimeMap:mimeMap=this.createMap();const map=yield mimeMap;const group=/\.([^\.]+)$/.exec(fileName);if(group){const ct=map.get(group[1]);if(ct){return ct}}return"application/octat-stream"}))}createMap(){return __awaiter(this,void 0,void 0,(function*(){const json=yield FetchBuilder.get("https://cdn.jsdelivr.net/gh/jshttp/mime-db@master/db.json").responseAsJson();const map=new Map;setTimeout((()=>mimeMap=null),6e4);for(const key in json){if(Object.prototype.hasOwnProperty.call(json,key)){const{extensions}=json[key];if(extensions){for(const iterator of extensions){map.set(iterator,key)}}}}return map}))}};MimeTypeService=__decorate([DISingleton()],MimeTypeService);_export("default",MimeTypeService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/MimeTypeService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/InjectProperty","../../../../web/page/files/service/CloudFileService","../../../../services/files/MimeTypeService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,FetchBuilder,InjectProperty,CloudFileService,MimeTypeService,ChooseWebSiteTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_servicesFilesMimeTypeService){MimeTypeService=_servicesFilesMimeTypeService.default}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create From Template"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template="plain";yield this.upload("index.html",template);yield this.upload("vars.css",template,"styles")}))}upload(fileName,template,folder=void 0){return __awaiter(this,void 0,void 0,(function*(){const templatePath=folder?`${folder}/${fileName}`:fileName;const path=UMD.resolvePath(`@social-mail/social-mail-client/content/templates/${template}/${templatePath}`);const content=yield FetchBuilder.get(path).responseAsText();const contentType=yield this.mimeTypeService.getMimeType(fileName);yield this.cloudFileService.saveFile({content:new File([content],fileName,{type:contentType}),parentID:this.parameters.appFileID,folder})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseWebSiteTemplatePage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",MimeTypeService)],ChooseWebSiteTemplatePage.prototype,"mimeTypeService",void 0);__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register([],(function(_export,_context){"use strict";function InstallDragDropHelper(editor){let dragged;const document=editor.htmlDocument;const dropTarget=editor.dropTarget;document.addEventListener("dragstart",(e=>{dragged=e.target;e.dataTransfer.dropEffect="move";e.dataTransfer.setDragImage(dragged,0,0)}));document.addEventListener("dragover",(e=>{const target=e.target;e.preventDefault();e.dataTransfer.dropEffect="copy";const b=target.getBoundingClientRect();const mp={x:e.clientX,y:e.clientY};const style=document.defaultView.getComputedStyle(target);const isHorizontal=style.display==="flex"&&(style.flexDirection==="row"||style.flexWrap)||style.display==="inline-block"||style.display==="inline"||target.tagName==="TD";if(isHorizontal){if(mp.x>b.left+b.width/2){dropTarget.dropAnchor="right";dropTarget.update(target);return}dropTarget.dropAnchor="left";dropTarget.update(target);return}if(mp.y>b.top+b.height/2){dropTarget.dropAnchor="bottom";dropTarget.update(target);return}dropTarget.dropAnchor="top";dropTarget.update(target)}));document.addEventListener("dragend",(e=>{e.preventDefault();dropTarget.clear();dragged=null}));document.addEventListener("drop",(e=>{const target=e.target;let insert;e.preventDefault();if(dragged){dragged.remove();insert=dragged}else{dragged=null;const div=document.createElement("div");div.innerHTML=e.dataTransfer.getData("text/html");insert=div.childElementCount>1?div:div.firstElementChild}if(target.childElementCount===0){target.appendChild(insert);dropTarget.clear();editor.commit();return}switch(dropTarget.dropAnchor){case"top":case"left":target.insertAdjacentElement("beforebegin",insert);break;case"bottom":case"right":target.insertAdjacentElement("afterend",insert);break}editor.commit();dropTarget.clear()}));document.addEventListener("dragleave",(e=>{dropTarget.clear()}));setTimeout((()=>{editor.commit();document.body.querySelectorAll("*").forEach((e=>e.draggable=true))}),100)}_export("InstallDragDropHelper",InstallDragDropHelper);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function EditorToolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",EditorToolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
2785
|
+
`.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;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}))}});__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)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,ChannelDetailPage;_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}],execute:function(){_export("default",ChannelDetailPage=class ChannelDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.mailbox=yield this.mailboxService.get(this.parameters.id);this.title=`${this.mailbox.emailAddress.name||this.mailbox.name} (${this.mailbox.emailAddress.emailAddress})`}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChannelDetailPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Mailbox,MailboxContact,Sql,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){Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){ChannelService=class ChannelService{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)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ChannelService.prototype,"entityService",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/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../model/model","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../services/ChannelService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Form,FormField,PopupWindowPage,MailboxContact,SaveIconTextButton,Action,ChannelService,InjectProperty,Checkbox,AddSubscriberPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddSubscriberPage=class AddSubscriberPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({});this.emailAddress=""}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.title="Add/Invite new subscriber";(_a=(_b=this.model).emailAddressText)!==null&&_a!==void 0?_a:_b.emailAddressText="";this.model.mailboxID=this.parameters.id;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Email Address"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"add-subscriber",text:"Add"}))))}))}inviteSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="invited";yield this.channelService.save(this.model)}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.channelService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],AddSubscriberPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"invite-subscriber",success:"Invitation sent",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"inviteSubscriber",null);__decorate([Action({onEvent:"add-subscriber",success:"Subscriber added successfully",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSubscriberPage.prototype,"addSubscriber",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,Checkbox,Form,FormField,PopupWindowPage,SaveIconTextButton,UpdateRightsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",UpdateRightsPage=class UpdateRightsPage extends PopupWindowPage{constructor(){super(...arguments);this.model={isOwner:false,canContribute:false}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Update Rights of selected subscribers";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Rights"},XNode.create("div",{"data-layout":"vertical-flex"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isOwner)),text:"Is Owner"}),XNode.create(Checkbox,{"style-display":Bind.oneWay((()=>!this.model.isOwner)),checked:Bind.twoWaysImmediate((()=>this.model.canContribute)),text:"Can Contribute"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.model),text:"Update"}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../services/ChannelService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./add/AddSubscriberPage","../../../../common/controls/buttons/IconButton","./rights/UpdateRightsPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,ChannelService,XNode,AtomRepeater,SelectAll,SelectorCheckBox,InfiniteRepeater,Bind,MenuItem,PopupActionButton,Action,PageNavigator,AddSubscriberPage,DeleteIconTextButton,SaveIconTextButton,UpdateRightsPage,ChannelSubscribersPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem;PopupActionButton=_webAtomsWebControlsDistBasicPopupButton.PopupActionButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_addAddSubscriberPage){AddSubscriberPage=_addAddSubscriberPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_rightsUpdateRightsPage){UpdateRightsPage=_rightsUpdateRightsPage.default}],execute:function(){_export("default",ChannelSubscribersPage=class ChannelSubscribersPage extends ContentPage{constructor(){super(...arguments);this.search="";this.subscribers=[];this.version=1;this.selected=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.channelService.getMailbox(this.parameters.id);const{emailAddress}=this.model;const title=emailAddress.name?`${emailAddress.name} (${emailAddress.emailAddress})`:emailAddress.emailAddress;this.title=title;this.actionRenderer=()=>XNode.create(PopupActionButton,{class:"fas fa-plus"},XNode.create(MenuItem,{"data-click-event":"add-subscriber",label:"Add Subscriber"}),XNode.create(MenuItem,{"data-click-event":"import-subscribers",label:"Import CSV"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create(SelectAll,{items:this.subscribers,selectedItems:this.selected}),XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.subscribers,selectedItems:this.selected,allowMultipleSelection:true},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.subscribers({start,size:200,id:this.parameters.id,search:this.search,cancelToken,v:this.version}))),{itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create(SelectorCheckBox,null),XNode.create("div",{text:item.emailAddress.emailAddress}),XNode.create("div",{text:item.status}),XNode.create("div",{text:item.isOwner?"Is Owner":""}),XNode.create("div",{text:item.canContribute?"Can Contribute":""}))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected.length>0)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-click-event":"activate-subscribers",text:"Activate"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-subscribers",text:"Delete"}),XNode.create(SaveIconTextButton,{"data-click-event":"update-rights",text:"Update Rights"}))}))}addSubscriber(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(AddSubscriberPage,{id:this.parameters.id});this.version++}))}deleteSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.$deleted=true}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}activateSubscribers(){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.selected){iterator.status="active"}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}updateRights(){return __awaiter(this,void 0,void 0,(function*(){const rights=yield PageNavigator.pushPageForResult(UpdateRightsPage);for(const iterator of this.selected){iterator.canContribute=rights.canContribute;iterator.isOwner=rights.isOwner}yield this.channelService.saveAll(this.selected);this.selected.clear();this.version++}))}});__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelSubscribersPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"add-subscriber"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"addSubscriber",null);__decorate([Action({onEvent:"delete-subscribers",confirm:"Are you sure you want to remove selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"deleteSubscribers",null);__decorate([Action({onEvent:"activate-subscribers",confirm:"Are you sure you want to activate given subscribers?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"activateSubscribers",null);__decorate([Action({onEvent:"update-rights"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChannelSubscribersPage.prototype,"updateRights",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","../../controls/repeater/InfiniteRepeater","../../NumberFormats","@web-atoms/core/dist/view-model/Action","../../../web/commands/AppCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomRepeater,ContentPage,CloudFileService,InfiniteRepeater,toFileSize,Action,AppCommands,DriveListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default}],execute:function(){_export("default",DriveListPage=class DriveListPage extends ContentPage{constructor(){super(...arguments);this.rootFolders=[];this.version=1;this.search=""}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.selectedFolder=null;this.actionRenderer=()=>XNode.create("i",{class:"fas fa-plus","data-click-event":"create-folder"});this.selectedFolder=(_a=this.rootFolders[0])!==null&&_a!==void 0?_a:null;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.rootFolders,selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder)),"data-list-selection":"default","data-selection-updated-event":"on-selection-changed"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.cloudFileService.drives({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.appFileID})},item.name)),XNode.create("td",{text:item.creator.displayName}),XNode.create("td",{text:toFileSize(item.fileSize)}))})))}))}createFolder(){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter name of the folder you want to create");if(!name){return}const folder=yield this.cloudFileService.createFolder({name});this.rootFolders.add(folder);this.selectedFolder=folder}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],DriveListPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"create-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DriveListPage.prototype,"createFolder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,WebSiteFolder,WebSiteFolderVersion,DateTime,WebSiteService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){WebSiteFolder=_modelModel.WebSiteFolder;WebSiteFolderVersion=_modelModel.WebSiteFolderVersion},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){WebSiteService=class WebSiteService{get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const site=yield this.entityService.query(WebSiteFolder).where({id},(p=>x=>x.folderID===p.id)).include((x=>[x.folder,x.hosts,x.versions])).firstOrDefault();(_a=site.versions)===null||_a===void 0?void 0:_a.sort(((a,b)=>b.snapshotFolderID-a.snapshotFolderID));return site}))}list(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(WebSiteFolder).include((x=>[x.folder,x.hosts])).toArray()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(model).include((x=>x.folder)).copy;yield this.entityService.save(cloner);return model}))}publish(model){var _a;return __awaiter(this,void 0,void 0,(function*(){(_a=model.versions)!==null&&_a!==void 0?_a:model.versions=[];const dateCreated=DateTime.now;const folderID=model.folderID;const version=WebSiteFolderVersion.create({dateCreated,folderID,publish:true});yield this.entityService.save(version);model.versions.add(version)}))}};__decorate([Inject,__metadata("design:type",EntityService)],WebSiteService.prototype,"entityService",void 0);WebSiteService=__decorate([DITransient()],WebSiteService);_export("default",WebSiteService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/websites/WebSiteService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","../../../../model/model","@web-atoms/core/dist/core/XNode","../../../commands/CommonCommands","@web-atoms/core/dist/view-model/Action","../../../date/DateFormats","../../../controls/collection-editor/CollectionEditor","../../../../web/commands/AppCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,WebSiteService,WebSiteFolderHost,XNode,CommonCommands,Action,DateFormats,CollectionEditor,AppCommands,ManageWebSitePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_modelModel){WebSiteFolderHost=_modelModel.WebSiteFolderHost},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default}],execute:function(){_export("default",ManageWebSitePage=class ManageWebSitePage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.webSiteService.get(this.parameters.id);this.renderer=XNode.create("div",null,XNode.create("div",null,this.model.folder.name,this.model.isModified&&XNode.create("button",{"data-click-event":"publish-website",text:"Publish"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editWebSite.displayRoute({id:this.parameters.id})},XNode.create("button",{text:"Edit"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.parameters.id})},XNode.create("button",{text:"Files"})),XNode.create("a",{href:`/api/site/draft/${this.parameters.id}`,target:"_blank"},XNode.create("button",{text:"Preview"}))),XNode.create(CollectionEditor,{label:"Hosts",model:this.model,collection:"hosts",itemRenderer:item=>XNode.create("div",{text:item.host}),itemFactory:()=>{const host=prompt("Internet URL Host","");if(!host){return}return WebSiteFolderHost.create({host})}}),XNode.create("div",null,XNode.create("h5",null,"Versions"),XNode.create("div",null,...((_a=this.model.versions)!==null&&_a!==void 0?_a:[]).map((v=>XNode.create("div",{"data-layout":"row"},XNode.create("span",null,v.name),XNode.create("span",{title:v.dateCreated},DateFormats.relative.short(v.dateCreated))))))))}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.webSiteService.publish(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],ManageWebSitePage.prototype,"webSiteService",void 0);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ManageWebSitePage.prototype,"publishWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/manage/ManageWebSitePage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,FetchBuilder,mimeMap,MimeTypeService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){mimeMap=void 0;MimeTypeService=class MimeTypeService{getMimeType(fileName){return __awaiter(this,void 0,void 0,(function*(){mimeMap!==null&&mimeMap!==void 0?mimeMap:mimeMap=this.createMap();const map=yield mimeMap;const group=/\.([^\.]+)$/.exec(fileName);if(group){const ct=map.get(group[1]);if(ct){return ct}}return"application/octat-stream"}))}createMap(){return __awaiter(this,void 0,void 0,(function*(){const json=yield FetchBuilder.get("https://cdn.jsdelivr.net/gh/jshttp/mime-db@master/db.json").responseAsJson();const map=new Map;setTimeout((()=>mimeMap=null),6e4);for(const key in json){if(Object.prototype.hasOwnProperty.call(json,key)){const{extensions}=json[key];if(extensions){for(const iterator of extensions){map.set(iterator,key)}}}}return map}))}};MimeTypeService=__decorate([DISingleton()],MimeTypeService);_export("default",MimeTypeService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/MimeTypeService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/InjectProperty","../../../../web/page/files/service/CloudFileService","../../../../services/files/MimeTypeService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,FetchBuilder,InjectProperty,CloudFileService,MimeTypeService,ChooseWebSiteTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_servicesFilesMimeTypeService){MimeTypeService=_servicesFilesMimeTypeService.default}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create From Template"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template="plain";yield this.upload("index.html",template);yield this.upload("vars.css",template,"styles")}))}upload(fileName,template,folder=void 0){return __awaiter(this,void 0,void 0,(function*(){const templatePath=folder?`${folder}/${fileName}`:fileName;const path=UMD.resolvePath(`@social-mail/social-mail-client/content/templates/${template}/${templatePath}`);const content=yield FetchBuilder.get(path).responseAsText();const contentType=yield this.mimeTypeService.getMimeType(fileName);yield this.cloudFileService.saveFile({content:new File([content],fileName,{type:contentType}),parentID:this.parameters.appFileID,folder})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseWebSiteTemplatePage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",MimeTypeService)],ChooseWebSiteTemplatePage.prototype,"mimeTypeService",void 0);__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file);const e=this.map.get(file);const{parentItem:{children}}=e;children.set(children.indexOf(file),file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.menuActions=null;this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical",popup:()=>{var _a,_b;return XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),...(_b=(_a=this.menuActions)===null||_a===void 0?void 0:_a.call(this,item))!==null&&_b!==void 0?_b:[],this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"}))}})}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register([],(function(_export,_context){"use strict";function InstallDragDropHelper(editor){let dragged;const document=editor.htmlDocument;const dropTarget=editor.dropTarget;document.addEventListener("dragstart",(e=>{dragged=e.target;e.dataTransfer.dropEffect="move";e.dataTransfer.setDragImage(dragged,0,0)}));document.addEventListener("dragover",(e=>{const target=e.target;e.preventDefault();e.dataTransfer.dropEffect="copy";const b=target.getBoundingClientRect();const mp={x:e.clientX,y:e.clientY};const style=document.defaultView.getComputedStyle(target);const isHorizontal=style.display==="flex"&&(style.flexDirection==="row"||style.flexWrap)||style.display==="inline-block"||style.display==="inline"||target.tagName==="TD";if(isHorizontal){if(mp.x>b.left+b.width/2){dropTarget.dropAnchor="right";dropTarget.update(target);return}dropTarget.dropAnchor="left";dropTarget.update(target);return}if(mp.y>b.top+b.height/2){dropTarget.dropAnchor="bottom";dropTarget.update(target);return}dropTarget.dropAnchor="top";dropTarget.update(target)}));document.addEventListener("dragend",(e=>{e.preventDefault();dropTarget.clear();dragged=null}));document.addEventListener("drop",(e=>{const target=e.target;let insert;e.preventDefault();if(dragged){dragged.remove();insert=dragged}else{dragged=null;const div=document.createElement("div");div.innerHTML=e.dataTransfer.getData("text/html");insert=div.childElementCount>1?div:div.firstElementChild}if(target.childElementCount===0){target.appendChild(insert);dropTarget.clear();editor.commit();return}switch(dropTarget.dropAnchor){case"top":case"left":target.insertAdjacentElement("beforebegin",insert);break;case"bottom":case"right":target.insertAdjacentElement("afterend",insert);break}editor.commit();dropTarget.clear()}));document.addEventListener("dragleave",(e=>{dropTarget.clear()}));setTimeout((()=>{editor.commit();document.body.querySelectorAll("*").forEach((e=>e.draggable=true))}),100)}_export("InstallDragDropHelper",InstallDragDropHelper);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function EditorToolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",EditorToolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
2780
2786
|
|
|
2781
2787
|
display: flex;
|
|
2782
2788
|
gap: 10px;
|
|
@@ -3618,7 +3624,7 @@ html, body {
|
|
|
3618
3624
|
justify-self: stretch;
|
|
3619
3625
|
align-self: stretch;
|
|
3620
3626
|
}
|
|
3621
|
-
`.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));yield this.onItemExpanded(this.root);if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFile.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create("button",{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){return __awaiter(this,void 0,void 0,(function*(){const file=yield PageNavigator.pushPageForResult(CodeEditorPage,this.selectedFile);this.htmlEditor.htmlPage=yield FetchBuilder.get(file.url).responseAsText()}))}openFolder(file){this.selectedFile=file}onItemExpanded(folder){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.files({search:"",accept:"text/html",folder,cancelToken:null})}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const content=new File([this.pageContent],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.pageContent=""}))}hide(){this.pageContent=this.htmlEditor.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:yield this.websiteService.list(),itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.folder.name}))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.manageWebSite=Command.create({route:"/studio/manage/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/manage/ManageWebSitePage")});CommonCommands.editWebSite=Command.create({route:"/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createDomain(emailAddress,retry=3){return __awaiter(this,void 0,void 0,(function*(){try{const index=emailAddress.lastIndexOf("@");let domainName=emailAddress;if(index!==-1){domainName=emailAddress.substring(index+1)}domainName=domainName.toLocaleLowerCase();const d=yield this.entityService.query(HostedDomain).where({domainName},(p=>x=>x.domain.name===p.domainName)).firstOrDefault();if(d){return d}const hd=HostedDomain.create({domainNameToCreate:domainName,external:true});return yield this.entityService.save(hd)}catch(error){if(retry--){return yield this.createDomain(emailAddress,retry-1)}throw error}}))}createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const hd=yield this.createDomain(emailAddress);const dateCreated=DateTime.now;const[emailUsername]=emailAddress.split("@");const mb=Mailbox.create({domainID:hd.domainID,username:emailUsername,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/style/styled","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){css=styled.css`
|
|
3627
|
+
`.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));yield this.onItemExpanded(this.root);if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFile.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create("button",{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){return __awaiter(this,void 0,void 0,(function*(){const file=yield PageNavigator.pushPageForResult(CodeEditorPage,this.selectedFile);this.htmlEditor.htmlPage=yield FetchBuilder.get(file.url).responseAsText()}))}openFolder(file){this.selectedFile=file}onItemExpanded(folder){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.files({search:"",accept:"text/html",folder,cancelToken:null})}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const content=new File([this.pageContent],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.pageContent=""}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}hide(){this.pageContent=this.htmlEditor.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:yield this.websiteService.list(),itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.folder.name}))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.manageWebSite=Command.create({route:"/studio/manage/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/manage/ManageWebSitePage")});CommonCommands.editWebSite=Command.create({route:"/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createDomain(emailAddress,retry=3){return __awaiter(this,void 0,void 0,(function*(){try{const index=emailAddress.lastIndexOf("@");let domainName=emailAddress;if(index!==-1){domainName=emailAddress.substring(index+1)}domainName=domainName.toLocaleLowerCase();const d=yield this.entityService.query(HostedDomain).where({domainName},(p=>x=>x.domain.name===p.domainName)).firstOrDefault();if(d){return d}const hd=HostedDomain.create({domainNameToCreate:domainName,external:true});return yield this.entityService.save(hd)}catch(error){if(retry--){return yield this.createDomain(emailAddress,retry-1)}throw error}}))}createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const hd=yield this.createDomain(emailAddress);const dateCreated=DateTime.now;const[emailUsername]=emailAddress.split("@");const mb=Mailbox.create({domainID:hd.domainID,username:emailUsername,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/style/styled","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){css=styled.css`
|
|
3622
3628
|
&[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
|
|
3623
3629
|
grid-template-columns: 150px 1fr auto;
|
|
3624
3630
|
}
|