@social-mail/social-mail-client 1.2.209 → 1.2.211
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 +940 -38
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +17 -13
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/admin/commands/AdminCommands.d.ts +1 -0
- package/dist/admin/commands/AdminCommands.d.ts.map +1 -1
- package/dist/admin/commands/AdminCommands.js +4 -0
- package/dist/admin/commands/AdminCommands.js.map +1 -1
- package/dist/admin/drawer/AdminDrawer.d.ts.map +1 -1
- package/dist/admin/drawer/AdminDrawer.js +4 -0
- package/dist/admin/drawer/AdminDrawer.js.map +1 -1
- package/dist/admin/pages/stores/AdminStoreDetailPage.d.ts +10 -0
- package/dist/admin/pages/stores/AdminStoreDetailPage.d.ts.map +1 -0
- package/dist/admin/pages/stores/AdminStoreDetailPage.js +92 -0
- package/dist/admin/pages/stores/AdminStoreDetailPage.js.map +1 -0
- package/dist/admin/pages/stores/AdminStoreList.d.ts +13 -0
- package/dist/admin/pages/stores/AdminStoreList.d.ts.map +1 -0
- package/dist/admin/pages/stores/AdminStoreList.js +131 -0
- package/dist/admin/pages/stores/AdminStoreList.js.map +1 -0
- package/dist/admin/pages/users/UserDetailsPage.js +3 -3
- package/dist/admin/pages/users/UserDetailsPage.js.map +1 -1
- package/dist/admin/pages/users/files/EditFileAccessPage.d.ts +1 -1
- package/dist/admin/pages/users/files/EditFileAccessPage.d.ts.map +1 -1
- package/dist/admin/pages/users/files/EditFileAccessPage.js +3 -3
- package/dist/admin/pages/users/files/EditFileAccessPage.js.map +1 -1
- package/dist/common/commands/CommonCommands.d.ts +9 -0
- package/dist/common/commands/CommonCommands.d.ts.map +1 -1
- package/dist/common/commands/CommonCommands.js +15 -0
- package/dist/common/commands/CommonCommands.js.map +1 -1
- package/dist/common/controls/countries/CountrySelect.d.ts +1 -0
- package/dist/common/controls/countries/CountrySelect.d.ts.map +1 -1
- package/dist/common/controls/countries/CountrySelect.js +6 -1
- package/dist/common/controls/countries/CountrySelect.js.map +1 -1
- package/dist/common/pages/folders/ChooserFolderPage.d.ts +1 -0
- package/dist/common/pages/folders/ChooserFolderPage.d.ts.map +1 -1
- package/dist/common/pages/folders/ChooserFolderPage.js +2 -1
- package/dist/common/pages/folders/ChooserFolderPage.js.map +1 -1
- package/dist/common/pages/stores/StoreDetailPage.d.ts +17 -0
- package/dist/common/pages/stores/StoreDetailPage.d.ts.map +1 -0
- package/dist/common/pages/stores/StoreDetailPage.js +96 -0
- package/dist/common/pages/stores/StoreDetailPage.js.map +1 -0
- package/dist/common/pages/stores/orders/EditOrderPage.d.ts +9 -0
- package/dist/common/pages/stores/orders/EditOrderPage.d.ts.map +1 -0
- package/dist/common/pages/stores/orders/EditOrderPage.js +37 -0
- package/dist/common/pages/stores/orders/EditOrderPage.js.map +1 -0
- package/dist/common/pages/stores/products/EditProductDetailPage.d.ts +11 -0
- package/dist/common/pages/stores/products/EditProductDetailPage.d.ts.map +1 -0
- package/dist/common/pages/stores/products/EditProductDetailPage.js +80 -0
- package/dist/common/pages/stores/products/EditProductDetailPage.js.map +1 -0
- package/dist/common/pages/stores/products/EditProductListPage.d.ts +16 -0
- package/dist/common/pages/stores/products/EditProductListPage.d.ts.map +1 -0
- package/dist/common/pages/stores/products/EditProductListPage.js +118 -0
- package/dist/common/pages/stores/products/EditProductListPage.js.map +1 -0
- package/dist/common/pages/stores/products/prices/EditItemPricePage.d.ts +8 -0
- package/dist/common/pages/stores/products/prices/EditItemPricePage.d.ts.map +1 -0
- package/dist/common/pages/stores/products/prices/EditItemPricePage.js +72 -0
- package/dist/common/pages/stores/products/prices/EditItemPricePage.js.map +1 -0
- package/dist/model/model.d.ts +127 -12
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +60 -8
- package/dist/model/model.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +64 -10
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +3 -3
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/services/files/LocalFileService.d.ts.map +1 -1
- package/dist/services/files/LocalFileService.js +4 -1
- package/dist/services/files/LocalFileService.js.map +1 -1
- package/dist/services/store/StoreItemService.d.ts +15 -0
- package/dist/services/store/StoreItemService.d.ts.map +1 -0
- package/dist/services/store/StoreItemService.js +65 -0
- package/dist/services/store/StoreItemService.js.map +1 -0
- package/dist/services/store/StoreOrderService.d.ts +15 -0
- package/dist/services/store/StoreOrderService.d.ts.map +1 -0
- package/dist/services/store/StoreOrderService.js +65 -0
- package/dist/services/store/StoreOrderService.js.map +1 -0
- package/dist/services/store/StoreService.d.ts +14 -0
- package/dist/services/store/StoreService.d.ts.map +1 -0
- package/dist/services/store/StoreService.js +74 -0
- package/dist/services/store/StoreService.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +769 -89
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +13 -13
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/drawer/AppDrawer.d.ts +1 -0
- package/dist/web/drawer/AppDrawer.d.ts.map +1 -1
- package/dist/web/drawer/AppDrawer.js +23 -7
- package/dist/web/drawer/AppDrawer.js.map +1 -1
- package/dist/web/page/channels/detail/ChannelDetailPage.js +1 -1
- package/dist/web/page/channels/detail/ChannelDetailPage.js.map +1 -1
- package/dist/web/page/files/service/CloudFileService.d.ts +2 -1
- package/dist/web/page/files/service/CloudFileService.d.ts.map +1 -1
- package/dist/web/page/files/service/CloudFileService.js +6 -0
- package/dist/web/page/files/service/CloudFileService.js.map +1 -1
- package/dist/web/page/mails/service/ConversationService.js +1 -1
- package/dist/web/page/mails/service/ConversationService.js.map +1 -1
- package/dist/web/page/mails/service/MailService.d.ts.map +1 -1
- package/dist/web/page/mails/service/MailService.js +2 -9
- package/dist/web/page/mails/service/MailService.js.map +1 -1
- package/dist/web/page/users/SignupPage.d.ts.map +1 -1
- package/dist/web/page/users/SignupPage.js +5 -8
- package/dist/web/page/users/SignupPage.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopup.js +3 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopup.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/TypeWriter.d.ts +5 -0
- package/node_modules/@web-atoms/web-controls/dist/basic/TypeWriter.d.ts.map +1 -0
- package/node_modules/@web-atoms/web-controls/dist/basic/TypeWriter.js +84 -0
- package/node_modules/@web-atoms/web-controls/dist/basic/TypeWriter.js.map +1 -0
- package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/web-controls/package.json +1 -1
- package/node_modules/@web-atoms/web-controls/src/basic/InlinePopup.tsx +2 -2
- package/node_modules/@web-atoms/web-controls/src/basic/TypeWriter.tsx +85 -0
- package/package.json +2 -2
- package/src/admin/commands/AdminCommands.ts +5 -0
- package/src/admin/drawer/AdminDrawer.tsx +5 -0
- package/src/admin/pages/stores/AdminStoreDetailPage.tsx +74 -0
- package/src/admin/pages/stores/AdminStoreList.tsx +109 -0
- package/src/admin/pages/users/UserDetailsPage.tsx +2 -2
- package/src/admin/pages/users/files/EditFileAccessPage.tsx +1 -1
- package/src/common/commands/CommonCommands.ts +19 -0
- package/src/common/controls/countries/CountrySelect.tsx +7 -1
- package/src/common/pages/folders/ChooserFolderPage.tsx +7 -2
- package/src/common/pages/stores/StoreDetailPage.tsx +84 -0
- package/src/common/pages/stores/orders/EditOrderPage.tsx +30 -0
- package/src/common/pages/stores/products/EditProductDetailPage.tsx +59 -0
- package/src/common/pages/stores/products/EditProductListPage.tsx +106 -0
- package/src/common/pages/stores/products/prices/EditItemPricePage.tsx +53 -0
- package/src/model/model.ts +151 -20
- package/src/services/files/LocalFileService.tsx +4 -1
- package/src/services/store/StoreItemService.ts +49 -0
- package/src/services/store/StoreOrderService.ts +57 -0
- package/src/services/store/StoreService.ts +49 -0
- package/src/web/drawer/AppDrawer.tsx +18 -4
- package/src/web/page/channels/detail/ChannelDetailPage.tsx +1 -1
- package/src/web/page/files/service/CloudFileService.ts +4 -0
- package/src/web/page/mails/service/ConversationService.tsx +1 -1
- package/src/web/page/mails/service/MailService.ts +2 -8
- package/src/web/page/users/SignupPage.tsx +0 -2
- package/dist/web/page/users/SignupPage.pack.js +0 -17044
- package/dist/web/page/users/SignupPage.pack.js.map +0 -1
- package/dist/web/page/users/SignupPage.pack.min.js +0 -818
- package/dist/web/page/users/SignupPage.pack.min.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function setupTSLib(){var __extends;var __assign;var __rest;var __decorate;var __param;var __esDecorate;var __runInitializers;var __propKey;var __setFunctionName;var __metadata;var __awaiter;var __generator;var __exportStar;var __values;var __read;var __spread;var __spreadArrays;var __spreadArray;var __await;var __asyncGenerator;var __asyncDelegator;var __asyncValues;var __makeTemplateObject;var __importStar;var __importDefault;var __classPrivateFieldGet;var __classPrivateFieldSet;var __classPrivateFieldIn;var __createBinding;var __addDisposableResource;var __disposeResources;var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)};__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw new TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value";var target=!descriptorIn&&ctor?contextIn["static"]?ctor:ctor.prototype:null;var descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{});var _,done=false;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw new TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result)){if(kind==="field")initializers.unshift(_);else descriptor[key]=_}}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=true};__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++){value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg)}return useValue?value:void 0};__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)};__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:true,value:prefix?"".concat(prefix," ",name):name})};__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)};__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)};__createBinding=Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]};__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar};__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r};__spreadArray=function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))};__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)};__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))};if(f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}};__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:false}:f?f(v):v}:f}};__asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)}))}}function settle(resolve,reject,d,v){Promise.resolve(v).then((function(v){resolve({value:v,done:d})}),reject)}};__makeTemplateObject=function(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}};__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)};__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value};__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)};__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw new TypeError("Object expected.");var dispose;if(async){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dispose=value[Symbol.dispose]}if(typeof dispose!=="function")throw new TypeError("Object not disposable.");env.stack.push({value,dispose,async})}else if(async){env.stack.push({async:true})}return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=new Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e;env.hasError=true}function next(){while(env.stack.length){var rec=env.stack.pop();try{var result=rec.dispose&&rec.dispose.call(rec.value);if(rec.async)return Promise.resolve(result).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(env.hasError)throw env.error}return next()};return{__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources}}var Reflect;(function(Reflect){(function(factory){const root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();let exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return(key,value)=>{if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){const hasOwn=Object.prototype.hasOwnProperty;const supportsSymbol=typeof Symbol==="function";const toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";const iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";const supportsCreate=typeof Object.create==="function";const supportsProto={__proto__:[]}instanceof Array;const downLevel=!supportsCreate&&!supportsProto;const HashMap={create:supportsCreate?()=>MakeDictionary(Object.create(null)):supportsProto?()=>MakeDictionary({__proto__:null}):()=>MakeDictionary({}),has:downLevel?(map,key)=>hasOwn.call(map,key):(map,key)=>key in map,get:downLevel?(map,key)=>hasOwn.call(map,key)?map[key]:undefined:(map,key)=>map[key]};const functionPrototype=Object.getPrototypeOf(Function);const usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";const _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();const _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();const _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();const Metadata=new _WeakMap;function decorate(decorators,target,propertyKey,attributes){if(!IsUndefined(propertyKey)){if(!IsArray(decorators))throw new TypeError;if(!IsObject(target))throw new TypeError;if(!IsObject(attributes)&&!IsUndefined(attributes)&&!IsNull(attributes))throw new TypeError;if(IsNull(attributes))attributes=undefined;propertyKey=ToPropertyKey(propertyKey);return DecorateProperty(decorators,target,propertyKey,attributes)}else{if(!IsArray(decorators))throw new TypeError;if(!IsConstructor(target))throw new TypeError;return DecorateConstructor(decorators,target)}}exporter("decorate",decorate);function metadata(metadataKey,metadataValue){function decorator(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey)&&!IsPropertyKey(propertyKey))throw new TypeError;OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}return decorator}exporter("metadata",metadata);function defineMetadata(metadataKey,metadataValue,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}exporter("defineMetadata",defineMetadata);function hasMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasMetadata(metadataKey,target,propertyKey)}exporter("hasMetadata",hasMetadata);function hasOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasOwnMetadata(metadataKey,target,propertyKey)}exporter("hasOwnMetadata",hasOwnMetadata);function getMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetMetadata(metadataKey,target,propertyKey)}exporter("getMetadata",getMetadata);function getOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetOwnMetadata(metadataKey,target,propertyKey)}exporter("getOwnMetadata",getOwnMetadata);function getMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryMetadataKeys(target,propertyKey)}exporter("getMetadataKeys",getMetadataKeys);function getOwnMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryOwnMetadataKeys(target,propertyKey)}exporter("getOwnMetadataKeys",getOwnMetadataKeys);function deleteMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);const metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;const targetMetadata=Metadata.get(target);targetMetadata.delete(propertyKey);if(targetMetadata.size>0)return true;Metadata.delete(target);return true}exporter("deleteMetadata",deleteMetadata);function DecorateConstructor(decorators,target){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsConstructor(decorated))throw new TypeError;target=decorated}}return target}function DecorateProperty(decorators,target,propertyKey,descriptor){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target,propertyKey,descriptor);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsObject(decorated))throw new TypeError;descriptor=decorated}}return descriptor}function GetOrCreateMetadataMap(O,P,Create){let targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}let metadataMap=targetMetadata.get(P);if(IsUndefined(metadataMap)){if(!Create)return undefined;metadataMap=new _Map;targetMetadata.set(P,metadataMap)}return metadataMap}function OrdinaryHasMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){const ownKeys=OrdinaryOwnMetadataKeys(O,P);const parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;const parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;const set=new _Set;const keys=[];for(const key of ownKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(const key of parentKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){const keys=[];const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;const keysObj=metadataMap.keys();const iterator=GetIterator(keysObj);let k=0;while(true){const next=IteratorStep(iterator);if(!next){keys.length=k;return keys}const nextValue=IteratorValue(next);try{keys[k]=nextValue}catch(e){try{IteratorClose(iterator)}finally{throw e}}k++}}function Type(x){if(x===null)return 1;switch(typeof x){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return x===null?1:6;default:return 6}}function IsUndefined(x){return x===undefined}function IsNull(x){return x===null}function IsSymbol(x){return typeof x==="symbol"}function IsObject(x){return typeof x==="object"?x!==null:typeof x==="function"}function ToPrimitive(input,PreferredType){switch(Type(input)){case 0:return input;case 1:return input;case 2:return input;case 3:return input;case 4:return input;case 5:return input}const hint=PreferredType===3?"string":PreferredType===5?"number":"default";const exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){const result=exoticToPrim.call(input,hint);if(IsObject(result))throw new TypeError;return result}return OrdinaryToPrimitive(input,hint==="default"?"number":hint)}function OrdinaryToPrimitive(O,hint){if(hint==="string"){const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}}else{const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){const key=ToPrimitive(argument,3);if(IsSymbol(key))return key;return ToString(key)}function IsArray(argument){return Array.isArray?Array.isArray(argument):argument instanceof Object?argument instanceof Array:Object.prototype.toString.call(argument)==="[object Array]"}function IsCallable(argument){return typeof argument==="function"}function IsConstructor(argument){return typeof argument==="function"}function IsPropertyKey(argument){switch(Type(argument)){case 3:return true;case 4:return true;default:return false}}function GetMethod(V,P){const func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){const method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;const iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){const result=iterator.next();return result.done?false:result}function IteratorClose(iterator){const f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){const proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;const prototype=O.prototype;const prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;const constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){const cacheSentinel={};const arraySentinel=[];class MapIterator{constructor(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}"@@iterator"(){return this}[iteratorSymbol](){return this}next(){const index=this._index;if(index>=0&&index<this._keys.length){const result=this._selector(this._keys[index],this._values[index]);if(index+1>=this._keys.length){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}else{this._index++}return{value:result,done:false}}return{value:undefined,done:true}}throw(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error}return(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}}}return class Map{constructor(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}get size(){return this._keys.length}has(key){return this._find(key,false)>=0}get(key){const index=this._find(key,false);return index>=0?this._values[index]:undefined}set(key,value){const index=this._find(key,true);this._values[index]=value;return this}delete(key){const index=this._find(key,false);if(index>=0){const size=this._keys.length;for(let i=index+1;i<size;i++){this._keys[i-1]=this._keys[i];this._values[i-1]=this._values[i]}this._keys.length--;this._values.length--;if(key===this._cacheKey){this._cacheKey=cacheSentinel;this._cacheIndex=-2}return true}return false}clear(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2}keys(){return new MapIterator(this._keys,this._values,getKey)}values(){return new MapIterator(this._keys,this._values,getValue)}entries(){return new MapIterator(this._keys,this._values,getEntry)}"@@iterator"(){return this.entries()}[iteratorSymbol](){return this.entries()}_find(key,insert){if(this._cacheKey!==key){this._cacheIndex=this._keys.indexOf(this._cacheKey=key)}if(this._cacheIndex<0&&insert){this._cacheIndex=this._keys.length;this._keys.push(key);this._values.push(undefined)}return this._cacheIndex}};function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return class Set{constructor(){this._map=new _Map}get size(){return this._map.size}has(value){return this._map.has(value)}add(value){return this._map.set(value,value),this}delete(value){return this._map.delete(value)}clear(){this._map.clear()}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}"@@iterator"(){return this.keys()}[iteratorSymbol](){return this.keys()}}}function CreateWeakMapPolyfill(){const UUID_SIZE=16;const keys=HashMap.create();const rootKey=CreateUniqueKey();return class WeakMap{constructor(){this._key=CreateUniqueKey()}has(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false}get(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined}set(target,value){const table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this}delete(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false}clear(){this._key=CreateUniqueKey()}};function CreateUniqueKey(){let key;do{key="@@WeakMap@@"+CreateUUID()}while(HashMap.has(keys,key));keys[key]=true;return key}function GetOrCreateWeakMapTable(target,create){if(!hasOwn.call(target,rootKey)){if(!create)return undefined;Object.defineProperty(target,rootKey,{value:HashMap.create()})}return target[rootKey]}function FillRandomBytes(buffer,size){for(let i=0;i<size;++i)buffer[i]=Math.random()*255|0;return buffer}function GenRandomBytes(size){if(typeof Uint8Array==="function"){if(typeof crypto!=="undefined")return crypto.getRandomValues(new Uint8Array(size));if(typeof msCrypto!=="undefined")return msCrypto.getRandomValues(new Uint8Array(size));return FillRandomBytes(new Uint8Array(size),size)}return FillRandomBytes(new Array(size),size)}function CreateUUID(){const data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;let result="";for(let offset=0;offset<UUID_SIZE;++offset){const byte=data[offset];if(offset===4||offset===6||offset===8)result+="-";if(byte<16)result+="0";result+=byte.toString(16).toLowerCase()}return result}}function MakeDictionary(obj){obj.__=undefined;delete obj.__;return obj}}))})(Reflect||(Reflect={}));if(!Array.prototype.find){Array.prototype.find=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return item}}}}if(!Array.prototype.findIndex){Array.prototype.findIndex=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return i}}return-1}}if(!Array.prototype.map){Array.prototype.map=function(callbackfn,thisArg){const a=[];for(let i=0;i<this.length;i++){const r=callbackfn(this[i],i,this);if(r!==undefined){a.push(r)}}return a}}if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,endPosition){const index=this.indexOf(searchString,endPosition);return index===0}}if(!String.prototype.endsWith){String.prototype.endsWith=function(searchString,endPosition){const index=this.lastIndexOf(searchString,endPosition);if(index===-1){return false}const l=this.length-index;return l===searchString.length}}if(!Number.parseInt){Number.parseInt=function(n){return Math.floor(parseFloat(n))}}if(!Number.parseFloat){Number.parseFloat=function(n){return parseFloat(n)}}if(typeof Element!=="undefined"){if(!("remove"in Element.prototype)){Element.prototype["remove"]=function(){if(this.parentNode){this.parentNode.removeChild(this)}}}}class Module{get url(){const u=AmdLoader.instance.resolveSource(this.name);Object.defineProperty(this,"url",{value:u,enumerable:true});return u}get meta(){return{url:this.url,resolve:this.require.resolve}}get filename(){return this.name}constructor(name,folder){this.name=name;this.folder=folder;this.emptyExports={};this.isLoaded=false;this.isResolved=false;this.dependencies=[];this.rID=null;const index=name.lastIndexOf("/");if(index===-1){this.folder=""}else{this.folder=name.substring(0,index)}this.exports=this.emptyExports}import(name){const resolvedName=this.require.resolve(name);return AmdLoader.instance.import(resolvedName)}addDependency(d){this.dependencies.push(d);if(UMD.debug){if(d.isDependentOn(this)){console.warn(`${d.name} already depends on ${this.name}`)}}}getExports(){if(this.factory){try{const factory=this.factory;this.factory=null;delete this.factory;AmdLoader.instance.currentStack.push(this);const result=factory(this.require,this.exports);if(result){if(typeof result==="object"||typeof result==="function"){this.exports=result;if(typeof result.default==="undefined"){result.default=result}}else if(!this.exports.default){this.exports.default=result}}AmdLoader.instance.currentStack.pop();delete this.factory;const def=this.exports.default;if(typeof def==="function"||typeof def==="object"){def[UMD.nameSymbol]=this.name}}catch(e){const em=e.stack?`${e}\n${e.stack}`:e;const s=[];console.error(e);for(const iterator of AmdLoader.instance.currentStack){s.push(iterator.name);console.error(iterator.name)}const ne=new Error(`Failed loading module ${this.name} with error ${em}\nDependents: ${s.join("\n\t")}`);console.error(ne);throw ne}}return this.exports}isDependentOn(m,visited){visited!==null&&visited!==void 0?visited:visited=new Set;visited.add(this);for(const iterator of this.dependencies){if(iterator===m){return true}if(visited.has(iterator)){continue}if(iterator.isDependentOn(m,visited)){return true}}return false}}Module.nextID=1;var _a;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);class AmdLoader{constructor(){this.root=null;this.defaultUrl=null;this.currentStack=[];this.nodeModules=[];this.modules=new Map;this.pathMap=new Map;this.mockTypes=[]}register(packages,modules){for(const iterator of packages){if(!this.pathMap.has(iterator)){this.map(iterator,"/")}}for(const iterator of modules){this.get(iterator)}}setupRoot(root,url){if(url.endsWith("/")){url=url.substring(0,url.length-1)}for(const key of this.pathMap.keys()){const moduleUrl=key===root?url:`${url}/node_modules/${key}`;this.map(key,moduleUrl)}this.defaultUrl=`${url}/node_modules/`}registerModule(name,moduleExports){const m=this.get(name);m.package.url="/";m.exports=Object.assign({__esModule:true},moduleExports);m.loader=promiseDone;m.resolver=()=>Promise.resolve(m.exports);m.isLoaded=true;m.isResolved=true}setup(name){const jsModule=this.get(name);const define=this.define;jsModule.loader=promiseDone;AmdLoader.current=jsModule;if(define){define()}if(jsModule.exportVar){jsModule.exports=AmdLoader.globalVar[jsModule.exportVar]}jsModule.isLoaded=true}replace(type,name,mock){if(mock&&!this.enableMock){return}const peek=this.currentStack.length?this.currentStack[this.currentStack.length-1]:undefined;name=this.resolveRelativePath(name,peek.name);const rt=new MockType(peek,type,name,mock);rt.replacedModule=this.get(rt.moduleName);rt.replacedModule.postExports=()=>{rt.replaced=rt.replacedModule.getExports()[rt.exportName]};(peek.dynamicImports=peek.dynamicImports||[]).push(rt);this.mockTypes.push(rt)}resolveType(type){const t=this.mockTypes.find((tx=>tx.type===type));return t?t.replaced:type}map(packageName,packageUrl,type="amd",exportVar){let existing=this.pathMap.get(packageName);if(existing){existing.url=packageUrl;existing.exportVar=exportVar;existing.type=type;return existing}existing={name:packageName,url:packageUrl,type,exportVar,version:""};if(packageName==="reflect-metadata"){type="global"}this.pathMap.set(packageName,existing);return existing}resolveSource(name,defExt=".js"){try{if(/^((\/)|((http|https)\:\/\/))/i.test(name)){return name}let path=null;for(const key of this.pathMap.keys()){const packageName=key;if(name.startsWith(packageName)){path=this.pathMap.get(key).url;if(name.length!==packageName.length){if(name[packageName.length]!=="/"){continue}name=name.substring(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substring(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substring(i+1);if(!/\.(js|jpg|jpeg|gif|png|mp4|mp3|css|html|svg|webp|webm|json)$/i.test(fileName)){path=path+defExt}return path}}return name}catch(e){console.error(`Failed to resolve ${name} with error ${JSON.stringify(e)}`);console.error(e)}}resolveRelativePath(name,currentPackage){if(name.charAt(0)!=="."){return name}const tokens=name.split("/");const currentTokens=currentPackage.split("/");currentTokens.pop();while(tokens.length){const first=tokens[0];if(first===".."){currentTokens.pop();tokens.splice(0,1);continue}if(first==="."){tokens.splice(0,1)}break}return`${currentTokens.join("/")}/${tokens.join("/")}`}getPackageVersion(name){let[scope,packageName]=name.split("/",3);let version="";if(scope[0]!=="@"){packageName=scope;scope=""}else{scope+="/"}const versionTokens=packageName.split("@");if(versionTokens.length>1){version=versionTokens[1];name=name.replace("@"+version,"")}packageName=scope+packageName;return{packageName,version,name}}get(name1){let module=this.modules.get(name1);if(!module){const{packageName,version,name}=this.getPackageVersion(name1);module=new Module(name);this.modules.set(name1,module);let pp=this.pathMap.get(packageName);if(!pp){pp={type:"amd",name:packageName,version,url:this.defaultUrl?this.defaultUrl+packageName:undefined};this.pathMap.set(packageName,pp)}module.package=pp;module.require=(n,resolve,reject)=>{let isAsync=false;if(typeof n!=="string"){n=n[0];isAsync=true}const an=this.resolveRelativePath(n,module.name);const resolvedModule=this.get(an);if(isAsync){return this.import(resolvedModule).then(resolve,reject)}const m=resolvedModule.getExports();return m};module.require.resolve=n=>this.resolveRelativePath(n,module.name);this.modules.set(name,module)}return module}import(name){const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}if(module.isResolved){module.importPromise=Promise.resolve(module.getExports());return module.importPromise}module.importPromise=this.importAsync(module);return module.importPromise}importNodeModule(module){if(typeof require!=="undefined"){const name=module.url;const moduleCode=require("fs").readFileSync(require.resolve(name),"utf8").trim();if(!/^System\.Register/.test(moduleCode)){return Promise.resolve(require(name))}}}importAsync(module){return __awaiter(this,void 0,void 0,(function*(){yield this.load(module);if(module.resolver){return yield module.resolver()}return yield this.resolve(module)}))}resolve(module){return __awaiter(this,void 0,void 0,(function*(){const ds=[];if(UMD.debug){const waiting=module.waiting=[];for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}waiting.push(iterator);ds.push(this.import(iterator))}}else{for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}ds.push(this.import(iterator))}}yield Promise.all(ds);const exports=module.getExports();module.isResolved=true;if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return exports}))}load(module){if(module.loader){return module.loader}if(AmdLoader.isJson.test(module.url)){const mUrl=module.url.startsWith(module.package.url)?module.url:module.package.url+module.url;module.loader=new Promise(((resolve,reject)=>{try{AmdLoader.httpTextLoader(mUrl,(r=>{try{module.exports=JSON.parse(r);module.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}));return module.loader}if(AmdLoader.isMedia.test(module.url)){const m={get url(){const mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;Object.defineProperty(m,"url",{value:mUrl,enumerable:true});return mUrl},toString(){return this.url}};const e={__esModule:true,default:m};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}module.loader=new Promise(((resolve,reject)=>{AmdLoader.moduleLoader(module.name,module.url,(()=>{try{AmdLoader.current=module;if(AmdLoader.instance.define){AmdLoader.instance.define();AmdLoader.instance.define=null}if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}if(AmdLoader.moduleProgress){AmdLoader.moduleProgress(module.name,this.modules,"loading")}module.isLoaded=true;resolve()}catch(e){console.error(e);reject(e)}}),(error=>{reject(error)}))}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|html|svg|webp|webm)$/i;AmdLoader.isJson=/\.json$/i;AmdLoader.globalVar={};AmdLoader.instance=new AmdLoader;AmdLoader.current=null;const a=AmdLoader.instance;a.map("global","/","global");a.registerModule("global/document",{default:document});a.registerModule("global/window",{default:typeof window!=="undefined"?window:global});a.map("reflect-metadata","/","global");a.registerModule("reflect-metadata",Reflect);AmdLoader.moduleLoader=(name,url,success,error)=>{const script=document.createElement("script");script.type="text/javascript";script.src=url;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;success()};script.onerror=e=>{error(e)};document.body.appendChild(script)};AmdLoader.httpTextLoader=(url,success,error)=>{const xhr=new XMLHttpRequest;xhr.onreadystatechange=e=>{if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){success(xhr.responseText)}else{error(xhr.responseText)}}};xhr.open("GET",url);xhr.send()};var amdConfig;amdConfig!==null&&amdConfig!==void 0?amdConfig:amdConfig={};(_a=amdConfig.moduleProgress)!==null&&_a!==void 0?_a:amdConfig.moduleProgress=(()=>{if(!document){return(name,p)=>{console.log(`${name} ${p}%`)}}return(name,n,status)=>{}})();AmdLoader.moduleProgress=amdConfig.moduleProgress;var define=(requiresOrFactory,factory,nested)=>{const loader=AmdLoader.instance;function bindFactory(module,requireList,fx){if(module.factory){return}module.dependencies=[];let requires=requireList;requires=requireList;const args=[];for(const s of requires){if(s==="require"){args.push(module.require);continue}if(s==="exports"){args.push(module.emptyExports);continue}if(/^global/.test(s)){args.push(loader.get(s).exports)}const name=loader.resolveRelativePath(s,module.name);const child=loader.get(name);module.addDependency(child)}module.factory=()=>fx.apply(module,args)}if(nested){const name=requiresOrFactory;const rList=factory;const f=nested;const module=AmdLoader.instance.get(name);bindFactory(module,rList,f);return}AmdLoader.instance.define=()=>{const current=AmdLoader.current;if(!current){return}if(current.factory){return}if(typeof requiresOrFactory==="function"){bindFactory(current,[],requiresOrFactory)}else{bindFactory(current,requiresOrFactory,factory)}}};define.amd={};class MockType{constructor(module,type,name,mock,moduleName,exportName){this.module=module;this.type=type;this.name=name;this.mock=mock;this.moduleName=moduleName;this.exportName=exportName;this.name=name=name.replace("{lang}",UMD.lang).replace("{platform}",UMD.viewPrefix);if(name.indexOf("$")!==-1){const tokens=name.split("$");this.moduleName=tokens[0];this.exportName=tokens[1]||tokens[0].split("/").pop()}else{this.moduleName=name;this.exportName="default"}}}const merge=(target,source)=>{for(const key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}};const enumerable=true,configurable=true;class System{static resolve(id){return AmdLoader.instance.resolveSource(id)}static import(name){return AmdLoader.instance.import(name)}static register(nameOrImports,importsOrSetup,setup){const instance=AmdLoader.instance;instance.define=()=>{const name=typeof nameOrImports==="string"?nameOrImports:AmdLoader.current.name;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=instance.get(name);if(module.isLoaded){return}module.dependencies.push(...imports.map((x=>instance.get(module.require.resolve(x)))));module.isLoaded=true;const postResolve=new Promise(((resolve,reject)=>{module.factory=()=>{const r=setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);return module.exports}module.exports[key]=value;return value}),module);var list=module.dependencies;const{setters}=r;for(let index=0;index<list.length;index++){const element=list[index];setters[index](element.getExports())}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){rp.then(resolve,reject)}else{resolve()}return module.exports}}));module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){yield AmdLoader.instance.resolve(module);yield postResolve;return module.exports}))}}}const globalNS=typeof window!=="undefined"?window:global;class UMDClass{constructor(){this.debug=false;this.viewPrefix="web";this.defaultApp="@web-atoms/core/dist/web/WebApp";this.lang="en-US";this.nameSymbol=typeof Symbol!=="undefined"?Symbol():"_$_nameSymbol"}get mock(){return AmdLoader.instance.enableMock}set mock(v){AmdLoader.instance.enableMock=v}resolvePath(n){return AmdLoader.instance.resolveSource(n,null)}resolveViewPath(path){return path.replace("{platform}",this.viewPrefix)}resolveType(type){return AmdLoader.instance.resolveType(type)}map(name,path,type="amd",exportVar){AmdLoader.instance.map(name,path,type,exportVar)}setupRoot(name,url){AmdLoader.instance.setupRoot(name,url)}mockType(type,name){AmdLoader.instance.replace(type,name,true)}inject(type,name){AmdLoader.instance.replace(type,name,false)}resolveViewClassAsync(path){return __awaiter(this,void 0,void 0,(function*(){path=this.resolveViewPath(path);const e=yield AmdLoader.instance.import(path);return e.default}))}import(path){return AmdLoader.instance.import(path)}load(path,designMode){return __awaiter(this,void 0,void 0,(function*(){this.mock=designMode;const t=yield AmdLoader.instance.import("@web-atoms/core/dist/core/types");const a=yield AmdLoader.instance.import("@web-atoms/core/dist/Atom");a.Atom.designMode=designMode;const al=yield AmdLoader.instance.import("@web-atoms/core/dist/core/AtomList");return yield AmdLoader.instance.import(path)}))}hostView(id,path,designMode){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=typeof id==="string"?document.getElementById(id):id;element.appendChild(view.element);return view}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;return view}catch(er){console.error(er);throw er}}))}}const UMD=new UMDClass;(u=>{globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/core","reflect-metadata","@web-atoms/web-controls","@web-atoms/date-time","@web-atoms/entity","@web-atoms/email-dom","@web-atoms/data-styles"],["@social-mail/social-mail-client/dist/web/AppIndex","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@web-atoms/web-controls/dist/DataAttributes","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/di/DITransient","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@web-atoms/web-controls/dist/basic/InlinePopupControl","@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/data-styles/data-styles","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/styles/popup-button-style","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/core/dist/core/AtomList","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/services/files/LocalFileService","@social-mail/social-mail-client/dist/common/FileUploader","@web-atoms/web-controls/dist/basic/TitleEditor","@web-atoms/web-controls/dist/basic/styles/title-editor-style","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@web-atoms/web-controls/dist/basic/styles/chip-style","@web-atoms/web-controls/dist/basic/styles/chips-style","@web-atoms/web-controls/dist/basic/styles/item-suggestion-style","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate","@social-mail/social-mail-client/dist/services/Emoji","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/common/pages/logs/LogsPage","@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService","@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage","@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview","@social-mail/social-mail-client/content/icons/audio.svg","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox","@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder","@web-atoms/web-controls/dist/mobile-app/BottomPopup","@web-atoms/web-controls/dist/animations/Animations","@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService","@social-mail/social-mail-client/dist/common/controls/buttons/RoundButton","@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AttachFile","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert","@social-mail/social-mail-client/dist/code-editor/CodeSnippetPage","@social-mail/social-mail-client/dist/code-editor/MonacoService","@web-atoms/web-controls/dist/basic/Select","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailLabel","@social-mail/social-mail-client/dist/common/controls/emoji-picker/EmojiPicker","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme","@social-mail/social-mail-client/dist/web/page/mails/engagements/EngagementDetails","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@web-atoms/web-controls/dist/basic/Resizable","@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage","@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage","@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService","@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/websites/manage/ManageWebSitePage","@social-mail/social-mail-client/dist/services/websites/WebSiteService","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage","@social-mail/social-mail-client/dist/services/files/MimeTypeService","@social-mail/social-mail-client/dist/common/pages/websites/templates/TemplateService","@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView","@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor","@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor","@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper","@social-mail/social-mail-client/dist/site-editor/toolbars/UndoRedoToolbar","@social-mail/social-mail-client/dist/site-editor/toolbars/EditorToolbar","@social-mail/social-mail-client/dist/site-editor/blocks/WrapGrid","@social-mail/social-mail-client/dist/site-editor/blocks/Block","@social-mail/social-mail-client/dist/site-editor/styler/StylerSets","@social-mail/social-mail-client/dist/site-editor/styler/Styler","@social-mail/social-mail-client/dist/site-editor/properties/Properties","@social-mail/social-mail-client/dist/site-editor/properties/groups/LayoutEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/PropertyEditor","@social-mail/social-mail-client/dist/site-editor/styler/StylerSet","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBorder","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/display","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/flex/flex","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/items-position/itemsPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/layout","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSizes","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSpace","@social-mail/social-mail-client/dist/site-editor/styler/properties/text/stylerText","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBackground","@social-mail/social-mail-client/dist/site-editor/styler/properties/color-sets/stylerColorSets","@social-mail/social-mail-client/dist/site-editor/styler/properties/img/stylerImage","@social-mail/social-mail-client/dist/site-editor/styler/properties/scroll/stylerOverflow","@social-mail/social-mail-client/dist/site-editor/properties/groups/TextPropertyEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/SizeEditorControl","@social-mail/social-mail-client/dist/site-editor/properties/groups/BorderGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SizeGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SpaceGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/PositionGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/BackgroundGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/AttributeEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/ImageEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/ScrollGroupEditor","@social-mail/social-mail-client/dist/site-editor/editor/SelectedElement","@social-mail/social-mail-client/dist/site-editor/blocks/ImageBox","@social-mail/social-mail-client/dist/site-editor/blocks/defaultImage","@social-mail/social-mail-client/dist/site-editor/blocks/RowBox","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/row.png","@social-mail/social-mail-client/dist/site-editor/blocks/ColumnBox","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column.png","@social-mail/social-mail-client/dist/site-editor/blocks/VerticalImageBox","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/vertical-image-box.png","@social-mail/social-mail-client/dist/site-editor/blocks/Image","@social-mail/social-mail-client/dist/site-editor/blocks/ImageCard","@social-mail/social-mail-client/dist/site-editor/blocks/TextBox","@social-mail/social-mail-client/dist/site-editor/blocks/Card","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/card.png","@social-mail/social-mail-client/dist/site-editor/blocks/List","@social-mail/social-mail-client/dist/site-editor/blocks/Components","@social-mail/social-mail-client/dist/site-editor/blocks/Buttons","@social-mail/social-mail-client/dist/site-editor/blocks/Columns2","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-2.png","@social-mail/social-mail-client/dist/site-editor/blocks/Columns3","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-3.png","@social-mail/social-mail-client/dist/site-editor/blocks/RightImageBox","@social-mail/social-mail-client/dist/site-editor/blocks/PriceBox","@social-mail/social-mail-client/dist/site-editor/blocks/Billboard","@social-mail/social-mail-client/dist/site-editor/blocks/OutlineText","@social-mail/social-mail-client/dist/site-editor/blocks/Carousel","@social-mail/social-mail-client/dist/site-editor/blocks/ImageGallery","@social-mail/social-mail-client/dist/site-editor/blocks/VideoPlayer","@social-mail/social-mail-client/dist/site-editor/blocks/BackgroundVideo","@social-mail/social-mail-client/dist/site-editor/blocks/TextMask","@social-mail/social-mail-client/dist/site-editor/blocks/MarqueeText","@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/code-editor/CodeEditorPage","@social-mail/social-mail-client/dist/common/pages/websites/history/WebSiteHistory","@social-mail/social-mail-client/dist/common/pages/websites/view/ViewWebSitePage","@social-mail/social-mail-client/dist/common/pages/websites/blogs/WebSiteBlogsPage","@social-mail/social-mail-client/dist/common/pages/websites/blogs/LookupChannelPage","@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage","@social-mail/social-mail-client/dist/services/files/FileHistoryService","@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@social-mail/social-mail-client/dist/common/form/AppForm","@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/common/icons/Icons","@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/web/page/files/preview/image/PreviewImage","@web-atoms/web-controls/dist/basic/PinchZoomView","@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style","@social-mail/social-mail-client/dist/web/page/files/preview/document/PreviewDocument","@social-mail/social-mail-client/dist/web/page/files/preview/media/PreviewMedia","@web-atoms/web-controls/dist/player/AtomVideoPlayer","@social-mail/social-mail-client/dist/web/page/users/SignupPage","@web-atoms/web-controls/dist/basic/MaskedInput","@web-atoms/web-controls/dist/basic/styles/masked-input-style","@social-mail/social-mail-client/dist/common/controls/countries/CountrySelect","@social-mail/social-mail-client/dist/services/FileTypes","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@social-mail/social-mail-client/dist/services/LoginService","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@social-mail/social-mail-client/dist/common/pages/user/forgot/ForgotPassword","@social-mail/social-mail-client/dist/web/drawer/AppDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@social-mail/social-mail-client/dist/services/WebPushService","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage"]);System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function setupTSLib(){var __extends;var __assign;var __rest;var __decorate;var __param;var __esDecorate;var __runInitializers;var __propKey;var __setFunctionName;var __metadata;var __awaiter;var __generator;var __exportStar;var __values;var __read;var __spread;var __spreadArrays;var __spreadArray;var __await;var __asyncGenerator;var __asyncDelegator;var __asyncValues;var __makeTemplateObject;var __importStar;var __importDefault;var __classPrivateFieldGet;var __classPrivateFieldSet;var __classPrivateFieldIn;var __createBinding;var __addDisposableResource;var __disposeResources;var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)};__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw new TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value";var target=!descriptorIn&&ctor?contextIn["static"]?ctor:ctor.prototype:null;var descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{});var _,done=false;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw new TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result)){if(kind==="field")initializers.unshift(_);else descriptor[key]=_}}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=true};__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++){value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg)}return useValue?value:void 0};__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)};__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:true,value:prefix?"".concat(prefix," ",name):name})};__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)};__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)};__createBinding=Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]};__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar};__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r};__spreadArray=function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))};__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)};__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))};if(f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}};__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:false}:f?f(v):v}:f}};__asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)}))}}function settle(resolve,reject,d,v){Promise.resolve(v).then((function(v){resolve({value:v,done:d})}),reject)}};__makeTemplateObject=function(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}};__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)};__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value};__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)};__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw new TypeError("Object expected.");var dispose;if(async){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dispose=value[Symbol.dispose]}if(typeof dispose!=="function")throw new TypeError("Object not disposable.");env.stack.push({value,dispose,async})}else if(async){env.stack.push({async:true})}return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=new Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e;env.hasError=true}function next(){while(env.stack.length){var rec=env.stack.pop();try{var result=rec.dispose&&rec.dispose.call(rec.value);if(rec.async)return Promise.resolve(result).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(env.hasError)throw env.error}return next()};return{__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources}}var Reflect;(function(Reflect){(function(factory){const root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();let exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return(key,value)=>{if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){const hasOwn=Object.prototype.hasOwnProperty;const supportsSymbol=typeof Symbol==="function";const toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";const iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";const supportsCreate=typeof Object.create==="function";const supportsProto={__proto__:[]}instanceof Array;const downLevel=!supportsCreate&&!supportsProto;const HashMap={create:supportsCreate?()=>MakeDictionary(Object.create(null)):supportsProto?()=>MakeDictionary({__proto__:null}):()=>MakeDictionary({}),has:downLevel?(map,key)=>hasOwn.call(map,key):(map,key)=>key in map,get:downLevel?(map,key)=>hasOwn.call(map,key)?map[key]:undefined:(map,key)=>map[key]};const functionPrototype=Object.getPrototypeOf(Function);const usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";const _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();const _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();const _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();const Metadata=new _WeakMap;function decorate(decorators,target,propertyKey,attributes){if(!IsUndefined(propertyKey)){if(!IsArray(decorators))throw new TypeError;if(!IsObject(target))throw new TypeError;if(!IsObject(attributes)&&!IsUndefined(attributes)&&!IsNull(attributes))throw new TypeError;if(IsNull(attributes))attributes=undefined;propertyKey=ToPropertyKey(propertyKey);return DecorateProperty(decorators,target,propertyKey,attributes)}else{if(!IsArray(decorators))throw new TypeError;if(!IsConstructor(target))throw new TypeError;return DecorateConstructor(decorators,target)}}exporter("decorate",decorate);function metadata(metadataKey,metadataValue){function decorator(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey)&&!IsPropertyKey(propertyKey))throw new TypeError;OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}return decorator}exporter("metadata",metadata);function defineMetadata(metadataKey,metadataValue,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}exporter("defineMetadata",defineMetadata);function hasMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasMetadata(metadataKey,target,propertyKey)}exporter("hasMetadata",hasMetadata);function hasOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasOwnMetadata(metadataKey,target,propertyKey)}exporter("hasOwnMetadata",hasOwnMetadata);function getMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetMetadata(metadataKey,target,propertyKey)}exporter("getMetadata",getMetadata);function getOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetOwnMetadata(metadataKey,target,propertyKey)}exporter("getOwnMetadata",getOwnMetadata);function getMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryMetadataKeys(target,propertyKey)}exporter("getMetadataKeys",getMetadataKeys);function getOwnMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryOwnMetadataKeys(target,propertyKey)}exporter("getOwnMetadataKeys",getOwnMetadataKeys);function deleteMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);const metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;const targetMetadata=Metadata.get(target);targetMetadata.delete(propertyKey);if(targetMetadata.size>0)return true;Metadata.delete(target);return true}exporter("deleteMetadata",deleteMetadata);function DecorateConstructor(decorators,target){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsConstructor(decorated))throw new TypeError;target=decorated}}return target}function DecorateProperty(decorators,target,propertyKey,descriptor){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target,propertyKey,descriptor);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsObject(decorated))throw new TypeError;descriptor=decorated}}return descriptor}function GetOrCreateMetadataMap(O,P,Create){let targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}let metadataMap=targetMetadata.get(P);if(IsUndefined(metadataMap)){if(!Create)return undefined;metadataMap=new _Map;targetMetadata.set(P,metadataMap)}return metadataMap}function OrdinaryHasMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){const ownKeys=OrdinaryOwnMetadataKeys(O,P);const parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;const parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;const set=new _Set;const keys=[];for(const key of ownKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(const key of parentKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){const keys=[];const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;const keysObj=metadataMap.keys();const iterator=GetIterator(keysObj);let k=0;while(true){const next=IteratorStep(iterator);if(!next){keys.length=k;return keys}const nextValue=IteratorValue(next);try{keys[k]=nextValue}catch(e){try{IteratorClose(iterator)}finally{throw e}}k++}}function Type(x){if(x===null)return 1;switch(typeof x){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return x===null?1:6;default:return 6}}function IsUndefined(x){return x===undefined}function IsNull(x){return x===null}function IsSymbol(x){return typeof x==="symbol"}function IsObject(x){return typeof x==="object"?x!==null:typeof x==="function"}function ToPrimitive(input,PreferredType){switch(Type(input)){case 0:return input;case 1:return input;case 2:return input;case 3:return input;case 4:return input;case 5:return input}const hint=PreferredType===3?"string":PreferredType===5?"number":"default";const exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){const result=exoticToPrim.call(input,hint);if(IsObject(result))throw new TypeError;return result}return OrdinaryToPrimitive(input,hint==="default"?"number":hint)}function OrdinaryToPrimitive(O,hint){if(hint==="string"){const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}}else{const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){const key=ToPrimitive(argument,3);if(IsSymbol(key))return key;return ToString(key)}function IsArray(argument){return Array.isArray?Array.isArray(argument):argument instanceof Object?argument instanceof Array:Object.prototype.toString.call(argument)==="[object Array]"}function IsCallable(argument){return typeof argument==="function"}function IsConstructor(argument){return typeof argument==="function"}function IsPropertyKey(argument){switch(Type(argument)){case 3:return true;case 4:return true;default:return false}}function GetMethod(V,P){const func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){const method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;const iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){const result=iterator.next();return result.done?false:result}function IteratorClose(iterator){const f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){const proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;const prototype=O.prototype;const prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;const constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){const cacheSentinel={};const arraySentinel=[];class MapIterator{constructor(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}"@@iterator"(){return this}[iteratorSymbol](){return this}next(){const index=this._index;if(index>=0&&index<this._keys.length){const result=this._selector(this._keys[index],this._values[index]);if(index+1>=this._keys.length){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}else{this._index++}return{value:result,done:false}}return{value:undefined,done:true}}throw(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error}return(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}}}return class Map{constructor(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}get size(){return this._keys.length}has(key){return this._find(key,false)>=0}get(key){const index=this._find(key,false);return index>=0?this._values[index]:undefined}set(key,value){const index=this._find(key,true);this._values[index]=value;return this}delete(key){const index=this._find(key,false);if(index>=0){const size=this._keys.length;for(let i=index+1;i<size;i++){this._keys[i-1]=this._keys[i];this._values[i-1]=this._values[i]}this._keys.length--;this._values.length--;if(key===this._cacheKey){this._cacheKey=cacheSentinel;this._cacheIndex=-2}return true}return false}clear(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2}keys(){return new MapIterator(this._keys,this._values,getKey)}values(){return new MapIterator(this._keys,this._values,getValue)}entries(){return new MapIterator(this._keys,this._values,getEntry)}"@@iterator"(){return this.entries()}[iteratorSymbol](){return this.entries()}_find(key,insert){if(this._cacheKey!==key){this._cacheIndex=this._keys.indexOf(this._cacheKey=key)}if(this._cacheIndex<0&&insert){this._cacheIndex=this._keys.length;this._keys.push(key);this._values.push(undefined)}return this._cacheIndex}};function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return class Set{constructor(){this._map=new _Map}get size(){return this._map.size}has(value){return this._map.has(value)}add(value){return this._map.set(value,value),this}delete(value){return this._map.delete(value)}clear(){this._map.clear()}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}"@@iterator"(){return this.keys()}[iteratorSymbol](){return this.keys()}}}function CreateWeakMapPolyfill(){const UUID_SIZE=16;const keys=HashMap.create();const rootKey=CreateUniqueKey();return class WeakMap{constructor(){this._key=CreateUniqueKey()}has(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false}get(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined}set(target,value){const table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this}delete(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false}clear(){this._key=CreateUniqueKey()}};function CreateUniqueKey(){let key;do{key="@@WeakMap@@"+CreateUUID()}while(HashMap.has(keys,key));keys[key]=true;return key}function GetOrCreateWeakMapTable(target,create){if(!hasOwn.call(target,rootKey)){if(!create)return undefined;Object.defineProperty(target,rootKey,{value:HashMap.create()})}return target[rootKey]}function FillRandomBytes(buffer,size){for(let i=0;i<size;++i)buffer[i]=Math.random()*255|0;return buffer}function GenRandomBytes(size){if(typeof Uint8Array==="function"){if(typeof crypto!=="undefined")return crypto.getRandomValues(new Uint8Array(size));if(typeof msCrypto!=="undefined")return msCrypto.getRandomValues(new Uint8Array(size));return FillRandomBytes(new Uint8Array(size),size)}return FillRandomBytes(new Array(size),size)}function CreateUUID(){const data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;let result="";for(let offset=0;offset<UUID_SIZE;++offset){const byte=data[offset];if(offset===4||offset===6||offset===8)result+="-";if(byte<16)result+="0";result+=byte.toString(16).toLowerCase()}return result}}function MakeDictionary(obj){obj.__=undefined;delete obj.__;return obj}}))})(Reflect||(Reflect={}));if(!Array.prototype.find){Array.prototype.find=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return item}}}}if(!Array.prototype.findIndex){Array.prototype.findIndex=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return i}}return-1}}if(!Array.prototype.map){Array.prototype.map=function(callbackfn,thisArg){const a=[];for(let i=0;i<this.length;i++){const r=callbackfn(this[i],i,this);if(r!==undefined){a.push(r)}}return a}}if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,endPosition){const index=this.indexOf(searchString,endPosition);return index===0}}if(!String.prototype.endsWith){String.prototype.endsWith=function(searchString,endPosition){const index=this.lastIndexOf(searchString,endPosition);if(index===-1){return false}const l=this.length-index;return l===searchString.length}}if(!Number.parseInt){Number.parseInt=function(n){return Math.floor(parseFloat(n))}}if(!Number.parseFloat){Number.parseFloat=function(n){return parseFloat(n)}}if(typeof Element!=="undefined"){if(!("remove"in Element.prototype)){Element.prototype["remove"]=function(){if(this.parentNode){this.parentNode.removeChild(this)}}}}class Module{get url(){const u=AmdLoader.instance.resolveSource(this.name);Object.defineProperty(this,"url",{value:u,enumerable:true});return u}get meta(){return{url:this.url,resolve:this.require.resolve}}get filename(){return this.name}constructor(name,folder){this.name=name;this.folder=folder;this.emptyExports={};this.isLoaded=false;this.isResolved=false;this.dependencies=[];this.rID=null;const index=name.lastIndexOf("/");if(index===-1){this.folder=""}else{this.folder=name.substring(0,index)}this.exports=this.emptyExports}import(name){const resolvedName=this.require.resolve(name);return AmdLoader.instance.import(resolvedName)}addDependency(d){this.dependencies.push(d);if(UMD.debug){if(d.isDependentOn(this)){console.warn(`${d.name} already depends on ${this.name}`)}}}getExports(){if(this.factory){try{const factory=this.factory;this.factory=null;delete this.factory;AmdLoader.instance.currentStack.push(this);const result=factory(this.require,this.exports);if(result){if(typeof result==="object"||typeof result==="function"){this.exports=result;if(typeof result.default==="undefined"){result.default=result}}else if(!this.exports.default){this.exports.default=result}}AmdLoader.instance.currentStack.pop();delete this.factory;const def=this.exports.default;if(typeof def==="function"||typeof def==="object"){def[UMD.nameSymbol]=this.name}}catch(e){const em=e.stack?`${e}\n${e.stack}`:e;const s=[];console.error(e);for(const iterator of AmdLoader.instance.currentStack){s.push(iterator.name);console.error(iterator.name)}const ne=new Error(`Failed loading module ${this.name} with error ${em}\nDependents: ${s.join("\n\t")}`);console.error(ne);throw ne}}return this.exports}isDependentOn(m,visited){visited!==null&&visited!==void 0?visited:visited=new Set;visited.add(this);for(const iterator of this.dependencies){if(iterator===m){return true}if(visited.has(iterator)){continue}if(iterator.isDependentOn(m,visited)){return true}}return false}}Module.nextID=1;var _a;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);class AmdLoader{constructor(){this.root=null;this.defaultUrl=null;this.currentStack=[];this.nodeModules=[];this.modules=new Map;this.pathMap=new Map;this.mockTypes=[]}register(packages,modules){for(const iterator of packages){if(!this.pathMap.has(iterator)){this.map(iterator,"/")}}for(const iterator of modules){this.get(iterator)}}setupRoot(root,url){if(url.endsWith("/")){url=url.substring(0,url.length-1)}for(const key of this.pathMap.keys()){const moduleUrl=key===root?url:`${url}/node_modules/${key}`;this.map(key,moduleUrl)}this.defaultUrl=`${url}/node_modules/`}registerModule(name,moduleExports){const m=this.get(name);m.package.url="/";m.exports=Object.assign({__esModule:true},moduleExports);m.loader=promiseDone;m.resolver=()=>Promise.resolve(m.exports);m.isLoaded=true;m.isResolved=true}setup(name){const jsModule=this.get(name);const define=this.define;jsModule.loader=promiseDone;AmdLoader.current=jsModule;if(define){define()}if(jsModule.exportVar){jsModule.exports=AmdLoader.globalVar[jsModule.exportVar]}jsModule.isLoaded=true}replace(type,name,mock){if(mock&&!this.enableMock){return}const peek=this.currentStack.length?this.currentStack[this.currentStack.length-1]:undefined;name=this.resolveRelativePath(name,peek.name);const rt=new MockType(peek,type,name,mock);rt.replacedModule=this.get(rt.moduleName);rt.replacedModule.postExports=()=>{rt.replaced=rt.replacedModule.getExports()[rt.exportName]};(peek.dynamicImports=peek.dynamicImports||[]).push(rt);this.mockTypes.push(rt)}resolveType(type){const t=this.mockTypes.find((tx=>tx.type===type));return t?t.replaced:type}map(packageName,packageUrl,type="amd",exportVar){let existing=this.pathMap.get(packageName);if(existing){existing.url=packageUrl;existing.exportVar=exportVar;existing.type=type;return existing}existing={name:packageName,url:packageUrl,type,exportVar,version:""};if(packageName==="reflect-metadata"){type="global"}this.pathMap.set(packageName,existing);return existing}resolveSource(name,defExt=".js"){try{if(/^((\/)|((http|https)\:\/\/))/i.test(name)){return name}let path=null;for(const key of this.pathMap.keys()){const packageName=key;if(name.startsWith(packageName)){path=this.pathMap.get(key).url;if(name.length!==packageName.length){if(name[packageName.length]!=="/"){continue}name=name.substring(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substring(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substring(i+1);if(!/\.(js|jpg|jpeg|gif|png|mp4|mp3|css|html|svg|webp|webm|json)$/i.test(fileName)){path=path+defExt}return path}}return name}catch(e){console.error(`Failed to resolve ${name} with error ${JSON.stringify(e)}`);console.error(e)}}resolveRelativePath(name,currentPackage){if(name.charAt(0)!=="."){return name}const tokens=name.split("/");const currentTokens=currentPackage.split("/");currentTokens.pop();while(tokens.length){const first=tokens[0];if(first===".."){currentTokens.pop();tokens.splice(0,1);continue}if(first==="."){tokens.splice(0,1)}break}return`${currentTokens.join("/")}/${tokens.join("/")}`}getPackageVersion(name){let[scope,packageName]=name.split("/",3);let version="";if(scope[0]!=="@"){packageName=scope;scope=""}else{scope+="/"}const versionTokens=packageName.split("@");if(versionTokens.length>1){version=versionTokens[1];name=name.replace("@"+version,"")}packageName=scope+packageName;return{packageName,version,name}}get(name1){let module=this.modules.get(name1);if(!module){const{packageName,version,name}=this.getPackageVersion(name1);module=new Module(name);this.modules.set(name1,module);let pp=this.pathMap.get(packageName);if(!pp){pp={type:"amd",name:packageName,version,url:this.defaultUrl?this.defaultUrl+packageName:undefined};this.pathMap.set(packageName,pp)}module.package=pp;module.require=(n,resolve,reject)=>{let isAsync=false;if(typeof n!=="string"){n=n[0];isAsync=true}const an=this.resolveRelativePath(n,module.name);const resolvedModule=this.get(an);if(isAsync){return this.import(resolvedModule).then(resolve,reject)}const m=resolvedModule.getExports();return m};module.require.resolve=n=>this.resolveRelativePath(n,module.name);this.modules.set(name,module)}return module}import(name){const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}if(module.isResolved){module.importPromise=Promise.resolve(module.getExports());return module.importPromise}module.importPromise=this.importAsync(module);return module.importPromise}importNodeModule(module){if(typeof require!=="undefined"){const name=module.url;const moduleCode=require("fs").readFileSync(require.resolve(name),"utf8").trim();if(!/^System\.Register/.test(moduleCode)){return Promise.resolve(require(name))}}}importAsync(module){return __awaiter(this,void 0,void 0,(function*(){yield this.load(module);if(module.resolver){return yield module.resolver()}return yield this.resolve(module)}))}resolve(module){return __awaiter(this,void 0,void 0,(function*(){const ds=[];if(UMD.debug){const waiting=module.waiting=[];for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}waiting.push(iterator);ds.push(this.import(iterator))}}else{for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}ds.push(this.import(iterator))}}yield Promise.all(ds);const exports=module.getExports();module.isResolved=true;if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return exports}))}load(module){if(module.loader){return module.loader}if(AmdLoader.isJson.test(module.url)){const mUrl=module.url.startsWith(module.package.url)?module.url:module.package.url+module.url;module.loader=new Promise(((resolve,reject)=>{try{AmdLoader.httpTextLoader(mUrl,(r=>{try{module.exports=JSON.parse(r);module.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}));return module.loader}if(AmdLoader.isMedia.test(module.url)){const m={get url(){const mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;Object.defineProperty(m,"url",{value:mUrl,enumerable:true});return mUrl},toString(){return this.url}};const e={__esModule:true,default:m};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}module.loader=new Promise(((resolve,reject)=>{AmdLoader.moduleLoader(module.name,module.url,(()=>{try{AmdLoader.current=module;if(AmdLoader.instance.define){AmdLoader.instance.define();AmdLoader.instance.define=null}if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}if(AmdLoader.moduleProgress){AmdLoader.moduleProgress(module.name,this.modules,"loading")}module.isLoaded=true;resolve()}catch(e){console.error(e);reject(e)}}),(error=>{reject(error)}))}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|html|svg|webp|webm)$/i;AmdLoader.isJson=/\.json$/i;AmdLoader.globalVar={};AmdLoader.instance=new AmdLoader;AmdLoader.current=null;const a=AmdLoader.instance;a.map("global","/","global");a.registerModule("global/document",{default:document});a.registerModule("global/window",{default:typeof window!=="undefined"?window:global});a.map("reflect-metadata","/","global");a.registerModule("reflect-metadata",Reflect);AmdLoader.moduleLoader=(name,url,success,error)=>{const script=document.createElement("script");script.type="text/javascript";script.src=url;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;success()};script.onerror=e=>{error(e)};document.body.appendChild(script)};AmdLoader.httpTextLoader=(url,success,error)=>{const xhr=new XMLHttpRequest;xhr.onreadystatechange=e=>{if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){success(xhr.responseText)}else{error(xhr.responseText)}}};xhr.open("GET",url);xhr.send()};var amdConfig;amdConfig!==null&&amdConfig!==void 0?amdConfig:amdConfig={};(_a=amdConfig.moduleProgress)!==null&&_a!==void 0?_a:amdConfig.moduleProgress=(()=>{if(!document){return(name,p)=>{console.log(`${name} ${p}%`)}}return(name,n,status)=>{}})();AmdLoader.moduleProgress=amdConfig.moduleProgress;var define=(requiresOrFactory,factory,nested)=>{const loader=AmdLoader.instance;function bindFactory(module,requireList,fx){if(module.factory){return}module.dependencies=[];let requires=requireList;requires=requireList;const args=[];for(const s of requires){if(s==="require"){args.push(module.require);continue}if(s==="exports"){args.push(module.emptyExports);continue}if(/^global/.test(s)){args.push(loader.get(s).exports)}const name=loader.resolveRelativePath(s,module.name);const child=loader.get(name);module.addDependency(child)}module.factory=()=>fx.apply(module,args)}if(nested){const name=requiresOrFactory;const rList=factory;const f=nested;const module=AmdLoader.instance.get(name);bindFactory(module,rList,f);return}AmdLoader.instance.define=()=>{const current=AmdLoader.current;if(!current){return}if(current.factory){return}if(typeof requiresOrFactory==="function"){bindFactory(current,[],requiresOrFactory)}else{bindFactory(current,requiresOrFactory,factory)}}};define.amd={};class MockType{constructor(module,type,name,mock,moduleName,exportName){this.module=module;this.type=type;this.name=name;this.mock=mock;this.moduleName=moduleName;this.exportName=exportName;this.name=name=name.replace("{lang}",UMD.lang).replace("{platform}",UMD.viewPrefix);if(name.indexOf("$")!==-1){const tokens=name.split("$");this.moduleName=tokens[0];this.exportName=tokens[1]||tokens[0].split("/").pop()}else{this.moduleName=name;this.exportName="default"}}}const merge=(target,source)=>{for(const key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}};const enumerable=true,configurable=true;class System{static resolve(id){return AmdLoader.instance.resolveSource(id)}static import(name){return AmdLoader.instance.import(name)}static register(nameOrImports,importsOrSetup,setup){const instance=AmdLoader.instance;instance.define=()=>{const name=typeof nameOrImports==="string"?nameOrImports:AmdLoader.current.name;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=instance.get(name);if(module.isLoaded){return}module.dependencies.push(...imports.map((x=>instance.get(module.require.resolve(x)))));module.isLoaded=true;const postResolve=new Promise(((resolve,reject)=>{module.factory=()=>{const r=setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);return module.exports}module.exports[key]=value;return value}),module);var list=module.dependencies;const{setters}=r;for(let index=0;index<list.length;index++){const element=list[index];setters[index](element.getExports())}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){rp.then(resolve,reject)}else{resolve()}return module.exports}}));module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){yield AmdLoader.instance.resolve(module);yield postResolve;return module.exports}))}}}const globalNS=typeof window!=="undefined"?window:global;class UMDClass{constructor(){this.debug=false;this.viewPrefix="web";this.defaultApp="@web-atoms/core/dist/web/WebApp";this.lang="en-US";this.nameSymbol=typeof Symbol!=="undefined"?Symbol():"_$_nameSymbol"}get mock(){return AmdLoader.instance.enableMock}set mock(v){AmdLoader.instance.enableMock=v}resolvePath(n){return AmdLoader.instance.resolveSource(n,null)}resolveViewPath(path){return path.replace("{platform}",this.viewPrefix)}resolveType(type){return AmdLoader.instance.resolveType(type)}map(name,path,type="amd",exportVar){AmdLoader.instance.map(name,path,type,exportVar)}setupRoot(name,url){AmdLoader.instance.setupRoot(name,url)}mockType(type,name){AmdLoader.instance.replace(type,name,true)}inject(type,name){AmdLoader.instance.replace(type,name,false)}resolveViewClassAsync(path){return __awaiter(this,void 0,void 0,(function*(){path=this.resolveViewPath(path);const e=yield AmdLoader.instance.import(path);return e.default}))}import(path){return AmdLoader.instance.import(path)}load(path,designMode){return __awaiter(this,void 0,void 0,(function*(){this.mock=designMode;const t=yield AmdLoader.instance.import("@web-atoms/core/dist/core/types");const a=yield AmdLoader.instance.import("@web-atoms/core/dist/Atom");a.Atom.designMode=designMode;const al=yield AmdLoader.instance.import("@web-atoms/core/dist/core/AtomList");return yield AmdLoader.instance.import(path)}))}hostView(id,path,designMode){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=typeof id==="string"?document.getElementById(id):id;element.appendChild(view.element);return view}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;return view}catch(er){console.error(er);throw er}}))}}const UMD=new UMDClass;(u=>{globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/core","reflect-metadata","@web-atoms/web-controls","@web-atoms/date-time","@web-atoms/entity","@web-atoms/email-dom","@web-atoms/data-styles"],["@social-mail/social-mail-client/dist/web/AppIndex","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@web-atoms/web-controls/dist/DataAttributes","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/di/DITransient","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@web-atoms/web-controls/dist/basic/InlinePopupControl","@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/data-styles/data-styles","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/styles/popup-button-style","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/core/dist/core/AtomList","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/services/files/LocalFileService","@social-mail/social-mail-client/dist/common/FileUploader","@web-atoms/web-controls/dist/basic/TitleEditor","@web-atoms/web-controls/dist/basic/styles/title-editor-style","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@web-atoms/web-controls/dist/basic/styles/chip-style","@web-atoms/web-controls/dist/basic/styles/chips-style","@web-atoms/web-controls/dist/basic/styles/item-suggestion-style","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate","@social-mail/social-mail-client/dist/services/Emoji","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/common/pages/logs/LogsPage","@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService","@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage","@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview","@social-mail/social-mail-client/content/icons/audio.svg","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox","@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder","@web-atoms/web-controls/dist/mobile-app/BottomPopup","@web-atoms/web-controls/dist/animations/Animations","@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService","@social-mail/social-mail-client/dist/common/controls/buttons/RoundButton","@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AttachFile","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert","@social-mail/social-mail-client/dist/code-editor/CodeSnippetPage","@social-mail/social-mail-client/dist/code-editor/MonacoService","@web-atoms/web-controls/dist/basic/Select","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Attach","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailLabel","@social-mail/social-mail-client/dist/common/controls/emoji-picker/EmojiPicker","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme","@social-mail/social-mail-client/dist/web/page/mails/engagements/EngagementDetails","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@web-atoms/web-controls/dist/basic/Resizable","@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage","@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage","@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService","@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/websites/manage/ManageWebSitePage","@social-mail/social-mail-client/dist/services/websites/WebSiteService","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage","@social-mail/social-mail-client/dist/services/files/MimeTypeService","@social-mail/social-mail-client/dist/common/pages/websites/templates/TemplateService","@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView","@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor","@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor","@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper","@social-mail/social-mail-client/dist/site-editor/toolbars/UndoRedoToolbar","@social-mail/social-mail-client/dist/site-editor/toolbars/EditorToolbar","@social-mail/social-mail-client/dist/site-editor/blocks/WrapGrid","@social-mail/social-mail-client/dist/site-editor/blocks/Block","@social-mail/social-mail-client/dist/site-editor/styler/StylerSets","@social-mail/social-mail-client/dist/site-editor/styler/Styler","@social-mail/social-mail-client/dist/site-editor/properties/Properties","@social-mail/social-mail-client/dist/site-editor/properties/groups/LayoutEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/PropertyEditor","@social-mail/social-mail-client/dist/site-editor/styler/StylerSet","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBorder","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/display","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/flex/flex","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/items-position/itemsPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/layouts/layout","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSizes","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSpace","@social-mail/social-mail-client/dist/site-editor/styler/properties/text/stylerText","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBackground","@social-mail/social-mail-client/dist/site-editor/styler/properties/color-sets/stylerColorSets","@social-mail/social-mail-client/dist/site-editor/styler/properties/img/stylerImage","@social-mail/social-mail-client/dist/site-editor/styler/properties/scroll/stylerOverflow","@social-mail/social-mail-client/dist/site-editor/properties/groups/TextPropertyEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/SizeEditorControl","@social-mail/social-mail-client/dist/site-editor/properties/groups/BorderGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SizeGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SpaceGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/PositionGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/BackgroundGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/AttributeEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/ImageEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/ScrollGroupEditor","@social-mail/social-mail-client/dist/site-editor/editor/SelectedElement","@social-mail/social-mail-client/dist/site-editor/blocks/ImageBox","@social-mail/social-mail-client/dist/site-editor/blocks/defaultImage","@social-mail/social-mail-client/dist/site-editor/blocks/RowBox","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/row.png","@social-mail/social-mail-client/dist/site-editor/blocks/ColumnBox","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column.png","@social-mail/social-mail-client/dist/site-editor/blocks/VerticalImageBox","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/vertical-image-box.png","@social-mail/social-mail-client/dist/site-editor/blocks/Image","@social-mail/social-mail-client/dist/site-editor/blocks/ImageCard","@social-mail/social-mail-client/dist/site-editor/blocks/TextBox","@social-mail/social-mail-client/dist/site-editor/blocks/Card","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/card.png","@social-mail/social-mail-client/dist/site-editor/blocks/List","@social-mail/social-mail-client/dist/site-editor/blocks/Components","@social-mail/social-mail-client/dist/site-editor/blocks/Buttons","@social-mail/social-mail-client/dist/site-editor/blocks/Columns2","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-2.png","@social-mail/social-mail-client/dist/site-editor/blocks/Columns3","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-3.png","@social-mail/social-mail-client/dist/site-editor/blocks/RightImageBox","@social-mail/social-mail-client/dist/site-editor/blocks/PriceBox","@social-mail/social-mail-client/dist/site-editor/blocks/Billboard","@social-mail/social-mail-client/dist/site-editor/blocks/OutlineText","@social-mail/social-mail-client/dist/site-editor/blocks/Carousel","@social-mail/social-mail-client/dist/site-editor/blocks/ImageGallery","@social-mail/social-mail-client/dist/site-editor/blocks/VideoPlayer","@social-mail/social-mail-client/dist/site-editor/blocks/BackgroundVideo","@social-mail/social-mail-client/dist/site-editor/blocks/TextMask","@social-mail/social-mail-client/dist/site-editor/blocks/MarqueeText","@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/code-editor/CodeEditorPage","@social-mail/social-mail-client/dist/common/pages/websites/history/WebSiteHistory","@social-mail/social-mail-client/dist/common/pages/websites/view/ViewWebSitePage","@social-mail/social-mail-client/dist/common/pages/websites/blogs/WebSiteBlogsPage","@social-mail/social-mail-client/dist/common/pages/websites/blogs/LookupChannelPage","@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage","@social-mail/social-mail-client/dist/services/files/FileHistoryService","@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@social-mail/social-mail-client/dist/common/form/AppForm","@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor","@social-mail/social-mail-client/dist/common/pages/stores/StoreDetailPage","@social-mail/social-mail-client/dist/services/store/StoreService","@social-mail/social-mail-client/dist/services/store/StoreOrderService","@social-mail/social-mail-client/dist/common/pages/stores/products/EditProductListPage","@social-mail/social-mail-client/dist/services/store/StoreItemService","@social-mail/social-mail-client/dist/common/pages/stores/products/EditProductDetailPage","@social-mail/social-mail-client/dist/common/pages/stores/products/prices/EditItemPricePage","@social-mail/social-mail-client/dist/common/controls/countries/CountrySelect","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/common/icons/Icons","@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/web/page/files/preview/image/PreviewImage","@web-atoms/web-controls/dist/basic/PinchZoomView","@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style","@social-mail/social-mail-client/dist/web/page/files/preview/document/PreviewDocument","@social-mail/social-mail-client/dist/web/page/files/preview/media/PreviewMedia","@web-atoms/web-controls/dist/player/AtomVideoPlayer","@social-mail/social-mail-client/dist/web/page/users/SignupPage","@web-atoms/web-controls/dist/basic/MaskedInput","@web-atoms/web-controls/dist/basic/styles/masked-input-style","@social-mail/social-mail-client/dist/services/FileTypes","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@social-mail/social-mail-client/dist/services/LoginService","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@social-mail/social-mail-client/dist/common/pages/user/forgot/ForgotPassword","@social-mail/social-mail-client/dist/web/drawer/AppDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@social-mail/social-mail-client/dist/services/WebPushService","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage"]);System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (C) Microsoft. All rights reserved.
|
|
4
4
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
@@ -562,7 +562,7 @@ and limitations under the License.
|
|
|
562
562
|
z-index: 5000;
|
|
563
563
|
background-color: var(--popup-background-color, white);
|
|
564
564
|
color: var(--popup-text-color, rgba(0,0,0,0.8));
|
|
565
|
-
`.installGlobal("*[data-inline-popup=inline-popup]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/inline-popup-style");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","./styles/inline-popup-style","@web-atoms/core/dist/core/StringHelper"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,sleep,XNode,AtomControl,ElementValueSetters,StringHelper,InlinePopup;function closeHandler(opener,container,close){let handler=null;const body=document.body;handler=e=>{var _a;let start=e.target;if(e.defaultPrevented){return}while(start){if(start===body){break}if(start===opener){return}if(start===container){return}start=start.parentElement}close();e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e)};document.body.addEventListener("click",handler,true);let ce=container;const containNoneList=[];while(ce){const isNotNone=window.getComputedStyle(ce).contain!=="none";if(isNotNone){ce.setAttribute("data-force-contain","none");containNoneList.push(ce)}ce=ce.parentElement}return()=>{document.body.removeEventListener("click",handler,true);for(const iterator of containNoneList){iterator.removeAttribute("data-force-contain")}}}function InlinePopupButton(_a,...popupNodes){var{text,label,icon,hasBorder=false,nodes=[],defaultOnClick="close",anchorRight=false,alignment,popup}=_a,a=__rest(_a,["text","label","icon","hasBorder","nodes","defaultOnClick","anchorRight","alignment","popup"]);alignment||(alignment=anchorRight?"bottomRight":"bottomLeft");if(!a["data-layout"]){if(icon&&text){a["data-layout"]="icon-button"}else{a["data-layout"]="button"}}if(popup){return XNode.create("button",Object.assign({"data-popup-class":popup,"data-has-border":!!hasBorder,"data-inline-popup-button":"inline-popup-button","data-default-on-click":defaultOnClick,"data-alignment":alignment},a),icon&&XNode.create("i",{class:icon}),text&&XNode.create("span",{text}),label&&XNode.create("label",{text}),...nodes)}let isOpen=false;const done=()=>isOpen=false;const click=e=>__awaiter(this,void 0,void 0,(function*(){if(isOpen||e.defaultPrevented){return}const currentTarget=e.currentTarget;currentTarget.setAttribute("data-popup-open","true");const popupNode=popupNodes.length>1?XNode.create("div",null,...popupNodes):popupNodes[0];try{isOpen=true;yield InlinePopup.show(e.currentTarget,popupNode,{defaultOnClick,alignment})}finally{done();currentTarget.removeAttribute("data-popup-open")}}));return XNode.create("button",Object.assign({"event-click":click,"data-has-border":!!hasBorder,"data-alignment":alignment,"data-inline-popup-button":"inline-popup-button"},a),icon&&XNode.create("i",{class:icon}),text&&XNode.create("span",{text}),label&&XNode.create("label",{text}),...nodes)}_export({default:void 0,InlinePopupButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl;ElementValueSetters=_webAtomsCoreDistWebControlsAtomControl.ElementValueSetters},function(_stylesInlinePopupStyle){},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper}],execute:function(){_export("default",InlinePopup=class InlinePopup extends AtomControl{static show(target,node,options={}){var _a;return __awaiter(this,void 0,void 0,(function*(){const targetElement=(_a=target.element)!==null&&_a!==void 0?_a:target;const control=target.element?target:AtomControl.from(target);const targetStyle=window.getComputedStyle(targetElement);if(!/fixed|absolute|relative/i.test(targetStyle.position)){targetElement.style.position="relative"}yield sleep(10);const container=document.createElement("div");container.setAttribute("data-inline-popup","inline-popup");const alignment=StringHelper.fromHyphenToCamel(options.alignment||"none");switch(alignment){case"bottomLeft":container.style.top=`${5+targetElement.offsetHeight}px`;container.style.left="5px";break;case"bottomRight":container.style.top=`${5+targetElement.offsetHeight}px`;container.style.right="5px";break;case"topRight":container.style.top="5px";container.style.left=`${targetElement.offsetWidth}px`;break;case"above":container.style.bottom=`${targetElement.offsetHeight}px`;container.style.left="5px";break;default:container.style.top=`${5+targetElement.offsetHeight}px`;container.style.left="5px";break}container._logicalParent=targetElement;control.render(XNode.create("div",null," ",node," "),container,control);targetElement.insertAdjacentElement("beforeend",container);return yield new Promise(((resolve,reject)=>{var _a;const disposables=new AtomDisposableList;disposables.add((()=>targetElement.removeAttribute("data-popup-open")));let resolved=false;const close=r=>{if(resolved){return}resolved=true;resolve(r);disposables.dispose()};const cancel=(r="cancelled")=>{if(resolved){return}resolved=true;reject(r);disposables.dispose()};const firstChild=container.firstElementChild.atomControl;if(firstChild instanceof InlinePopup){firstChild.cancel=cancel;firstChild.close=close}else{if(options.onClick===void 0){options.onClick=options.defaultOnClick}}const defaultClose=options.onClick==="close"?close:cancel;const observer=new MutationObserver((()=>{if(!container.isConnected){defaultClose()}}));observer.observe(targetElement,{childList:true});disposables.add((()=>{observer.disconnect();control.dispose(container);container.remove()}));if(options.onClick){disposables.add(control.bindEvent(container,"click",(()=>__awaiter(this,void 0,void 0,(function*(){yield sleep(200);defaultClose()})))))}(_a=options.cancelToken)===null||_a===void 0?void 0:_a.registerForCancel(cancel);disposables.add(closeHandler(targetElement,container,defaultClose))}))}))}static showControl(target,options={}){const node=XNode.create(this,{});return this.show(target,node,options)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const atomControl=AtomControl.from(start);if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}});document.body.addEventListener("click",(e=>{let start=e.target;let popupFactory;let alignment;while(start){popupFactory=start.popupFactory;if(popupFactory){alignment=start.dataset.alignment;break}start=start.parentElement}if(!start){return}if(start.getAttribute("data-popup-open")){return}start.setAttribute("data-popup-open","true");const control=AtomControl.from(start);const app=control.app;const target=start;const element=control.element;let itemIndex;let data;if(control.items&&control.itemRenderer){while(start&&start!==element){itemIndex!==null&&itemIndex!==void 0?itemIndex:itemIndex=start.getAttribute("data-item-index");if(itemIndex){data=control.items[~~itemIndex];break}start=start.parentElement}}if(!data){data=new Proxy(target,{get(t,p,receiver){let s=target;while(s){const v=s.dataset[p];if(v!==void 0){return v}s=s.parentElement}}})}const node=popupFactory(data);app.runAsync((()=>InlinePopup.show(target,node,{alignment})))}));ElementValueSetters["data-popup-class"]=(c,e,v)=>{e.popupFactory=v}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopup");System.register([],(function(_export,_context){"use strict";var MergeNode,empty;_export("default",void 0);return{setters:[],execute:function(){empty=[];_export("default",MergeNode=class MergeNode{static none(){return new MergeNode(empty)}static remove(){return new MergeNode([{remove:true}])}static childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* > "+name,parent,after}])}return new MergeNode(["* > "+name])}static nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* "+name,parent,after}])}return new MergeNode(["* "+name])}constructor(classes=empty){this.classes=classes}childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* > "+name,parent,after}])}return new MergeNode([...this.classes,"* > "+name])}nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* "+name,parent,after}])}return new MergeNode([...this.classes,"* "+name])}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/MergeNode");System.register([],(function(_export,_context){"use strict";var ItemPath,get;function*getFragments(path){const regex=/([^\=\:]+)\s*[\=\:]\s*((('[^\\']*(((\\')|(''))[^\\']*)*')|("[^\\"]*(((\\")|(""))[^\\"]*)*"))|([^\,\;]+))\s*[\,\;]?\s*/gim;let m;while((m=regex.exec(path))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}yield[m[1].trim(),m[2].trim()]}}_export("default",void 0);return{setters:[],execute:function(){get=(start,path)=>{let item=start;for(const iterator of path.split(".")){if(iterator==="$"){item=start;continue}item=item[iterator]}return item};_export("default",ItemPath=class ItemPath{static get(item,path){if(path.startsWith("$.")){return get(item,path)}if(/^[\{\"]/.test(path)){const json=JSON.parse(path);return json}const target={};this.build(item,path,target);return target}static build(item,path,target){for(let[key,value]of getFragments(path)){if(value.startsWith("$")){value=get(item,value);target[key]=value;continue}if(value.startsWith('"')){value=JSON.parse(value);target[key]=value;continue}if(value.startsWith("'")){value=value.substring(1,value.length-1);value=value.replace(/((\'\')|(\\\'))/,"'");target[key]=value;continue}if(value==="true"){target[key]=true;continue}if(value==="false"){target[key]=false;continue}if(value==="null"){target[key]=null;continue}target[key]=Number(value)}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ItemPath");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
565
|
+
`.installGlobal("*[data-inline-popup=inline-popup]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/inline-popup-style");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","./styles/inline-popup-style","@web-atoms/core/dist/core/StringHelper"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,sleep,XNode,AtomControl,ElementValueSetters,StringHelper,InlinePopup;function closeHandler(opener,container,close){let handler=null;const body=document.body;handler=e=>{var _a;let start=e.target;if(e.defaultPrevented){return}while(start){if(start===body){break}if(start===opener){return}if(start===container){return}start=start.parentElement}close();e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e)};document.body.addEventListener("click",handler,true);let ce=container;const containNoneList=[];while(ce){const isNotNone=window.getComputedStyle(ce).contain!=="none";if(isNotNone){ce.setAttribute("data-force-contain","none");containNoneList.push(ce)}ce=ce.parentElement}return()=>{document.body.removeEventListener("click",handler,true);for(const iterator of containNoneList){iterator.removeAttribute("data-force-contain")}}}function InlinePopupButton(_a,...popupNodes){var{text,label,icon,hasBorder=false,nodes=[],defaultOnClick="close",anchorRight=false,alignment,popup}=_a,a=__rest(_a,["text","label","icon","hasBorder","nodes","defaultOnClick","anchorRight","alignment","popup"]);alignment||(alignment=anchorRight?"bottomRight":"bottomLeft");if(!a["data-layout"]){if(icon&&text){a["data-layout"]="icon-button"}else{a["data-layout"]="button"}}if(popup){return XNode.create("button",Object.assign({"data-popup-class":popup,"data-has-border":!!hasBorder,"data-inline-popup-button":"inline-popup-button","data-default-on-click":defaultOnClick,"data-alignment":alignment},a),icon&&XNode.create("i",{class:icon}),text&&XNode.create("span",{text}),label&&XNode.create("label",{text}),...nodes)}let isOpen=false;const done=()=>isOpen=false;const click=e=>__awaiter(this,void 0,void 0,(function*(){if(isOpen||e.defaultPrevented){return}const currentTarget=e.currentTarget;currentTarget.setAttribute("data-popup-open","true");const popupNode=popupNodes.length>1?XNode.create("div",null,...popupNodes):popupNodes[0];try{isOpen=true;yield InlinePopup.show(e.currentTarget,popupNode,{defaultOnClick,alignment})}finally{done();currentTarget.removeAttribute("data-popup-open")}}));return XNode.create("button",Object.assign({"event-click":click,"data-has-border":!!hasBorder,"data-alignment":alignment,"data-inline-popup-button":"inline-popup-button"},a),icon&&XNode.create("i",{class:icon}),text&&XNode.create("span",{text}),label&&XNode.create("label",{text}),...nodes)}_export({default:void 0,InlinePopupButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl;ElementValueSetters=_webAtomsCoreDistWebControlsAtomControl.ElementValueSetters},function(_stylesInlinePopupStyle){},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper}],execute:function(){_export("default",InlinePopup=class InlinePopup extends AtomControl{static show(target,node,options={}){var _a;return __awaiter(this,void 0,void 0,(function*(){const targetElement=(_a=target.element)!==null&&_a!==void 0?_a:target;const control=target.element?target:AtomControl.from(target);const targetStyle=window.getComputedStyle(targetElement);if(!/fixed|absolute|relative/i.test(targetStyle.position)){targetElement.style.position="relative"}yield sleep(10);const container=document.createElement("div");container.setAttribute("data-inline-popup","inline-popup");const alignment=StringHelper.fromHyphenToCamel(options.alignment||"none");switch(alignment){case"bottomLeft":container.style.top=`${5+targetElement.offsetHeight}px`;container.style.left="5px";break;case"bottomRight":container.style.top=`${5+targetElement.offsetHeight}px`;container.style.right="5px";break;case"topRight":container.style.top="5px";container.style.left=`${targetElement.offsetWidth}px`;break;case"above":container.style.bottom=`${targetElement.offsetHeight}px`;container.style.left="5px";break;default:container.style.top=`${5+targetElement.offsetHeight}px`;container.style.left="5px";break}container._logicalParent=targetElement;control.render(XNode.create("div",null," ",node," "),container,control);targetElement.insertAdjacentElement("beforeend",container);return yield new Promise(((resolve,reject)=>{var _a;const disposables=new AtomDisposableList;disposables.add((()=>targetElement.removeAttribute("data-popup-open")));let resolved=false;const close=r=>{if(resolved){return}resolved=true;resolve(r);disposables.dispose()};const cancel=(r="cancelled")=>{if(resolved){return}resolved=true;reject(r);disposables.dispose()};const firstChild=container.firstElementChild.atomControl;if(firstChild instanceof InlinePopup){firstChild.cancel=cancel;firstChild.close=close}else{if(options.onClick===void 0){options.onClick=options.defaultOnClick}}const defaultClose=options.onClick==="close"?close:cancel;const observer=new MutationObserver((()=>{if(!container.isConnected){defaultClose()}}));observer.observe(targetElement,{childList:true});disposables.add((()=>{observer.disconnect();control.dispose(container);container.remove()}));if(options.onClick){disposables.add(control.bindEvent(container,"click",(()=>__awaiter(this,void 0,void 0,(function*(){yield sleep(200);defaultClose()})))))}(_a=options.cancelToken)===null||_a===void 0?void 0:_a.registerForCancel(cancel);disposables.add(closeHandler(targetElement,container,defaultClose))}))}))}static showControl(target,options={}){const node=XNode.create(this,{});return this.show(target,node,options)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const atomControl=AtomControl.from(start);if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}});document.body.addEventListener("click",(e=>{let start=e.target;let popupFactory;let alignment;while(start){popupFactory=start.popupFactory;if(popupFactory){alignment=start.dataset.alignment;break}start=start.parentElement}if(!start){return}if(start.getAttribute("data-popup-open")){return}start.setAttribute("data-popup-open","true");const control=AtomControl.from(start);const app=control.app;const target=start;const element=control.element;let itemIndex;let data;if(control.items&&control.itemRenderer){while(start&&start!==element){itemIndex!==null&&itemIndex!==void 0?itemIndex:itemIndex=start.getAttribute("data-item-index");if(itemIndex){data=control.items[~~itemIndex];break}start=start.parentElement}}if(!data){data=new Proxy(target,{get(t,p,receiver){let s=target;while(s){const v=s.dataset[p];if(v!==void 0){return v}s=s.parentElement}}})}const node=popupFactory(data);const defaultOnClick=target.getAttribute("data-default-on-click");app.runAsync((()=>InlinePopup.show(target,node,{alignment,defaultOnClick})))}));ElementValueSetters["data-popup-class"]=(c,e,v)=>{e.popupFactory=v}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopup");System.register([],(function(_export,_context){"use strict";var MergeNode,empty;_export("default",void 0);return{setters:[],execute:function(){empty=[];_export("default",MergeNode=class MergeNode{static none(){return new MergeNode(empty)}static remove(){return new MergeNode([{remove:true}])}static childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* > "+name,parent,after}])}return new MergeNode(["* > "+name])}static nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* "+name,parent,after}])}return new MergeNode(["* "+name])}constructor(classes=empty){this.classes=classes}childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* > "+name,parent,after}])}return new MergeNode([...this.classes,"* > "+name])}nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* "+name,parent,after}])}return new MergeNode([...this.classes,"* "+name])}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/MergeNode");System.register([],(function(_export,_context){"use strict";var ItemPath,get;function*getFragments(path){const regex=/([^\=\:]+)\s*[\=\:]\s*((('[^\\']*(((\\')|(''))[^\\']*)*')|("[^\\"]*(((\\")|(""))[^\\"]*)*"))|([^\,\;]+))\s*[\,\;]?\s*/gim;let m;while((m=regex.exec(path))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}yield[m[1].trim(),m[2].trim()]}}_export("default",void 0);return{setters:[],execute:function(){get=(start,path)=>{let item=start;for(const iterator of path.split(".")){if(iterator==="$"){item=start;continue}item=item[iterator]}return item};_export("default",ItemPath=class ItemPath{static get(item,path){if(path.startsWith("$.")){return get(item,path)}if(/^[\{\"]/.test(path)){const json=JSON.parse(path);return json}const target={};this.build(item,path,target);return target}static build(item,path,target){for(let[key,value]of getFragments(path)){if(value.startsWith("$")){value=get(item,value);target[key]=value;continue}if(value.startsWith('"')){value=JSON.parse(value);target[key]=value;continue}if(value.startsWith("'")){value=value.substring(1,value.length-1);value=value.replace(/((\'\')|(\\\'))/,"'");target[key]=value;continue}if(value==="true"){target[key]=true;continue}if(value==="false"){target[key]=false;continue}if(value==="null"){target[key]=null;continue}target[key]=Number(value)}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ItemPath");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
566
566
|
display: none;
|
|
567
567
|
`.installGlobal("[data-ui-display=none]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/ui-display-none-style");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled,repeaterPopupCss;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){_export("repeaterPopupCss",repeaterPopupCss=styled.css`
|
|
568
568
|
min-width: 200px;
|
|
@@ -738,7 +738,7 @@ and limitations under the License.
|
|
|
738
738
|
}
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
-
`.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,apiPath,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/api/entity/")}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,AppRole,AppFileContentDispositionArray,AppFile,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEmail,MailboxContactTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,WebSiteChannel,LoginSession,TextDocument,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",["roleName"],{}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["accessID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{}));_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0}));_export("Configuration",Configuration=new Model("Configuration",["name"],{configValue:""}));_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false}));_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""}));_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""}));_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false}));_export("CachedItem",CachedItem=new Model("CachedItem",["itemID","keyHash"],{key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false}));_export("Domain",Domain=new Model("Domain",["domainID"],{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,external:false}));_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false}));_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0}));_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""}));_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,originalFileSize:0}));_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID"],{engagement:"",count:0}));_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""}));_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"}));_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{}));_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false}));_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{}));_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,requireApproval:false,subscriberCount:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,mute:false,status:"invited"}));_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))}));_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false}));_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false}));_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"}));_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0}));_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("UserPin",UserPin=new Model("UserPin",["pinID"],{}));_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false}));_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{}));_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{}));_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("WebSiteFolder",WebSiteFolder=new Model("WebSiteFolder",["folderID"],{isStatic:false,isModified:false}));_export("WebSiteFolderHost",WebSiteFolderHost=new Model("WebSiteFolderHost",["host"],{}));_export("WebSiteFolderVersion",WebSiteFolderVersion=new Model("WebSiteFolderVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""}));_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{}));_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""}));_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register([],(function(_export,_context){"use strict";var SocialMailApp,_a,socialMail;_export("default",void 0);return{setters:[],execute:function(){socialMail=(_a=window.socialMail)!==null&&_a!==void 0?_a:{path:"/",name:"Social Mail"};_export("default",SocialMailApp=class SocialMailApp{});SocialMailApp.config=socialMail}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxContact,UserPushSubscription,Sql,SocialMailApp,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(onlyHosted=false){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(HostedDomain);if(onlyHosted){q=q.where({},(p=>x=>x.external===false))}const hosted=yield q.include((x=>x.domain)).toArray();return hosted.map((x=>x.domain))}))}top({isChannel=false}={}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Mailbox);const{userID}=SocialMailApp.user;const top=yield q.include((x=>x.emailAddress)).where({isChannel},(p=>x=>x.isChannel===p.isChannel)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).toPagedList({size:3,count:false});yield this.updateNotify(top.items);return top.items}))}updateNotify(items){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!(items===null||items===void 0?void 0:items.length)){return}const{userID}=SocialMailApp.user;const ids=items.map((x=>x.mailboxID));const all=yield this.entityService.query(UserPushSubscription).where({ids,userID},(p=>x=>x.userID===p.userID&&Sql.in(x.mailboxID,p.ids)&&x.emailAddressID===null)).toArray();const map=new Map(all.map((x=>[x.mailboxID,x])));for(const iterator of items){iterator.notify=(_b=(_a=map.get(iterator.mailboxID))===null||_a===void 0?void 0:_a.notify)!==null&&_b!==void 0?_b:false}}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox);if(domainID){q=q.where({domainID},(p=>x=>x.domainID===p.domainID))}if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)))}}const all=yield q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken});yield this.updateNotify(all.items);return all}))}toggleNotify(m){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID}=m;let n=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();if(!n){const{userID}=SocialMailApp.user;n=UserPushSubscription.create({userID,mailboxID})}n.notify=!m.notify;yield this.entityService.save(n);m.notify=n.notify}))}get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({id},(p=>x=>x.mailboxID===p.id)).include((x=>[x.userMailboxes,x.syncTargets,x.emailAddress,x.domain.domain])).firstOrDefault()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){if(model.name){model.name=model.name.trim()}if(model.username){model.username=model.username.trim()}const cloner=this.entityService.cloner(model).include((x=>x.userMailboxes));yield this.entityService.save(cloner.copy);return model}))}saveContact(mc,retry=3){return __awaiter(this,void 0,void 0,(function*(){const{emailAddressText,mailboxID}=mc;const emailAddress=emailAddressText.trim().toLocaleLowerCase();const q=this.entityService.query(MailboxContact).where({mailboxID,emailAddress},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddress.emailAddress===p.emailAddress)).include((x=>x.emailAddress));const result=yield q.firstOrDefault();if(result){return result}try{yield this.entityService.save(mc);return yield q.firstOrDefault()}catch(error){if(retry--){return yield this.saveContact(mc,retry)}throw error}}))}saveSyncTarget(syncTarget){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(syncTarget).copy;yield this.entityService.save(cloner)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){return}if(/^timeout$/i.test(e.toString().trim())){console.warn(e);return}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});return}}yield ns.alert(e,"Error")}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,Bind,StringHelper,XNode,styled,checkClick,BindError,BindEmailError;function Form(_a,...nodes){var{"data-submit-event":submitEvent="submitForm","data-show-validation":showValidation="false","data-error-message":errorMessage="Please fix all validations"}=_a,a=__rest(_a,["data-submit-event","data-show-validation","data-error-message"]);return XNode.create("div",Object.assign({},a,{"data-submit-event":submitEvent,"data-form":"form","data-valid":"true","data-show-validation":showValidation,"data-error-message":errorMessage,"event-click":checkClick}),XNode.create("div",{class:"error-message",text:errorMessage}),...nodes)}_export("default",Form);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
741
|
+
`.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,apiPath,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/api/entity/")}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,AppRole,AppFileContentDispositionArray,AppFile,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEmail,MailboxContactTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,Store,StoreUser,StoreItem,StoreItemPrice,StoreOrderStatusArray,StoreOrder,StoreOrderItem,StoreItemTag,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,WebSiteChannel,WebSiteStore,LoginSession,TextDocument,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",["roleName"],{}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))}));_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["accessID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{}));_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,deleted:false}));_export("Configuration",Configuration=new Model("Configuration",["name"],{}));_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false}));_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""}));_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""}));_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false}));_export("CachedItem",CachedItem=new Model("CachedItem",["itemID","keyHash"],{key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false}));_export("Domain",Domain=new Model("Domain",["domainID"],{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,external:false}));_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false}));_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0}));_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""}));_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,emailSize:0,originalFileSize:0}));_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0}));_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""}));_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"}));_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{}));_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false}));_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{}));_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,requireApproval:false,subscriberCount:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,mute:false,status:"invited"}));_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))}));_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false}));_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false}));_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"}));_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0}));_export("Store",Store=new Model("Store",["storeID"],{name:""}));_export("StoreUser",StoreUser=new Model("StoreUser",["storeID","userID"],{}));_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",itemType:""}));_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),endDate:new DefaultFactory((()=>new DateTime)),currency:"",amount:0}));_export("StoreOrderStatusArray",StoreOrderStatusArray=[{label:"new",value:"new"},{label:"pending",value:"pending"},{label:"paid",value:"paid"},{label:"delivered",value:"delivered"},{label:"deleted",value:"deleted"}]);_export("StoreOrder",StoreOrder=new Model("StoreOrder",["orderID"],{orderNumber:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"new"}));_export("StoreOrderItem",StoreOrderItem=new Model("StoreOrderItem",["orderItemID"],{quantity:0,amount:0}));_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{}));_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime)),storage:0,maxStorage:0}));_export("UserPin",UserPin=new Model("UserPin",["pinID"],{}));_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false}));_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{}));_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{}));_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("WebSiteFolder",WebSiteFolder=new Model("WebSiteFolder",["folderID"],{isStatic:false,isTemplate:false,isModified:false}));_export("WebSiteFolderHost",WebSiteFolderHost=new Model("WebSiteFolderHost",["host"],{}));_export("WebSiteFolderVersion",WebSiteFolderVersion=new Model("WebSiteFolderVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""}));_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{}));_export("WebSiteStore",WebSiteStore=new Model("WebSiteStore",["folderID","storeID"],{}));_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""}));_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register([],(function(_export,_context){"use strict";var SocialMailApp,_a,socialMail;_export("default",void 0);return{setters:[],execute:function(){socialMail=(_a=window.socialMail)!==null&&_a!==void 0?_a:{path:"/",name:"Social Mail"};_export("default",SocialMailApp=class SocialMailApp{});SocialMailApp.config=socialMail}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxContact,UserPushSubscription,Sql,SocialMailApp,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(onlyHosted=false){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(HostedDomain);if(onlyHosted){q=q.where({},(p=>x=>x.external===false))}const hosted=yield q.include((x=>x.domain)).toArray();return hosted.map((x=>x.domain))}))}top({isChannel=false}={}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Mailbox);const{userID}=SocialMailApp.user;const top=yield q.include((x=>x.emailAddress)).where({isChannel},(p=>x=>x.isChannel===p.isChannel)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).toPagedList({size:3,count:false});yield this.updateNotify(top.items);return top.items}))}updateNotify(items){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!(items===null||items===void 0?void 0:items.length)){return}const{userID}=SocialMailApp.user;const ids=items.map((x=>x.mailboxID));const all=yield this.entityService.query(UserPushSubscription).where({ids,userID},(p=>x=>x.userID===p.userID&&Sql.in(x.mailboxID,p.ids)&&x.emailAddressID===null)).toArray();const map=new Map(all.map((x=>[x.mailboxID,x])));for(const iterator of items){iterator.notify=(_b=(_a=map.get(iterator.mailboxID))===null||_a===void 0?void 0:_a.notify)!==null&&_b!==void 0?_b:false}}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox);if(domainID){q=q.where({domainID},(p=>x=>x.domainID===p.domainID))}if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)))}}const all=yield q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken});yield this.updateNotify(all.items);return all}))}toggleNotify(m){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID}=m;let n=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();if(!n){const{userID}=SocialMailApp.user;n=UserPushSubscription.create({userID,mailboxID})}n.notify=!m.notify;yield this.entityService.save(n);m.notify=n.notify}))}get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({id},(p=>x=>x.mailboxID===p.id)).include((x=>[x.userMailboxes,x.syncTargets,x.emailAddress,x.domain.domain])).firstOrDefault()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){if(model.name){model.name=model.name.trim()}if(model.username){model.username=model.username.trim()}const cloner=this.entityService.cloner(model).include((x=>x.userMailboxes));yield this.entityService.save(cloner.copy);return model}))}saveContact(mc,retry=3){return __awaiter(this,void 0,void 0,(function*(){const{emailAddressText,mailboxID}=mc;const emailAddress=emailAddressText.trim().toLocaleLowerCase();const q=this.entityService.query(MailboxContact).where({mailboxID,emailAddress},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddress.emailAddress===p.emailAddress)).include((x=>x.emailAddress));const result=yield q.firstOrDefault();if(result){return result}try{yield this.entityService.save(mc);return yield q.firstOrDefault()}catch(error){if(retry--){return yield this.saveContact(mc,retry)}throw error}}))}saveSyncTarget(syncTarget){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(syncTarget).copy;yield this.entityService.save(cloner)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){return}if(/^timeout$/i.test(e.toString().trim())){console.warn(e);return}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});return}}yield ns.alert(e,"Error")}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,Bind,StringHelper,XNode,styled,checkClick,BindError,BindEmailError;function Form(_a,...nodes){var{"data-submit-event":submitEvent="submitForm","data-show-validation":showValidation="false","data-error-message":errorMessage="Please fix all validations"}=_a,a=__rest(_a,["data-submit-event","data-show-validation","data-error-message"]);return XNode.create("div",Object.assign({},a,{"data-submit-event":submitEvent,"data-form":"form","data-valid":"true","data-show-validation":showValidation,"data-error-message":errorMessage,"event-click":checkClick}),XNode.create("div",{class:"error-message",text:errorMessage}),...nodes)}_export("default",Form);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
742
742
|
display: flex;
|
|
743
743
|
flex-direction: column;
|
|
744
744
|
gap: var(--spacing, 5px);
|
|
@@ -934,7 +934,7 @@ and limitations under the License.
|
|
|
934
934
|
flex: 1 1 100%;
|
|
935
935
|
}
|
|
936
936
|
}
|
|
937
|
-
`.installGlobal("[data-check-box=check-box]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/checkbox-style");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/checkbox-style"],(function(_export,_context){"use strict";var __rest,XNode;function Checkbox(_a){var{checked,text}=_a,a=__rest(_a,["checked","text"]);return XNode.create("div",Object.assign({"data-check-box":"check-box"},a),XNode.create("label",null,XNode.create("input",{type:"checkbox",checked}),XNode.create("span",{text})))}_export("default",Checkbox);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesCheckboxStyle){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Checkbox");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([],(function(_export,_context){"use strict";var k,m,b,kb,mb,gb,tb,pb,toCompactFixed,toKMBString,toFileSize,formatNumber;return{setters:[],execute:function(){k=1e3;m=k*k;b=m*k;kb=1024;mb=kb*kb;gb=mb*kb;tb=gb*kb;pb=tb*kb;_export("toCompactFixed",toCompactFixed=(n,decimals)=>{let text=n.toFixed(decimals);if(decimals>0){while(text.endsWith("0")){text=text.substring(0,text.length-1)}if(text.endsWith(".")){text=text.substring(0,text.length-1)}}return text});_export("toKMBString",toKMBString=(n,decimals=0,def="")=>{if(!n){return def+""}if(n>=b){return toCompactFixed(n/b,decimals)+"B"}if(n>=m){return toCompactFixed(n/m,decimals)+"M"}if(n>=k){return toCompactFixed(n/k,decimals)+"K"}return toCompactFixed(n,0)});_export("toFileSize",toFileSize=(n,decimals=0,def="")=>{n=Number(n);if(n===0){return"0 B"}if(!n){return def+""}if(n>=pb){return toCompactFixed(n/pb,decimals)+" PB"}if(n>=tb){return toCompactFixed(n/tb,decimals)+" TB"}if(n>=gb){return toCompactFixed(n/gb,decimals)+" GB"}if(n>=mb){return toCompactFixed(n/mb,decimals)+" MB"}if(n>=kb){return toCompactFixed(n/kb,decimals)+" KB"}return toCompactFixed(n,0)});_export("formatNumber",formatNumber=(n,{prefix="",suffix="",def="",numberToText=toKMBString}={})=>{if(!n){return def}const text=numberToText(n);return prefix+text+suffix})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/NumberFormats");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(),onEmailForward:EventScope.create(),onEmailForwardAsAttachment:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","./http/JsonError"],(function(_export,_context){"use strict";var __awaiter,JsonError,FetchBuilder;function buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}_export({buildUrl,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_httpJsonError){JsonError=_httpJsonError.default}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}cancelToken(cancelToken){const ac=new AbortController;cancelToken.registerForCancel((()=>ac.abort()));return this.signal(ac.signal)}signal(signal){return this.append({signal})}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}responseAsText(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.text()}))}responseAsBlob(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.blob()}))}responseAsJson(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.json()}))}response(){return fetch(this.request.url,this.request)}ensureSuccess(r){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){if(r.status<=300){return}const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();throw new JsonError((_d=(_c=(_b=(_a=json.title)!==null&&_a!==void 0?_a:json.detail)!==null&&_b!==void 0?_b:json.message)!==null&&_c!==void 0?_c:json.exceptionMessage)!==null&&_d!==void 0?_d:"Json Server Error",json)}const text=yield r.text();throw new Error(`Failed for ${this.request.url}\n${text}`)}))}append(r){return new FetchBuilder(Object.assign(Object.assign({},this.request),r))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxContact,UserPushSubscription,Sql,CommonEvents,FetchBuilder,apiPath,MailService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_commonSql){Sql=_commonSql.Sql},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){MailService=class MailService{mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){const mb=yield this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>x.emailAddress)).firstOrDefault();const notify=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();mb.notify=!!notify;return mb}))}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));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)));q=q.orderByDescending({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.emailAddress.name,p.likeSearch))).thenByDescending((x=>x.dateUpdated))}else{q=q.orderByDescending((x=>x.dateUpdated))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){const{mimeFileID,originalFileID}=email;if(mimeFileID){return FetchBuilder.get(apiPath(`/api/emails/logs/${mimeFileID}/${email.emailID}.eml`)).responseAsText()}const file=yield this.entityService.query(AppFile).where({originalFileID},(p=>x=>x.appFileID===p.originalFileID)).firstOrDefault();return FetchBuilder.get(file.url).responseAsText()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){const{textBody}=email;if(textBody&&!email.subject){const lines=textBody.split("\n");for(const line of lines){if(!line.trim()){continue}email.subject||(email.subject=line.trim().substring(0,80));break}}for(const iterator of email.recipients){if(iterator.emailAddressText){iterator.emailAddressText=iterator.emailAddressText.trim()}}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(["@web-atoms/core/dist/style/styled","../PageNavigator","./MobileApp","@web-atoms/core/dist/web/core/AtomUI","../basic/AtomRepeater"],(function(_export,_context){"use strict";var styled,PageNavigator,ContentPage,isMobileView,descendentElementIterator,AtomRepeater,MasterDetailPage,findItem;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_MobileApp){ContentPage=_MobileApp.ContentPage;isMobileView=_MobileApp.isMobileView},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default}],execute:function(){styled.css`
|
|
937
|
+
`.installGlobal("[data-check-box=check-box]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/checkbox-style");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/checkbox-style"],(function(_export,_context){"use strict";var __rest,XNode;function Checkbox(_a){var{checked,text}=_a,a=__rest(_a,["checked","text"]);return XNode.create("div",Object.assign({"data-check-box":"check-box"},a),XNode.create("label",null,XNode.create("input",{type:"checkbox",checked}),XNode.create("span",{text})))}_export("default",Checkbox);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesCheckboxStyle){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Checkbox");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([],(function(_export,_context){"use strict";var k,m,b,kb,mb,gb,tb,pb,toCompactFixed,toKMBString,toFileSize,formatNumber;return{setters:[],execute:function(){k=1e3;m=k*k;b=m*k;kb=1024;mb=kb*kb;gb=mb*kb;tb=gb*kb;pb=tb*kb;_export("toCompactFixed",toCompactFixed=(n,decimals)=>{let text=n.toFixed(decimals);if(decimals>0){while(text.endsWith("0")){text=text.substring(0,text.length-1)}if(text.endsWith(".")){text=text.substring(0,text.length-1)}}return text});_export("toKMBString",toKMBString=(n,decimals=0,def="")=>{if(!n){return def+""}if(n>=b){return toCompactFixed(n/b,decimals)+"B"}if(n>=m){return toCompactFixed(n/m,decimals)+"M"}if(n>=k){return toCompactFixed(n/k,decimals)+"K"}return toCompactFixed(n,0)});_export("toFileSize",toFileSize=(n,decimals=0,def="")=>{n=Number(n);if(n===0){return"0 B"}if(!n){return def+""}if(n>=pb){return toCompactFixed(n/pb,decimals)+" PB"}if(n>=tb){return toCompactFixed(n/tb,decimals)+" TB"}if(n>=gb){return toCompactFixed(n/gb,decimals)+" GB"}if(n>=mb){return toCompactFixed(n/mb,decimals)+" MB"}if(n>=kb){return toCompactFixed(n/kb,decimals)+" KB"}return toCompactFixed(n,0)});_export("formatNumber",formatNumber=(n,{prefix="",suffix="",def="",numberToText=toKMBString}={})=>{if(!n){return def}const text=numberToText(n);return prefix+text+suffix})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/NumberFormats");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(),onEmailForward:EventScope.create(),onEmailForwardAsAttachment:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","./http/JsonError"],(function(_export,_context){"use strict";var __awaiter,JsonError,FetchBuilder;function buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}_export({buildUrl,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_httpJsonError){JsonError=_httpJsonError.default}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}cancelToken(cancelToken){const ac=new AbortController;cancelToken.registerForCancel((()=>ac.abort()));return this.signal(ac.signal)}signal(signal){return this.append({signal})}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}responseAsText(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.text()}))}responseAsBlob(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.blob()}))}responseAsJson(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.json()}))}response(){return fetch(this.request.url,this.request)}ensureSuccess(r){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){if(r.status<=300){return}const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();throw new JsonError((_d=(_c=(_b=(_a=json.title)!==null&&_a!==void 0?_a:json.detail)!==null&&_b!==void 0?_b:json.message)!==null&&_c!==void 0?_c:json.exceptionMessage)!==null&&_d!==void 0?_d:"Json Server Error",json)}const text=yield r.text();throw new Error(`Failed for ${this.request.url}\n${text}`)}))}append(r){return new FetchBuilder(Object.assign(Object.assign({},this.request),r))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxContact,UserPushSubscription,Sql,CommonEvents,FetchBuilder,apiPath,MailService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_commonSql){Sql=_commonSql.Sql},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){MailService=class MailService{mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){const mb=yield this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>x.emailAddress)).firstOrDefault();const notify=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();mb.notify=!!notify;return mb}))}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));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)));q=q.orderByDescending({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.emailAddress.name,p.likeSearch))).thenByDescending((x=>x.dateUpdated))}else{q=q.orderByDescending((x=>x.dateUpdated))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){const{mimeFileID}=email;return FetchBuilder.get(apiPath(`/api/emails/logs/${mimeFileID}/${email.emailID}.eml`)).responseAsText()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){const{textBody}=email;if(textBody&&!email.subject){const lines=textBody.split("\n");for(const line of lines){if(!line.trim()){continue}email.subject||(email.subject=line.trim().substring(0,80));break}}for(const iterator of email.recipients){if(iterator.emailAddressText){iterator.emailAddressText=iterator.emailAddressText.trim()}}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(["@web-atoms/core/dist/style/styled","../PageNavigator","./MobileApp","@web-atoms/core/dist/web/core/AtomUI","../basic/AtomRepeater"],(function(_export,_context){"use strict";var styled,PageNavigator,ContentPage,isMobileView,descendentElementIterator,AtomRepeater,MasterDetailPage,findItem;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_MobileApp){ContentPage=_MobileApp.ContentPage;isMobileView=_MobileApp.isMobileView},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default}],execute:function(){styled.css`
|
|
938
938
|
& > [data-page-element=content] {
|
|
939
939
|
display: grid;
|
|
940
940
|
& > * {
|
|
@@ -993,7 +993,7 @@ and limitations under the License.
|
|
|
993
993
|
}
|
|
994
994
|
}
|
|
995
995
|
}
|
|
996
|
-
`.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.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/entity/dist/models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,TaskManager,FetchBuilder,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){EmailContentDownloader=class EmailContentDownloader extends TaskManager{download(mce){return this.downloadFromUrl(mce.htmlBodyUrl,mce.email)}downloadFromUrl(url,email){return __awaiter(this,void 0,void 0,(function*(){const cache=yield window.caches.open("email-content-cache");const cacheKey=new URL(url,location.href);const content=yield cache.match(cacheKey);if(content){return email.htmlBody=yield content.text()}return yield this.run((()=>__awaiter(this,void 0,void 0,(function*(){for(let i=0;i<3;i++){try{const text=yield FetchBuilder.get(url).responseAsText();yield cache.put(cacheKey,new Response(text,{headers:{"cache-control":"public, max-age=86000"}}));return email.htmlBody=text}catch(error){console.error(error)}}}))))}))}};EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");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","../../../../services/email/EmailContentDownloader","./EngagementService","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,EmailContentDownloader,EngagementService,apiPath,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;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},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{var _a;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)){let cid=iterator.getAttribute("data-content-id");if(cid){const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);continue}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",apiPath(`/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&&thread.mailboxID!==((_a=thread.email)===null||_a===void 0?void 0:_a.senderID)){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})));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,saveAttachments=true,cancelToken){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}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 mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(this.downloadEmailContent(mce));tasks.push(this.engagementService.downloadEngagements(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)}))}downloadEmailContent(mce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;if(email.replyCount){const children=yield this.entityService.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=[]}yield this.emailContentDownloader.download(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@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([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
996
|
+
`.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.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/entity/dist/models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,TaskManager,FetchBuilder,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){EmailContentDownloader=class EmailContentDownloader extends TaskManager{download(mce){return this.downloadFromUrl(mce.htmlBodyUrl,mce.email)}downloadFromUrl(url,email){return __awaiter(this,void 0,void 0,(function*(){const cache=yield window.caches.open("email-content-cache");const cacheKey=new URL(url,location.href);const content=yield cache.match(cacheKey);if(content){return email.htmlBody=yield content.text()}return yield this.run((()=>__awaiter(this,void 0,void 0,(function*(){for(let i=0;i<3;i++){try{const text=yield FetchBuilder.get(url).responseAsText();yield cache.put(cacheKey,new Response(text,{headers:{"cache-control":"public, max-age=86000"}}));return email.htmlBody=text}catch(error){console.error(error)}}}))))}))}};EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");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","../../../../services/email/EmailContentDownloader","./EngagementService","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,EmailContentDownloader,EngagementService,apiPath,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;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},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{var _a;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)){let cid=iterator.getAttribute("data-content-id");if(cid){const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);continue}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",apiPath(`/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&&thread.mailboxID!==((_a=thread.email)===null||_a===void 0?void 0:_a.senderID)){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})));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,saveAttachments=true,cancelToken){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}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)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});const tasks=[];const d=BusyProgress.create();try{for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(this.downloadEmailContent(mce));tasks.push(this.engagementService.downloadEngagements(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)}))}downloadEmailContent(mce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;if(email.replyCount){const children=yield this.entityService.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=[]}yield this.emailContentDownloader.download(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@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([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
997
997
|
|
|
998
998
|
display: grid;
|
|
999
999
|
grid-template-rows: auto 1fr;
|
|
@@ -1133,7 +1133,7 @@ and limitations under the License.
|
|
|
1133
1133
|
width: 100%;
|
|
1134
1134
|
}
|
|
1135
1135
|
|
|
1136
|
-
`.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService extends TaskManager{constructor(){super();this.rateLimit=4;document.body.addEventListener("uploadRequested",(ce=>{const{target,detail:{files,extra,uploadEvent}}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});target.dispatchEvent(new CustomEvent(StringHelper.fromHyphenToCamel(uploadEvent),{detail,bubbles:true}))}))))}))}uploadWithProgress(files,extra){return __awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});return detail.files}))}sha256(blob){return __awaiter(this,void 0,void 0,(function*(){const msgBuffer=yield blob.arrayBuffer();const hashBuffer=yield crypto.subtle.digest("SHA-256",msgBuffer);const hashArray=Array.from(new Uint8Array(hashBuffer));const hashHex=hashArray.map((b=>b.toString(16).padStart(2,"0"))).join("");return hashHex}))}uploadFileParts(file,extra,cancelToken,progress){return __awaiter(this,void 0,void 0,(function*(){let size=file.size;const parts=[];const tasks=[];const maxSize=4*1024*1024;let start=0;const fud=new FileUploader;while(size>0){const blobSize=Math.min(maxSize,file.size-start);const part=new File([file.slice(start,start+blobSize)],"file.dat");size-=blobSize;start+=blobSize;const uploadRequest=fud.upload({url:apiPath("/api/tmp/upload"),file:part,cancelToken,progress:()=>{const done=parts.reduce(((pv,cv)=>pv+cv.done),0)||0;progress===null||progress===void 0?void 0:progress(done/parts.length)}});parts.push(uploadRequest);tasks.push(uploadRequest.promise)}const tempUrls=yield Promise.all(tasks);const tempKeys=tempUrls.map((x=>x.key));const name=file.name;const{parentID,appFileID,folder}=extra;const appFile=yield FetchBuilder.post(apiPath("/api/upload")).form("name",name).form("tempKeys",JSON.stringify(tempKeys)).form("contentType",file.type).query("parentID",parentID).query("appFileID",appFileID).query("folder",folder).responseAsJson();return{url:appFile.url,downloadUrl:appFile.url,file,contentType:appFile.contentType,fileContentID:appFile.fileContentID,appFileID:appFile.appFileID}}))}uploadFile(file,extra,ct,progress){return __awaiter(this,void 0,void 0,(function*(){let folder=void 0;if(file.webkitRelativePath){const folders=file.webkitRelativePath.split("/");folders.pop();if(folders.length){folder=folders.join("/")}}if(typeof extra==="string"){extra=JSON.parse(extra)}const sha256=yield this.sha256(file);if(extra===null||extra===void 0?void 0:extra.parentID){const existing=yield this.entityService.query(AppFile,"children",extra.parentID,folder?folder+"/"+file.name:file.name,sha256).firstOrDefault();if(existing){const{appFileID,url}=existing;return{appFileID,file,url}}}if(file.size>4*1024*1024){extra.folder=folder;return yield this.uploadFileParts(file,extra,ct,progress)}return new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);body.append("sha256",sha256);const xhr=new XMLHttpRequest;const onError=()=>{reject(new Error(xhr.responseText||"Error"))};ct===null||ct===void 0?void 0:ct.registerForCancel((()=>xhr.abort()));xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.upload.addEventListener("timeout",onError);xhr.upload.addEventListener("error",onError);xhr.upload.addEventListener("abort",onError);xhr.addEventListener("timeout",onError);xhr.addEventListener("abort",onError);xhr.addEventListener("error",onError);xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.addEventListener("load",(()=>{if(xhr.status<=300){const r=Object.assign(Object.assign({},JSON.parse(xhr.responseText)),{file});resolve(r)}}));let postUrl=apiPath("/api/upload");const s=new URLSearchParams;if(extra){for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];if(element){s.append(key,element)}}}}if(folder){s.append("folder",folder)}postUrl+="?"+s.toString();xhr.open("POST",postUrl,true);xhr.send(body)}))}))}upload(files,extra,ct){const tasks=[];const upload={total:0,tasks,progress:0,error:""};for(const file of files){upload.total+=file.size;const uploadFile={name:file.name,error:"",progress:0};uploadFile.promise=this.run((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;let lastError;for(let i=0;i<3;i++){try{uploadFile.progress=.01;const r=yield this.uploadFile(file,extra,ct,(n=>uploadFile.progress=n));upload.progress+=r.file.size;setTimeout((()=>tasks.remove(uploadFile)),500);upload.error="";lastError=null;return r}catch(error){lastError=`${(_a=file.webkitRelativePath)!==null&&_a!==void 0?_a:""}/${file.name} failed to upload.\n${(_b=error.stack)!==null&&_b!==void 0?_b:error}`;uploadFile.error=lastError}}if(lastError){upload.error+="\n"+lastError}}))));tasks.push(uploadFile)}return upload}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",void 0);__decorate([Inject,__metadata("design:type",EntityService)],LocalFileService.prototype,"entityService",void 0);LocalFileService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],LocalFileService);_export("default",LocalFileService);FileUploadWindow=class FileUploadWindow extends PopupWindow{constructor(){super(...arguments);this.parameters={}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Uploading...";this.closeWarning="Are you sure you want to cancel the upload?";this.bindEvent(window,"backButton",(e=>__awaiter(this,void 0,void 0,(function*(){var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();yield this.requestCancel()}))),null,{capture:true});const task=this.localFileService.upload(this.parameters.files,this.parameters.extra,this.cancelToken);this.files=task.tasks;this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("progress",{min:0,max:task.total,value:Bind.source(task,(x=>x.source.progress))}));this.render(XNode.create("div",{"data-overflow":"auto","style-max-height":"500px","style-max-width":"400px"},XNode.create(AtomRepeater,{"data-layout":"vertical-flex-stretch-items",items:this.files,itemRenderer:file=>XNode.create("div",{"data-attachment-file":"file"},XNode.create("div",{"data-element":"file-name",text:file.name}),XNode.create("progress",{"style-display":Bind.source(file,(x=>x.source.progress>0)),min:0,max:1,value:Bind.source(file,(x=>x.source.progress))}),XNode.create("div",{"data-element":"error","data-color":"red",text:Bind.source(file,(x=>x.source.error))}))})));try{const ct=new CancelToken;this.registerDisposable({dispose:()=>{ct.cancel()}});const tasks=this.files.map((x=>x.promise));const files=yield Promise.all(tasks);const extra=this.parameters.extra;this.close({files,extra})}catch(error){if(CancelToken.isCancelled(error)){this.cancel(error);return}yield PopupService.alert({message:error});this.cancel(error)}}))}};__decorate([InjectProperty,__metadata("design:type",LocalFileService)],FileUploadWindow.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/LocalFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","../../../services/files/LocalFileService","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,InlineHtmlEditor,Toolbar,Bold,Italic,Underline,StrikeThrough,Align,HorizontalRule,Separator,Headings,ChangeColor,ChangeFont,ChangeFontSize,NumberedList,UnorderedList,IndentLess,IndentMore,AddLink,Unlink,RemoveFormat,Source,UploadEvent,LocalFileService,acceptDocumentAndMedia,AtomControl,InjectProperty,StringHelper,styled,descendentElementIterator,MailHtmlEditor,link,onAttachImage,onAttachInlineImage,css;function AttachFile({accept=acceptDocumentAndMedia,maxSize=1024*1024*10,authorize=true,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,multiple:false,ariaLabel})),XNode.create("i",{class:"ri-attachment-2"}))}function AttachImage({accept="image/*",maxSize=1024*1024*5,authorize=true,inlineImage=false,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,upload:!inlineImage,multiple:false,ariaLabel,"event-files-available":inlineImage?onAttachInlineImage:onAttachImage})),XNode.create("i",{class:"ri-image-add-fill"}))}function InlineHtmlEditorWithToolbar(a){var _a;(_a=a.inlineImage)!==null&&_a!==void 0?_a:a.inlineImage=false;const toolbar=()=>XNode.create("div",null,XNode.create(Toolbar,null,XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,null),XNode.create(Separator,null),XNode.create(Headings,null),XNode.create(ChangeColor,null),XNode.create(HorizontalRule,null),XNode.create(Separator,null),XNode.create(ChangeFont,null),XNode.create(ChangeFontSize,null),XNode.create(Separator,null),XNode.create(NumberedList,null),XNode.create(UnorderedList,null),XNode.create(IndentLess,null),XNode.create(IndentMore,null),XNode.create(Separator,null)),XNode.create(Toolbar,null,XNode.create(AttachImage,{inlineImage:a.inlineImage}),XNode.create(AttachFile,null),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null),XNode.create(RemoveFormat,null),XNode.create(Separator,null),XNode.create(Source,null)));return XNode.create(MailHtmlEditor,Object.assign({},a,{toolbar}))}_export({MailHtmlEditor:void 0,default:InlineHtmlEditorWithToolbar});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistHtmlEditorInlineHtmlEditor){InlineHtmlEditor=_webAtomsWebControlsDistHtmlEditorInlineHtmlEditor.default},function(_webAtomsWebControlsDistHtmlEditorCommandsToolbar){Toolbar=_webAtomsWebControlsDistHtmlEditorCommandsToolbar.default},function(_webAtomsWebControlsDistHtmlEditorCommandsBold){Bold=_webAtomsWebControlsDistHtmlEditorCommandsBold.default},function(_webAtomsWebControlsDistHtmlEditorCommandsItalic){Italic=_webAtomsWebControlsDistHtmlEditorCommandsItalic.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnderline){Underline=_webAtomsWebControlsDistHtmlEditorCommandsUnderline.default},function(_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough){StrikeThrough=_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAlign){Align=_webAtomsWebControlsDistHtmlEditorCommandsAlign.default},function(_webAtomsWebControlsDistHtmlEditorCommandsHorizontalRule){HorizontalRule=_webAtomsWebControlsDistHtmlEditorCommandsHorizontalRule.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSeparator){Separator=_webAtomsWebControlsDistHtmlEditorCommandsSeparator.default},function(_webAtomsWebControlsDistHtmlEditorCommandsHeadings){Headings=_webAtomsWebControlsDistHtmlEditorCommandsHeadings.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeColor){ChangeColor=_webAtomsWebControlsDistHtmlEditorCommandsChangeColor.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeFont){ChangeFont=_webAtomsWebControlsDistHtmlEditorCommandsChangeFont.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeFontSize){ChangeFontSize=_webAtomsWebControlsDistHtmlEditorCommandsChangeFontSize.default},function(_webAtomsWebControlsDistHtmlEditorCommandsNumberedList){NumberedList=_webAtomsWebControlsDistHtmlEditorCommandsNumberedList.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnorderedList){UnorderedList=_webAtomsWebControlsDistHtmlEditorCommandsUnorderedList.default},function(_webAtomsWebControlsDistHtmlEditorCommandsIndentLess){IndentLess=_webAtomsWebControlsDistHtmlEditorCommandsIndentLess.default},function(_webAtomsWebControlsDistHtmlEditorCommandsIndentMore){IndentMore=_webAtomsWebControlsDistHtmlEditorCommandsIndentMore.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAddLink){AddLink=_webAtomsWebControlsDistHtmlEditorCommandsAddLink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnlink){Unlink=_webAtomsWebControlsDistHtmlEditorCommandsUnlink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsRemoveFormat){RemoveFormat=_webAtomsWebControlsDistHtmlEditorCommandsRemoveFormat.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSource){Source=_webAtomsWebControlsDistHtmlEditorCommandsSource.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default;acceptDocumentAndMedia=_servicesFilesLocalFileService.acceptDocumentAndMedia},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator}],execute:function(){link=document.createElement("link");link.href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css";link.rel="preload";link.as="style";link.onload=()=>{link.onload=null;link.rel="stylesheet"};document.head.appendChild(link);onAttachImage=ce=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b;const c=AtomControl.from(ce.target);if(!((_b=(_a=ce.detail)===null||_a===void 0?void 0:_a.files)===null||_b===void 0?void 0:_b.length)){return}const file=ce.detail.files[0];file.inline=true;c.executeCommand("insertHTML",void 0,`<div><img data-content="data-url" data-content-id=${file.appFileID} src="${file.url}" style='max-height: 700px;'/></div>`)}));onAttachInlineImage=ce=>__awaiter(void 0,void 0,void 0,(function*(){var _c,_d;const c=AtomControl.from(ce.target);if(!((_d=(_c=ce.detail)===null||_c===void 0?void 0:_c.files)===null||_d===void 0?void 0:_d.length)){return}const file=ce.detail.files[0];const reader=new FileReader;reader.onload=()=>{c.executeCommand("insertHTML",void 0,`<div><img\n data-content="data-url"\n src="${reader.result}" style='max-height: 700px;'/>\n </div>`)};reader.readAsDataURL(file)}));css=styled.css`
|
|
1136
|
+
`.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService extends TaskManager{constructor(){super();this.rateLimit=4;document.body.addEventListener("uploadRequested",(ce=>{const{target,detail:{files,extra,uploadEvent}}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});target.dispatchEvent(new CustomEvent(StringHelper.fromHyphenToCamel(uploadEvent),{detail,bubbles:true}))}))))}))}uploadWithProgress(files,extra){return __awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});return detail.files}))}sha256(blob){return __awaiter(this,void 0,void 0,(function*(){const msgBuffer=yield blob.arrayBuffer();const hashBuffer=yield crypto.subtle.digest("SHA-256",msgBuffer);const hashArray=Array.from(new Uint8Array(hashBuffer));const hashHex=hashArray.map((b=>b.toString(16).padStart(2,"0"))).join("");return hashHex}))}uploadFileParts(file,extra,cancelToken,progress){return __awaiter(this,void 0,void 0,(function*(){let size=file.size;const parts=[];const tasks=[];const maxSize=4*1024*1024;let start=0;const fud=new FileUploader;while(size>0){const blobSize=Math.min(maxSize,file.size-start);const part=new File([file.slice(start,start+blobSize)],"file.dat");size-=blobSize;start+=blobSize;const uploadRequest=fud.upload({url:apiPath("/api/tmp/upload"),file:part,cancelToken,progress:()=>{const done=parts.reduce(((pv,cv)=>pv+cv.done),0)||0;progress===null||progress===void 0?void 0:progress(done/parts.length)}});parts.push(uploadRequest);tasks.push(uploadRequest.promise)}const tempUrls=yield Promise.all(tasks);const tempKeys=tempUrls.map((x=>x.key));const name=file.name;const{parentID,appFileID,folder}=extra;const appFile=yield FetchBuilder.post(apiPath("/api/upload")).form("name",name).form("tempKeys",JSON.stringify(tempKeys)).form("contentType",file.type).query("parentID",parentID).query("appFileID",appFileID).query("folder",folder).responseAsJson();return{url:appFile.url,downloadUrl:appFile.url,file,contentType:appFile.contentType,fileContentID:appFile.fileContentID,appFileID:appFile.appFileID}}))}uploadFile(file,extra,ct,progress){return __awaiter(this,void 0,void 0,(function*(){let folder=void 0;if(file.webkitRelativePath){const folders=file.webkitRelativePath.split("/");folders.pop();if(folders.length){folder=folders.join("/")}}if(typeof extra==="string"){extra=JSON.parse(extra)}const sha256=yield this.sha256(file);if(extra===null||extra===void 0?void 0:extra.parentID){const existing=yield this.entityService.query(AppFile,"children",extra.parentID,folder?folder+"/"+file.name:file.name,sha256).firstOrDefault();if(existing){const{appFileID,url}=existing;return{appFileID,file,url}}}if(file.size>4*1024*1024){if(folder){extra!==null&&extra!==void 0?extra:extra={};extra.folder=folder}return yield this.uploadFileParts(file,extra,ct,progress)}return new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);body.append("sha256",sha256);const xhr=new XMLHttpRequest;const onError=()=>{reject(new Error(xhr.responseText||"Error"))};ct===null||ct===void 0?void 0:ct.registerForCancel((()=>xhr.abort()));xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.upload.addEventListener("timeout",onError);xhr.upload.addEventListener("error",onError);xhr.upload.addEventListener("abort",onError);xhr.addEventListener("timeout",onError);xhr.addEventListener("abort",onError);xhr.addEventListener("error",onError);xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.addEventListener("load",(()=>{if(xhr.status<=300){const r=Object.assign(Object.assign({},JSON.parse(xhr.responseText)),{file});resolve(r)}}));let postUrl=apiPath("/api/upload");const s=new URLSearchParams;if(extra){for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];if(element){s.append(key,element)}}}}if(folder){s.append("folder",folder)}postUrl+="?"+s.toString();xhr.open("POST",postUrl,true);xhr.send(body)}))}))}upload(files,extra,ct){const tasks=[];const upload={total:0,tasks,progress:0,error:""};for(const file of files){upload.total+=file.size;const uploadFile={name:file.name,error:"",progress:0};uploadFile.promise=this.run((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;let lastError;for(let i=0;i<3;i++){try{uploadFile.progress=.01;const r=yield this.uploadFile(file,extra,ct,(n=>uploadFile.progress=n));upload.progress+=r.file.size;setTimeout((()=>tasks.remove(uploadFile)),500);upload.error="";lastError=null;return r}catch(error){lastError=`${(_a=file.webkitRelativePath)!==null&&_a!==void 0?_a:""}/${file.name} failed to upload.\n${(_b=error.stack)!==null&&_b!==void 0?_b:error}`;uploadFile.error=lastError}}if(lastError){upload.error+="\n"+lastError}}))));tasks.push(uploadFile)}return upload}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",void 0);__decorate([Inject,__metadata("design:type",EntityService)],LocalFileService.prototype,"entityService",void 0);LocalFileService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],LocalFileService);_export("default",LocalFileService);FileUploadWindow=class FileUploadWindow extends PopupWindow{constructor(){super(...arguments);this.parameters={}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Uploading...";this.closeWarning="Are you sure you want to cancel the upload?";this.bindEvent(window,"backButton",(e=>__awaiter(this,void 0,void 0,(function*(){var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();yield this.requestCancel()}))),null,{capture:true});const task=this.localFileService.upload(this.parameters.files,this.parameters.extra,this.cancelToken);this.files=task.tasks;this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("progress",{min:0,max:task.total,value:Bind.source(task,(x=>x.source.progress))}));this.render(XNode.create("div",{"data-overflow":"auto","style-max-height":"500px","style-max-width":"400px"},XNode.create(AtomRepeater,{"data-layout":"vertical-flex-stretch-items",items:this.files,itemRenderer:file=>XNode.create("div",{"data-attachment-file":"file"},XNode.create("div",{"data-element":"file-name",text:file.name}),XNode.create("progress",{"style-display":Bind.source(file,(x=>x.source.progress>0)),min:0,max:1,value:Bind.source(file,(x=>x.source.progress))}),XNode.create("div",{"data-element":"error","data-color":"red",text:Bind.source(file,(x=>x.source.error))}))})));try{const ct=new CancelToken;this.registerDisposable({dispose:()=>{ct.cancel()}});const tasks=this.files.map((x=>x.promise));const files=yield Promise.all(tasks);const extra=this.parameters.extra;this.close({files,extra})}catch(error){if(CancelToken.isCancelled(error)){this.cancel(error);return}yield PopupService.alert({message:error});this.cancel(error)}}))}};__decorate([InjectProperty,__metadata("design:type",LocalFileService)],FileUploadWindow.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/LocalFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","../../../services/files/LocalFileService","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,InlineHtmlEditor,Toolbar,Bold,Italic,Underline,StrikeThrough,Align,HorizontalRule,Separator,Headings,ChangeColor,ChangeFont,ChangeFontSize,NumberedList,UnorderedList,IndentLess,IndentMore,AddLink,Unlink,RemoveFormat,Source,UploadEvent,LocalFileService,acceptDocumentAndMedia,AtomControl,InjectProperty,StringHelper,styled,descendentElementIterator,MailHtmlEditor,link,onAttachImage,onAttachInlineImage,css;function AttachFile({accept=acceptDocumentAndMedia,maxSize=1024*1024*10,authorize=true,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,multiple:false,ariaLabel})),XNode.create("i",{class:"ri-attachment-2"}))}function AttachImage({accept="image/*",maxSize=1024*1024*5,authorize=true,inlineImage=false,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,upload:!inlineImage,multiple:false,ariaLabel,"event-files-available":inlineImage?onAttachInlineImage:onAttachImage})),XNode.create("i",{class:"ri-image-add-fill"}))}function InlineHtmlEditorWithToolbar(a){var _a;(_a=a.inlineImage)!==null&&_a!==void 0?_a:a.inlineImage=false;const toolbar=()=>XNode.create("div",null,XNode.create(Toolbar,null,XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,null),XNode.create(Separator,null),XNode.create(Headings,null),XNode.create(ChangeColor,null),XNode.create(HorizontalRule,null),XNode.create(Separator,null),XNode.create(ChangeFont,null),XNode.create(ChangeFontSize,null),XNode.create(Separator,null),XNode.create(NumberedList,null),XNode.create(UnorderedList,null),XNode.create(IndentLess,null),XNode.create(IndentMore,null),XNode.create(Separator,null)),XNode.create(Toolbar,null,XNode.create(AttachImage,{inlineImage:a.inlineImage}),XNode.create(AttachFile,null),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null),XNode.create(RemoveFormat,null),XNode.create(Separator,null),XNode.create(Source,null)));return XNode.create(MailHtmlEditor,Object.assign({},a,{toolbar}))}_export({MailHtmlEditor:void 0,default:InlineHtmlEditorWithToolbar});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistHtmlEditorInlineHtmlEditor){InlineHtmlEditor=_webAtomsWebControlsDistHtmlEditorInlineHtmlEditor.default},function(_webAtomsWebControlsDistHtmlEditorCommandsToolbar){Toolbar=_webAtomsWebControlsDistHtmlEditorCommandsToolbar.default},function(_webAtomsWebControlsDistHtmlEditorCommandsBold){Bold=_webAtomsWebControlsDistHtmlEditorCommandsBold.default},function(_webAtomsWebControlsDistHtmlEditorCommandsItalic){Italic=_webAtomsWebControlsDistHtmlEditorCommandsItalic.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnderline){Underline=_webAtomsWebControlsDistHtmlEditorCommandsUnderline.default},function(_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough){StrikeThrough=_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAlign){Align=_webAtomsWebControlsDistHtmlEditorCommandsAlign.default},function(_webAtomsWebControlsDistHtmlEditorCommandsHorizontalRule){HorizontalRule=_webAtomsWebControlsDistHtmlEditorCommandsHorizontalRule.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSeparator){Separator=_webAtomsWebControlsDistHtmlEditorCommandsSeparator.default},function(_webAtomsWebControlsDistHtmlEditorCommandsHeadings){Headings=_webAtomsWebControlsDistHtmlEditorCommandsHeadings.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeColor){ChangeColor=_webAtomsWebControlsDistHtmlEditorCommandsChangeColor.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeFont){ChangeFont=_webAtomsWebControlsDistHtmlEditorCommandsChangeFont.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeFontSize){ChangeFontSize=_webAtomsWebControlsDistHtmlEditorCommandsChangeFontSize.default},function(_webAtomsWebControlsDistHtmlEditorCommandsNumberedList){NumberedList=_webAtomsWebControlsDistHtmlEditorCommandsNumberedList.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnorderedList){UnorderedList=_webAtomsWebControlsDistHtmlEditorCommandsUnorderedList.default},function(_webAtomsWebControlsDistHtmlEditorCommandsIndentLess){IndentLess=_webAtomsWebControlsDistHtmlEditorCommandsIndentLess.default},function(_webAtomsWebControlsDistHtmlEditorCommandsIndentMore){IndentMore=_webAtomsWebControlsDistHtmlEditorCommandsIndentMore.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAddLink){AddLink=_webAtomsWebControlsDistHtmlEditorCommandsAddLink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnlink){Unlink=_webAtomsWebControlsDistHtmlEditorCommandsUnlink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsRemoveFormat){RemoveFormat=_webAtomsWebControlsDistHtmlEditorCommandsRemoveFormat.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSource){Source=_webAtomsWebControlsDistHtmlEditorCommandsSource.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default;acceptDocumentAndMedia=_servicesFilesLocalFileService.acceptDocumentAndMedia},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator}],execute:function(){link=document.createElement("link");link.href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css";link.rel="preload";link.as="style";link.onload=()=>{link.onload=null;link.rel="stylesheet"};document.head.appendChild(link);onAttachImage=ce=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b;const c=AtomControl.from(ce.target);if(!((_b=(_a=ce.detail)===null||_a===void 0?void 0:_a.files)===null||_b===void 0?void 0:_b.length)){return}const file=ce.detail.files[0];file.inline=true;c.executeCommand("insertHTML",void 0,`<div><img data-content="data-url" data-content-id=${file.appFileID} src="${file.url}" style='max-height: 700px;'/></div>`)}));onAttachInlineImage=ce=>__awaiter(void 0,void 0,void 0,(function*(){var _c,_d;const c=AtomControl.from(ce.target);if(!((_d=(_c=ce.detail)===null||_c===void 0?void 0:_c.files)===null||_d===void 0?void 0:_d.length)){return}const file=ce.detail.files[0];const reader=new FileReader;reader.onload=()=>{c.executeCommand("insertHTML",void 0,`<div><img\n data-content="data-url"\n src="${reader.result}" style='max-height: 700px;'/>\n </div>`)};reader.readAsDataURL(file)}));css=styled.css`
|
|
1137
1137
|
& > [data-element=editor] {
|
|
1138
1138
|
background-color: white;
|
|
1139
1139
|
color: black;
|
|
@@ -1726,7 +1726,7 @@ and limitations under the License.
|
|
|
1726
1726
|
|
|
1727
1727
|
}
|
|
1728
1728
|
}
|
|
1729
|
-
`.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMail(thread)))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.footerRenderer=()=>XNode.create(MiniComposeBox,{mailboxContact:this.parameters})}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForward.dispatchEvent(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForwardAsAttachment.dispatchEvent(thread),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_b=thread.email)===null||_b===void 0?void 0:_b.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMail(thread)))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail({email},ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`<${this.parameters.emailAddress.emailAddress}>`}<br/>Subject: ${email.subject} </summary>\n <div>\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;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;User=_modelModel.User},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null&&x.contentType!=="snapshot"));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){return __awaiter(this,void 0,void 0,(function*(){if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});const root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}return yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken})}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showSnapShot=false,showFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}if(!showSnapShot){q=q.where((x=>x.contentType!=="snapshot"))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){children.add(iterator)}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID,folder}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID,folder})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,isDeleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
|
|
1729
|
+
`.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMail(thread)))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.footerRenderer=()=>XNode.create(MiniComposeBox,{mailboxContact:this.parameters})}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForward.dispatchEvent(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForwardAsAttachment.dispatchEvent(thread),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_b=thread.email)===null||_b===void 0?void 0:_b.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMail(thread)))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail({email},ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`<${this.parameters.emailAddress.emailAddress}>`}<br/>Subject: ${email.subject} </summary>\n <div>\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;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;User=_modelModel.User},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,contentType=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null&&x.contentType!=="snapshot"));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}if(contentType){q=q.where({contentType},(p=>x=>x.contentType===p.contentType))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){return __awaiter(this,void 0,void 0,(function*(){if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});const root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}return yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken})}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showSnapShot=false,showFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}if(!showSnapShot){q=q.where((x=>x.contentType!=="snapshot"))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){children.add(iterator)}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID,folder}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID,folder})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,isDeleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
|
|
1730
1730
|
|
|
1731
1731
|
display: flex;
|
|
1732
1732
|
flex-direction: column;
|
|
@@ -1977,7 +1977,7 @@ and limitations under the License.
|
|
|
1977
1977
|
|
|
1978
1978
|
}
|
|
1979
1979
|
|
|
1980
|
-
`.installLocal();_export("default",ChannelDetailPage=class ChannelDetailPage extends ContentPage{constructor(){super(...arguments);this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.mailbox=yield this.mailboxService.get(this.parameters.id);this.title=`${this.mailbox.emailAddress.name||this.mailbox.name} (${this.mailbox.emailAddress.emailAddress})`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("a",{"data-click-event":"route",href:AppCommands.openSubscribers.displayRoute({id:this.parameters.id})},"Subscribers"));this.renderer=XNode.create("section",{class:css},XNode.create(AtomRepeater,Object.assign({"data-blog-list":"blog-list"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.getMails({channelID:this.parameters.id,search:this.search,version:this.version,cancelToken}))),{itemRenderer:email=>XNode.create("section",{"data-element":"blog-item"},XNode.create("div",{"data-element":"bg"}),XNode.create("h4",{"data-element":"title",text:email.subject}),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),XNode.create("h6",{"data-element":"author",text:email.senderName}),XNode.create("i",{"data-element":"actions","data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical"}),XNode.create("section",{"data-element":"content"},XNode.create(LimitedText,{height:200},XNode.create("section",Object.assign({},renderMail({email}))))))})))}))}mailOptions(email,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},(email===null||email===void 0?void 0:email.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-trash-can","data-click-event":"delete-mail",label:"Hide"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/files/download/${email.originalFileID}`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"})))}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){yield this.channelService.deleteMail(email);this.version++}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChannelDetailPage.prototype,"mailboxService",void 0);__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelDetailPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"delete-mail",confirm:"Are you sure you want to delete this email?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"deleteMail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage");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","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,WebSiteFolder,WebSiteFolderVersion,DateTime,Sql,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},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){WebSiteService=class WebSiteService{getVersions({folderID,start,size=20,cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(WebSiteFolderVersion).where({folderID},(p=>x=>x.folderID===p.folderID)).orderByDescending((x=>x.dateCreated)).include((x=>x.author)).toPagedList({start,size,cancelToken})}))}get(id){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.channels.forEach((c=>c.channel.emailAddress))])).firstOrDefault();return site}))}list({search="",start=0,size=100,showTemplate=false,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(WebSiteFolder);if(search){search=search.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.lower(x.folder.name)===p.search))}if(showTemplate){q=q.where((x=>x.isTemplate===true))}return q.include((x=>[x.folder,x.hosts])).toPagedList({start,size,cancelToken})}))}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);model.isModified=false}))}};__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(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1980
|
+
`.installLocal();_export("default",ChannelDetailPage=class ChannelDetailPage extends ContentPage{constructor(){super(...arguments);this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.mailbox=yield this.mailboxService.get(this.parameters.id);this.title=`${this.mailbox.emailAddress.name||this.mailbox.name} (${this.mailbox.emailAddress.emailAddress})`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("a",{"data-click-event":"route",href:AppCommands.openSubscribers.displayRoute({id:this.parameters.id})},"Subscribers"));this.renderer=XNode.create("section",{class:css},XNode.create(AtomRepeater,Object.assign({"data-blog-list":"blog-list"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.channelService.getMails({channelID:this.parameters.id,search:this.search,version:this.version,cancelToken}))),{itemRenderer:email=>XNode.create("section",{"data-element":"blog-item"},XNode.create("div",{"data-element":"bg"}),XNode.create("h4",{"data-element":"title",text:email.subject}),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),XNode.create("h6",{"data-element":"author",text:email.senderName}),XNode.create("i",{"data-element":"actions","data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical"}),XNode.create("section",{"data-element":"content"},XNode.create(LimitedText,{height:200},XNode.create("section",Object.assign({},renderMail({email}))))))})))}))}mailOptions(email,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},(email===null||email===void 0?void 0:email.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-trash-can","data-click-event":"delete-mail",label:"Hide"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs//${email.mimeFileID}/${email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"})))}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){yield this.channelService.deleteMail(email);this.version++}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChannelDetailPage.prototype,"mailboxService",void 0);__decorate([InjectProperty,__metadata("design:type",ChannelService)],ChannelDetailPage.prototype,"channelService",void 0);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"delete-mail",confirm:"Are you sure you want to delete this email?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ChannelDetailPage.prototype,"deleteMail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage");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","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,WebSiteFolder,WebSiteFolderVersion,DateTime,Sql,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},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){WebSiteService=class WebSiteService{getVersions({folderID,start,size=20,cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(WebSiteFolderVersion).where({folderID},(p=>x=>x.folderID===p.folderID)).orderByDescending((x=>x.dateCreated)).include((x=>x.author)).toPagedList({start,size,cancelToken})}))}get(id){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.channels.forEach((c=>c.channel.emailAddress))])).firstOrDefault();return site}))}list({search="",start=0,size=100,showTemplate=false,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(WebSiteFolder);if(search){search=search.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.lower(x.folder.name)===p.search))}if(showTemplate){q=q.where((x=>x.isTemplate===true))}return q.include((x=>[x.folder,x.hosts])).toPagedList({start,size,cancelToken})}))}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);model.isModified=false}))}};__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(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1981
1981
|
|
|
1982
1982
|
display: grid;
|
|
1983
1983
|
grid-template-rows: auto 1fr;
|
|
@@ -4012,7 +4012,7 @@ display: grid;
|
|
|
4012
4012
|
border-bottom: solid 1px #80808080;
|
|
4013
4013
|
min-width: 250px;
|
|
4014
4014
|
}
|
|
4015
|
-
`.installGlobal("[data-app-form=app-form]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/form/AppForm");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,AppForm,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/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","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,Checkbox,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},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.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(FormField,{label:"Template"},XNode.create(Checkbox,{checked:Bind.twoWays((()=>this.model.isTemplate)),text:"Save this as a Template"})),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","../../../../web/commands/AppCommands","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,AppCommands,Bind,Checkbox,InfiniteRepeater,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},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.showTemplate=false;this.sites=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.showTemplate)),text:"Templates"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.sites},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.list({search:this.search,showTemplate:this.showTemplate,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,item.isTemplate?XNode.create("i",{title:"This is a template",class:"fa-duotone fa-folder-grid"}):XNode.create("i",{class:"fa-duotone fa-folder"}),XNode.create("a",{"data-click-event":"route",href:AppCommands.editWebSite.displayRoute({id:item.folderID}),text:item.folder.name}),XNode.create("br",null),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.folderID})},XNode.create("i",{class:"fas fa-folder"})))})));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","../apiPath"],(function(_export,_context){"use strict";var Command,Commands,apiPathRoot,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands},function(_apiPath){apiPathRoot=_apiPath.apiPathRoot}],execute:function(){Command.routePrefix=apiPathRoot;_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","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,PopupService,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},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.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("div",null,XNode.create("span",null,XNode.create("span",{text:item.protocol})),XNode.create("span",null,XNode.create("span",{text:item.username})),XNode.create("span",null,XNode.create("span",{text:item.host})),XNode.create("span",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})),XNode.create("span",null,XNode.create("i",{"data-click-event":"check-sync-logs",class:"fas fa-circle-info",title:"Check Logs"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}checkSyncLogs(item){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const syncState=JSON.parse((_a=item.syncLog)!==null&&_a!==void 0?_a:"{}");yield PopupService.alert({message:XNode.create("div",null,XNode.create("pre",null,...((_b=syncState.log)!==null&&_b!==void 0?_b:[]).map((x=>[XNode.create("span",{text:x}),XNode.create("br",null)])).flat(2)))})}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null);__decorate([Action({onEvent:"check-sync-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"checkSyncLogs",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/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`
|
|
4015
|
+
`.installGlobal("[data-app-form=app-form]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/form/AppForm");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,AppForm,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/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","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,Checkbox,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},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.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(FormField,{label:"Template"},XNode.create(Checkbox,{checked:Bind.twoWays((()=>this.model.isTemplate)),text:"Save this as a Template"})),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","../../../../web/commands/AppCommands","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,AppCommands,Bind,Checkbox,InfiniteRepeater,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},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.showTemplate=false;this.sites=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.showTemplate)),text:"Templates"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.sites},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.list({search:this.search,showTemplate:this.showTemplate,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,item.isTemplate?XNode.create("i",{title:"This is a template",class:"fa-duotone fa-folder-grid"}):XNode.create("i",{class:"fa-duotone fa-folder"}),XNode.create("a",{"data-click-event":"route",href:AppCommands.editWebSite.displayRoute({id:item.folderID}),text:item.folder.name}),XNode.create("br",null),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.folderID})},XNode.create("i",{class:"fas fa-folder"})))})));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(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Store,Sql,StoreService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Store=_modelModel.Store},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){StoreService=class StoreService{get(storeID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Store).where({storeID},(p=>x=>x.storeID===p.storeID)).include((x=>[x.storeUsers,x.storeWebsites.forEach((w=>w.website.folder))])).firstOrDefault()}))}top(){return __awaiter(this,void 0,void 0,(function*(){const{items}=yield this.stores({size:3,cancelToken:null});return items}))}stores({search="",start=0,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Store);if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}return q.orderByDescending((x=>x.storeID)).toPagedList({start,size,cancelToken})}))}save(store){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(store,(x=>x))}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreService.prototype,"entityService",void 0);StoreService=__decorate([DISingleton()],StoreService);_export("default",StoreService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,StoreOrder,Sql,StoreOrderService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){StoreOrder=_modelModel.StoreOrder},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){StoreOrderService=class StoreOrderService{get(orderID){return this.entityService.query(StoreOrder).where({orderID},(p=>x=>x.orderID===p.orderID)).include((x=>[x.storeOrderItems.forEach((oi=>[oi.storeItemPrice.storeItem.store])),x.customer])).firstOrDefault()}list({storeID=void 0,start=0,size=100,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreOrder).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.customer.displayName,p.search)||x.storeOrderItems.some((oi=>Sql.text.iLike(oi.storeItemPrice.storeItem.name,p.search)))))}return q.orderByDescending((x=>x.orderID)).toPagedList({start,size,cancelToken})}))}save(order){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(order,(c=>c.include((x=>x.storeOrderItems)).thenInclude((x=>x.relatedOrderItems))));return order}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreOrderService.prototype,"entityService",void 0);StoreOrderService=__decorate([DISingleton()],StoreOrderService);_export("default",StoreOrderService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreOrderService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/store/StoreService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../commands/CommonCommands","../../controls/repeater/InfiniteRepeater","../../../services/store/StoreOrderService","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ContentPage,StoreService,InjectProperty,Bind,CommonCommands,InfiniteRepeater,StoreOrderService,AddIconTextButton,Action,StoreDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",StoreDetailPage=class StoreDetailPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.selectedItem=null;this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeService.get(this.parameters.id);this.title=`${this.model.name} Orders`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editProductList.displayRoute({storeID:this.parameters.id}),text:"Products"}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeOrderService.list({storeID:this.parameters.id,start,search:this.search,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.orderID}),XNode.create("label",{text:item.orderNumber}),XNode.create("a",{text:item.customer.displayName,"data-click-event":"route"}))}))));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"create-order",text:"Create Order"}))}))}createOrder(){return __awaiter(this,void 0,void 0,(function*(){}))}});__decorate([InjectProperty,__metadata("design:type",StoreService)],StoreDetailPage.prototype,"storeService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],StoreDetailPage.prototype,"storeOrderService",void 0);__decorate([Action({onEvent:"create-order"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreDetailPage.prototype,"createOrder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/StoreDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,StoreItem,Sql,StoreItemService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){StoreItem=_modelModel.StoreItem},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){StoreItemService=class StoreItemService{get(id){return this.entityService.query(StoreItem).where({id},(p=>x=>x.storeItemID===p.id)).include((x=>[x.storeItemPrices,x.storeItemTags])).firstOrDefault()}list({start=0,size=100,search="",storeID=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreItem).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.name,p.search)||Sql.text.iLike(x.description,p.search)))}return q.orderByDescending((x=>x.storeItemID)).toPagedList({start,size,cancelToken})}))}save(storeItem){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(storeItem,(x=>x.include((x=>x.storeItemPrices)).include((x=>x.storeItemTags))));return storeItem}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreItemService.prototype,"entityService",void 0);StoreItemService=__decorate([DISingleton()],StoreItemService);_export("default",StoreItemService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreItemService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreItemService","../../../commands/CommonCommands","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StoreItem,XNode,AtomRepeater,InfiniteRepeater,InjectProperty,StoreItemService,CommonCommands,Action,Bind,InlinePopupButton,MenuItem,EditProductListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StoreItem=_modelModel.StoreItem},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem}],execute:function(){_export("default",EditProductListPage=class EditProductListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.items=[];this.selectedItem=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(InlinePopupButton,{icon:"fas fa-plus",text:"Add",popup:()=>XNode.create("div",null,XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"product",label:"Product"}),XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"service",label:"Service"}),XNode.create(MenuItem,{"data-click-event":"add-item","data-item-type":"tax",label:"Tax"}))}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeItemService.list({storeID:this.parameters.storeID,start,search:this.search,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.storeItemID}),XNode.create("label",{text:item.itemType}),XNode.create("a",{text:item.name,"data-click-event":"route",href:CommonCommands.editProduct.displayRoute({id:item.storeItemID})}))}))))}))}addNew({itemType}){return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Name of the product");if(!name){return}const storeID=this.parameters.storeID;const product=StoreItem.create({name,itemType,storeID});yield this.storeItemService.save(product);this.items.add(product);this.selectedItem=product}))}});__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditProductListPage.prototype,"storeItemService",void 0);__decorate([Action({onEvent:"add-item"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditProductListPage.prototype,"addNew",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/products/EditProductListPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,DropDown,FetchBuilder,UMD,countriesPromise,loadCountries,CountrySelect,CurrencySelect,isdForCountry,formatForCountry;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){loadCountries=()=>countriesPromise!==null&&countriesPromise!==void 0?countriesPromise:countriesPromise=FetchBuilder.get(UMD.resolvePath("@social-mail/social-mail-client/content/json/countries.json")).responseAsJson();_export("CountrySelect",CountrySelect=a=>XNode.create(DropDown,Object.assign({labelPath:item=>{var _a;return((_a=item.isdCode)===null||_a===void 0?void 0:_a.startsWith("+"))?item.isdCode:`+${item.isdCode} ${item.value}`},valuePath:item=>item.value,items:Bind.oneTimeAsync((()=>loadCountries()))},a)));_export("CurrencySelect",CurrencySelect=a=>XNode.create(DropDown,Object.assign({labelPath:item=>item.currency+"("+item.label+")",valuePath:item=>item.currency,items:Bind.oneTimeAsync((()=>loadCountries()))},a)));_export("isdForCountry",isdForCountry=countryCode=>__awaiter(void 0,void 0,void 0,(function*(){return(yield loadCountries()).find((x=>x.value===countryCode)).isdCode})));_export("formatForCountry",formatForCountry=countryCode=>__awaiter(void 0,void 0,void 0,(function*(){const countries=yield loadCountries();const country=countries.find((c=>c.value===countryCode));if(country){const{phoneFormat}=country;if(phoneFormat&&phoneFormat!=="0.0"){return phoneFormat}}return"####.####.####"})))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/countries/CountrySelect");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../../controls/countries/CountrySelect","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/DateField","../../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,CurrencySelect,Bind,DateField,SaveIconTextButton,Action,EditItemPricePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsCountriesCountrySelect){CurrencySelect=_controlsCountriesCountrySelect.CurrencySelect},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",EditItemPricePage=class EditItemPricePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Currency"},XNode.create(CurrencySelect,{value:Bind.twoWaysImmediate((()=>this.model.currency))})),XNode.create(FormField,{label:"Amount"},XNode.create("input",{type:"number",value:Bind.twoWaysImmediate((()=>this.model.amount))})),XNode.create(FormField,{label:"Start Date"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.startDate))})),XNode.create(FormField,{label:"End Date"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.endDate))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-currency"}))))}))}saveCurrency(){return __awaiter(this,void 0,void 0,(function*(){return this.model}))}});__decorate([Action({onEvent:"save-currency",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditItemPricePage.prototype,"saveCurrency",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/products/prices/EditItemPricePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/collection-editor/CollectionEditor","../../../../services/store/StoreItemService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","./prices/EditItemPricePage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,ContentPage,CollectionEditor,StoreItemService,InjectProperty,FormField,Bind,EditItemPricePage,EditProductDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_servicesStoreStoreItemService){StoreItemService=_servicesStoreStoreItemService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_pricesEditItemPricePage){EditItemPricePage=_pricesEditItemPricePage.default}],execute:function(){_export("default",EditProductDetailPage=class EditProductDetailPage extends ContentPage{constructor(){super(...arguments);this.model=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeItemService.get(this.parameters.id);this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Description"},XNode.create("textarea",{rows:"5",cols:"80",value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(CollectionEditor,{label:"Prices",model:this.model,collection:"storeItemPrices",addPage:EditItemPricePage,itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.currency}),XNode.create("td",{text:item.amount}),XNode.create("td",{text:item.startDate}),XNode.create("td",{text:item.endDate}))}),XNode.create(CollectionEditor,{label:"Tags",model:this.model,collection:"storeItemTags",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.tag.name}),XNode.create("td",{text:item.tagValue}))})))}))}});__decorate([InjectProperty,__metadata("design:type",StoreItemService)],EditProductDetailPage.prototype,"storeItemService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/products/EditProductDetailPage");System.register(["@web-atoms/core/dist/core/Command","../apiPath"],(function(_export,_context){"use strict";var Command,Commands,apiPathRoot,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands},function(_apiPath){apiPathRoot=_apiPath.apiPathRoot}],execute:function(){Command.routePrefix=apiPathRoot;_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")});CommonCommands.editStore=Command.create({route:"/stores/detail/{id}",routeOrder:100,openPage:()=>_context.import("../pages/stores/StoreDetailPage")});CommonCommands.editProductList=Command.create({route:"/stores/{storeID}",routeOrder:500,openPage:()=>_context.import("../pages/stores/products/EditProductListPage")});CommonCommands.editProduct=Command.create({route:"/stores/product/{id}",routeOrder:200,openPage:()=>_context.import("../pages/stores/products/EditProductDetailPage")})}}}));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","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,PopupService,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},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.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("div",null,XNode.create("span",null,XNode.create("span",{text:item.protocol})),XNode.create("span",null,XNode.create("span",{text:item.username})),XNode.create("span",null,XNode.create("span",{text:item.host})),XNode.create("span",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})),XNode.create("span",null,XNode.create("i",{"data-click-event":"check-sync-logs",class:"fas fa-circle-info",title:"Check Logs"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}checkSyncLogs(item){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const syncState=JSON.parse((_a=item.syncLog)!==null&&_a!==void 0?_a:"{}");yield PopupService.alert({message:XNode.create("div",null,XNode.create("pre",null,...((_b=syncState.log)!==null&&_b!==void 0?_b:[]).map((x=>[XNode.create("span",{text:x}),XNode.create("br",null)])).flat(2)))})}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null);__decorate([Action({onEvent:"check-sync-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"checkSyncLogs",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/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`
|
|
4016
4016
|
&[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
|
|
4017
4017
|
grid-template-columns: 150px 1fr auto;
|
|
4018
4018
|
}
|
|
@@ -4322,7 +4322,7 @@ display: grid;
|
|
|
4322
4322
|
padding-left: 2px;
|
|
4323
4323
|
padding-top: 1px;
|
|
4324
4324
|
font-family: monospace;
|
|
4325
|
-
`.installGlobal("input[data-mask]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/masked-input-style");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/masked-input-style"],(function(_export,_context){"use strict";var __rest,XNode,updateMask;function MaskedInput(_a){var{mask}=_a,a=__rest(_a,["mask"]);return XNode.create("input",Object.assign({"data-mask":mask,"event-change":updateMask,"event-keypress":updateMask,"event-keyup":updateMask},a))}_export("default",MaskedInput);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesMaskedInputStyle){}],execute:function(){updateMask=e=>{const target=e.target;const mask=target.dataset.mask;if(!mask){return}let result="";const value=target.value;for(let index=0,elementIndex=0;elementIndex<value.length;elementIndex++,index++){const element=value[elementIndex];const maskElement=mask[index];switch(maskElement){case"#":result+=/[0-9]/.test(element)?element:"";continue;case".":if(element!=="."){result+="."}result+=element;break}}if(target.value!==result){target.value=result}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/MaskedInput");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/
|
|
4325
|
+
`.installGlobal("input[data-mask]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/masked-input-style");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/masked-input-style"],(function(_export,_context){"use strict";var __rest,XNode,updateMask;function MaskedInput(_a){var{mask}=_a,a=__rest(_a,["mask"]);return XNode.create("input",Object.assign({"data-mask":mask,"event-change":updateMask,"event-keypress":updateMask,"event-keyup":updateMask},a))}_export("default",MaskedInput);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesMaskedInputStyle){}],execute:function(){updateMask=e=>{const target=e.target;const mask=target.dataset.mask;if(!mask){return}let result="";const value=target.value;for(let index=0,elementIndex=0;elementIndex<value.length;elementIndex++,index++){const element=value[elementIndex];const maskElement=mask[index];switch(maskElement){case"#":result+=/[0-9]/.test(element)?element:"";continue;case".":if(element!=="."){result+="."}result+=element;break}}if(target.value!==result){target.value=result}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/MaskedInput");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/MaskedInput","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/countries/CountrySelect"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Form,FormField,MaskedInput,FetchBuilder,Action,styled,ContentPage,CountrySelect,formatForCountry,isdForCountry,SignupPage,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(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicMaskedInput){MaskedInput=_webAtomsWebControlsDistBasicMaskedInput.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_commonControlsCountriesCountrySelect){CountrySelect=_commonControlsCountriesCountrySelect.CountrySelect;formatForCountry=_commonControlsCountriesCountrySelect.formatForCountry;isdForCountry=_commonControlsCountriesCountrySelect.isdForCountry}],execute:function(){css=styled.css`
|
|
4326
4326
|
& [data-page-element=content] {
|
|
4327
4327
|
& > * {
|
|
4328
4328
|
display: flex;
|
|
@@ -4350,7 +4350,7 @@ display: grid;
|
|
|
4350
4350
|
}
|
|
4351
4351
|
}
|
|
4352
4352
|
}
|
|
4353
|
-
`.installLocal();SignupPage=class SignupPage extends ContentPage{constructor(){super(...arguments);this.termsAgreed=false;this.model={name:"",username:"",password:"",passwordAgain:"",phoneNumber:"",country:"US",phoneNumberText:"",captcha:{code:""},phone:{code:""}}}init(){return __awaiter(this,void 0,void 0,(function*(){this.hideToolbar=true;this.element.className=css;this.title="Social Mail Signup";const{id}=yield FetchBuilder.put("/api/users/captcha").responseAsJson();this.model.captcha.id=id;this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create("div",{"data-max-width":"size-large"},XNode.create(Form,null,XNode.create(FormField,{label:"Your Name"},XNode.create("input",{autofocus:true,placeholder:"Display Name",value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Email Address"},XNode.create("div",{"data-layout":"row","data-padding":"auto"},XNode.create("input",{"data-border":"none",placeholder:"first-last-name",style:"outline: none",type:"text",value:Bind.twoWaysImmediate((()=>this.model.username))}),XNode.create("span",{text:"@socialmail.me"}))),XNode.create("details",null,XNode.create("summary",null,"Username Policy"),"Please choose username that resembles your real legal name. Any other name will be banned and blocked permanently. And you will not be able to create new username with same phone number as well."),XNode.create(FormField,{label:"Password"},XNode.create("input",{type:"password",value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"Password Again"},XNode.create("input",{type:"password",value:Bind.twoWaysImmediate((()=>this.model.passwordAgain))})),XNode.create(FormField,{label:"Phone Number"},XNode.create("div",{"data-layout":"row"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.model.country))}),XNode.create(MaskedInput,{"data-mask":Bind.oneWayAsync((()=>formatForCountry(this.model.country))),value:Bind.twoWaysImmediate((()=>this.model.phoneNumberText))}))),XNode.create("div",null,"We require phone number verification to prevent misuse and fraud over the email. And it will also help you in setting up two factor authentication to prevent hackers from accessing your private emails."),XNode.create("br",null),XNode.create("br",null),XNode.create(FormField,{label:"Captcha"},XNode.create("img",{src:`/api/users/captcha/${id}`})),XNode.create(FormField,{label:"Enter 5 Digit Code"},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.model.captcha.code))})),XNode.create("div",{"data-layout":"row"},XNode.create("input",{type:"checkbox",checked:Bind.twoWaysImmediate((()=>this.termsAgreed))}),XNode.create("span",{text:"I agree the "}),XNode.create("a",{href:"https://socialmail.in/terms.html",target:"_blank"},"Terms & Conditions")),XNode.create("div",{"data-layout":"row"},XNode.create("button",{"data-layout":"go-button","data-submit-event":"signup"},"Signup"))))))}))}signup(){return __awaiter(this,void 0,void 0,(function*(){const{model}=this;if(!this.termsAgreed){throw new Error("You must agree to Terms & Conditions.")}if(!model.password){throw new Error("Password is required")}if(model.password.length<7){throw new Error("Password is cannot be less than 7 characters")}if(/\s/i.test(model.password)){throw new Error("Password must not any whitespace characters")}const isdCode=yield isdForCountry(model.country);const phoneNumber=model.phoneNumberText.replace(/[^0-9]/g,"");model.phoneNumber=isdCode.startsWith("+")?isdCode+phoneNumber:`+${isdCode}${phoneNumber}`;const{userID,phone={},captcha={}}=yield FetchBuilder.post("/api/users/signup").jsonBody(model).responseAsJson();if(userID){location.href="/";return}if(captcha){model.captcha.verified=captcha.verified}if(phone===null||phone===void 0?void 0:phone.verified){model.phone.verified=phone.verified}if(phone===null||phone===void 0?void 0:phone.id){model.phone.id=phone.id;yield this.askPhoneCode()}}))}askPhoneCode(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create("div",{"data-max-width":"size-large"},XNode.create("h3",null,"Phone Verification Code"),XNode.create("p",null,"We have send text verification code on your phone number, please enter the code below to verify."),XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("input",{type:"tel",autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.phone.code))})),XNode.create("div",null,XNode.create("button",{"data-layout":"go-button","data-submit-event":"signup"},"Complete Signup"))))))}))}};__decorate([Action({onEvent:"signup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SignupPage.prototype,"signup",null)
|
|
4353
|
+
`.installLocal();_export("default",SignupPage=class SignupPage extends ContentPage{constructor(){super(...arguments);this.termsAgreed=false;this.model={name:"",username:"",password:"",passwordAgain:"",phoneNumber:"",country:"US",phoneNumberText:"",captcha:{code:""},phone:{code:""}}}init(){return __awaiter(this,void 0,void 0,(function*(){this.hideToolbar=true;this.element.className=css;this.title="Social Mail Signup";const{id}=yield FetchBuilder.put("/api/users/captcha").responseAsJson();this.model.captcha.id=id;this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create("div",{"data-max-width":"size-large"},XNode.create(Form,null,XNode.create(FormField,{label:"Your Name"},XNode.create("input",{autofocus:true,placeholder:"Display Name",value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Email Address"},XNode.create("div",{"data-layout":"row","data-padding":"auto"},XNode.create("input",{"data-border":"none",placeholder:"first-last-name",style:"outline: none",type:"text",value:Bind.twoWaysImmediate((()=>this.model.username))}),XNode.create("span",{text:"@socialmail.me"}))),XNode.create("details",null,XNode.create("summary",null,"Username Policy"),"Please choose username that resembles your real legal name. Any other name will be banned and blocked permanently. And you will not be able to create new username with same phone number as well."),XNode.create(FormField,{label:"Password"},XNode.create("input",{type:"password",value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"Password Again"},XNode.create("input",{type:"password",value:Bind.twoWaysImmediate((()=>this.model.passwordAgain))})),XNode.create(FormField,{label:"Phone Number"},XNode.create("div",{"data-layout":"row"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.model.country))}),XNode.create(MaskedInput,{"data-mask":Bind.oneWayAsync((()=>formatForCountry(this.model.country))),value:Bind.twoWaysImmediate((()=>this.model.phoneNumberText))}))),XNode.create("div",null,"We require phone number verification to prevent misuse and fraud over the email. And it will also help you in setting up two factor authentication to prevent hackers from accessing your private emails."),XNode.create("br",null),XNode.create("br",null),XNode.create(FormField,{label:"Captcha"},XNode.create("img",{src:`/api/users/captcha/${id}`})),XNode.create(FormField,{label:"Enter 5 Digit Code"},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.model.captcha.code))})),XNode.create("div",{"data-layout":"row"},XNode.create("input",{type:"checkbox",checked:Bind.twoWaysImmediate((()=>this.termsAgreed))}),XNode.create("span",{text:"I agree the "}),XNode.create("a",{href:"https://socialmail.in/terms.html",target:"_blank"},"Terms & Conditions")),XNode.create("div",{"data-layout":"row"},XNode.create("button",{"data-layout":"go-button","data-submit-event":"signup"},"Signup"))))))}))}signup(){return __awaiter(this,void 0,void 0,(function*(){const{model}=this;if(!this.termsAgreed){throw new Error("You must agree to Terms & Conditions.")}if(!model.password){throw new Error("Password is required")}if(model.password.length<7){throw new Error("Password is cannot be less than 7 characters")}if(/\s/i.test(model.password)){throw new Error("Password must not any whitespace characters")}const isdCode=yield isdForCountry(model.country);const phoneNumber=model.phoneNumberText.replace(/[^0-9]/g,"");model.phoneNumber=isdCode.startsWith("+")?isdCode+phoneNumber:`+${isdCode}${phoneNumber}`;const{userID,phone={},captcha={}}=yield FetchBuilder.post("/api/users/signup").jsonBody(model).responseAsJson();if(userID){location.href="/";return}if(captcha){model.captcha.verified=captcha.verified}if(phone===null||phone===void 0?void 0:phone.verified){model.phone.verified=phone.verified}if(phone===null||phone===void 0?void 0:phone.id){model.phone.id=phone.id;yield this.askPhoneCode()}}))}askPhoneCode(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create("div",{"data-max-width":"size-large"},XNode.create("h3",null,"Phone Verification Code"),XNode.create("p",null,"We have send text verification code on your phone number, please enter the code below to verify."),XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("input",{type:"tel",autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.phone.code))})),XNode.create("div",null,XNode.create("button",{"data-layout":"go-button","data-submit-event":"signup"},"Complete Signup"))))))}))}});__decorate([Action({onEvent:"signup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SignupPage.prototype,"signup",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/users/SignupPage");System.register([],(function(_export,_context){"use strict";var FileTypes;_export("default",void 0);return{setters:[],execute:function(){_export("default",FileTypes=class FileTypes{static canPreview(file){if(/(image|video|audio)\//.test(file.contentType)){return true}return/\.(pdf|docx|docm|pptx|pptm|xlsx|xlsm|doc|xls|pdf|ppt|dot|xlst|sxw|sxc|sxd|sxi|sxm|sxg|txt)$/i.test(file.name)}static isMedia(file){return/^(audio|video)\//i.test(file.contentType)}static isImage(file){return/^image\//i.test(file.contentType)||/\.(jpg|png|bmp|gif|tif|tiff|jiff|jpg)$/i.test(file.name)}static isDocument(file){return/\.(pdf|docx|docm|pptx|pptm|xlsx|xlsm|doc|xls|pdf|ppt|dot|xlst|sxw|sxc|sxd|sxi|sxm|sxg|txt|md)$/i.test(file.name)}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/FileTypes");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands","../../services/FileTypes"],(function(_export,_context){"use strict";var Command,CommonCommands,FileTypes,AppCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default},function(_servicesFileTypes){FileTypes=_servicesFileTypes.default}],execute:function(){_export("default",AppCommands=class AppCommands extends CommonCommands{static getPreviewCommand(p){if(FileTypes.isDocument(p)){return this.previewHtml}if(FileTypes.isImage(p)){return this.previewImage}if(FileTypes.isMedia(p)){return this.previewMedia}}});AppCommands.openHome=Command.create({route:"/",routeOrder:200,openPage:()=>_context.import("../page/home/HomePage")});AppCommands.openMailboxList=Command.create({route:"/mailboxes",routeOrder:100,openPage:()=>_context.import("../../common/pages/mailboxes/MailboxListPage")});AppCommands.openMails=Command.create({route:"/mails",routeOrder:100,openPage:()=>_context.import("../page/mails/MailboxContacts")});AppCommands.openFiles=Command.create({route:"/files/{id}",routeOrder:100,openPage:()=>_context.import("../page/files/FolderPage")});AppCommands.openTemplates=Command.create({route:"/templates",routeOrder:100,routeDefaults:{templates:true},openPage:()=>_context.import("../page/files/FolderPage")});AppCommands.previewImage=Command.create({route:"/social-mail/file-preview/image/{appFileID}/{fileContentID}/{name}",pushPage:()=>_context.import("../page/files/preview/image/PreviewImage")});AppCommands.previewHtml=Command.create({route:"/social-mail/file-preview/html/{appFileID}/{fileContentID}/{name}",pushPage:()=>_context.import("../page/files/preview/document/PreviewDocument")});AppCommands.previewMedia=Command.create({route:"/social-mail/file-preview/media/{appFileID}/{fileContentID}/{name}",pushPage:()=>_context.import("../page/files/preview/media/PreviewMedia")});AppCommands.signup=Command.create({route:"/social-mail/users/signup",openPage:()=>_context.import("../page/users/SignupPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/AppCommands");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
4354
4354
|
|
|
4355
4355
|
div[data-desktop-app=desktop-app] {
|
|
4356
4356
|
width: 100%;
|
|
@@ -4461,7 +4461,7 @@ html, body {
|
|
|
4461
4461
|
grid-column: 1;
|
|
4462
4462
|
grid-row: 1;
|
|
4463
4463
|
}
|
|
4464
|
-
`.installGlobal("[data-menu-item=menu-item]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/menu/MenuItem");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../common/SocialMailApp","../../common/controls/menu/MenuItem","@web-atoms/core/dist/style/styled","../commands/AppCommands","@web-atoms/web-controls/dist/basic/Expander","../../common/pages/mailboxes/services/MailboxService","../page/files/service/CloudFileService","../../common/NumberFormats","@web-atoms/core/dist/view-model/Action","../../common/commands/CommonCommands","../../services/LoginService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Drawer,SocialMailApp,MenuItem,styled,AppCommands,ExpanderMenu,MailboxService,CloudFileService,toFileSize,Action,CommonCommands,LoginService,AppDrawer,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){Drawer=_webAtomsWebControlsDistMobileAppMobileApp.Drawer},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_commonControlsMenuMenuItem){MenuItem=_commonControlsMenuMenuItem.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsWebControlsDistBasicExpander){ExpanderMenu=_webAtomsWebControlsDistBasicExpander.ExpanderMenu},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_pageFilesServiceCloudFileService){CloudFileService=_pageFilesServiceCloudFileService.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default},function(_servicesLoginService){LoginService=_servicesLoginService.default}],execute:function(){css=styled.css`
|
|
4464
|
+
`.installGlobal("[data-menu-item=menu-item]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/menu/MenuItem");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../common/SocialMailApp","../../common/controls/menu/MenuItem","@web-atoms/core/dist/style/styled","../commands/AppCommands","@web-atoms/web-controls/dist/basic/Expander","../../common/pages/mailboxes/services/MailboxService","../page/files/service/CloudFileService","../../common/NumberFormats","@web-atoms/core/dist/view-model/Action","../../common/commands/CommonCommands","../../services/LoginService","../../services/store/StoreService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Drawer,SocialMailApp,MenuItem,styled,AppCommands,ExpanderMenu,MailboxService,CloudFileService,toFileSize,Action,CommonCommands,LoginService,StoreService,AppDrawer,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){Drawer=_webAtomsWebControlsDistMobileAppMobileApp.Drawer},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_commonControlsMenuMenuItem){MenuItem=_commonControlsMenuMenuItem.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsWebControlsDistBasicExpander){ExpanderMenu=_webAtomsWebControlsDistBasicExpander.ExpanderMenu},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_pageFilesServiceCloudFileService){CloudFileService=_pageFilesServiceCloudFileService.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default},function(_servicesLoginService){LoginService=_servicesLoginService.default},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default}],execute:function(){css=styled.css`
|
|
4465
4465
|
min-width: 300px;
|
|
4466
4466
|
|
|
4467
4467
|
background-color: var(--accent-color);
|
|
@@ -4481,5 +4481,5 @@ html, body {
|
|
|
4481
4481
|
overflow: auto;
|
|
4482
4482
|
}
|
|
4483
4483
|
|
|
4484
|
-
`.installLocal();_export("default",AppDrawer=class AppDrawer extends Drawer{init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.user=SocialMailApp.user;const{mailboxes,channels,drives,websites}=yield this.getItems();this.renderer=XNode.create("div",null,XNode.create("div",{class:"header","data-padding":"large","data-font-size":"large","data-color":"white",text:SocialMailApp.config.name}),XNode.create("div",{class:"menus"},XNode.create(MenuItem,{icon:"fas fa-home",label:"Home",commandLink:AppCommands.openHome.displayRoute({})}),mailboxes.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-envelope",label:"Mailboxes",commandLink:null}),...mailboxes.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openMailbox.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress}))),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openMailboxList.displayRoute({})})),channels.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Channels",commandLink:null}),...channels.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openChannel.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress})))),drives.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Drives",commandLink:null}),...drives.map((d=>{var _a;return XNode.create(MenuItem,{commandLink:AppCommands.openFiles.displayRoute({id:d.appFileID}),label:d.name,description:`${(_a=d.creator)===null||_a===void 0?void 0:_a.displayName} ${BigInt(d.fileSize)>BigInt(0)?"("+toFileSize(d.fileSize)+")":""}`})})),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openDrives.displayRoute({})})),websites.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Web Sites",commandLink:null}),...websites.map((d=>{var _a;return XNode.create(MenuItem,{commandLink:AppCommands.editWebSite.displayRoute({id:d.appFileID}),label:d.name,description:`${(_a=d.creator)===null||_a===void 0?void 0:_a.displayName} ${BigInt(d.fileSize)>BigInt(0)?"("+toFileSize(d.fileSize)+")":""}`})})),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openWebSiteList.displayRoute({})})),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-money-check-pen",label:"Templates",commandLink:AppCommands.openTemplates.displayRoute({templates:true})}),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-envelopes-bulk",label:"All Mailboxes",commandLink:AppCommands.openMailboxList.displayRoute({})}),XNode.create(ExpanderMenu,{isExpanded:false},XNode.create(MenuItem,{icon:"fas fa-gears",label:"Account Settings"}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Change Password",commandLink:CommonCommands.changePassword.displayRoute({})}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Multi Factor",commandLink:CommonCommands.setupMultiFactor.displayRoute({})}),XNode.create(MenuItem,{label:"Logout","data-click-event":"user-logout"}))))}))}getItems(){return __awaiter(this,void 0,void 0,(function*(){const ms=this.resolve(MailboxService);const fs=this.resolve(CloudFileService);const[mailboxes,channels,drives,websites]=yield Promise.all([ms.top(),ms.top({isChannel:true}),fs.top(),fs.top(true)]);return{mailboxes,channels,drives,websites}}))}userLogout(){return __awaiter(this,void 0,void 0,(function*(){const loginService=this.resolve(LoginService);yield loginService.logout()}))}onClick(none,e){var _a;(_a=this.selected)===null||_a===void 0?void 0:_a.removeAttribute("data-selected");let start=e.target;while(start!==e.currentTarget){if(start.getAttribute("data-layout")==="menu-item"){start.setAttribute("data-selected","true");this.selected=start;break}start=start.parentElement}}});__decorate([Action({onEvent:"user-logout"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AppDrawer.prototype,"userLogout",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,MouseEvent]),__metadata("design:returntype",void 0)],AppDrawer.prototype,"onClick",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/drawer/AppDrawer");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode,ModuleInfo;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("ModuleInfo",ModuleInfo=typeof moduleInfo==="undefined"?[]:[XNode.create("div",{title:`${moduleInfo.server.package}@${moduleInfo.server.version}`},moduleInfo.server.version)," | ",XNode.create("div",{title:`${moduleInfo.ui.package}@${moduleInfo.ui.version}`},moduleInfo.ui.version)])}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","@web-atoms/core/dist/services/FetchBuilder","../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,LoginSession,FetchBuilder,apiPath,WebPushService;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){LoginSession=_modelModel.LoginSession},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){WebPushService=class WebPushService{register(){return __awaiter(this,void 0,void 0,(function*(){try{if(!("serviceWorker"in navigator)){return}const r=yield navigator.serviceWorker.ready;let s=yield r.pushManager.getSubscription();if(!s){s=yield this.createRegistration(r);if(!s){return}}yield this.updateRegistration(s)}catch(error){console.error(error)}}))}createRegistration(r){return __awaiter(this,void 0,void 0,(function*(){const permission=yield Notification.requestPermission();if(permission!=="granted"){return}const{webPush:{publicKey}}=yield FetchBuilder.get(apiPath("/api/push/keys")).responseAsJson();const s=yield r.pushManager.subscribe({userVisibleOnly:true,applicationServerKey:publicKey});return s}))}updateRegistration(s){return __awaiter(this,void 0,void 0,(function*(){const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.deviceToken=JSON.stringify(s);session.deviceTokenType="WebPush";const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy)}))}};__decorate([Inject,__metadata("design:type",EntityService)],WebPushService.prototype,"entityService",void 0);WebPushService=__decorate([DITransient()],WebPushService);_export("default",WebPushService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/WebPushService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserAuthFactor,InjectProperty,UserService,XNode,SaveIconTextButton,FormField,Bind,Action,DateFormats,AppForm,SetupMultiFactorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",SetupMultiFactorPage=class SetupMultiFactorPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Please setup security";yield this.generateOTP()}))}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"})))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];let generated=false;const newAuth=[];while(authList.filter((x=>x.method==="one-time")).length<=8){const af=UserAuthFactor.create({method:"one-time"});authList.push(af);newAuth.push(af)}yield this.userService.saveAuthFactors(newAuth);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}generated=true;text+="\r\n"+iterator.displaySecret}if(!generated){yield this.addAuthenticator();return}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these one time codes 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, setup authenticator to finish."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Setup Authenticator"}))))}))}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.verify(this.authFactor);this.model.multiFactor=true;yield this.userService.save(this.model);location.reload()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],SetupMultiFactorPage.prototype,"userService",void 0);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Multi Factor Login is setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/core/dist/core/Route","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Command","./commands/AppCommands","../style/GlobalStyle","../services/LoginService","../common/pages/user/login/LoginPage","./drawer/AppDrawer","../services/files/LocalFileService","../common/controls/ModuleInfo","@web-atoms/core/dist/core/sleep","../services/WebPushService","../common/pages/user/multi-factor/SetupMultiFactorPage","../common/SocialMailApp","./page/users/SignupPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Pack,MobileDesktopApp,Route,PageNavigator,Command,AppCommands,LoginService,LoginPage,AppDrawer,LocalFileService,ModuleInfo,sleep,WebPushService,SetupMultiFactorPage,SocialMailApp,SignupPage,_a,_b,_c,_d,AppIndex;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_styleGlobalStyle){},function(_servicesLoginService){LoginService=_servicesLoginService.default},function(_commonPagesUserLoginLoginPage){LoginPage=_commonPagesUserLoginLoginPage.default},function(_drawerAppDrawer){AppDrawer=_drawerAppDrawer.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_commonControlsModuleInfo){ModuleInfo=_commonControlsModuleInfo.ModuleInfo},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_servicesWebPushService){WebPushService=_servicesWebPushService.default},function(_commonPagesUserMultiFactorSetupMultiFactorPage){SetupMultiFactorPage=_commonPagesUserMultiFactorSetupMultiFactorPage.default},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_pageUsersSignupPage){SignupPage=_pageUsersSignupPage.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");AppIndex=class AppIndex extends MobileDesktopApp{init(){return __awaiter(this,void 0,void 0,(function*(){AppCommands.install(this);this.resolve(LocalFileService);const currentUser=yield this.userService.getUser();if(!currentUser){if(SocialMailApp.config.externalLogin){location.href=SocialMailApp.config.externalLogin}if(/\/signup$/i.test(location.href)||/\/signup\//i.test(location.href)){PageNavigator.openPage(SignupPage);return}PageNavigator.openPage(LoginPage);return}this.drawerMenu=AppDrawer;while(!currentUser.multiFactor){yield PageNavigator.pushPageForResultOrCancel(SetupMultiFactorPage)}if(!Command.invokeRoute()){AppCommands.openHome.dispatch()}if(this.desktopApp){this.desktopApp.statusBarRenderer=()=>{var _a;return XNode.create("div",{"data-layout":"row"},((_a=currentUser.roles)===null||_a===void 0?void 0:_a.find((x=>/^admin/i.test(x.roleName))))&&XNode.create("a",{href:"/admin",target:"_blank"},"Admin"),XNode.create("div",{"data-flex":"stretch-full"}),...ModuleInfo)}}yield sleep(500);yield this.resolve(WebPushService).register()}))}};__decorate([InjectProperty,__metadata("design:type",LoginService)],AppIndex.prototype,"userService",void 0);AppIndex=__decorate([Pack],AppIndex);_export("default",AppIndex);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(/\d+\./.test(location.hostname)){return"#!"+url}return url}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/AppIndex");
|
|
4484
|
+
`.installLocal();_export("default",AppDrawer=class AppDrawer extends Drawer{init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.user=SocialMailApp.user;const{mailboxes,channels,drives,websites,stores}=yield this.getItems();this.renderer=XNode.create("div",null,XNode.create("div",{class:"header","data-padding":"large","data-font-size":"large","data-color":"white",text:SocialMailApp.config.name}),XNode.create("div",{class:"menus"},XNode.create(MenuItem,{icon:"fas fa-home",label:"Home",commandLink:AppCommands.openHome.displayRoute({})}),mailboxes.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-envelope",label:"Mailboxes",commandLink:null}),...mailboxes.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openMailbox.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress}))),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openMailboxList.displayRoute({})})),channels.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Channels",commandLink:null}),...channels.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openChannel.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress})))),drives.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Drives",commandLink:null}),...drives.map((d=>{var _a;return XNode.create(MenuItem,{commandLink:AppCommands.openFiles.displayRoute({id:d.appFileID}),label:d.name,description:`${(_a=d.creator)===null||_a===void 0?void 0:_a.displayName} ${BigInt(d.fileSize)>BigInt(0)?"("+toFileSize(d.fileSize)+")":""}`})})),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openDrives.displayRoute({})})),websites.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Web Sites",commandLink:null}),...websites.map((d=>{var _a;return XNode.create(MenuItem,{commandLink:AppCommands.editWebSite.displayRoute({id:d.appFileID}),label:d.name,description:`${(_a=d.creator)===null||_a===void 0?void 0:_a.displayName} ${BigInt(d.fileSize)>BigInt(0)?"("+toFileSize(d.fileSize)+")":""}`})})),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openWebSiteList.displayRoute({})})),stores.length&&XNode.create(ExpanderMenu,{isExpanded:false},XNode.create(MenuItem,{icon:"fas fa-dollar",label:"Stores",commandLink:null}),...stores.map((s=>XNode.create(MenuItem,{label:s.name,commandLink:AppCommands.editStore.displayRoute({id:s.storeID})})))),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-money-check-pen",label:"Templates",commandLink:AppCommands.openTemplates.displayRoute({templates:true})}),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-envelopes-bulk",label:"All Mailboxes",commandLink:AppCommands.openMailboxList.displayRoute({})}),XNode.create(ExpanderMenu,{isExpanded:false},XNode.create(MenuItem,{icon:"fas fa-gears",label:"Account Settings"}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Change Password",commandLink:CommonCommands.changePassword.displayRoute({})}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Multi Factor",commandLink:CommonCommands.setupMultiFactor.displayRoute({})}),XNode.create(MenuItem,{label:"Logout","data-click-event":"user-logout"}))))}))}getItems(){return __awaiter(this,void 0,void 0,(function*(){const ms=this.resolve(MailboxService);const fs=this.resolve(CloudFileService);const ss=this.resolve(StoreService);const[mailboxes,channels,drives,websites,stores]=yield Promise.all([ms.top(),ms.top({isChannel:true}),fs.top(),fs.top(true),ss.top()]);return{mailboxes,channels,drives,websites,stores}}))}userLogout(){return __awaiter(this,void 0,void 0,(function*(){const loginService=this.resolve(LoginService);yield loginService.logout()}))}onClick(none,e){var _a;(_a=this.selected)===null||_a===void 0?void 0:_a.removeAttribute("data-selected");let start=e.target;while(start!==e.currentTarget){if(start.getAttribute("data-layout")==="menu-item"){start.setAttribute("data-selected","true");this.selected=start;break}start=start.parentElement}}});__decorate([Action({onEvent:"user-logout"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AppDrawer.prototype,"userLogout",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,MouseEvent]),__metadata("design:returntype",void 0)],AppDrawer.prototype,"onClick",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/drawer/AppDrawer");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode,ModuleInfo;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("ModuleInfo",ModuleInfo=typeof moduleInfo==="undefined"?[]:[XNode.create("div",{title:`${moduleInfo.server.package}@${moduleInfo.server.version}`},moduleInfo.server.version)," | ",XNode.create("div",{title:`${moduleInfo.ui.package}@${moduleInfo.ui.version}`},moduleInfo.ui.version)])}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","@web-atoms/core/dist/services/FetchBuilder","../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,LoginSession,FetchBuilder,apiPath,WebPushService;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){LoginSession=_modelModel.LoginSession},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){WebPushService=class WebPushService{register(){return __awaiter(this,void 0,void 0,(function*(){try{if(!("serviceWorker"in navigator)){return}const r=yield navigator.serviceWorker.ready;let s=yield r.pushManager.getSubscription();if(!s){s=yield this.createRegistration(r);if(!s){return}}yield this.updateRegistration(s)}catch(error){console.error(error)}}))}createRegistration(r){return __awaiter(this,void 0,void 0,(function*(){const permission=yield Notification.requestPermission();if(permission!=="granted"){return}const{webPush:{publicKey}}=yield FetchBuilder.get(apiPath("/api/push/keys")).responseAsJson();const s=yield r.pushManager.subscribe({userVisibleOnly:true,applicationServerKey:publicKey});return s}))}updateRegistration(s){return __awaiter(this,void 0,void 0,(function*(){const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.deviceToken=JSON.stringify(s);session.deviceTokenType="WebPush";const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy)}))}};__decorate([Inject,__metadata("design:type",EntityService)],WebPushService.prototype,"entityService",void 0);WebPushService=__decorate([DITransient()],WebPushService);_export("default",WebPushService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/WebPushService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserAuthFactor,InjectProperty,UserService,XNode,SaveIconTextButton,FormField,Bind,Action,DateFormats,AppForm,SetupMultiFactorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",SetupMultiFactorPage=class SetupMultiFactorPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Please setup security";yield this.generateOTP()}))}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"})))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];let generated=false;const newAuth=[];while(authList.filter((x=>x.method==="one-time")).length<=8){const af=UserAuthFactor.create({method:"one-time"});authList.push(af);newAuth.push(af)}yield this.userService.saveAuthFactors(newAuth);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}generated=true;text+="\r\n"+iterator.displaySecret}if(!generated){yield this.addAuthenticator();return}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these one time codes 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, setup authenticator to finish."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Setup Authenticator"}))))}))}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.verify(this.authFactor);this.model.multiFactor=true;yield this.userService.save(this.model);location.reload()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],SetupMultiFactorPage.prototype,"userService",void 0);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Multi Factor Login is setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/core/dist/core/Route","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Command","./commands/AppCommands","../style/GlobalStyle","../services/LoginService","../common/pages/user/login/LoginPage","./drawer/AppDrawer","../services/files/LocalFileService","../common/controls/ModuleInfo","@web-atoms/core/dist/core/sleep","../services/WebPushService","../common/pages/user/multi-factor/SetupMultiFactorPage","../common/SocialMailApp","./page/users/SignupPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Pack,MobileDesktopApp,Route,PageNavigator,Command,AppCommands,LoginService,LoginPage,AppDrawer,LocalFileService,ModuleInfo,sleep,WebPushService,SetupMultiFactorPage,SocialMailApp,SignupPage,_a,_b,_c,_d,AppIndex;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_styleGlobalStyle){},function(_servicesLoginService){LoginService=_servicesLoginService.default},function(_commonPagesUserLoginLoginPage){LoginPage=_commonPagesUserLoginLoginPage.default},function(_drawerAppDrawer){AppDrawer=_drawerAppDrawer.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_commonControlsModuleInfo){ModuleInfo=_commonControlsModuleInfo.ModuleInfo},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_servicesWebPushService){WebPushService=_servicesWebPushService.default},function(_commonPagesUserMultiFactorSetupMultiFactorPage){SetupMultiFactorPage=_commonPagesUserMultiFactorSetupMultiFactorPage.default},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_pageUsersSignupPage){SignupPage=_pageUsersSignupPage.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");AppIndex=class AppIndex extends MobileDesktopApp{init(){return __awaiter(this,void 0,void 0,(function*(){AppCommands.install(this);this.resolve(LocalFileService);const currentUser=yield this.userService.getUser();if(!currentUser){if(SocialMailApp.config.externalLogin){location.href=SocialMailApp.config.externalLogin}if(/\/signup$/i.test(location.href)||/\/signup\//i.test(location.href)){PageNavigator.openPage(SignupPage);return}PageNavigator.openPage(LoginPage);return}this.drawerMenu=AppDrawer;while(!currentUser.multiFactor){yield PageNavigator.pushPageForResultOrCancel(SetupMultiFactorPage)}if(!Command.invokeRoute()){AppCommands.openHome.dispatch()}if(this.desktopApp){this.desktopApp.statusBarRenderer=()=>{var _a;return XNode.create("div",{"data-layout":"row"},((_a=currentUser.roles)===null||_a===void 0?void 0:_a.find((x=>/^admin/i.test(x.roleName))))&&XNode.create("a",{href:"/admin",target:"_blank"},"Admin"),XNode.create("div",{"data-flex":"stretch-full"}),...ModuleInfo)}}yield sleep(500);yield this.resolve(WebPushService).register()}))}};__decorate([InjectProperty,__metadata("design:type",LoginService)],AppIndex.prototype,"userService",void 0);AppIndex=__decorate([Pack],AppIndex);_export("default",AppIndex);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(/\d+\./.test(location.hostname)){return"#!"+url}return url}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/AppIndex");
|
|
4485
4485
|
//# sourceMappingURL=AppIndex.pack.min.js.map
|