@social-mail/social-mail-client 1.0.97 → 1.0.99
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 +784 -40
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +24 -13
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/commands/CommonCommands.js +10 -0
- package/dist/common/commands/CommonCommands.js.map +1 -1
- package/dist/common/controls/html/InlineHtmlEditorWithToolbar.js +27 -2
- package/dist/common/controls/html/InlineHtmlEditorWithToolbar.js.map +1 -1
- package/dist/common/icons/Icons.js +35 -0
- package/dist/common/icons/Icons.js.map +1 -0
- package/dist/common/pages/mailboxes/MailboxEditorPage.js +22 -3
- package/dist/common/pages/mailboxes/MailboxEditorPage.js.map +1 -1
- package/dist/common/pages/mailboxes/MailboxListPage.js +20 -6
- package/dist/common/pages/mailboxes/MailboxListPage.js.map +1 -1
- package/dist/common/pages/mailboxes/services/MailboxService.js +6 -2
- package/dist/common/pages/mailboxes/services/MailboxService.js.map +1 -1
- package/dist/model/model.js +33 -2
- package/dist/model/model.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +952 -189
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +44 -33
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/drawer/AppDrawer.js +24 -5
- package/dist/web/drawer/AppDrawer.js.map +1 -1
- package/dist/web/page/channels/detail/ChannelDetailPage.js +31 -0
- package/dist/web/page/channels/detail/ChannelDetailPage.js.map +1 -0
- package/dist/web/page/channels/services/ChannelService.js +78 -0
- package/dist/web/page/channels/services/ChannelService.js.map +1 -0
- package/dist/web/page/channels/subscribers/ChannelSubscribersPage.js +158 -0
- package/dist/web/page/channels/subscribers/ChannelSubscribersPage.js.map +1 -0
- package/dist/web/page/channels/subscribers/add/AddSubscriberPage.js +103 -0
- package/dist/web/page/channels/subscribers/add/AddSubscriberPage.js.map +1 -0
- package/dist/web/page/channels/subscribers/import/ImportCSV.js +15 -0
- package/dist/web/page/channels/subscribers/import/ImportCSV.js.map +1 -0
- package/dist/web/page/channels/subscribers/rights/UpdateRightsPage.js +59 -0
- package/dist/web/page/channels/subscribers/rights/UpdateRightsPage.js.map +1 -0
- package/dist/web/page/files/service/CloudFileService.js +3 -3
- package/dist/web/page/files/service/CloudFileService.js.map +1 -1
- package/dist/web/page/mails/ComposeMailPage.js +29 -2
- package/dist/web/page/mails/ComposeMailPage.js.map +1 -1
- package/dist/web/page/mails/ConversationPage.js +1 -0
- package/dist/web/page/mails/ConversationPage.js.map +1 -1
- package/dist/web/page/mails/MailboxContacts.js +19 -2
- package/dist/web/page/mails/MailboxContacts.js.map +1 -1
- package/dist/web/page/templates/social/SocialTemplate.js +91 -0
- package/dist/web/page/templates/social/SocialTemplate.js.map +1 -0
- package/node_modules/@web-atoms/core/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/core/dist/web/controls/AtomControl.d.ts.map +1 -1
- package/node_modules/@web-atoms/core/dist/web/controls/AtomControl.js +1 -1
- package/node_modules/@web-atoms/core/dist/web/controls/AtomControl.js.map +1 -1
- package/node_modules/@web-atoms/core/package.json +1 -1
- package/node_modules/@web-atoms/core/src/web/controls/AtomControl.ts +3 -1
- package/node_modules/@web-atoms/email-dom/dist/DomToString.js +1 -1
- package/node_modules/@web-atoms/email-dom/dist/DomToString.js.map +1 -1
- package/node_modules/@web-atoms/email-dom/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/email-dom/package.json +2 -2
- package/node_modules/@web-atoms/email-dom/src/DomToString.tsx +2 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.d.ts +9 -0
- package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.d.ts.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js +34 -14
- package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.js +1 -1
- package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.js.map +1 -1
- package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/web-controls/package.json +1 -1
- package/node_modules/@web-atoms/web-controls/src/basic/UploadEvent.tsx +44 -16
- package/node_modules/@web-atoms/web-controls/src/html-editor/InlineHtmlEditor.tsx +1 -1
- package/package.json +4 -4
- package/src/common/commands/CommonCommands.ts +12 -1
- package/src/common/controls/html/InlineHtmlEditorWithToolbar.tsx +28 -0
- package/src/common/icons/Icons.tsx +25 -0
- package/src/common/pages/mailboxes/MailboxEditorPage.tsx +23 -1
- package/src/common/pages/mailboxes/MailboxListPage.tsx +15 -2
- package/src/common/pages/mailboxes/services/MailboxService.ts +2 -1
- package/src/model/model.ts +44 -1
- package/src/web/drawer/AppDrawer.tsx +22 -5
- package/src/web/page/channels/detail/ChannelDetailPage.tsx +20 -0
- package/src/web/page/channels/services/ChannelService.ts +50 -0
- package/src/web/page/channels/subscribers/ChannelSubscribersPage.tsx +138 -0
- package/src/web/page/channels/subscribers/add/AddSubscriberPage.tsx +90 -0
- package/src/web/page/channels/subscribers/import/ImportCSV.tsx +5 -0
- package/src/web/page/channels/subscribers/rights/UpdateRightsPage.tsx +34 -0
- package/src/web/page/files/service/CloudFileService.ts +3 -3
- package/src/web/page/mails/ComposeMailPage.tsx +31 -2
- package/src/web/page/mails/ConversationPage.tsx +5 -1
- package/src/web/page/mails/MailboxContacts.tsx +19 -2
- package/src/web/page/templates/social/SocialTemplate.tsx +90 -0
|
@@ -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 __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 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)}};__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"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))}}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)};return{__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding}}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.substr(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substr(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substr(i+1);if(fileName.indexOf(".")===-1){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)$/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);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}))}}}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*(){try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=new m.default;app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=document.getElementById(id);element.appendChild(view.element)}catch(e){console.error(e)}}))))}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=new m.default;return yield new Promise(((resolve,reject)=>{app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;resolve(view)}catch(e){console.error(e);reject(e)}}))))}))}catch(er){console.error(er);throw er}}))}}const UMD=new UMDClass;(u=>{const globalNS=typeof window!=="undefined"?window:global;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","@web-atoms/web-controls","reflect-metadata","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity","@web-atoms/email-dom"],["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@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/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@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/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@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/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@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/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/LoginService","@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/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@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","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@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/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@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","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/pages/folders/ChooserFolderPage","@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/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage","@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@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/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/common/events/CommonEvents","@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/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/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","@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/common/cache/CacheTTL","@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/web/page/mails/ChooseMailboxPage","@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/web/page/files/FolderPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@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","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@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/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/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@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/pages/user/multi-factor/MultiFactorSetupPage","@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/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@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"]);System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");
|
|
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 __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 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)}};__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"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))}}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)};return{__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding}}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.substr(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substr(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substr(i+1);if(fileName.indexOf(".")===-1){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)$/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);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}))}}}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*(){try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=new m.default;app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=document.getElementById(id);element.appendChild(view.element)}catch(e){console.error(e)}}))))}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=new m.default;return yield new Promise(((resolve,reject)=>{app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;resolve(view)}catch(e){console.error(e);reject(e)}}))))}))}catch(er){console.error(er);throw er}}))}}const UMD=new UMDClass;(u=>{const globalNS=typeof window!=="undefined"?window:global;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","@web-atoms/web-controls","reflect-metadata","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity","@web-atoms/email-dom"],["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@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/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@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/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@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/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@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/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/LoginService","@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/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@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","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@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/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@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","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/pages/folders/ChooserFolderPage","@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/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage","@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@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/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/common/events/CommonEvents","@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/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/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","@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/common/cache/CacheTTL","@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate","@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/web/page/mails/ChooseMailboxPage","@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/web/page/files/FolderPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@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","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@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/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/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage","@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService","@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/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@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/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@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"]);System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");
|
|
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
|
|
@@ -12,7 +12,7 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
12
12
|
|
|
13
13
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
14
|
and limitations under the License.
|
|
15
|
-
***************************************************************************** */var Reflect;(function(Reflect){(function(factory){var root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();var exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return function(key,value){if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){var hasOwn=Object.prototype.hasOwnProperty;var supportsSymbol=typeof Symbol==="function";var toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";var iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";var supportsCreate=typeof Object.create==="function";var supportsProto={__proto__:[]}instanceof Array;var downLevel=!supportsCreate&&!supportsProto;var HashMap={create:supportsCreate?function(){return MakeDictionary(Object.create(null))}:supportsProto?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:downLevel?function(map,key){return hasOwn.call(map,key)}:function(map,key){return key in map},get:downLevel?function(map,key){return hasOwn.call(map,key)?map[key]:undefined}:function(map,key){return map[key]}};var functionPrototype=Object.getPrototypeOf(Function);var usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";var _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();var _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();var _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();var 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);var metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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){var targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}var 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){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){var ownKeys=OrdinaryOwnMetadataKeys(O,P);var parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;var parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;var set=new _Set;var keys=[];for(var _i=0,ownKeys_1=ownKeys;_i<ownKeys_1.length;_i++){var key=ownKeys_1[_i];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(var _a=0,parentKeys_1=parentKeys;_a<parentKeys_1.length;_a++){var key=parentKeys_1[_a];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){var keys=[];var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;var keysObj=metadataMap.keys();var iterator=GetIterator(keysObj);var k=0;while(true){var next=IteratorStep(iterator);if(!next){keys.length=k;return keys}var 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}var hint=PreferredType===3?"string":PreferredType===5?"number":"default";var exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){var 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"){var toString_1=O.toString;if(IsCallable(toString_1)){var result=toString_1.call(O);if(!IsObject(result))return result}var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}}else{var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}var toString_2=O.toString;if(IsCallable(toString_2)){var result=toString_2.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){var 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){var func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){var method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;var iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){var result=iterator.next();return result.done?false:result}function IteratorClose(iterator){var f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){var proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;var prototype=O.prototype;var prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;var constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){var cacheSentinel={};var arraySentinel=[];var MapIterator=function(){function MapIterator(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}MapIterator.prototype["@@iterator"]=function(){return this};MapIterator.prototype[iteratorSymbol]=function(){return this};MapIterator.prototype.next=function(){var index=this._index;if(index>=0&&index<this._keys.length){var 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}};MapIterator.prototype.throw=function(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error};MapIterator.prototype.return=function(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}};return MapIterator}();return function(){function Map(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}Object.defineProperty(Map.prototype,"size",{get:function(){return this._keys.length},enumerable:true,configurable:true});Map.prototype.has=function(key){return this._find(key,false)>=0};Map.prototype.get=function(key){var index=this._find(key,false);return index>=0?this._values[index]:undefined};Map.prototype.set=function(key,value){var index=this._find(key,true);this._values[index]=value;return this};Map.prototype.delete=function(key){var index=this._find(key,false);if(index>=0){var size=this._keys.length;for(var 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};Map.prototype.clear=function(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2};Map.prototype.keys=function(){return new MapIterator(this._keys,this._values,getKey)};Map.prototype.values=function(){return new MapIterator(this._keys,this._values,getValue)};Map.prototype.entries=function(){return new MapIterator(this._keys,this._values,getEntry)};Map.prototype["@@iterator"]=function(){return this.entries()};Map.prototype[iteratorSymbol]=function(){return this.entries()};Map.prototype._find=function(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};return Map}();function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return function(){function Set(){this._map=new _Map}Object.defineProperty(Set.prototype,"size",{get:function(){return this._map.size},enumerable:true,configurable:true});Set.prototype.has=function(value){return this._map.has(value)};Set.prototype.add=function(value){return this._map.set(value,value),this};Set.prototype.delete=function(value){return this._map.delete(value)};Set.prototype.clear=function(){this._map.clear()};Set.prototype.keys=function(){return this._map.keys()};Set.prototype.values=function(){return this._map.values()};Set.prototype.entries=function(){return this._map.entries()};Set.prototype["@@iterator"]=function(){return this.keys()};Set.prototype[iteratorSymbol]=function(){return this.keys()};return Set}()}function CreateWeakMapPolyfill(){var UUID_SIZE=16;var keys=HashMap.create();var rootKey=CreateUniqueKey();return function(){function WeakMap(){this._key=CreateUniqueKey()}WeakMap.prototype.has=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false};WeakMap.prototype.get=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined};WeakMap.prototype.set=function(target,value){var table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this};WeakMap.prototype.delete=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false};WeakMap.prototype.clear=function(){this._key=CreateUniqueKey()};return WeakMap}();function CreateUniqueKey(){var 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(var 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(){var data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;var result="";for(var offset=0;offset<UUID_SIZE;++offset){var 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={}));AmdLoader.instance.setup("reflect-metadata");System.register([],(function(_export,_context){"use strict";return{setters:[],execute:function(){Map.prototype.getOrCreate=function(key,factory){let item=this.get(key);if(item===undefined){item=factory(key);this.set(key,item)}return item};_export("default",Map)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomMap");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,globalNS,DI,UMD;_export({CancelToken:void 0,ArrayHelper:void 0});return{setters:[function(_reflectMetadata){},function(_AtomMap){Map=_AtomMap.default}],execute:function(){_export("ignoreValue",ignoreValue=Symbol("ignore"));_export("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;if(/^(cancelled$|canceled$|aborterror\:)/i.test((_a=e.message)!==null&&_a!==void 0?_a:e.toString().trim())){return true}if(e.name==="AbortError"){return true}}get cancelled(){return this.mCancelled}constructor(timeout=-1){this.listeners=[];this.mCancelled=null;this.cancelTimeout=null;if(timeout>0){this.cancelTimeout=setTimeout((()=>{this.cancelTimeout=null;this.cancel("timeout")}),timeout)}}cancel(r="cancelled"){this.mCancelled=r;const existing=this.listeners.slice(0);this.listeners.length=0;for(const fx of existing){fx(r)}this.dispose()}reset(){this.mCancelled=null;this.dispose()}dispose(){this.listeners.length=0;if(this.cancelTimeout){clearTimeout(this.cancelTimeout)}}registerForCancel(f){if(this.mCancelled){f(this.mCancelled);this.cancel();return}this.listeners.push(f)}});_export("ArrayHelper",ArrayHelper=class ArrayHelper{static remove(a,filter){for(let i=0;i<a.length;i++){const item=a[i];if(filter(item)){a.splice(i,1);return true}}return false}});(_a=Object.values)!==null&&_a!==void 0?_a:Object.values=function(t){const r=[];for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){const element=t[key];r.push(element)}}return r};(_b=(_c=Array.prototype).flat)!==null&&_b!==void 0?_b:_c.flat=function(depth=1){const r=[];const flat=depth>0;const nestDepth=depth-1;const nestFlat=nestDepth>0;for(const iterator of this){if(flat&&Array.isArray(iterator)){if(nestFlat){r.push(...iterator.flat(nestDepth));continue}r.push(...iterator);continue}r.push(iterator)}return r};Array.prototype["groupBy"]=function(keySelector){const map=new Map;const groups=[];for(const iterator of this){const key=keySelector(iterator);let g=map.get(key);if(!g){g=[];g.key=key;groups.push(g);map.set(key,g)}g.push(iterator)}map.clear();return groups};globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.msDays=exports.msHours=exports.msSeconds=exports.msMinutes=void 0;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}exports.msMinutes=6e4;exports.msSeconds=1e3;exports.msHours=36e5;exports.msDays=24*exports.msHours;const daysPerMS=1/exports.msDays;const hoursPerMS=1/exports.msHours;const minutesPerMS=1/exports.msMinutes;const secondsPerMS=1/exports.msSeconds;function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}class TimeSpan{static fromDays(n){return new TimeSpan(n*exports.msDays)}static fromHours(n){return new TimeSpan(n*exports.msHours)}static fromMinutes(n){return new TimeSpan(n*exports.msMinutes)}static fromSeconds(n){return new TimeSpan(n*exports.msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/exports.msDays)}get hours(){return Math.floor(this.msSinceEpoch/exports.msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/exports.msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/exports.msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%exports.msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*exports.msDays+(hours||0)*exports.msHours+(minutes||0)*exports.msMinutes+(seconds||0)*exports.msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(exports.msDays);format(exports.msHours,formatAs12&&!d);format(exports.msMinutes);let s=format(exports.msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}}exports.default=TimeSpan;if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./TimeSpan"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const TimeSpan_1=require("./TimeSpan");class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan_1.default.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan_1.default(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan_1.default){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan_1.default(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}}exports.default=DateTime;DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["tslib","../core/StringHelper","../di/RegisterSingleton","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __decorate,StringHelper,RegisterSingleton,DateTime,dateFormatISORegEx,dateFormatMSRegEx,timeZoneDiff,JsonService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/);_export("dateFormatMSRegEx",dateFormatMSRegEx=/^\/Date\((d|-|.*)\)[\/|\\]$/);timeZoneDiff=(new Date).getTimezoneOffset();_export("JsonService",JsonService=class JsonService{constructor(){this.options={indent:2,namingStrategy:"none",dateConverter:[{regex:dateFormatISORegEx,valueConverter:{fromSource(v){const d=new DateTime(v);return d},fromTarget(v){return v.toISOString()}}},{regex:dateFormatMSRegEx,valueConverter:{fromSource(v){const a=dateFormatMSRegEx.exec(v);const b=a[1].split(/[-+,.]/);return new DateTime(b[0]?+b[0]:0-+b[1])},fromTarget(v){return v.toISOString()}}}]}}transformKeys(t,v){if(!v){return v}if(typeof v!=="object"){return v}if(v instanceof Date){return v}if(typeof v==="object"&&v.length!==undefined&&typeof v.length==="number"){const a=v;if(a.map){return a.map((x=>this.transformKeys(t,x)))}const ra=[];for(let i=0;i<a.length;i++){const iterator=a[i];ra.push(this.transformKeys(t,iterator))}return ra}const r={};for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];r[t(key)]=this.transformKeys(t,element)}}return r}parse(text,options){const{dateConverter,namingStrategy}=Object.assign(Object.assign({},this.options),options);const result=JSON.parse(text,((key,value)=>{if(typeof value==="string"){for(const iterator of dateConverter){const a=iterator.regex.test(value);if(a){const dv=iterator.valueConverter.fromSource(value);return dv}}}return value}));switch(namingStrategy){case"hyphen":return this.transformKeys(StringHelper.fromHyphenToCamel,result);case"underscore":return this.transformKeys(StringHelper.fromUnderscoreToCamel,result);case"pascal":return this.transformKeys(StringHelper.fromPascalToCamel,result)}return result}stringify(v,options){const{namingStrategy,dateConverter,indent}=Object.assign(Object.assign({},this.options),options);switch(namingStrategy){case"hyphen":v=this.transformKeys(StringHelper.fromCamelToHyphen,v);break;case"underscore":v=this.transformKeys(StringHelper.fromCamelToUnderscore,v);break;case"pascal":v=this.transformKeys(StringHelper.fromCamelToPascal,v);break}return JSON.stringify(v,((key,value)=>{if(key&&/^\_\$\_/.test(key)){return undefined}if(dateConverter&&value instanceof Date){return dateConverter[0].valueConverter.fromTarget(value)}return value}),indent)}});_export("JsonService",JsonService=__decorate([RegisterSingleton],JsonService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/JsonService");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}if(this.optional){return`(/?(?<${this.variable}>[^\\/]+))?`}return`/(?<${this.variable}>[^\\/]+)`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}if(!iterator.startsWith("{")){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}if(!iterator.endsWith("}")){throw new Error("invalid route, missing end curly brace")}const v=new Variable(iterator.substring(1,iterator.length-1));regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,default:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};_export("default",Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.pathname),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _b;const p=(_b=ce.detail)!==null&&_b!==void 0?_b:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _c;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_c=ce.detail)!==null&&_c!==void 0?_c:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _d;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_d=ce.detail)!==null&&_d!==void 0?_d:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}});Command.registry=new Map;Command.routes=[];_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register(["./types"],(function(_export,_context){"use strict";var ArrayHelper,AtomBinder,symbolHandlers,symbolBindable;_export("AtomBinder",void 0);return{setters:[function(_types){ArrayHelper=_types.ArrayHelper}],execute:function(){_export("symbolHandlers",symbolHandlers=Symbol.for("handlers"));_export("symbolBindable",symbolBindable=Symbol.for("bindable"));_export("AtomBinder",AtomBinder=class AtomBinder{static refreshValue(target,key){const handlers=AtomBinder.get_WatchHandler(target,key);if(handlers===undefined||handlers==null){return}for(const item of handlers){item(target,key)}if(target.onPropertyChanged){target.onPropertyChanged(key)}}static add_WatchHandler(target,key,handler){if(target==null){return}const handlers=AtomBinder.get_WatchHandler(target,key);handlers.push(handler);if(Array.isArray(target)){return}const pv=AtomBinder.getPropertyDescriptor(target,key);if(pv&&pv.get){return}const tw=target;let bindables=tw[symbolBindable];if(bindables===undefined){bindables={};Object.defineProperty(tw,symbolBindable,{value:bindables,enumerable:false,writable:true,configurable:true})}if(!bindables[key]){bindables[key]=1;const o=target[key];const nk=Symbol.for(key);target[nk]=o;const set=function(v){const ov=this[nk];if(ov===undefined?ov===v:ov==v){return}this[nk]=v;AtomBinder.refreshValue(this,key)};const get=function(){return this[nk]};if(pv){delete target[key];Object.defineProperty(target,key,{get,set,configurable:true,enumerable:true})}else{Object.defineProperty(target,key,{get,set,enumerable:true,configurable:true})}}}static getPropertyDescriptor(target,key){const pv=Object.getOwnPropertyDescriptor(target,key);if(!pv){const pt=Object.getPrototypeOf(target);if(pt){return AtomBinder.getPropertyDescriptor(pt,key)}}return pv}static get_WatchHandler(target,key){if(target==null){return null}let handlers=target[symbolHandlers];if(handlers===undefined){handlers={};Object.defineProperty(target,symbolHandlers,{value:handlers,enumerable:false,writable:true,configurable:true})}let handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){handlersForKey=[];handlers[key]=handlersForKey}return handlersForKey}static remove_WatchHandler(target,key,handler){if(target==null){return}const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const handlersForKey=target[symbolHandlers][key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static invokeItemsEvent(target,mode,index,item,oldItem){const key="_items";const handlers=AtomBinder.get_WatchHandler(target,key);if(!handlers){return}for(const obj of handlers){obj(target,mode,index,item,oldItem)}AtomBinder.refreshValue(target,"length")}static refreshItems(ary){AtomBinder.invokeItemsEvent(ary,"refresh",-1,null)}static add_CollectionChanged(target,handler){if(target==null){throw new Error("Target Array to watch cannot be null")}if(handler==null){throw new Error("Target handle to watch an Array cannot be null")}const handlers=AtomBinder.get_WatchHandler(target,"_items");handlers.push(handler);return{dispose:()=>{AtomBinder.remove_CollectionChanged(target,handler)}}}static remove_CollectionChanged(t,handler){if(t==null){return}const target=t;const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const key="_items";const handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static watch(item,property,f){AtomBinder.add_WatchHandler(item,property,f);return{dispose:()=>{AtomBinder.remove_WatchHandler(item,property,f)}}}static clear(a){a.length=0;this.invokeItemsEvent(a,"refresh",-1,null);AtomBinder.refreshValue(a,"length")}static addItem(a,item){const index=a.length;a.push(item);this.invokeItemsEvent(a,"add",index,item);AtomBinder.refreshValue(a,"length")}static removeItem(a,item){const i=a.findIndex((x=>x===item));if(i===-1){return false}a.splice(i,1);AtomBinder.invokeItemsEvent(a,"remove",i,item);AtomBinder.refreshValue(a,"length");return true}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBinder");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __awaiter,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesReferenceService){ReferenceService=_servicesReferenceService.default},function(_AtomUri){AtomUri=_AtomUri.AtomUri},function(_Command){displayRouteSymbol=_Command.displayRouteSymbol},function(_InheritedProperty){getOwnInheritedProperty=_InheritedProperty.getOwnInheritedProperty},function(_types){CancelToken=_types.CancelToken;DI=_types.DI}],execute:function(){_export("AtomLoader",AtomLoader=class AtomLoader{static load(url,app){return __awaiter(this,void 0,void 0,(function*(){if(typeof url==="string"){const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}if(url instanceof AtomUri){if(url.host==="reference"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return r.consume()}if(url.host==="class"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return app.resolve(r.consume(),true)}url=url.path;const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}const obj=app.resolve(url,true);return obj}))}static loadView(url,app,hookCloseEvents,vmFactory){return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{const view=yield AtomLoader.load(url,app);let vm=view.viewModel;if(!vm){if(!vmFactory){return{view}}vm=vmFactory();view.viewModel=vm}if("parameters"in view){vm=view.parameters}if(vm){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(typeof element==="object"){vm[key]=jsonService.parse(jsonService.stringify(element));continue}if(/^json\:/.test(key)){const k=key.split(":")[1];vm[k]=jsonService.parse(element.toString());continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element);vm[key.split(":",2)[1]]=v.consume();continue}try{vm[key]=element}catch(e){console.error(e)}}}}if(hookCloseEvents&&vm){const disposables=view.disposables;const id=(AtomLoader.id++).toString();view.id=id;const returnPromise=new Promise(((resolve,reject)=>{disposables.add(app.subscribe(`atom-window-close:${id}`,((m,r)=>{resolve(r);view.dispose()})));disposables.add(app.subscribe(`atom-window-cancel:${id}`,(()=>{reject("cancelled");view.dispose()})))}));vm.windowName=id;view.returnPromise=returnPromise;return{view,disposables,returnPromise,id}}return{view}}finally{busyIndicator.dispose()}}))}static loadClass(url,_a={},app){var _b,_c,_d,_e;var _f;var{title}=_a,_g=displayRouteSymbol,route=_a[_g],parameters=__rest(_a,["title",typeof _g==="symbol"?_g:_g+""]);return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`});try{const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_b=(_f=view).parameters)!==null&&_b!==void 0?_b:_f.parameters={}}else{console.warn("ViewModel is deprecated")}if(title){view.title=title}if(params){params[displayRouteSymbol]=route}if((vm||params)&¶meters){for(const key in parameters){if(parameters.hasOwnProperty(key)){const element=parameters[key];try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_e=(_d=(_c=view).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}finally{busyIndicator.dispose()}}))}static loadControl(url,app){var _a,_b,_c,_d;var _e;return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`});try{const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_a=(_e=view).parameters)!==null&&_a!==void 0?_a:_e.parameters={}}if(vm||params){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(/^json\:/.test(key)){const k=key.split(":")[1];const v=jsonService.parse(element.toString());if(vm){vm[k]=v}if(params){params[k]=v}continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element).consume();const keyName=key.split(":",2)[1];if(vm){vm[keyName]=v}if(params){params[keyName]=v}continue}try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_d=(_c=(_b=view).init)===null||_c===void 0?void 0:_c.call(_b))===null||_d===void 0?void 0:_d.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}finally{busyIndicator.dispose()}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");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");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _b,_c;if((_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancelled){return}asyncState.token=undefined;(_c=asyncState.cancelToken)===null||_c===void 0?void 0:_c.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export({RootObject:void 0,default:void 0});return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};_export("default",XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}});XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{dispose(){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.busyIndicators=[];this.readyHandlers=[];this.onError=error=>{console.log(error)};this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator.dispose()}));a.catch((e=>{indicator.dispose();console.error(typeof e==="string"?e:JSON.stringify(e))}))}}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,BaseElementBridge,AtomElementBridge,AtomBridge,globalNS;_export({BaseElementBridge:void 0,AtomElementBridge:void 0,AtomBridge:void 0});return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("BaseElementBridge",BaseElementBridge=class BaseElementBridge{refreshInherited(target,name,fieldName){AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}this.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){this.refreshInherited(ac,name,fieldName)}return false}return true}))}createNode(target,node,binder,xNodeClass,creator){throw new Error("Method not implemented.")}});_export("AtomElementBridge",AtomElementBridge=class AtomElementBridge extends BaseElementBridge{addEventHandler(element,name,handler,capture){element.addEventListener(name,handler,capture);return{dispose:()=>{element.removeEventListener(name,handler,capture)}}}atomParent(element,climbUp=true){const eAny=element;if(eAny.atomControl){return eAny.atomControl}if(!climbUp){return null}if(!element.parentNode){return null}return this.atomParent(this.elementParent(element))}elementParent(element){const eAny=element;const lp=eAny._logicalParent;if(lp){return lp}return element.parentElement}templateParent(element){if(!element){return null}const eAny=element;if(eAny._templateParent){return this.atomParent(element)}const parent=this.elementParent(element);if(!parent){return null}return this.templateParent(parent)}visitDescendents(element,action){for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}this.visitDescendents(iterator,action)}}dispose(element){const eAny=element;eAny.atomControl=undefined;eAny.innerHTML="";delete eAny.atomControl}appendChild(parent,child){parent.appendChild(child)}setValue(element,name,value){element[name]=value}getValue(element,name){return element[name]}watchProperty(element,name,events,f){if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}}attachControl(element,control){element.atomControl=control}create(type){return document.createElement(type)}loadContent(element,text){throw new Error("Not supported")}findChild(element,name){throw new Error("Not supported")}close(element,success,error){throw new Error("Not supported")}toTemplate(element,creator){const templateNode=element;const name=templateNode.name;if(typeof name==="string"){element=((bx,n)=>class extends bx{create(){this.render(n)}})(creator,templateNode.children[0])}else{element=((base,n)=>class extends base{create(){this.render(n)}})(name,templateNode.children[0])}return element}createNode(target,node,binder,xNodeClass,creator){let parent=null;const app=target.app;let e=null;const nn=node.attributes?node.attributes.for:undefined;if(typeof node.name==="string"){e=document.createElement(node.name);parent=e;if(nn){delete node.attributes.for}}else{if(nn){target=new node.name(app,document.createElement(nn));delete node.attributes.for}target=new node.name(app);e=target.element;parent=target}const a=node.attributes;if(a){for(const key in a){if(a.hasOwnProperty(key)){let element=a[key];if(element instanceof binder){if(/^event/.test(key)){let ev=key.substr(5);if(ev.startsWith("-")){ev=ev.split("-").map((s=>s[0].toLowerCase()+s.substr(1))).join("")}else{ev=ev[0].toLowerCase()+ev.substr(1)}element.setupFunction(ev,element,target,e)}else{element.setupFunction(key,element,target,e)}}else{if(element instanceof xNodeClass){element=this.toTemplate(element,creator)}target.setLocalValue(e,key,element)}}}}const children=node.children;if(children){for(const iterator of children){if(typeof iterator==="string"){e.appendChild(document.createTextNode(iterator));continue}const t=iterator.attributes?iterator.attributes.template:null;if(t){const tx=this.toTemplate(iterator,creator);target[t]=tx;continue}if(typeof iterator.name==="string"){e.appendChild(this.createNode(target,iterator,binder,xNodeClass,creator));continue}const child=this.createNode(target,iterator,binder,xNodeClass,creator);if(parent.element&&parent.element.atomControl===parent){parent.append(child.atomControl||child)}else{parent.appendChild(child)}}}return e}});_export("AtomBridge",AtomBridge=class AtomBridge{static createNode(iterator,app){if(typeof iterator.name==="string"||iterator.name.factory){return{element:AtomBridge.instance.create(iterator.name,iterator,app)}}const fx=iterator.attributes?iterator.attributes.for:undefined;const c=new iterator.name(app,fx?AtomBridge.instance.create(fx,iterator,app):undefined);return{element:c.element,control:c}}static toTemplate(app,n,creator){if(n.isTemplate){const t=AtomBridge.toTemplate(app,n.children[0],creator);return AtomBridge.instance.create(n.name.toString(),t,app)}const bridge=AtomBridge.instance;let fx;let en;if(typeof n.name==="function"){fx=n.name;en=n.attributes&&n.attributes.for?n.attributes.for:undefined}else{fx=bridge.controlFactory;en=n.name}return class Template extends fx{constructor(a,e1){super(a||app,e1||(en?bridge.create(en,null,app):undefined));this._creator=fx}create(){super.create();this.render(n,null,creator)}}}static refreshInherited(target,name,fieldName){if(AtomBridge.instance.refreshInherited){AtomBridge.instance.refreshInherited(target,name,fieldName);return}AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}AtomBridge.instance.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){AtomBridge.refreshInherited(ac,name,fieldName)}return false}return true}))}});globalNS=typeof window!=="undefined"?window:global;globalNS.AtomBridge=AtomBridge;if(typeof window!=="undefined"){AtomBridge.instance=new AtomElementBridge;AtomBridge.platform="web"}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBridge");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["tslib","../App","../core/AtomBridge","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,AtomBridge,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,InheritedProperty,PropertyMap,attachedSymbol,constructorNeedsArgumentsSymbol,elementFactorySymbol,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,objectHasOwnProperty,localBindSymbol,localXNodeSymbol,elementFactory,isFactory,isAtomControl,localBridge,renderFirst,attached,constructorNeedsArguments,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){attachedSymbol=_XNode.attachedSymbol;constructorNeedsArgumentsSymbol=_XNode.constructorNeedsArgumentsSymbol;elementFactorySymbol=_XNode.elementFactorySymbol;isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){objectHasOwnProperty=Object.prototype.hasOwnProperty;localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;elementFactory=elementFactorySymbol;isFactory=isFactorySymbol;isAtomControl=isControl;localBridge=AtomBridge;renderFirst=AtomBridge.platform==="xf";attached=attachedSymbol;constructorNeedsArguments=constructorNeedsArgumentsSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}AtomBridge.instance.visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){AtomBridge.instance.setValue(element,name,value)}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}});_a=isControl,_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=AtomBridge.instance.watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["tslib","../../core/AtomBinder","../../core/AtomBridge","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomBridge,AtomComponent,BindableProperty,Command,FormattedString,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,bridgeInstance,defaultStyleSheets,ElementValueSetters,propertyId,getSelection;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}bridgeInstance=AtomBridge.instance;defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){ie.focus()}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;bridgeInstance.refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();bridgeInstance.visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("aria-")){element.setAttribute(name,value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;while(start){if(start.tagName==="A"){const clickEvent=start.getAttribute("data-click-event");if(clickEvent===null){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}));bridgeInstance.controlFactory=AtomControl}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register([],(function(_export,_context){"use strict";var StyleFragment,id,nextId,globalLow,global,globalHigh,localLow,local,localHigh,styles,styled;function*divide(text){const regex=/^(([^\{\n]+\{[\t\x20]*)|([^\n\}]*\}[^\S\n\r]*))$/gm;let m;let sentOnce=false;let lastIndex=0;let lastMatch;while((m=regex.exec(text))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}const match=m[0];if(!sentOnce){sentOnce=true;yield text.substring(lastIndex,m.index);lastIndex=m.index+match.length;lastMatch=match;continue}if(lastMatch.includes("}")){yield[lastMatch.trim()];lastIndex=m.index+match.length;lastMatch=match;continue}yield[lastMatch,text.substring(lastIndex,m.index),match];lastIndex=m.index+match.length;lastMatch=match}if(lastMatch===null||lastMatch===void 0?void 0:lastMatch.includes("}")){yield[lastMatch.trim()]}}return{setters:[],execute:function(){id=1;nextId=()=>`styled-r${id++}`;globalLow=document.createElement("meta");globalLow.name="global-low-style";document.head.appendChild(globalLow);global=document.createElement("meta");global.name="global-style";document.head.appendChild(global);globalHigh=document.createElement("meta");globalHigh.name="global-high-style";document.head.appendChild(globalHigh);localLow=document.createElement("meta");localLow.name="local-low-style";document.head.appendChild(localLow);local=document.createElement("meta");local.name="local-style";document.head.appendChild(local);localHigh=document.createElement("meta");localHigh.name="local-high-style";document.head.appendChild(localHigh);StyleFragment=class StyleFragment{static newStyle({selector="",content=""}){return new StyleFragment({selector,content})}constructor({selector,content}){this.order="low";this.selector=selector;this.content=content}expand(selector){selector!==null&&selector!==void 0?selector:selector=this.selector;let en=divide(this.content);let parts=en.next();if(parts.done){if(!this.content){return""}return`${selector} {\n${this.content}\n}`}const first=parts.value;let content=(first===null||first===void 0?void 0:first.trim())?`${selector} {\n${first}\n}\n`:"";let selectorStack=[];while(!(parts=en.next()).done){const[key,value]=parts.value;if(key.endsWith("}")){selector=selectorStack.pop();if(selector==="@"){content+="\n}\n";selector=selectorStack.pop()}continue}let keySelector=key.replace("{","");const isMedia=/\@/.test(keySelector);const replace=!isMedia;const replaced=replace?selector.split(",").map((x=>keySelector.replace(/\&/g,x).trim())).join(","):keySelector;selectorStack.push(selector);selector=replace?replaced:selector;if(isMedia){selectorStack.push("@")}if(value===null||value===void 0?void 0:value.trim()){content+=`${replaced} {\n${value}\n}\n`}else{if(isMedia){content+=`${replaced} {\n`}}}return content}toString(){return this.content.replace(/\\n/g,"")}installGlobal(selector="",id=this.id||selector,description){const style=document.createElement("style");style.textContent=this.expand(selector);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,globalLow);break;case"default":case"medium":document.head.insertBefore(style,global);break;case"high":document.head.insertBefore(style,globalHigh);break}style.id=id}installLocal(prefix="",description=this.description){const selector=nextId();const style=document.createElement("style");const id=`${prefix}.${selector}`;style.id=id;style.textContent=this.expand(id);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,localLow);break;case"default":case"medium":document.head.insertBefore(style,local);break;case"high":document.head.insertBefore(style,localHigh);break}return selector}withId(id){this.id=id;return this}withDescription(description){this.description=description;return this}withOrder(order){this.order=order;return this}};styles=[];styled={get styles(){return styles},css:(t,...a)=>{let r="";for(let index=0;index<t.length;index++){const element=t[index];r+=element;if(index<a.length){r+=a[index]}}return StyleFragment.newStyle({content:r})},add(x){styles.push(x)}};_export("default",styled)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/style/styled");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../../style/styled","../controls/AtomControl","../core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,styled,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_styleStyled){styled=_styleStyled.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};styled.css`
|
|
15
|
+
***************************************************************************** */var Reflect;(function(Reflect){(function(factory){var root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();var exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return function(key,value){if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){var hasOwn=Object.prototype.hasOwnProperty;var supportsSymbol=typeof Symbol==="function";var toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";var iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";var supportsCreate=typeof Object.create==="function";var supportsProto={__proto__:[]}instanceof Array;var downLevel=!supportsCreate&&!supportsProto;var HashMap={create:supportsCreate?function(){return MakeDictionary(Object.create(null))}:supportsProto?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:downLevel?function(map,key){return hasOwn.call(map,key)}:function(map,key){return key in map},get:downLevel?function(map,key){return hasOwn.call(map,key)?map[key]:undefined}:function(map,key){return map[key]}};var functionPrototype=Object.getPrototypeOf(Function);var usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";var _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();var _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();var _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();var 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);var metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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){var targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}var 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){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){var ownKeys=OrdinaryOwnMetadataKeys(O,P);var parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;var parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;var set=new _Set;var keys=[];for(var _i=0,ownKeys_1=ownKeys;_i<ownKeys_1.length;_i++){var key=ownKeys_1[_i];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(var _a=0,parentKeys_1=parentKeys;_a<parentKeys_1.length;_a++){var key=parentKeys_1[_a];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){var keys=[];var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;var keysObj=metadataMap.keys();var iterator=GetIterator(keysObj);var k=0;while(true){var next=IteratorStep(iterator);if(!next){keys.length=k;return keys}var 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}var hint=PreferredType===3?"string":PreferredType===5?"number":"default";var exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){var 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"){var toString_1=O.toString;if(IsCallable(toString_1)){var result=toString_1.call(O);if(!IsObject(result))return result}var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}}else{var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}var toString_2=O.toString;if(IsCallable(toString_2)){var result=toString_2.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){var 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){var func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){var method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;var iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){var result=iterator.next();return result.done?false:result}function IteratorClose(iterator){var f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){var proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;var prototype=O.prototype;var prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;var constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){var cacheSentinel={};var arraySentinel=[];var MapIterator=function(){function MapIterator(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}MapIterator.prototype["@@iterator"]=function(){return this};MapIterator.prototype[iteratorSymbol]=function(){return this};MapIterator.prototype.next=function(){var index=this._index;if(index>=0&&index<this._keys.length){var 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}};MapIterator.prototype.throw=function(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error};MapIterator.prototype.return=function(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}};return MapIterator}();return function(){function Map(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}Object.defineProperty(Map.prototype,"size",{get:function(){return this._keys.length},enumerable:true,configurable:true});Map.prototype.has=function(key){return this._find(key,false)>=0};Map.prototype.get=function(key){var index=this._find(key,false);return index>=0?this._values[index]:undefined};Map.prototype.set=function(key,value){var index=this._find(key,true);this._values[index]=value;return this};Map.prototype.delete=function(key){var index=this._find(key,false);if(index>=0){var size=this._keys.length;for(var 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};Map.prototype.clear=function(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2};Map.prototype.keys=function(){return new MapIterator(this._keys,this._values,getKey)};Map.prototype.values=function(){return new MapIterator(this._keys,this._values,getValue)};Map.prototype.entries=function(){return new MapIterator(this._keys,this._values,getEntry)};Map.prototype["@@iterator"]=function(){return this.entries()};Map.prototype[iteratorSymbol]=function(){return this.entries()};Map.prototype._find=function(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};return Map}();function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return function(){function Set(){this._map=new _Map}Object.defineProperty(Set.prototype,"size",{get:function(){return this._map.size},enumerable:true,configurable:true});Set.prototype.has=function(value){return this._map.has(value)};Set.prototype.add=function(value){return this._map.set(value,value),this};Set.prototype.delete=function(value){return this._map.delete(value)};Set.prototype.clear=function(){this._map.clear()};Set.prototype.keys=function(){return this._map.keys()};Set.prototype.values=function(){return this._map.values()};Set.prototype.entries=function(){return this._map.entries()};Set.prototype["@@iterator"]=function(){return this.keys()};Set.prototype[iteratorSymbol]=function(){return this.keys()};return Set}()}function CreateWeakMapPolyfill(){var UUID_SIZE=16;var keys=HashMap.create();var rootKey=CreateUniqueKey();return function(){function WeakMap(){this._key=CreateUniqueKey()}WeakMap.prototype.has=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false};WeakMap.prototype.get=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined};WeakMap.prototype.set=function(target,value){var table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this};WeakMap.prototype.delete=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false};WeakMap.prototype.clear=function(){this._key=CreateUniqueKey()};return WeakMap}();function CreateUniqueKey(){var 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(var 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(){var data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;var result="";for(var offset=0;offset<UUID_SIZE;++offset){var 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={}));AmdLoader.instance.setup("reflect-metadata");System.register([],(function(_export,_context){"use strict";return{setters:[],execute:function(){Map.prototype.getOrCreate=function(key,factory){let item=this.get(key);if(item===undefined){item=factory(key);this.set(key,item)}return item};_export("default",Map)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomMap");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,globalNS,DI,UMD;_export({CancelToken:void 0,ArrayHelper:void 0});return{setters:[function(_reflectMetadata){},function(_AtomMap){Map=_AtomMap.default}],execute:function(){_export("ignoreValue",ignoreValue=Symbol("ignore"));_export("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;if(/^(cancelled$|canceled$|aborterror\:)/i.test((_a=e.message)!==null&&_a!==void 0?_a:e.toString().trim())){return true}if(e.name==="AbortError"){return true}}get cancelled(){return this.mCancelled}constructor(timeout=-1){this.listeners=[];this.mCancelled=null;this.cancelTimeout=null;if(timeout>0){this.cancelTimeout=setTimeout((()=>{this.cancelTimeout=null;this.cancel("timeout")}),timeout)}}cancel(r="cancelled"){this.mCancelled=r;const existing=this.listeners.slice(0);this.listeners.length=0;for(const fx of existing){fx(r)}this.dispose()}reset(){this.mCancelled=null;this.dispose()}dispose(){this.listeners.length=0;if(this.cancelTimeout){clearTimeout(this.cancelTimeout)}}registerForCancel(f){if(this.mCancelled){f(this.mCancelled);this.cancel();return}this.listeners.push(f)}});_export("ArrayHelper",ArrayHelper=class ArrayHelper{static remove(a,filter){for(let i=0;i<a.length;i++){const item=a[i];if(filter(item)){a.splice(i,1);return true}}return false}});(_a=Object.values)!==null&&_a!==void 0?_a:Object.values=function(t){const r=[];for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){const element=t[key];r.push(element)}}return r};(_b=(_c=Array.prototype).flat)!==null&&_b!==void 0?_b:_c.flat=function(depth=1){const r=[];const flat=depth>0;const nestDepth=depth-1;const nestFlat=nestDepth>0;for(const iterator of this){if(flat&&Array.isArray(iterator)){if(nestFlat){r.push(...iterator.flat(nestDepth));continue}r.push(...iterator);continue}r.push(iterator)}return r};Array.prototype["groupBy"]=function(keySelector){const map=new Map;const groups=[];for(const iterator of this){const key=keySelector(iterator);let g=map.get(key);if(!g){g=[];g.key=key;groups.push(g);map.set(key,g)}g.push(iterator)}map.clear();return groups};globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.msDays=exports.msHours=exports.msSeconds=exports.msMinutes=void 0;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}exports.msMinutes=6e4;exports.msSeconds=1e3;exports.msHours=36e5;exports.msDays=24*exports.msHours;const daysPerMS=1/exports.msDays;const hoursPerMS=1/exports.msHours;const minutesPerMS=1/exports.msMinutes;const secondsPerMS=1/exports.msSeconds;function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}class TimeSpan{static fromDays(n){return new TimeSpan(n*exports.msDays)}static fromHours(n){return new TimeSpan(n*exports.msHours)}static fromMinutes(n){return new TimeSpan(n*exports.msMinutes)}static fromSeconds(n){return new TimeSpan(n*exports.msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/exports.msDays)}get hours(){return Math.floor(this.msSinceEpoch/exports.msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/exports.msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/exports.msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%exports.msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*exports.msDays+(hours||0)*exports.msHours+(minutes||0)*exports.msMinutes+(seconds||0)*exports.msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(exports.msDays);format(exports.msHours,formatAs12&&!d);format(exports.msMinutes);let s=format(exports.msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}}exports.default=TimeSpan;if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./TimeSpan"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const TimeSpan_1=require("./TimeSpan");class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan_1.default.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan_1.default(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan_1.default){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan_1.default(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}}exports.default=DateTime;DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["tslib","../core/StringHelper","../di/RegisterSingleton","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __decorate,StringHelper,RegisterSingleton,DateTime,dateFormatISORegEx,dateFormatMSRegEx,timeZoneDiff,JsonService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/);_export("dateFormatMSRegEx",dateFormatMSRegEx=/^\/Date\((d|-|.*)\)[\/|\\]$/);timeZoneDiff=(new Date).getTimezoneOffset();_export("JsonService",JsonService=class JsonService{constructor(){this.options={indent:2,namingStrategy:"none",dateConverter:[{regex:dateFormatISORegEx,valueConverter:{fromSource(v){const d=new DateTime(v);return d},fromTarget(v){return v.toISOString()}}},{regex:dateFormatMSRegEx,valueConverter:{fromSource(v){const a=dateFormatMSRegEx.exec(v);const b=a[1].split(/[-+,.]/);return new DateTime(b[0]?+b[0]:0-+b[1])},fromTarget(v){return v.toISOString()}}}]}}transformKeys(t,v){if(!v){return v}if(typeof v!=="object"){return v}if(v instanceof Date){return v}if(typeof v==="object"&&v.length!==undefined&&typeof v.length==="number"){const a=v;if(a.map){return a.map((x=>this.transformKeys(t,x)))}const ra=[];for(let i=0;i<a.length;i++){const iterator=a[i];ra.push(this.transformKeys(t,iterator))}return ra}const r={};for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];r[t(key)]=this.transformKeys(t,element)}}return r}parse(text,options){const{dateConverter,namingStrategy}=Object.assign(Object.assign({},this.options),options);const result=JSON.parse(text,((key,value)=>{if(typeof value==="string"){for(const iterator of dateConverter){const a=iterator.regex.test(value);if(a){const dv=iterator.valueConverter.fromSource(value);return dv}}}return value}));switch(namingStrategy){case"hyphen":return this.transformKeys(StringHelper.fromHyphenToCamel,result);case"underscore":return this.transformKeys(StringHelper.fromUnderscoreToCamel,result);case"pascal":return this.transformKeys(StringHelper.fromPascalToCamel,result)}return result}stringify(v,options){const{namingStrategy,dateConverter,indent}=Object.assign(Object.assign({},this.options),options);switch(namingStrategy){case"hyphen":v=this.transformKeys(StringHelper.fromCamelToHyphen,v);break;case"underscore":v=this.transformKeys(StringHelper.fromCamelToUnderscore,v);break;case"pascal":v=this.transformKeys(StringHelper.fromCamelToPascal,v);break}return JSON.stringify(v,((key,value)=>{if(key&&/^\_\$\_/.test(key)){return undefined}if(dateConverter&&value instanceof Date){return dateConverter[0].valueConverter.fromTarget(value)}return value}),indent)}});_export("JsonService",JsonService=__decorate([RegisterSingleton],JsonService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/JsonService");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}if(this.optional){return`(/?(?<${this.variable}>[^\\/]+))?`}return`/(?<${this.variable}>[^\\/]+)`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}if(!iterator.startsWith("{")){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}if(!iterator.endsWith("}")){throw new Error("invalid route, missing end curly brace")}const v=new Variable(iterator.substring(1,iterator.length-1));regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,default:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};_export("default",Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.pathname),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _b;const p=(_b=ce.detail)!==null&&_b!==void 0?_b:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _c;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_c=ce.detail)!==null&&_c!==void 0?_c:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _d;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_d=ce.detail)!==null&&_d!==void 0?_d:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}});Command.registry=new Map;Command.routes=[];_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register(["./types"],(function(_export,_context){"use strict";var ArrayHelper,AtomBinder,symbolHandlers,symbolBindable;_export("AtomBinder",void 0);return{setters:[function(_types){ArrayHelper=_types.ArrayHelper}],execute:function(){_export("symbolHandlers",symbolHandlers=Symbol.for("handlers"));_export("symbolBindable",symbolBindable=Symbol.for("bindable"));_export("AtomBinder",AtomBinder=class AtomBinder{static refreshValue(target,key){const handlers=AtomBinder.get_WatchHandler(target,key);if(handlers===undefined||handlers==null){return}for(const item of handlers){item(target,key)}if(target.onPropertyChanged){target.onPropertyChanged(key)}}static add_WatchHandler(target,key,handler){if(target==null){return}const handlers=AtomBinder.get_WatchHandler(target,key);handlers.push(handler);if(Array.isArray(target)){return}const pv=AtomBinder.getPropertyDescriptor(target,key);if(pv&&pv.get){return}const tw=target;let bindables=tw[symbolBindable];if(bindables===undefined){bindables={};Object.defineProperty(tw,symbolBindable,{value:bindables,enumerable:false,writable:true,configurable:true})}if(!bindables[key]){bindables[key]=1;const o=target[key];const nk=Symbol.for(key);target[nk]=o;const set=function(v){const ov=this[nk];if(ov===undefined?ov===v:ov==v){return}this[nk]=v;AtomBinder.refreshValue(this,key)};const get=function(){return this[nk]};if(pv){delete target[key];Object.defineProperty(target,key,{get,set,configurable:true,enumerable:true})}else{Object.defineProperty(target,key,{get,set,enumerable:true,configurable:true})}}}static getPropertyDescriptor(target,key){const pv=Object.getOwnPropertyDescriptor(target,key);if(!pv){const pt=Object.getPrototypeOf(target);if(pt){return AtomBinder.getPropertyDescriptor(pt,key)}}return pv}static get_WatchHandler(target,key){if(target==null){return null}let handlers=target[symbolHandlers];if(handlers===undefined){handlers={};Object.defineProperty(target,symbolHandlers,{value:handlers,enumerable:false,writable:true,configurable:true})}let handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){handlersForKey=[];handlers[key]=handlersForKey}return handlersForKey}static remove_WatchHandler(target,key,handler){if(target==null){return}const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const handlersForKey=target[symbolHandlers][key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static invokeItemsEvent(target,mode,index,item,oldItem){const key="_items";const handlers=AtomBinder.get_WatchHandler(target,key);if(!handlers){return}for(const obj of handlers){obj(target,mode,index,item,oldItem)}AtomBinder.refreshValue(target,"length")}static refreshItems(ary){AtomBinder.invokeItemsEvent(ary,"refresh",-1,null)}static add_CollectionChanged(target,handler){if(target==null){throw new Error("Target Array to watch cannot be null")}if(handler==null){throw new Error("Target handle to watch an Array cannot be null")}const handlers=AtomBinder.get_WatchHandler(target,"_items");handlers.push(handler);return{dispose:()=>{AtomBinder.remove_CollectionChanged(target,handler)}}}static remove_CollectionChanged(t,handler){if(t==null){return}const target=t;const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const key="_items";const handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static watch(item,property,f){AtomBinder.add_WatchHandler(item,property,f);return{dispose:()=>{AtomBinder.remove_WatchHandler(item,property,f)}}}static clear(a){a.length=0;this.invokeItemsEvent(a,"refresh",-1,null);AtomBinder.refreshValue(a,"length")}static addItem(a,item){const index=a.length;a.push(item);this.invokeItemsEvent(a,"add",index,item);AtomBinder.refreshValue(a,"length")}static removeItem(a,item){const i=a.findIndex((x=>x===item));if(i===-1){return false}a.splice(i,1);AtomBinder.invokeItemsEvent(a,"remove",i,item);AtomBinder.refreshValue(a,"length");return true}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBinder");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __awaiter,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesReferenceService){ReferenceService=_servicesReferenceService.default},function(_AtomUri){AtomUri=_AtomUri.AtomUri},function(_Command){displayRouteSymbol=_Command.displayRouteSymbol},function(_InheritedProperty){getOwnInheritedProperty=_InheritedProperty.getOwnInheritedProperty},function(_types){CancelToken=_types.CancelToken;DI=_types.DI}],execute:function(){_export("AtomLoader",AtomLoader=class AtomLoader{static load(url,app){return __awaiter(this,void 0,void 0,(function*(){if(typeof url==="string"){const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}if(url instanceof AtomUri){if(url.host==="reference"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return r.consume()}if(url.host==="class"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return app.resolve(r.consume(),true)}url=url.path;const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}const obj=app.resolve(url,true);return obj}))}static loadView(url,app,hookCloseEvents,vmFactory){return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{const view=yield AtomLoader.load(url,app);let vm=view.viewModel;if(!vm){if(!vmFactory){return{view}}vm=vmFactory();view.viewModel=vm}if("parameters"in view){vm=view.parameters}if(vm){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(typeof element==="object"){vm[key]=jsonService.parse(jsonService.stringify(element));continue}if(/^json\:/.test(key)){const k=key.split(":")[1];vm[k]=jsonService.parse(element.toString());continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element);vm[key.split(":",2)[1]]=v.consume();continue}try{vm[key]=element}catch(e){console.error(e)}}}}if(hookCloseEvents&&vm){const disposables=view.disposables;const id=(AtomLoader.id++).toString();view.id=id;const returnPromise=new Promise(((resolve,reject)=>{disposables.add(app.subscribe(`atom-window-close:${id}`,((m,r)=>{resolve(r);view.dispose()})));disposables.add(app.subscribe(`atom-window-cancel:${id}`,(()=>{reject("cancelled");view.dispose()})))}));vm.windowName=id;view.returnPromise=returnPromise;return{view,disposables,returnPromise,id}}return{view}}finally{busyIndicator.dispose()}}))}static loadClass(url,_a={},app){var _b,_c,_d,_e;var _f;var{title}=_a,_g=displayRouteSymbol,route=_a[_g],parameters=__rest(_a,["title",typeof _g==="symbol"?_g:_g+""]);return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`});try{const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_b=(_f=view).parameters)!==null&&_b!==void 0?_b:_f.parameters={}}else{console.warn("ViewModel is deprecated")}if(title){view.title=title}if(params){params[displayRouteSymbol]=route}if((vm||params)&¶meters){for(const key in parameters){if(parameters.hasOwnProperty(key)){const element=parameters[key];try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_e=(_d=(_c=view).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}finally{busyIndicator.dispose()}}))}static loadControl(url,app){var _a,_b,_c,_d;var _e;return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`});try{const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_a=(_e=view).parameters)!==null&&_a!==void 0?_a:_e.parameters={}}if(vm||params){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(/^json\:/.test(key)){const k=key.split(":")[1];const v=jsonService.parse(element.toString());if(vm){vm[k]=v}if(params){params[k]=v}continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element).consume();const keyName=key.split(":",2)[1];if(vm){vm[keyName]=v}if(params){params[keyName]=v}continue}try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_d=(_c=(_b=view).init)===null||_c===void 0?void 0:_c.call(_b))===null||_d===void 0?void 0:_d.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}finally{busyIndicator.dispose()}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");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");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _b,_c;if((_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancelled){return}asyncState.token=undefined;(_c=asyncState.cancelToken)===null||_c===void 0?void 0:_c.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export({RootObject:void 0,default:void 0});return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};_export("default",XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}});XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{dispose(){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.busyIndicators=[];this.readyHandlers=[];this.onError=error=>{console.log(error)};this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator.dispose()}));a.catch((e=>{indicator.dispose();console.error(typeof e==="string"?e:JSON.stringify(e))}))}}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,BaseElementBridge,AtomElementBridge,AtomBridge,globalNS;_export({BaseElementBridge:void 0,AtomElementBridge:void 0,AtomBridge:void 0});return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("BaseElementBridge",BaseElementBridge=class BaseElementBridge{refreshInherited(target,name,fieldName){AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}this.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){this.refreshInherited(ac,name,fieldName)}return false}return true}))}createNode(target,node,binder,xNodeClass,creator){throw new Error("Method not implemented.")}});_export("AtomElementBridge",AtomElementBridge=class AtomElementBridge extends BaseElementBridge{addEventHandler(element,name,handler,capture){element.addEventListener(name,handler,capture);return{dispose:()=>{element.removeEventListener(name,handler,capture)}}}atomParent(element,climbUp=true){const eAny=element;if(eAny.atomControl){return eAny.atomControl}if(!climbUp){return null}if(!element.parentNode){return null}return this.atomParent(this.elementParent(element))}elementParent(element){const eAny=element;const lp=eAny._logicalParent;if(lp){return lp}return element.parentElement}templateParent(element){if(!element){return null}const eAny=element;if(eAny._templateParent){return this.atomParent(element)}const parent=this.elementParent(element);if(!parent){return null}return this.templateParent(parent)}visitDescendents(element,action){for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}this.visitDescendents(iterator,action)}}dispose(element){const eAny=element;eAny.atomControl=undefined;eAny.innerHTML="";delete eAny.atomControl}appendChild(parent,child){parent.appendChild(child)}setValue(element,name,value){element[name]=value}getValue(element,name){return element[name]}watchProperty(element,name,events,f){if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}}attachControl(element,control){element.atomControl=control}create(type){return document.createElement(type)}loadContent(element,text){throw new Error("Not supported")}findChild(element,name){throw new Error("Not supported")}close(element,success,error){throw new Error("Not supported")}toTemplate(element,creator){const templateNode=element;const name=templateNode.name;if(typeof name==="string"){element=((bx,n)=>class extends bx{create(){this.render(n)}})(creator,templateNode.children[0])}else{element=((base,n)=>class extends base{create(){this.render(n)}})(name,templateNode.children[0])}return element}createNode(target,node,binder,xNodeClass,creator){let parent=null;const app=target.app;let e=null;const nn=node.attributes?node.attributes.for:undefined;if(typeof node.name==="string"){e=document.createElement(node.name);parent=e;if(nn){delete node.attributes.for}}else{if(nn){target=new node.name(app,document.createElement(nn));delete node.attributes.for}target=new node.name(app);e=target.element;parent=target}const a=node.attributes;if(a){for(const key in a){if(a.hasOwnProperty(key)){let element=a[key];if(element instanceof binder){if(/^event/.test(key)){let ev=key.substr(5);if(ev.startsWith("-")){ev=ev.split("-").map((s=>s[0].toLowerCase()+s.substr(1))).join("")}else{ev=ev[0].toLowerCase()+ev.substr(1)}element.setupFunction(ev,element,target,e)}else{element.setupFunction(key,element,target,e)}}else{if(element instanceof xNodeClass){element=this.toTemplate(element,creator)}target.setLocalValue(e,key,element)}}}}const children=node.children;if(children){for(const iterator of children){if(typeof iterator==="string"){e.appendChild(document.createTextNode(iterator));continue}const t=iterator.attributes?iterator.attributes.template:null;if(t){const tx=this.toTemplate(iterator,creator);target[t]=tx;continue}if(typeof iterator.name==="string"){e.appendChild(this.createNode(target,iterator,binder,xNodeClass,creator));continue}const child=this.createNode(target,iterator,binder,xNodeClass,creator);if(parent.element&&parent.element.atomControl===parent){parent.append(child.atomControl||child)}else{parent.appendChild(child)}}}return e}});_export("AtomBridge",AtomBridge=class AtomBridge{static createNode(iterator,app){if(typeof iterator.name==="string"||iterator.name.factory){return{element:AtomBridge.instance.create(iterator.name,iterator,app)}}const fx=iterator.attributes?iterator.attributes.for:undefined;const c=new iterator.name(app,fx?AtomBridge.instance.create(fx,iterator,app):undefined);return{element:c.element,control:c}}static toTemplate(app,n,creator){if(n.isTemplate){const t=AtomBridge.toTemplate(app,n.children[0],creator);return AtomBridge.instance.create(n.name.toString(),t,app)}const bridge=AtomBridge.instance;let fx;let en;if(typeof n.name==="function"){fx=n.name;en=n.attributes&&n.attributes.for?n.attributes.for:undefined}else{fx=bridge.controlFactory;en=n.name}return class Template extends fx{constructor(a,e1){super(a||app,e1||(en?bridge.create(en,null,app):undefined));this._creator=fx}create(){super.create();this.render(n,null,creator)}}}static refreshInherited(target,name,fieldName){if(AtomBridge.instance.refreshInherited){AtomBridge.instance.refreshInherited(target,name,fieldName);return}AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}AtomBridge.instance.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){AtomBridge.refreshInherited(ac,name,fieldName)}return false}return true}))}});globalNS=typeof window!=="undefined"?window:global;globalNS.AtomBridge=AtomBridge;if(typeof window!=="undefined"){AtomBridge.instance=new AtomElementBridge;AtomBridge.platform="web"}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBridge");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["tslib","../App","../core/AtomBridge","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,AtomBridge,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,InheritedProperty,PropertyMap,attachedSymbol,constructorNeedsArgumentsSymbol,elementFactorySymbol,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,objectHasOwnProperty,localBindSymbol,localXNodeSymbol,elementFactory,isFactory,isAtomControl,localBridge,renderFirst,attached,constructorNeedsArguments,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){attachedSymbol=_XNode.attachedSymbol;constructorNeedsArgumentsSymbol=_XNode.constructorNeedsArgumentsSymbol;elementFactorySymbol=_XNode.elementFactorySymbol;isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){objectHasOwnProperty=Object.prototype.hasOwnProperty;localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;elementFactory=elementFactorySymbol;isFactory=isFactorySymbol;isAtomControl=isControl;localBridge=AtomBridge;renderFirst=AtomBridge.platform==="xf";attached=attachedSymbol;constructorNeedsArguments=constructorNeedsArgumentsSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}AtomBridge.instance.visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){AtomBridge.instance.setValue(element,name,value)}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}});_a=isControl,_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=AtomBridge.instance.watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["tslib","../../core/AtomBinder","../../core/AtomBridge","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomBridge,AtomComponent,BindableProperty,Command,FormattedString,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,bridgeInstance,defaultStyleSheets,ElementValueSetters,propertyId,getSelection;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}bridgeInstance=AtomBridge.instance;defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){setTimeout((()=>requestAnimationFrame((()=>ie.focus()))),100)}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;bridgeInstance.refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();bridgeInstance.visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("aria-")){element.setAttribute(name,value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;while(start){if(start.tagName==="A"){const clickEvent=start.getAttribute("data-click-event");if(clickEvent===null){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}));bridgeInstance.controlFactory=AtomControl}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register([],(function(_export,_context){"use strict";var StyleFragment,id,nextId,globalLow,global,globalHigh,localLow,local,localHigh,styles,styled;function*divide(text){const regex=/^(([^\{\n]+\{[\t\x20]*)|([^\n\}]*\}[^\S\n\r]*))$/gm;let m;let sentOnce=false;let lastIndex=0;let lastMatch;while((m=regex.exec(text))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}const match=m[0];if(!sentOnce){sentOnce=true;yield text.substring(lastIndex,m.index);lastIndex=m.index+match.length;lastMatch=match;continue}if(lastMatch.includes("}")){yield[lastMatch.trim()];lastIndex=m.index+match.length;lastMatch=match;continue}yield[lastMatch,text.substring(lastIndex,m.index),match];lastIndex=m.index+match.length;lastMatch=match}if(lastMatch===null||lastMatch===void 0?void 0:lastMatch.includes("}")){yield[lastMatch.trim()]}}return{setters:[],execute:function(){id=1;nextId=()=>`styled-r${id++}`;globalLow=document.createElement("meta");globalLow.name="global-low-style";document.head.appendChild(globalLow);global=document.createElement("meta");global.name="global-style";document.head.appendChild(global);globalHigh=document.createElement("meta");globalHigh.name="global-high-style";document.head.appendChild(globalHigh);localLow=document.createElement("meta");localLow.name="local-low-style";document.head.appendChild(localLow);local=document.createElement("meta");local.name="local-style";document.head.appendChild(local);localHigh=document.createElement("meta");localHigh.name="local-high-style";document.head.appendChild(localHigh);StyleFragment=class StyleFragment{static newStyle({selector="",content=""}){return new StyleFragment({selector,content})}constructor({selector,content}){this.order="low";this.selector=selector;this.content=content}expand(selector){selector!==null&&selector!==void 0?selector:selector=this.selector;let en=divide(this.content);let parts=en.next();if(parts.done){if(!this.content){return""}return`${selector} {\n${this.content}\n}`}const first=parts.value;let content=(first===null||first===void 0?void 0:first.trim())?`${selector} {\n${first}\n}\n`:"";let selectorStack=[];while(!(parts=en.next()).done){const[key,value]=parts.value;if(key.endsWith("}")){selector=selectorStack.pop();if(selector==="@"){content+="\n}\n";selector=selectorStack.pop()}continue}let keySelector=key.replace("{","");const isMedia=/\@/.test(keySelector);const replace=!isMedia;const replaced=replace?selector.split(",").map((x=>keySelector.replace(/\&/g,x).trim())).join(","):keySelector;selectorStack.push(selector);selector=replace?replaced:selector;if(isMedia){selectorStack.push("@")}if(value===null||value===void 0?void 0:value.trim()){content+=`${replaced} {\n${value}\n}\n`}else{if(isMedia){content+=`${replaced} {\n`}}}return content}toString(){return this.content.replace(/\\n/g,"")}installGlobal(selector="",id=this.id||selector,description){const style=document.createElement("style");style.textContent=this.expand(selector);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,globalLow);break;case"default":case"medium":document.head.insertBefore(style,global);break;case"high":document.head.insertBefore(style,globalHigh);break}style.id=id}installLocal(prefix="",description=this.description){const selector=nextId();const style=document.createElement("style");const id=`${prefix}.${selector}`;style.id=id;style.textContent=this.expand(id);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,localLow);break;case"default":case"medium":document.head.insertBefore(style,local);break;case"high":document.head.insertBefore(style,localHigh);break}return selector}withId(id){this.id=id;return this}withDescription(description){this.description=description;return this}withOrder(order){this.order=order;return this}};styles=[];styled={get styles(){return styles},css:(t,...a)=>{let r="";for(let index=0;index<t.length;index++){const element=t[index];r+=element;if(index<a.length){r+=a[index]}}return StyleFragment.newStyle({content:r})},add(x){styles.push(x)}};_export("default",styled)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/style/styled");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../../style/styled","../controls/AtomControl","../core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,styled,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_styleStyled){styled=_styleStyled.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};styled.css`
|
|
16
16
|
position: absolute;
|
|
17
17
|
border: solid 1px lightgray;
|
|
18
18
|
border-radius: 5px;
|
|
@@ -693,7 +693,7 @@ body {
|
|
|
693
693
|
}
|
|
694
694
|
}
|
|
695
695
|
|
|
696
|
-
`.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript"}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,AppRole,AppFileContentDispositionArray,AppFile,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,AppLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxThread,MailboxThreadEmail,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,SearchWordStatusArray,SearchWord,SearchWordIndex,UserStatusArray,User,UserPin,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,LoginSession,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",["roleName"],{}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DateTime}));_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated: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 DateTime,dateUpdated: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 DateTime,dateUpdated: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 DateTime}));_export("Domain",Domain=new Model("Domain",["domainID"],{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay: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:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DateTime,dateCreated:new DateTime,status:"queued",forwardCount:0,replyCount:0}));_export("AppLog",AppLog=new Model("AppLog",["logID"],{dateCreated:new DateTime,json:false}));_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:""}));_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{}));_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,dateUpdated:new DateTime}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxThread",MailboxThread=new Model("MailboxThread",["mailboxID","emailAddressID"],{dateUpdated:new DateTime,unread:0,total:0}));_export("MailboxThreadEmail",MailboxThreadEmail=new Model("MailboxThreadEmail",["mailboxID","emailAddressID","emailID"],{}));_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("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DateTime,dateUpdated: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 DateTime}));_export("UserPin",UserPin=new Model("UserPin",["pinID"],{}));_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 DateTime}));_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DateTime}));_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var SocialMailApp;_export("default",void 0);return{setters:[],execute:function(){_export("default",SocialMailApp=class SocialMailApp{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","../common/SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,LoginSession,SocialMailApp,LoginService;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){LoginSession=_modelModel.LoginSession},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default}],execute:function(){LoginService=class LoginService{getUser(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){(_a=this.user)!==null&&_a!==void 0?_a:this.user=(_b=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault())===null||_b===void 0?void 0:_b.user;SocialMailApp.user=this.user;return this.user}))}login(session){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(session);if(session.invalid){return session.status}location.reload()}))}logout(){return __awaiter(this,void 0,void 0,(function*(){const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.invalid=true;const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy);location.reload()}))}};__decorate([Inject,__metadata("design:type",EntityService)],LoginService.prototype,"entityService",void 0);LoginService=__decorate([DISingleton()],LoginService);_export("default",LoginService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/LoginService");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(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,AdminHome;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",AdminHome=class AdminHome extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/home/AdminHome");System.register([],(function(_export,_context){"use strict";var ColorItem,Colors;function toFixedString(t){return("0"+t.toString(16)).slice(-2)}_export({ColorItem:void 0,default:void 0});return{setters:[],execute:function(){_export("ColorItem",ColorItem=class ColorItem{constructor(colorCodeOrRed,namedColorOrGreen,blue,alpha){if(typeof colorCodeOrRed==="string"){this.colorCode=colorCodeOrRed;if(typeof namedColorOrGreen==="string"){this.namedColor=namedColorOrGreen}const r=ColorItem.parseRgb(this.colorCode);this.red=r.red;this.green=r.green;this.blue=r.blue;this.alpha=r.alpha}else{this.red=colorCodeOrRed;if(typeof namedColorOrGreen==="number"){this.green=namedColorOrGreen}this.blue=blue;this.alpha=alpha;this.colorCode=ColorItem.rgb(this.red,this.green,this.blue,this.alpha)}}toString(){return this.colorCode}withAlphaPercent(a){return new ColorItem(this.red,this.green,this.blue,a)}static parseRgb(rgba){if(/^\#/.test(rgba)){rgba=rgba.substr(1);if(rgba.length===3){rgba=rgba.split("").map((x=>x+x)).join("")}const red=Number.parseInt(rgba[0]+rgba[1],16);const green=Number.parseInt(rgba[2]+rgba[3],16);const blue=Number.parseInt(rgba[4]+rgba[5],16);if(rgba.length>6){const alpha=Number.parseInt(rgba[6]+rgba[7],16);return{red,green,blue,alpha}}return{red,green,blue}}if(/^rgba/i.test(rgba)){rgba=rgba.substr(5);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map(((x,i)=>i===3?Number.parseFloat(x):Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2],alpha:a[3]}}if(/^rgb/i.test(rgba)){rgba=rgba.substr(4);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map((x=>Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2]}}throw new Error("Unknown color format "+rgba)}static rgb(r,g,b,a){if(a!==undefined){return`rgba(${r},${g},${b},${a})`}return"#"+toFixedString(r)+toFixedString(g)+toFixedString(b)}});_export("default",Colors=class Colors{static rgba(red,green,blue,alpha){return new ColorItem(red,green,blue,alpha)}static parse(color){if(!color){return null}color=color.toLowerCase();for(const key in Colors){if(Colors.hasOwnProperty(key)){const element=Colors[key];if(element instanceof ColorItem){const ci=element;if(ci.namedColor===color){return ci}}}}if(/^(\#|rgb\(|rgba\()/i.test(color)){return new ColorItem(color)}throw new Error("Invalid color format "+color)}});Colors.black=new ColorItem("#000000","black");Colors.silver=new ColorItem("#c0c0c0","silver");Colors.gray=new ColorItem("#808080","gray");Colors.white=new ColorItem("#ffffff","white");Colors.maroon=new ColorItem("#800000","maroon");Colors.red=new ColorItem("#ff0000","red");Colors.purple=new ColorItem("#800080","purple");Colors.fuchsia=new ColorItem("#ff00ff","fuchsia");Colors.green=new ColorItem("#008000","green");Colors.lime=new ColorItem("#00ff00","lime");Colors.olive=new ColorItem("#808000","olive");Colors.yellow=new ColorItem("#ffff00","yellow");Colors.navy=new ColorItem("#000080","navy");Colors.blue=new ColorItem("#0000ff","blue");Colors.teal=new ColorItem("#008080","teal");Colors.aqua=new ColorItem("#00ffff","aqua");Colors.orange=new ColorItem("#ffa500","orange");Colors.aliceBlue=new ColorItem("#f0f8ff","aliceblue");Colors.antiqueWhite=new ColorItem("#faebd7","antiquewhite");Colors.aquaMarine=new ColorItem("#7fffd4","aquamarine");Colors.azure=new ColorItem("#f0ffff","azure");Colors.beige=new ColorItem("#f5f5dc","beige");Colors.bisque=new ColorItem("#ffe4c4","bisque");Colors.blanchedAlmond=new ColorItem("#ffebcd","blanchedalmond");Colors.blueViolet=new ColorItem("#8a2be2","blueviolet");Colors.brown=new ColorItem("#a52a2a","brown");Colors.burlyWood=new ColorItem("#deb887","burlywood");Colors.cadetBlue=new ColorItem("#5f9ea0","cadetblue");Colors.chartReuse=new ColorItem("#7fff00","chartreuse");Colors.chocolate=new ColorItem("#d2691e","chocolate");Colors.coral=new ColorItem("#ff7f50","coral");Colors.cornFlowerBlue=new ColorItem("#6495ed","cornflowerblue");Colors.cornSilk=new ColorItem("#fff8dc","cornsilk");Colors.crimson=new ColorItem("#dc143c","crimson");Colors.cyan=new ColorItem("#00ffff","cyan");Colors.darkBlue=new ColorItem("#00008b","darkblue");Colors.darkCyan=new ColorItem("#008b8b","darkcyan");Colors.darkGoldenRod=new ColorItem("#b8860b","darkgoldenrod");Colors.darkGray=new ColorItem("#a9a9a9","darkgray");Colors.darkGreen=new ColorItem("#006400","darkgreen");Colors.darkGrey=new ColorItem("#a9a9a9","darkgrey");Colors.darkKhaki=new ColorItem("#bdb76b","darkkhaki");Colors.darkMagenta=new ColorItem("#8b008b","darkmagenta");Colors.darkOliveGreen=new ColorItem("#556b2f","darkolivegreen");Colors.darkOrange=new ColorItem("#ff8c00","darkorange");Colors.darkOrchid=new ColorItem("#9932cc","darkorchid");Colors.darkRed=new ColorItem("#8b0000","darkred");Colors.darkSalmon=new ColorItem("#e9967a","darksalmon");Colors.darkSeaGreen=new ColorItem("#8fbc8f","darkseagreen");Colors.darkSlateBlue=new ColorItem("#483d8b","darkslateblue");Colors.darkSlateGray=new ColorItem("#2f4f4f","darkslategray");Colors.darkSlateGrey=new ColorItem("#2f4f4f","darkslategrey");Colors.darkTurquoise=new ColorItem("#00ced1","darkturquoise");Colors.darkViolet=new ColorItem("#9400d3","darkviolet");Colors.deepPink=new ColorItem("#ff1493","deeppink");Colors.deepSkyBlue=new ColorItem("#00bfff","deepskyblue");Colors.dimGray=new ColorItem("#696969","dimgray");Colors.dimGrey=new ColorItem("#696969","dimgrey");Colors.dodgerBlue=new ColorItem("#1e90ff","dodgerblue");Colors.fireBrick=new ColorItem("#b22222","firebrick");Colors.floralWhite=new ColorItem("#fffaf0","floralwhite");Colors.forestGreen=new ColorItem("#228b22","forestgreen");Colors.gainsboro=new ColorItem("#dcdcdc","gainsboro");Colors.ghostWhite=new ColorItem("#f8f8ff","ghostwhite");Colors.gold=new ColorItem("#ffd700","gold");Colors.goldenRod=new ColorItem("#daa520","goldenrod");Colors.greenYellow=new ColorItem("#adff2f","greenyellow");Colors.grey=new ColorItem("#808080","grey");Colors.honeyDew=new ColorItem("#f0fff0","honeydew");Colors.hotPink=new ColorItem("#ff69b4","hotpink");Colors.indianRed=new ColorItem("#cd5c5c","indianred");Colors.indigo=new ColorItem("#4b0082","indigo");Colors.ivory=new ColorItem("#fffff0","ivory");Colors.khaki=new ColorItem("#f0e68c","khaki");Colors.lavender=new ColorItem("#e6e6fa","lavender");Colors.lavenderBlush=new ColorItem("#fff0f5","lavenderblush");Colors.lawnGreen=new ColorItem("#7cfc00","lawngreen");Colors.lemonChiffon=new ColorItem("#fffacd","lemonchiffon");Colors.lightBlue=new ColorItem("#add8e6","lightblue");Colors.lightCoral=new ColorItem("#f08080","lightcoral");Colors.lightCyan=new ColorItem("#e0ffff","lightcyan");Colors.lightGoldenRodYellow=new ColorItem("#fafad2","lightgoldenrodyellow");Colors.lightGray=new ColorItem("#d3d3d3","lightgray");Colors.lightGreen=new ColorItem("#90ee90","lightgreen");Colors.lightGrey=new ColorItem("#d3d3d3","lightgrey");Colors.lightPink=new ColorItem("#ffb6c1","lightpink");Colors.lightSalmon=new ColorItem("#ffa07a","lightsalmon");Colors.lightSeaGreen=new ColorItem("#20b2aa","lightseagreen");Colors.lightSkyBlue=new ColorItem("#87cefa","lightskyblue");Colors.lightSlateGray=new ColorItem("#778899","lightslategray");Colors.lightSlateGrey=new ColorItem("#778899","lightslategrey");Colors.lightSteelBlue=new ColorItem("#b0c4de","lightsteelblue");Colors.lightYellow=new ColorItem("#ffffe0","lightyellow");Colors.limeGreen=new ColorItem("#32cd32","limegreen");Colors.linen=new ColorItem("#faf0e6","linen");Colors.magenta=new ColorItem("#ff00ff","magenta");Colors.mediumAquaMarine=new ColorItem("#66cdaa","mediumaquamarine");Colors.mediumBlue=new ColorItem("#0000cd","mediumblue");Colors.mediumOrchid=new ColorItem("#ba55d3","mediumorchid");Colors.mediumPurple=new ColorItem("#9370db","mediumpurple");Colors.mediumSeaGreen=new ColorItem("#3cb371","mediumseagreen");Colors.mediumSlateBlue=new ColorItem("#7b68ee","mediumslateblue");Colors.mediumSpringGreen=new ColorItem("#00fa9a","mediumspringgreen");Colors.mediumTurquoise=new ColorItem("#48d1cc","mediumturquoise");Colors.mediumVioletred=new ColorItem("#c71585","mediumvioletred");Colors.midNightBlue=new ColorItem("#191970","midnightblue");Colors.mintCream=new ColorItem("#f5fffa","mintcream");Colors.mistyRose=new ColorItem("#ffe4e1","mistyrose");Colors.moccasin=new ColorItem("#ffe4b5","moccasin");Colors.navajoWhite=new ColorItem("#ffdead","navajowhite");Colors.oldLace=new ColorItem("#fdf5e6","oldlace");Colors.oliveDrab=new ColorItem("#6b8e23","olivedrab");Colors.orangeRed=new ColorItem("#ff4500","orangered");Colors.orchid=new ColorItem("#da70d6","orchid");Colors.paleGoldenRod=new ColorItem("#eee8aa","palegoldenrod");Colors.paleGreen=new ColorItem("#98fb98","palegreen");Colors.paleTurquoise=new ColorItem("#afeeee","paleturquoise");Colors.paleVioletRed=new ColorItem("#db7093","palevioletred");Colors.papayaWhip=new ColorItem("#ffefd5","papayawhip");Colors.peachPuff=new ColorItem("#ffdab9","peachpuff");Colors.peru=new ColorItem("#cd853f","peru");Colors.pink=new ColorItem("#ffc0cb","pink");Colors.plum=new ColorItem("#dda0dd","plum");Colors.powderBlue=new ColorItem("#b0e0e6","powderblue");Colors.rosyBrown=new ColorItem("#bc8f8f","rosybrown");Colors.royalBlue=new ColorItem("#4169e1","royalblue");Colors.saddleBrown=new ColorItem("#8b4513","saddlebrown");Colors.salmon=new ColorItem("#fa8072","salmon");Colors.sandyBrown=new ColorItem("#f4a460","sandybrown");Colors.seaGreen=new ColorItem("#2e8b57","seagreen");Colors.seaShell=new ColorItem("#fff5ee","seashell");Colors.sienna=new ColorItem("#a0522d","sienna");Colors.skyBlue=new ColorItem("#87ceeb","skyblue");Colors.slateBlue=new ColorItem("#6a5acd","slateblue");Colors.slateGray=new ColorItem("#708090","slategray");Colors.slateGrey=new ColorItem("#708090","slategrey");Colors.snow=new ColorItem("#fffafa","snow");Colors.springGreen=new ColorItem("#00ff7f","springgreen");Colors.steelBlue=new ColorItem("#4682b4","steelblue");Colors.tan=new ColorItem("#d2b48c","tan");Colors.thistle=new ColorItem("#d8bfd8","thistle");Colors.tomato=new ColorItem("#ff6347","tomato");Colors.turquoise=new ColorItem("#40e0d0","turquoise");Colors.violet=new ColorItem("#ee82ee","violet");Colors.wheat=new ColorItem("#f5deb3","wheat");Colors.whiteSmoke=new ColorItem("#f5f5f5","whitesmoke");Colors.yellowGreen=new ColorItem("#9acd32","yellowgreen");Colors.rebeccaPurple=new ColorItem("#663399","rebeccapurple");Colors.transparent=new ColorItem("#00000000","transparent")}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Colors");System.register(["./AtomBinder","./AtomWatcher"],(function(_export,_context){"use strict";var AtomBinder,AtomWatcher;function WatchProperty(target,key,descriptor){const{get}=descriptor;const isSetup=Symbol.for(`isSetup${key}`);return{get:function(){const watcher=new AtomWatcher(this,get,(()=>{AtomBinder.refreshValue(this,key)}),this);watcher.init(false);this.registerDisposable(watcher);this[isSetup]=watcher;Object.defineProperty(this,key,descriptor);return get.apply(this)},configurable:true}}_export("default",WatchProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WatchProperty");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`
|
|
696
|
+
`.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript"}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,AppRole,AppFileContentDispositionArray,AppFile,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,AppLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxThread,MailboxThreadEmail,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,MailboxSubscriberStatusArray,MailboxSubscriber,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,UserStatusArray,User,UserPin,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,LoginSession,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",["roleName"],{}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DateTime}));_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated: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 DateTime,dateUpdated: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 DateTime,dateUpdated: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 DateTime}));_export("Domain",Domain=new Model("Domain",["domainID"],{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay: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:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DateTime,dateCreated:new DateTime,status:"queued",forwardCount:0,replyCount:0}));_export("AppLog",AppLog=new Model("AppLog",["logID"],{dateCreated:new DateTime,json:false}));_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:""}));_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{}));_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,dateCreated:new DateTime,dateUpdated:new DateTime,isChannel:false,isPrivateChannel:false,subscriberCount:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxThread",MailboxThread=new Model("MailboxThread",["mailboxID","emailAddressID"],{dateUpdated:new DateTime,unread:0,total:0}));_export("MailboxThreadEmail",MailboxThreadEmail=new Model("MailboxThreadEmail",["mailboxID","emailAddressID","emailID"],{}));_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("MailboxSubscriberStatusArray",MailboxSubscriberStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxSubscriber",MailboxSubscriber=new Model("MailboxSubscriber",["mailboxID","subscriberID"],{isOwner:false,canContribute:false,status:"invited",dateCreated:new DateTime,dateUpdated:new DateTime}));_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated: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 DateTime,dateUpdated: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 DateTime}));_export("UserPin",UserPin=new Model("UserPin",["pinID"],{}));_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 DateTime}));_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DateTime}));_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var SocialMailApp;_export("default",void 0);return{setters:[],execute:function(){_export("default",SocialMailApp=class SocialMailApp{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","../common/SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,LoginSession,SocialMailApp,LoginService;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){LoginSession=_modelModel.LoginSession},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default}],execute:function(){LoginService=class LoginService{getUser(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){(_a=this.user)!==null&&_a!==void 0?_a:this.user=(_b=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault())===null||_b===void 0?void 0:_b.user;SocialMailApp.user=this.user;return this.user}))}login(session){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(session);if(session.invalid){return session.status}location.reload()}))}logout(){return __awaiter(this,void 0,void 0,(function*(){const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.invalid=true;const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy);location.reload()}))}};__decorate([Inject,__metadata("design:type",EntityService)],LoginService.prototype,"entityService",void 0);LoginService=__decorate([DISingleton()],LoginService);_export("default",LoginService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/LoginService");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(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,AdminHome;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",AdminHome=class AdminHome extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/home/AdminHome");System.register([],(function(_export,_context){"use strict";var ColorItem,Colors;function toFixedString(t){return("0"+t.toString(16)).slice(-2)}_export({ColorItem:void 0,default:void 0});return{setters:[],execute:function(){_export("ColorItem",ColorItem=class ColorItem{constructor(colorCodeOrRed,namedColorOrGreen,blue,alpha){if(typeof colorCodeOrRed==="string"){this.colorCode=colorCodeOrRed;if(typeof namedColorOrGreen==="string"){this.namedColor=namedColorOrGreen}const r=ColorItem.parseRgb(this.colorCode);this.red=r.red;this.green=r.green;this.blue=r.blue;this.alpha=r.alpha}else{this.red=colorCodeOrRed;if(typeof namedColorOrGreen==="number"){this.green=namedColorOrGreen}this.blue=blue;this.alpha=alpha;this.colorCode=ColorItem.rgb(this.red,this.green,this.blue,this.alpha)}}toString(){return this.colorCode}withAlphaPercent(a){return new ColorItem(this.red,this.green,this.blue,a)}static parseRgb(rgba){if(/^\#/.test(rgba)){rgba=rgba.substr(1);if(rgba.length===3){rgba=rgba.split("").map((x=>x+x)).join("")}const red=Number.parseInt(rgba[0]+rgba[1],16);const green=Number.parseInt(rgba[2]+rgba[3],16);const blue=Number.parseInt(rgba[4]+rgba[5],16);if(rgba.length>6){const alpha=Number.parseInt(rgba[6]+rgba[7],16);return{red,green,blue,alpha}}return{red,green,blue}}if(/^rgba/i.test(rgba)){rgba=rgba.substr(5);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map(((x,i)=>i===3?Number.parseFloat(x):Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2],alpha:a[3]}}if(/^rgb/i.test(rgba)){rgba=rgba.substr(4);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map((x=>Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2]}}throw new Error("Unknown color format "+rgba)}static rgb(r,g,b,a){if(a!==undefined){return`rgba(${r},${g},${b},${a})`}return"#"+toFixedString(r)+toFixedString(g)+toFixedString(b)}});_export("default",Colors=class Colors{static rgba(red,green,blue,alpha){return new ColorItem(red,green,blue,alpha)}static parse(color){if(!color){return null}color=color.toLowerCase();for(const key in Colors){if(Colors.hasOwnProperty(key)){const element=Colors[key];if(element instanceof ColorItem){const ci=element;if(ci.namedColor===color){return ci}}}}if(/^(\#|rgb\(|rgba\()/i.test(color)){return new ColorItem(color)}throw new Error("Invalid color format "+color)}});Colors.black=new ColorItem("#000000","black");Colors.silver=new ColorItem("#c0c0c0","silver");Colors.gray=new ColorItem("#808080","gray");Colors.white=new ColorItem("#ffffff","white");Colors.maroon=new ColorItem("#800000","maroon");Colors.red=new ColorItem("#ff0000","red");Colors.purple=new ColorItem("#800080","purple");Colors.fuchsia=new ColorItem("#ff00ff","fuchsia");Colors.green=new ColorItem("#008000","green");Colors.lime=new ColorItem("#00ff00","lime");Colors.olive=new ColorItem("#808000","olive");Colors.yellow=new ColorItem("#ffff00","yellow");Colors.navy=new ColorItem("#000080","navy");Colors.blue=new ColorItem("#0000ff","blue");Colors.teal=new ColorItem("#008080","teal");Colors.aqua=new ColorItem("#00ffff","aqua");Colors.orange=new ColorItem("#ffa500","orange");Colors.aliceBlue=new ColorItem("#f0f8ff","aliceblue");Colors.antiqueWhite=new ColorItem("#faebd7","antiquewhite");Colors.aquaMarine=new ColorItem("#7fffd4","aquamarine");Colors.azure=new ColorItem("#f0ffff","azure");Colors.beige=new ColorItem("#f5f5dc","beige");Colors.bisque=new ColorItem("#ffe4c4","bisque");Colors.blanchedAlmond=new ColorItem("#ffebcd","blanchedalmond");Colors.blueViolet=new ColorItem("#8a2be2","blueviolet");Colors.brown=new ColorItem("#a52a2a","brown");Colors.burlyWood=new ColorItem("#deb887","burlywood");Colors.cadetBlue=new ColorItem("#5f9ea0","cadetblue");Colors.chartReuse=new ColorItem("#7fff00","chartreuse");Colors.chocolate=new ColorItem("#d2691e","chocolate");Colors.coral=new ColorItem("#ff7f50","coral");Colors.cornFlowerBlue=new ColorItem("#6495ed","cornflowerblue");Colors.cornSilk=new ColorItem("#fff8dc","cornsilk");Colors.crimson=new ColorItem("#dc143c","crimson");Colors.cyan=new ColorItem("#00ffff","cyan");Colors.darkBlue=new ColorItem("#00008b","darkblue");Colors.darkCyan=new ColorItem("#008b8b","darkcyan");Colors.darkGoldenRod=new ColorItem("#b8860b","darkgoldenrod");Colors.darkGray=new ColorItem("#a9a9a9","darkgray");Colors.darkGreen=new ColorItem("#006400","darkgreen");Colors.darkGrey=new ColorItem("#a9a9a9","darkgrey");Colors.darkKhaki=new ColorItem("#bdb76b","darkkhaki");Colors.darkMagenta=new ColorItem("#8b008b","darkmagenta");Colors.darkOliveGreen=new ColorItem("#556b2f","darkolivegreen");Colors.darkOrange=new ColorItem("#ff8c00","darkorange");Colors.darkOrchid=new ColorItem("#9932cc","darkorchid");Colors.darkRed=new ColorItem("#8b0000","darkred");Colors.darkSalmon=new ColorItem("#e9967a","darksalmon");Colors.darkSeaGreen=new ColorItem("#8fbc8f","darkseagreen");Colors.darkSlateBlue=new ColorItem("#483d8b","darkslateblue");Colors.darkSlateGray=new ColorItem("#2f4f4f","darkslategray");Colors.darkSlateGrey=new ColorItem("#2f4f4f","darkslategrey");Colors.darkTurquoise=new ColorItem("#00ced1","darkturquoise");Colors.darkViolet=new ColorItem("#9400d3","darkviolet");Colors.deepPink=new ColorItem("#ff1493","deeppink");Colors.deepSkyBlue=new ColorItem("#00bfff","deepskyblue");Colors.dimGray=new ColorItem("#696969","dimgray");Colors.dimGrey=new ColorItem("#696969","dimgrey");Colors.dodgerBlue=new ColorItem("#1e90ff","dodgerblue");Colors.fireBrick=new ColorItem("#b22222","firebrick");Colors.floralWhite=new ColorItem("#fffaf0","floralwhite");Colors.forestGreen=new ColorItem("#228b22","forestgreen");Colors.gainsboro=new ColorItem("#dcdcdc","gainsboro");Colors.ghostWhite=new ColorItem("#f8f8ff","ghostwhite");Colors.gold=new ColorItem("#ffd700","gold");Colors.goldenRod=new ColorItem("#daa520","goldenrod");Colors.greenYellow=new ColorItem("#adff2f","greenyellow");Colors.grey=new ColorItem("#808080","grey");Colors.honeyDew=new ColorItem("#f0fff0","honeydew");Colors.hotPink=new ColorItem("#ff69b4","hotpink");Colors.indianRed=new ColorItem("#cd5c5c","indianred");Colors.indigo=new ColorItem("#4b0082","indigo");Colors.ivory=new ColorItem("#fffff0","ivory");Colors.khaki=new ColorItem("#f0e68c","khaki");Colors.lavender=new ColorItem("#e6e6fa","lavender");Colors.lavenderBlush=new ColorItem("#fff0f5","lavenderblush");Colors.lawnGreen=new ColorItem("#7cfc00","lawngreen");Colors.lemonChiffon=new ColorItem("#fffacd","lemonchiffon");Colors.lightBlue=new ColorItem("#add8e6","lightblue");Colors.lightCoral=new ColorItem("#f08080","lightcoral");Colors.lightCyan=new ColorItem("#e0ffff","lightcyan");Colors.lightGoldenRodYellow=new ColorItem("#fafad2","lightgoldenrodyellow");Colors.lightGray=new ColorItem("#d3d3d3","lightgray");Colors.lightGreen=new ColorItem("#90ee90","lightgreen");Colors.lightGrey=new ColorItem("#d3d3d3","lightgrey");Colors.lightPink=new ColorItem("#ffb6c1","lightpink");Colors.lightSalmon=new ColorItem("#ffa07a","lightsalmon");Colors.lightSeaGreen=new ColorItem("#20b2aa","lightseagreen");Colors.lightSkyBlue=new ColorItem("#87cefa","lightskyblue");Colors.lightSlateGray=new ColorItem("#778899","lightslategray");Colors.lightSlateGrey=new ColorItem("#778899","lightslategrey");Colors.lightSteelBlue=new ColorItem("#b0c4de","lightsteelblue");Colors.lightYellow=new ColorItem("#ffffe0","lightyellow");Colors.limeGreen=new ColorItem("#32cd32","limegreen");Colors.linen=new ColorItem("#faf0e6","linen");Colors.magenta=new ColorItem("#ff00ff","magenta");Colors.mediumAquaMarine=new ColorItem("#66cdaa","mediumaquamarine");Colors.mediumBlue=new ColorItem("#0000cd","mediumblue");Colors.mediumOrchid=new ColorItem("#ba55d3","mediumorchid");Colors.mediumPurple=new ColorItem("#9370db","mediumpurple");Colors.mediumSeaGreen=new ColorItem("#3cb371","mediumseagreen");Colors.mediumSlateBlue=new ColorItem("#7b68ee","mediumslateblue");Colors.mediumSpringGreen=new ColorItem("#00fa9a","mediumspringgreen");Colors.mediumTurquoise=new ColorItem("#48d1cc","mediumturquoise");Colors.mediumVioletred=new ColorItem("#c71585","mediumvioletred");Colors.midNightBlue=new ColorItem("#191970","midnightblue");Colors.mintCream=new ColorItem("#f5fffa","mintcream");Colors.mistyRose=new ColorItem("#ffe4e1","mistyrose");Colors.moccasin=new ColorItem("#ffe4b5","moccasin");Colors.navajoWhite=new ColorItem("#ffdead","navajowhite");Colors.oldLace=new ColorItem("#fdf5e6","oldlace");Colors.oliveDrab=new ColorItem("#6b8e23","olivedrab");Colors.orangeRed=new ColorItem("#ff4500","orangered");Colors.orchid=new ColorItem("#da70d6","orchid");Colors.paleGoldenRod=new ColorItem("#eee8aa","palegoldenrod");Colors.paleGreen=new ColorItem("#98fb98","palegreen");Colors.paleTurquoise=new ColorItem("#afeeee","paleturquoise");Colors.paleVioletRed=new ColorItem("#db7093","palevioletred");Colors.papayaWhip=new ColorItem("#ffefd5","papayawhip");Colors.peachPuff=new ColorItem("#ffdab9","peachpuff");Colors.peru=new ColorItem("#cd853f","peru");Colors.pink=new ColorItem("#ffc0cb","pink");Colors.plum=new ColorItem("#dda0dd","plum");Colors.powderBlue=new ColorItem("#b0e0e6","powderblue");Colors.rosyBrown=new ColorItem("#bc8f8f","rosybrown");Colors.royalBlue=new ColorItem("#4169e1","royalblue");Colors.saddleBrown=new ColorItem("#8b4513","saddlebrown");Colors.salmon=new ColorItem("#fa8072","salmon");Colors.sandyBrown=new ColorItem("#f4a460","sandybrown");Colors.seaGreen=new ColorItem("#2e8b57","seagreen");Colors.seaShell=new ColorItem("#fff5ee","seashell");Colors.sienna=new ColorItem("#a0522d","sienna");Colors.skyBlue=new ColorItem("#87ceeb","skyblue");Colors.slateBlue=new ColorItem("#6a5acd","slateblue");Colors.slateGray=new ColorItem("#708090","slategray");Colors.slateGrey=new ColorItem("#708090","slategrey");Colors.snow=new ColorItem("#fffafa","snow");Colors.springGreen=new ColorItem("#00ff7f","springgreen");Colors.steelBlue=new ColorItem("#4682b4","steelblue");Colors.tan=new ColorItem("#d2b48c","tan");Colors.thistle=new ColorItem("#d8bfd8","thistle");Colors.tomato=new ColorItem("#ff6347","tomato");Colors.turquoise=new ColorItem("#40e0d0","turquoise");Colors.violet=new ColorItem("#ee82ee","violet");Colors.wheat=new ColorItem("#f5deb3","wheat");Colors.whiteSmoke=new ColorItem("#f5f5f5","whitesmoke");Colors.yellowGreen=new ColorItem("#9acd32","yellowgreen");Colors.rebeccaPurple=new ColorItem("#663399","rebeccapurple");Colors.transparent=new ColorItem("#00000000","transparent")}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Colors");System.register(["./AtomBinder","./AtomWatcher"],(function(_export,_context){"use strict";var AtomBinder,AtomWatcher;function WatchProperty(target,key,descriptor){const{get}=descriptor;const isSetup=Symbol.for(`isSetup${key}`);return{get:function(){const watcher=new AtomWatcher(this,get,(()=>{AtomBinder.refreshValue(this,key)}),this);watcher.init(false);this.registerDisposable(watcher);this[isSetup]=watcher;Object.defineProperty(this,key,descriptor);return get.apply(this)},configurable:true}}_export("default",WatchProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WatchProperty");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`
|
|
697
697
|
position: absolute;
|
|
698
698
|
border-radius: 5px;
|
|
699
699
|
padding: 5px;
|
|
@@ -1142,7 +1142,7 @@ body {
|
|
|
1142
1142
|
& [data-white-space=nowrap] {
|
|
1143
1143
|
white-space: nowrap;
|
|
1144
1144
|
}
|
|
1145
|
-
`.installGlobal("div[data-drop-down=drop-down]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/drop-down-style");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater","./styles/drop-down-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,XNode,AtomRepeater,askSuggestion,askSuggestionPopup,disposeChildren,MatchAnyCaseInsensitive,DropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;askSuggestion=_AtomRepeater.askSuggestion;askSuggestionPopup=_AtomRepeater.askSuggestionPopup;disposeChildren=_AtomRepeater.disposeChildren;MatchAnyCaseInsensitive=_AtomRepeater.MatchAnyCaseInsensitive},function(_stylesDropDownStyle){}],execute:function(){_export("default",DropDown=class DropDown extends AtomRepeater{constructor(){super(...arguments);this.isPopupOpen=false}updateItems(container){}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break}}preCreate(){super.preCreate();this.disableSearch=false;this.prompt="Select";this.popupSuggestions=true;this.bindEvent(this.element,"click",(e=>this.openPopup(e)));this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})))}openPopup(e){var _a,_b,_c,_d,_e;return __awaiter(this,void 0,void 0,(function*(){if(this.isPopupOpen){return}this.isPopupOpen=true;try{if(!this.popupSuggestions){const selected=yield askSuggestion(this.items,(_a=this.suggestionRenderer)!==null&&_a!==void 0?_a:this.itemRenderer,(_b=this.match)!==null&&_b!==void 0?_b:MatchAnyCaseInsensitive(this.labelPath),{title:(_c=this.suggestionPrompt)!==null&&_c!==void 0?_c:this.prompt});this.selectedItem=selected;return}const selectedItem=yield askSuggestionPopup(this,this.items,(_d=this.suggestionRenderer)!==null&&_d!==void 0?_d:this.itemRenderer,(_e=this.match)!==null&&_e!==void 0?_e:MatchAnyCaseInsensitive(this.labelPath),this.selectedItem);if(this.selectedItem!==selectedItem){this.selectedItem=selectedItem;this.element.dispatchEvent(new CustomEvent("selectionChanged",{bubbles:true,detail:selectedItem,cancelable:true}))}}finally{this.isPopupOpen=false}}))}updateClasses(){var _a;disposeChildren(this,this.element);const ir=this.itemRenderer;if(!ir){return}if(!this.selectedItem){this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})));return}const selectedItem=this.selectedItem;const index=this.items.indexOf(selectedItem);const node=ir(selectedItem,index,this);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};if(!na["data-white-space"]){na["data-white-space"]="nowrap"}this.render(XNode.create("div",null,node,XNode.create("i",{class:"fad fa-caret-circle-down"})))}});__decorate([BindableProperty,__metadata("design:type",Boolean)],DropDown.prototype,"popupSuggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"suggestionRenderer",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DropDown");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __decorate,__metadata,DITransient,Inject,EntityService,User,Sql,AdminUserService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){AdminUserService=class AdminUserService{get(userID){return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>[x.fileAccessList.forEach((f=>f.file)),x.userMailboxes.forEach((m=>m.mailbox.emailAddress)),x.domainUsers.forEach((d=>d.hostedDomain.domain))])).firstOrDefault()}list({search="",start=0,size=50,cancelToken,v=void 0}){let q=this.entityService.query(User);if(search){if(/\^d+$/.test(search)){q=q.where({search},(p=>x=>x.userID===Sql.cast.asBigInt(p.search)))}const startsWith=search+"%";q=q.where({startsWith},(p=>x=>Sql.text.iLike(x.userName,p.startsWith)||Sql.text.iLike(x.displayName,p.startsWith)))}return q.include((x=>x.domainUsers.forEach((d=>d.hostedDomain.domain)))).toPagedList({start,size,cancelToken})}save(user){const cloner=this.entityService.cloner(user).include((x=>x.domainUsers)).include((x=>x.userMailboxes)).thenInclude((x=>x.mailbox));return this.entityService.save(cloner.copy)}};__decorate([Inject,__metadata("design:type",EntityService)],AdminUserService.prototype,"entityService",void 0);AdminUserService=__decorate([DITransient()],AdminUserService);_export("default",AdminUserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../../admin/pages/users/services/AdminUserService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,AdminUserService,XNode,Bind,UserDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_adminPagesUsersServicesAdminUserService){AdminUserService=_adminPagesUsersServicesAdminUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",UserDropDown=class UserDropDown extends DropDown{init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.valuePath=user=>user.userID;this.itemRenderer=user=>XNode.create("div",null,user.displayName," (",user.userID,", ",user.userName,")");this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>__awaiter(this,void 0,void 0,(function*(){return(yield this.userService.list({search:this.search,start:0,size:20,cancelToken})).items}))))}))}))}preCreate(){super.preCreate();this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDropDown.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown");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","../../../../common/controls/drop-downs/user/UserDropDown","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,UserDropDown,Bind,Checkbox,SaveIconTextButton,Action,EntityService,InjectProperty,DomainUserEditor;_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(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default}],execute:function(){_export("default",DomainUserEditor=class DomainUserEditor extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).isAdmin)!==null&&_a!==void 0?_a:_b.isAdmin=false;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-domain-user"},XNode.create(FormField,{label:"User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{label:"Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:"Is Administrator (Can Create and View all mailboxes)"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.model.isAdmin)),label:"Can Create Mailboxes"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:"Can create Mailboxes"})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-type":"submit"}))))}))}saveDomainUser(){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(this.model).copy;yield this.entityService.save(cloner);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],DomainUserEditor.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-domain-user",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DomainUserEditor.prototype,"saveDomainUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor");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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,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}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;const top=yield this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null)).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));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))}))}root({id,templates=false}){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();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)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault()}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.utcNow;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="",folder,cancelToken,showDeleted=false}){var _a;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)))}const files=yield q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name)).toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_a=iterator.children)!==null&&_a!==void 0?_a:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",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 __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){__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`
|
|
1145
|
+
`.installGlobal("div[data-drop-down=drop-down]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/drop-down-style");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater","./styles/drop-down-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,XNode,AtomRepeater,askSuggestion,askSuggestionPopup,disposeChildren,MatchAnyCaseInsensitive,DropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;askSuggestion=_AtomRepeater.askSuggestion;askSuggestionPopup=_AtomRepeater.askSuggestionPopup;disposeChildren=_AtomRepeater.disposeChildren;MatchAnyCaseInsensitive=_AtomRepeater.MatchAnyCaseInsensitive},function(_stylesDropDownStyle){}],execute:function(){_export("default",DropDown=class DropDown extends AtomRepeater{constructor(){super(...arguments);this.isPopupOpen=false}updateItems(container){}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break}}preCreate(){super.preCreate();this.disableSearch=false;this.prompt="Select";this.popupSuggestions=true;this.bindEvent(this.element,"click",(e=>this.openPopup(e)));this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})))}openPopup(e){var _a,_b,_c,_d,_e;return __awaiter(this,void 0,void 0,(function*(){if(this.isPopupOpen){return}this.isPopupOpen=true;try{if(!this.popupSuggestions){const selected=yield askSuggestion(this.items,(_a=this.suggestionRenderer)!==null&&_a!==void 0?_a:this.itemRenderer,(_b=this.match)!==null&&_b!==void 0?_b:MatchAnyCaseInsensitive(this.labelPath),{title:(_c=this.suggestionPrompt)!==null&&_c!==void 0?_c:this.prompt});this.selectedItem=selected;return}const selectedItem=yield askSuggestionPopup(this,this.items,(_d=this.suggestionRenderer)!==null&&_d!==void 0?_d:this.itemRenderer,(_e=this.match)!==null&&_e!==void 0?_e:MatchAnyCaseInsensitive(this.labelPath),this.selectedItem);if(this.selectedItem!==selectedItem){this.selectedItem=selectedItem;this.element.dispatchEvent(new CustomEvent("selectionChanged",{bubbles:true,detail:selectedItem,cancelable:true}))}}finally{this.isPopupOpen=false}}))}updateClasses(){var _a;disposeChildren(this,this.element);const ir=this.itemRenderer;if(!ir){return}if(!this.selectedItem){this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})));return}const selectedItem=this.selectedItem;const index=this.items.indexOf(selectedItem);const node=ir(selectedItem,index,this);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};if(!na["data-white-space"]){na["data-white-space"]="nowrap"}this.render(XNode.create("div",null,node,XNode.create("i",{class:"fad fa-caret-circle-down"})))}});__decorate([BindableProperty,__metadata("design:type",Boolean)],DropDown.prototype,"popupSuggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"suggestionRenderer",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DropDown");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __decorate,__metadata,DITransient,Inject,EntityService,User,Sql,AdminUserService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){AdminUserService=class AdminUserService{get(userID){return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>[x.fileAccessList.forEach((f=>f.file)),x.userMailboxes.forEach((m=>m.mailbox.emailAddress)),x.domainUsers.forEach((d=>d.hostedDomain.domain))])).firstOrDefault()}list({search="",start=0,size=50,cancelToken,v=void 0}){let q=this.entityService.query(User);if(search){if(/\^d+$/.test(search)){q=q.where({search},(p=>x=>x.userID===Sql.cast.asBigInt(p.search)))}const startsWith=search+"%";q=q.where({startsWith},(p=>x=>Sql.text.iLike(x.userName,p.startsWith)||Sql.text.iLike(x.displayName,p.startsWith)))}return q.include((x=>x.domainUsers.forEach((d=>d.hostedDomain.domain)))).toPagedList({start,size,cancelToken})}save(user){const cloner=this.entityService.cloner(user).include((x=>x.domainUsers)).include((x=>x.userMailboxes)).thenInclude((x=>x.mailbox));return this.entityService.save(cloner.copy)}};__decorate([Inject,__metadata("design:type",EntityService)],AdminUserService.prototype,"entityService",void 0);AdminUserService=__decorate([DITransient()],AdminUserService);_export("default",AdminUserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../../admin/pages/users/services/AdminUserService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,AdminUserService,XNode,Bind,UserDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_adminPagesUsersServicesAdminUserService){AdminUserService=_adminPagesUsersServicesAdminUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",UserDropDown=class UserDropDown extends DropDown{init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.valuePath=user=>user.userID;this.itemRenderer=user=>XNode.create("div",null,user.displayName," (",user.userID,", ",user.userName,")");this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>__awaiter(this,void 0,void 0,(function*(){return(yield this.userService.list({search:this.search,start:0,size:20,cancelToken})).items}))))}))}))}preCreate(){super.preCreate();this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDropDown.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown");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","../../../../common/controls/drop-downs/user/UserDropDown","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,UserDropDown,Bind,Checkbox,SaveIconTextButton,Action,EntityService,InjectProperty,DomainUserEditor;_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(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default}],execute:function(){_export("default",DomainUserEditor=class DomainUserEditor extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).isAdmin)!==null&&_a!==void 0?_a:_b.isAdmin=false;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-domain-user"},XNode.create(FormField,{label:"User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{label:"Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:"Is Administrator (Can Create and View all mailboxes)"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.model.isAdmin)),label:"Can Create Mailboxes"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:"Can create Mailboxes"})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-type":"submit"}))))}))}saveDomainUser(){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(this.model).copy;yield this.entityService.save(cloner);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],DomainUserEditor.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-domain-user",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DomainUserEditor.prototype,"saveDomainUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor");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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,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}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;const top=yield this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).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));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))}))}root({id,templates=false}){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();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)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault()}))}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.utcNow;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="",folder,cancelToken,showDeleted=false}){var _a;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)))}const files=yield q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name)).toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_a=iterator.children)!==null&&_a!==void 0?_a:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",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 __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){__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`
|
|
1146
1146
|
|
|
1147
1147
|
display: flex;
|
|
1148
1148
|
flex-direction: column;
|
|
@@ -1297,11 +1297,11 @@ body {
|
|
|
1297
1297
|
padding: 10px;
|
|
1298
1298
|
border: solid 1px lightgray;
|
|
1299
1299
|
border-radius: 10px;
|
|
1300
|
-
`.installGlobal("div[data-collection-editor]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","../../domains/services/AdminDomainService","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Action,PopupWindowPage,DomainUser,Bind,AdminDomainService,Form,FormField,DropDown,Checkbox,SaveIconTextButton,EntityService,EditDomainUserPage;_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(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainUser=_modelModel.DomainUser},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_domainsServicesAdminDomainService){AdminDomainService=_domainsServicesAdminDomainService.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditDomainUserPage=class EditDomainUserPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a,_b,_c,_d,_e;var _f,_g,_h;return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Domain Configuration";const domains=yield this.adminDomainService.list();this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:DomainUser.create({});(_b=(_f=this.model).hostedDomain)!==null&&_b!==void 0?_b:_f.hostedDomain=domains[0];(_c=(_g=this.model).domainID)!==null&&_c!==void 0?_c:_g.domainID=(_d=this.model.hostedDomain)===null||_d===void 0?void 0:_d.domainID;(_e=(_h=this.model).allowCreateMailbox)!==null&&_e!==void 0?_e:_h.allowCreateMailbox=false;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Domain"},XNode.create(DropDown,{items:domains,itemRenderer:item=>XNode.create("div",{text:item.domain.name}),valuePath:item=>item.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create(FormField,{label:"Is Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:" can create and view all mailboxes"})),XNode.create(FormField,{label:"Create Mailbox","style-display":Bind.oneWay((()=>!this.model.isAdmin))},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:" can create mailboxe for self use"})),XNode.create(FormField,{label:"Prefix","style-display":Bind.oneWay((()=>this.model.allowCreateMailbox))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.prefix))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.save(),text:"Save"}))))}))}save(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.domainID&&this.model.userID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],EditDomainUserPage.prototype,"adminDomainService",void 0);__decorate([Action({close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainUserPage.prototype,"save",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage");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,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},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(){return __awaiter(this,void 0,void 0,(function*(){const hosted=yield this.entityService.query(HostedDomain).include((x=>x.domain)).toArray();return hosted.map((x=>x.domain))}))}top(){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)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).toPagedList({size:3,count:false});return top.items}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){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)))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}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}))}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","@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/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/FormField","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/view-model/Action","../../../../common/controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserMailbox,XNode,Form,Bind,FormField,MailboxService,InjectProperty,AtomRepeater,Action,InfiniteRepeater,EditUserMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",EditUserMailboxPage=class EditUserMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selectedMailbox=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:UserMailbox.create({});this.title="Select 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(Form,null,XNode.create(FormField,{label:"Choose Mailbox"},XNode.create(AtomRepeater,Object.assign({"data-list-selection":"default","data-layout":"list",selectOnClick:true,"data-click-event":"select-mailbox"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start,size:10}))),{itemRenderer:item=>XNode.create("div",{text:item.emailAddress.emailAddress})})))))}))}selectMailbox(mailbox){return __awaiter(this,void 0,void 0,(function*(){return{mailbox,mailboxID:mailbox.mailboxID}}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],EditUserMailboxPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"select-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditUserMailboxPage.prototype,"selectMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const value=this.value;const valuePath=(_a=this.valuePath)!==null&&_a!==void 0?_a:item=>item;this.element.selectedIndex=(_b=this.items)===null||_b===void 0?void 0:_b.findIndex((v=>valuePath(v)==value));this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/PageNavigator","../../../../common/pages/folders/ChooserFolderPage","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../../common/NumberFormats","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,AppFileAccessTypeArray,XNode,PageNavigator,ChooserFolderPage,Form,FormField,toFileSize,ComboBox,Bind,SaveIconTextButton,Action,EditFileAcessPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess;AppFileAccessTypeArray=_modelModel.AppFileAccessTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commonPagesFoldersChooserFolderPage){ChooserFolderPage=_commonPagesFoldersChooserFolderPage.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",EditFileAcessPage=class EditFileAcessPage extends PopupWindowPage{init(){var _a,_b,_c;var _d,_e;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:AppFileAccess.create({});const file=yield PageNavigator.pushPageForResultOrCancel(ChooserFolderPage,{});(_d=this.model).type||(_d.type="read");(_b=(_e=this.model).file)!==null&&_b!==void 0?_b:_e.file=file;this.model.fileID=file.appFileID;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Folder"},XNode.create("div",null,file.name)),file.creator&&XNode.create(FormField,{label:"Owner"},XNode.create("div",null,(_c=file.creator)===null||_c===void 0?void 0:_c.displayName)),XNode.create(FormField,{label:"Size"},XNode.create("div",null,toFileSize(file.fileSize))),XNode.create(FormField,{label:"Access Type"},XNode.create(ComboBox,{value:Bind.twoWaysImmediate((()=>this.model.type)),items:AppFileAccessTypeArray})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-access"}))))}))}saveAccess(){return __awaiter(this,void 0,void 0,(function*(){return this.model}))}});__decorate([Action({onEvent:"save-access",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditFileAcessPage.prototype,"saveAccess",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../common/NumberFormats","../../../common/controls/collection-editor/CollectionEditor","./domains/EditDomainUserPage","./mailboxes/EditUserMailboxPage","./files/EditFileAccessPage","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserStatusArray,AdminUserService,InjectProperty,XNode,Form,toFileSize,CollectionEditor,EditDomainUserPage,EditUserMailboxPage,EditFileAcessPage,DeleteIconTextButton,SaveIconTextButton,Action,UserDetailsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserStatusArray=_modelModel.UserStatusArray},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commonControlsCollectionEditorCollectionEditor){CollectionEditor=_commonControlsCollectionEditorCollectionEditor.default},function(_domainsEditDomainUserPage){EditDomainUserPage=_domainsEditDomainUserPage.default},function(_mailboxesEditUserMailboxPage){EditUserMailboxPage=_mailboxesEditUserMailboxPage.default},function(_filesEditFileAccessPage){EditFileAcessPage=_filesEditFileAccessPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",UserDetailsPage=class UserDetailsPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.get(this.parameters.userID);this.title=this.model.userName;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create("div",{"data-layout":"row"},"Status: ",XNode.create("span",{"data-color":this.model.status==="active"?"green":this.model.status==="blocked"?"red":"black"},(_b=(_a=UserStatusArray.find((x=>x.value===this.model.status)))===null||_a===void 0?void 0:_a.label)!==null&&_b!==void 0?_b:this.model.status," ")),XNode.create("div",{"data-layout":"command-row"},this.model.status!=="active"&&XNode.create(SaveIconTextButton,{"data-submit-event":"activate-user",text:"Activate"}),this.model.status!=="blocked"&&XNode.create(DeleteIconTextButton,{"data-submit-event":"block-user",text:"Block"})))),XNode.create(CollectionEditor,{label:"Domains",model:this.model,collection:"domainUsers",addPage:EditDomainUserPage,itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.hostedDomain.domain.name}),XNode.create("td",{text:item.allowCreateMailbox?"can create mailbox":item.isAdmin?" is admin":""}),XNode.create("td",{text:item.prefix}))}),XNode.create(CollectionEditor,{label:"Mailboxes",model:this.model,addPage:EditUserMailboxPage,collection:"userMailboxes",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.mailbox.emailAddress.emailAddress}),XNode.create("td",{text:toFileSize(item.mailbox.storage)}))}),XNode.create(CollectionEditor,{label:"Drives/Files",model:this.model,addPage:EditFileAcessPage,collection:"fileAccessList",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.file.name}),XNode.create("td",{text:item.type}),XNode.create("td",{text:toFileSize(item.file.fileSize)}))})))}))}activateUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.userService.save(this.model);yield this.init()}))}blockUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="blocked";yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDetailsPage.prototype,"userService",void 0);__decorate([Action({onEvent:"activate-user",confirm:"Are you sure you want to activate the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"activateUser",null);__decorate([Action({onEvent:"block-user",confirm:"Are you sure you want to block the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"blockUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./EditUserPage","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./UserDetailsPage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Action,PageNavigator,AtomRepeater,User,AdminUserService,InjectProperty,InfiniteRepeater,Bind,EditUserPage,MasterDetailPage,UserDetailsPage,styled,UserListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){User=_modelModel.User},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditUserPage){EditUserPage=_EditUserPage.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_UserDetailsPage){UserDetailsPage=_UserDetailsPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
1300
|
+
`.installGlobal("div[data-collection-editor]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","../../domains/services/AdminDomainService","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Action,PopupWindowPage,DomainUser,Bind,AdminDomainService,Form,FormField,DropDown,Checkbox,SaveIconTextButton,EntityService,EditDomainUserPage;_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(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainUser=_modelModel.DomainUser},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_domainsServicesAdminDomainService){AdminDomainService=_domainsServicesAdminDomainService.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditDomainUserPage=class EditDomainUserPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a,_b,_c,_d,_e;var _f,_g,_h;return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Domain Configuration";const domains=yield this.adminDomainService.list();this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:DomainUser.create({});(_b=(_f=this.model).hostedDomain)!==null&&_b!==void 0?_b:_f.hostedDomain=domains[0];(_c=(_g=this.model).domainID)!==null&&_c!==void 0?_c:_g.domainID=(_d=this.model.hostedDomain)===null||_d===void 0?void 0:_d.domainID;(_e=(_h=this.model).allowCreateMailbox)!==null&&_e!==void 0?_e:_h.allowCreateMailbox=false;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Domain"},XNode.create(DropDown,{items:domains,itemRenderer:item=>XNode.create("div",{text:item.domain.name}),valuePath:item=>item.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create(FormField,{label:"Is Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:" can create and view all mailboxes"})),XNode.create(FormField,{label:"Create Mailbox","style-display":Bind.oneWay((()=>!this.model.isAdmin))},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:" can create mailboxe for self use"})),XNode.create(FormField,{label:"Prefix","style-display":Bind.oneWay((()=>this.model.allowCreateMailbox))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.prefix))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.save(),text:"Save"}))))}))}save(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.domainID&&this.model.userID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],EditDomainUserPage.prototype,"adminDomainService",void 0);__decorate([Action({close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainUserPage.prototype,"save",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage");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,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},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(){return __awaiter(this,void 0,void 0,(function*(){const hosted=yield this.entityService.query(HostedDomain).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});return top.items}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){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)))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}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}))}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","@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/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/FormField","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/view-model/Action","../../../../common/controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserMailbox,XNode,Form,Bind,FormField,MailboxService,InjectProperty,AtomRepeater,Action,InfiniteRepeater,EditUserMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",EditUserMailboxPage=class EditUserMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selectedMailbox=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:UserMailbox.create({});this.title="Select 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(Form,null,XNode.create(FormField,{label:"Choose Mailbox"},XNode.create(AtomRepeater,Object.assign({"data-list-selection":"default","data-layout":"list",selectOnClick:true,"data-click-event":"select-mailbox"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start,size:10}))),{itemRenderer:item=>XNode.create("div",{text:item.emailAddress.emailAddress})})))))}))}selectMailbox(mailbox){return __awaiter(this,void 0,void 0,(function*(){return{mailbox,mailboxID:mailbox.mailboxID}}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],EditUserMailboxPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"select-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditUserMailboxPage.prototype,"selectMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const value=this.value;const valuePath=(_a=this.valuePath)!==null&&_a!==void 0?_a:item=>item;this.element.selectedIndex=(_b=this.items)===null||_b===void 0?void 0:_b.findIndex((v=>valuePath(v)==value));this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/PageNavigator","../../../../common/pages/folders/ChooserFolderPage","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../../common/NumberFormats","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,AppFileAccessTypeArray,XNode,PageNavigator,ChooserFolderPage,Form,FormField,toFileSize,ComboBox,Bind,SaveIconTextButton,Action,EditFileAcessPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess;AppFileAccessTypeArray=_modelModel.AppFileAccessTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commonPagesFoldersChooserFolderPage){ChooserFolderPage=_commonPagesFoldersChooserFolderPage.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",EditFileAcessPage=class EditFileAcessPage extends PopupWindowPage{init(){var _a,_b,_c;var _d,_e;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:AppFileAccess.create({});const file=yield PageNavigator.pushPageForResultOrCancel(ChooserFolderPage,{});(_d=this.model).type||(_d.type="read");(_b=(_e=this.model).file)!==null&&_b!==void 0?_b:_e.file=file;this.model.fileID=file.appFileID;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Folder"},XNode.create("div",null,file.name)),file.creator&&XNode.create(FormField,{label:"Owner"},XNode.create("div",null,(_c=file.creator)===null||_c===void 0?void 0:_c.displayName)),XNode.create(FormField,{label:"Size"},XNode.create("div",null,toFileSize(file.fileSize))),XNode.create(FormField,{label:"Access Type"},XNode.create(ComboBox,{value:Bind.twoWaysImmediate((()=>this.model.type)),items:AppFileAccessTypeArray})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-access"}))))}))}saveAccess(){return __awaiter(this,void 0,void 0,(function*(){return this.model}))}});__decorate([Action({onEvent:"save-access",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditFileAcessPage.prototype,"saveAccess",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../common/NumberFormats","../../../common/controls/collection-editor/CollectionEditor","./domains/EditDomainUserPage","./mailboxes/EditUserMailboxPage","./files/EditFileAccessPage","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserStatusArray,AdminUserService,InjectProperty,XNode,Form,toFileSize,CollectionEditor,EditDomainUserPage,EditUserMailboxPage,EditFileAcessPage,DeleteIconTextButton,SaveIconTextButton,Action,UserDetailsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserStatusArray=_modelModel.UserStatusArray},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commonControlsCollectionEditorCollectionEditor){CollectionEditor=_commonControlsCollectionEditorCollectionEditor.default},function(_domainsEditDomainUserPage){EditDomainUserPage=_domainsEditDomainUserPage.default},function(_mailboxesEditUserMailboxPage){EditUserMailboxPage=_mailboxesEditUserMailboxPage.default},function(_filesEditFileAccessPage){EditFileAcessPage=_filesEditFileAccessPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",UserDetailsPage=class UserDetailsPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.get(this.parameters.userID);this.title=this.model.userName;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create("div",{"data-layout":"row"},"Status: ",XNode.create("span",{"data-color":this.model.status==="active"?"green":this.model.status==="blocked"?"red":"black"},(_b=(_a=UserStatusArray.find((x=>x.value===this.model.status)))===null||_a===void 0?void 0:_a.label)!==null&&_b!==void 0?_b:this.model.status," ")),XNode.create("div",{"data-layout":"command-row"},this.model.status!=="active"&&XNode.create(SaveIconTextButton,{"data-submit-event":"activate-user",text:"Activate"}),this.model.status!=="blocked"&&XNode.create(DeleteIconTextButton,{"data-submit-event":"block-user",text:"Block"})))),XNode.create(CollectionEditor,{label:"Domains",model:this.model,collection:"domainUsers",addPage:EditDomainUserPage,itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.hostedDomain.domain.name}),XNode.create("td",{text:item.allowCreateMailbox?"can create mailbox":item.isAdmin?" is admin":""}),XNode.create("td",{text:item.prefix}))}),XNode.create(CollectionEditor,{label:"Mailboxes",model:this.model,addPage:EditUserMailboxPage,collection:"userMailboxes",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.mailbox.emailAddress.emailAddress}),XNode.create("td",{text:toFileSize(item.mailbox.storage)}))}),XNode.create(CollectionEditor,{label:"Drives/Files",model:this.model,addPage:EditFileAcessPage,collection:"fileAccessList",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.file.name}),XNode.create("td",{text:item.type}),XNode.create("td",{text:toFileSize(item.file.fileSize)}))})))}))}activateUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.userService.save(this.model);yield this.init()}))}blockUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="blocked";yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDetailsPage.prototype,"userService",void 0);__decorate([Action({onEvent:"activate-user",confirm:"Are you sure you want to activate the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"activateUser",null);__decorate([Action({onEvent:"block-user",confirm:"Are you sure you want to block the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"blockUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./EditUserPage","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./UserDetailsPage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Action,PageNavigator,AtomRepeater,User,AdminUserService,InjectProperty,InfiniteRepeater,Bind,EditUserPage,MasterDetailPage,UserDetailsPage,styled,UserListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){User=_modelModel.User},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditUserPage){EditUserPage=_EditUserPage.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_UserDetailsPage){UserDetailsPage=_UserDetailsPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
1301
1301
|
&[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
|
|
1302
1302
|
grid-template-columns: 150px 1fr auto;
|
|
1303
1303
|
}
|
|
1304
|
-
`.installLocal();_export("default",UserListPage=class UserListPage extends MasterDetailPage{constructor(){super(...arguments);this.users=[];this.version=0;this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-user",class:"fas fa-plus"});this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{placeholder:"Search Users",value:Bind.twoWaysImmediate((()=>this.search))}));this.search="";this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",selectOnClick:true,"data-list-selection":"default","data-selection-updated-event":"user-selected","data-event-items-updated":"users-loaded",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),items:this.users},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({start,search:this.search,cancelToken,v:this.version}))),{itemRenderer:user=>XNode.create("tr",null,XNode.create("td",null,user.userID),XNode.create("td",null,user.userName),XNode.create("td",null,user.displayName))}))))}))}usersLoaded(){if(this.selectedUser){if(this.users.includes(this.selectedUser)){return}this.selectedUser=this.users.find((x=>x.userID===this.selectedUser.userID));if(this.selectedUser){return}}this.selectedUser=this.users[0]}userSelected(){if(!this.selectedUser){return}this.openDetail(UserDetailsPage,this.selectedUser)}addDomain(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditUserPage,User.create({userName:"",displayName:"",changePassword:{forceChangePasswordOnLogin:true,newPassword:""}}));this.version++}))}userChangePassword(model){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserListPage.prototype,"userService",void 0);__decorate([Action({onEvent:"users-loaded",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"usersLoaded",null);__decorate([Action({onEvent:"user-selected"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"userSelected",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserListPage.prototype,"addDomain",null);__decorate([Action({onEvent:"user-change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],UserListPage.prototype,"userChangePassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","./services/AdminUserService","../../../common/controls/repeater/InfiniteRepeater","../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,XNode,AtomRepeater,Bind,AdminUserService,InfiniteRepeater,SaveIconTextButton,ChooseUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",ChooseUserPage=class ChooseUserPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.users=[];this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),placeholder:"Search User"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.users,selectOnClick:true,"data-layout":"list",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),"data-list-selection":"default","data-selection-updated-event":"selection-updated"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({search:this.search,start,cancelToken}))),{itemRenderer:user=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:user.userName}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.selectedUser))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selectedUser),text:"Select"}))}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],ChooseUserPage.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","../../../admin/pages/users/ChooseUserPage"],(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,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}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.domain=null}init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.title="Add 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:[]});this.model.username="";const domains=yield this.mailboxService.domains();this.model.domain=domains[0];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)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.domain}`))})),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*(){this.model.domainID=this.model.domain.domainID;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(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxThread,Sql,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;MailboxThread=_modelModel.MailboxThread},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){MailService=class MailService{mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>x.emailAddress)).firstOrDefault()}))}list({search="",mailboxID,start=0,size=20,version=1,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThread).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).orderByDescending((x=>x.dateUpdated));if(search){const likeSearch=`%${search}%`;q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.lastEmail.textBody,p.likeSearch)||Sql.text.iLike(x.lastEmail.subject,p.likeSearch)||Sql.text.iLike(x.emailAddress.name,p.likeSearch)||Sql.text.iLike(x.lastEmail.senderName,p.likeSearch)))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){const{originalFileID}=email;const file=yield this.entityService.query(AppFile).where({originalFileID},(p=>x=>x.appFileID===p.originalFileID)).firstOrDefault();const rs=yield fetch(file.url);return yield rs.text()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){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)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div[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(["@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()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,MailboxThreadEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){MailboxThreadEmail=_modelModel.MailboxThreadEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{if(!value){e.innerHTML="";return}const thread=value;const mail=thread.email;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src===null||src===void 0?void 0:src.startsWith("cid:")){const cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`)}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead){const timeRead=DateTime.utcNow;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxThreadEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}return})));ConversationService=class ConversationService{list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThreadEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID));if(search){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)))}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.email.dateReceived)).toPagedList({start,size,cancelToken});return emails}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1304
|
+
`.installLocal();_export("default",UserListPage=class UserListPage extends MasterDetailPage{constructor(){super(...arguments);this.users=[];this.version=0;this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-user",class:"fas fa-plus"});this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{placeholder:"Search Users",value:Bind.twoWaysImmediate((()=>this.search))}));this.search="";this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",selectOnClick:true,"data-list-selection":"default","data-selection-updated-event":"user-selected","data-event-items-updated":"users-loaded",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),items:this.users},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({start,search:this.search,cancelToken,v:this.version}))),{itemRenderer:user=>XNode.create("tr",null,XNode.create("td",null,user.userID),XNode.create("td",null,user.userName),XNode.create("td",null,user.displayName))}))))}))}usersLoaded(){if(this.selectedUser){if(this.users.includes(this.selectedUser)){return}this.selectedUser=this.users.find((x=>x.userID===this.selectedUser.userID));if(this.selectedUser){return}}this.selectedUser=this.users[0]}userSelected(){if(!this.selectedUser){return}this.openDetail(UserDetailsPage,this.selectedUser)}addDomain(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditUserPage,User.create({userName:"",displayName:"",changePassword:{forceChangePasswordOnLogin:true,newPassword:""}}));this.version++}))}userChangePassword(model){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserListPage.prototype,"userService",void 0);__decorate([Action({onEvent:"users-loaded",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"usersLoaded",null);__decorate([Action({onEvent:"user-selected"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"userSelected",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserListPage.prototype,"addDomain",null);__decorate([Action({onEvent:"user-change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],UserListPage.prototype,"userChangePassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","./services/AdminUserService","../../../common/controls/repeater/InfiniteRepeater","../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,XNode,AtomRepeater,Bind,AdminUserService,InfiniteRepeater,SaveIconTextButton,ChooseUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",ChooseUserPage=class ChooseUserPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.users=[];this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),placeholder:"Search User"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.users,selectOnClick:true,"data-layout":"list",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),"data-list-selection":"default","data-selection-updated-event":"selection-updated"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({search:this.search,start,cancelToken}))),{itemRenderer:user=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:user.userName}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.selectedUser))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selectedUser),text:"Select"}))}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],ChooseUserPage.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","../../../admin/pages/users/ChooseUserPage","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,UserMailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,AtomRepeater,AddIconTextButton,PageNavigator,ChooseUserPage,Checkbox,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox;UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_adminPagesUsersChooseUserPage){ChooseUserPage=_adminPagesUsersChooseUserPage.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.domain=null}init(){var _a,_b,_c,_d;var _e,_f;return __awaiter(this,void 0,void 0,(function*(){this.title="Add 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();this.model.domain=domains[0];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)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.domain}`))})),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*(){this.model.domainID=this.model.domain.domainID;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(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxThread,Sql,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;MailboxThread=_modelModel.MailboxThread},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){MailService=class MailService{mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>x.emailAddress)).firstOrDefault()}))}list({search="",mailboxID,start=0,size=20,version=1,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThread).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).orderByDescending((x=>x.dateUpdated));if(search){const likeSearch=`%${search}%`;q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.lastEmail.textBody,p.likeSearch)||Sql.text.iLike(x.lastEmail.subject,p.likeSearch)||Sql.text.iLike(x.emailAddress.name,p.likeSearch)||Sql.text.iLike(x.lastEmail.senderName,p.likeSearch)))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){const{originalFileID}=email;const file=yield this.entityService.query(AppFile).where({originalFileID},(p=>x=>x.appFileID===p.originalFileID)).firstOrDefault();const rs=yield fetch(file.url);return yield rs.text()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){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)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["@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()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,MailboxThreadEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){MailboxThreadEmail=_modelModel.MailboxThreadEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{if(!value){e.innerHTML="";return}const thread=value;const mail=thread.email;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src===null||src===void 0?void 0:src.startsWith("cid:")){const cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`)}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead){const timeRead=DateTime.utcNow;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxThreadEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}return})));ConversationService=class ConversationService{list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThreadEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID));if(search){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)))}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.email.dateReceived)).toPagedList({start,size,cancelToken});return emails}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1305
1305
|
|
|
1306
1306
|
& > [data-element=editor] {
|
|
1307
1307
|
|
|
@@ -1337,7 +1337,7 @@ body {
|
|
|
1337
1337
|
}
|
|
1338
1338
|
}
|
|
1339
1339
|
}
|
|
1340
|
-
`.installGlobal("[data-inline-editor=inline-editor]");_export("default",InlineHtmlEditor=class InlineHtmlEditor extends AtomControl{constructor(){super(...arguments);this.undoLimit=100;this.editableSelector=".editable"}get htmlContent(){return this.htmlTextContent.html}set htmlContent(v){this.content=v}get htmlTextContent(){var _a;const copy=document.createElement("div");copy.innerHTML=this.editor.innerHTML;for(const node of descendentElementIterator(copy)){node.
|
|
1340
|
+
`.installGlobal("[data-inline-editor=inline-editor]");_export("default",InlineHtmlEditor=class InlineHtmlEditor extends AtomControl{constructor(){super(...arguments);this.undoLimit=100;this.editableSelector=".editable"}get htmlContent(){return this.htmlTextContent.html}set htmlContent(v){this.content=v}get htmlTextContent(){var _a;const copy=document.createElement("div");copy.innerHTML=this.editor.innerHTML;for(const node of descendentElementIterator(copy)){node.removeAttribute("contenteditable")}(_a=this.sanitizeHtml)===null||_a===void 0?void 0:_a.call(this,copy);return{html:copy.innerHTML,text:copy.innerText}}get content(){return this.editor.innerHTML}set content(value){this.editor.innerHTML=value;setTimeout((()=>this.onContentSet()),100)}set toolbar(v){this.dispose(this.toolbarElement);this.toolbarElement.innerHTML="";this.render(v(),this.toolbarElement,this)}executeCommand(command,showUI,value){var _a;const selection=window.getSelection();selection.removeAllRanges();if(!this.selection){const range=document.createRange();const start=(_a=ChildEnumerator.find(this.editor,(x=>x.isContentEditable)))!==null&&_a!==void 0?_a:this.editor.firstElementChild;range.setEndAfter(start.lastChild);range.setStartAfter(start.lastChild);selection.addRange(range)}else{selection.addRange(this.selection)}return document.execCommand(command,showUI,value)}getStyle(name){const selection=this.selection;if(!selection){return void 0}const node=selection;const e=node.startContainer.parentElement;return window.getComputedStyle(e)[name]}queryCommandState(command){return document.queryCommandState(command)}onContentSet(){var _a;const start=(_a=Array.from(this.editor.querySelectorAll(this.editableSelector)))!==null&&_a!==void 0?_a:[this.editor.firstElementChild];if(start.length){for(const iterator of start){iterator.contentEditable="true"}}this.editor.dispatchEvent(new CustomEvent("contentReady",{detail:this.editor.innerHTML,bubbles:true}))}saveSelection(){const selection=window.getSelection();this.selection=selection.rangeCount===0?null:selection.getRangeAt(0)}insertImage(s,e){return showImageDialog(s,e)}preCreate(){this.version=1;this.element.setAttribute("data-inline-editor","inline-editor");this.render(XNode.create("div",null,XNode.create("div",{"data-element":"toolbar"}),XNode.create("div",{"data-element":"editor"})));this.editor=this.element.querySelector(`[data-element=editor]`);this.toolbarElement=this.element.querySelector(`[data-element=toolbar]`);this.bindEvent(this.editor,"blur",(()=>this.saveSelection()),void 0,true);this.bindEvent(this.editor,"input",(e=>this.onContentInput(e)));this.bindEvent(this.editor,"keydown",(e=>this.updateQueryCommand()));this.bindEvent(this.editor,"click",(e=>this.updateQueryCommand(e)));this.bindEvent(this.editor,"paste",(e=>this.onPasteEvent(e)));this.bindEvent(this.editor,"cut",(()=>this.onContentInput()));this.bindEvent(this.editor,"drop",(e=>this.onDrop(e)))}updateQueryCommand(e){if((e===null||e===void 0?void 0:e.type)==="click"){if(!this.editor.textContent){let first=this.editor.firstElementChild;if(!first){first=document.createElement("div");first.innerHTML="<p><br/></p>";this.editor.appendChild(first)}else{if(!first.lastChild){first.innerHTML="<p></br></b>"}}}}this.version++}onDrop(e){e.preventDefault();const text=e.dataTransfer.getData("text/plain");if(!text){return}let last=null;for(const node of descendentElementIterator(this.element)){if(node.isContentEditable){last=node;continue}}if(last){last.appendChild(document.createTextNode(text))}}onPasteEvent(e){if(!e.clipboardData.types.find((x=>x==="text/html"))){this.onContentInput();return}const d=e.clipboardData.getData("text/plain");if(d){const s=window.getSelection();const r=s.getRangeAt(0);let last;const tags=[];for(const iterator of d.split("\n")){const text=iterator.trim();if(!text){continue}last=document.createElement("p");last.innerText=iterator;tags.push(last)}while(tags.length){r.insertNode(tags.pop())}r.setStartAfter(last);this.onContentInput()}e.preventDefault()}contentModified(){this.element.dispatchEvent(new CustomEvent("contentChanged",{detail:this.editor.innerHTML,bubbles:true}))}onContentInput(e){var _a;(_a=this.token)===null||_a===void 0?void 0:_a.cancel();const token=this.token=new CancelToken;this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){yield sleep(500,token,false);if(token.cancelled){return}this.contentModified()}))))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function Toolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",Toolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1341
1341
|
display: flex;
|
|
1342
1342
|
flex-wrap: wrap;
|
|
1343
1343
|
align-items: center;
|
|
@@ -1415,7 +1415,7 @@ body {
|
|
|
1415
1415
|
min-height: 500px;
|
|
1416
1416
|
min-width: 700px;
|
|
1417
1417
|
}
|
|
1418
|
-
`.installLocal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Source");System.register(["tslib","@web-atoms/core/dist/App","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var __rest,App,Command,StringHelper,AtomControl,PopupService,UploadEvent,acceptCache,isFileType,previousFile,uploadCommand,id;_export("default",void 0);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default}],execute:function(){acceptCache={};_export("isFileType",isFileType=acceptType=>{var _a;function isFileTypeFactory(accept){if(!accept||accept==="*/*"){return()=>true}const types=accept.split(/\,/g).map((x=>{x=x.trim();if(x.startsWith(".")){return file=>file.name.endsWith(x)}if(x.endsWith("/*")){const prefix=x.substring(0,x.length-1);return file=>file.type.startsWith(prefix)}return file=>file.type===x}));return file=>{for(const iterator of types){if(iterator(file)){return true}}return false}}return(_a=acceptCache[acceptType])!==null&&_a!==void 0?_a:acceptCache[acceptType]=isFileTypeFactory(acceptType)});uploadCommand=Command.create({name:"upload-command"});
|
|
1418
|
+
`.installLocal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Source");System.register(["tslib","@web-atoms/core/dist/App","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var __rest,App,Command,StringHelper,AtomControl,PopupService,UploadEvent,acceptCache,isFileType,previousFile,uploadCommand,requestUpload,id;_export("default",void 0);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default}],execute:function(){acceptCache={};_export("isFileType",isFileType=acceptType=>{var _a;function isFileTypeFactory(accept){if(!accept||accept==="*/*"){return()=>true}const types=accept.split(/\,/g).map((x=>{x=x.trim();if(x.startsWith(".")){return file=>file.name.endsWith(x)}if(x.endsWith("/*")){const prefix=x.substring(0,x.length-1);return file=>file.type.startsWith(prefix)}return file=>file.type===x}));return file=>{for(const iterator of types){if(iterator(file)){return true}}return false}}return(_a=acceptCache[acceptType])!==null&&_a!==void 0?_a:acceptCache[acceptType]=isFileTypeFactory(acceptType)});uploadCommand=Command.create({name:"upload-command"});requestUpload=({element,multiple,authorize,extra,upload,folder,uploadEvent})=>{if(authorize){if(!App.authorize()){return}}const chain=[];let start=element;while(start){chain.push(start);start=start.parentElement}previousFile===null||previousFile===void 0?void 0:previousFile.remove();const file=document.createElement("input");file.type="file";file.multiple=multiple;if(folder){file.webkitdirectory=folder}const accept=element.getAttribute("data-accept")||"*/*";file.accept=accept;const capture=element.getAttribute("data-capture");if(capture){file.capture=capture}file.style.position="absolute";file.style.left="-1000px";file.style.top="-1000px";document.body.append(file);previousFile=file;const maxSize=parseInt(element.getAttribute("data-max-size")||"0",10);const forceType=element.getAttribute("data-force-type")==="true";file.addEventListener("change",(()=>{let files=Array.from(file.files);let msg="";if(forceType||maxSize){const validated=[];const checkFileType=isFileType(accept);for(const iterator of files){if(maxSize&&iterator.size>maxSize){msg+=`Size of ${iterator.name} is more than ${maxSize}`;continue}if(forceType){if(!checkFileType(iterator)){msg+=`${iterator.name} is invalid file.`;continue}}validated.push(iterator)}files=validated}file.remove();previousFile=null;chain.reverse();while(chain.length){const root=chain.pop();if(root.isConnected){const control=AtomControl.from(root);if(msg){control.app.runAsync((()=>PopupService.alert({message:msg})));if(files.length===0){return}}if(upload){const doUploadEvent=new CustomEvent("uploadRequested",{detail:{files,extra,uploadEvent},bubbles:true,cancelable:true});root.dispatchEvent(doUploadEvent);if(doUploadEvent.defaultPrevented){return}}root.dispatchEvent(new CustomEvent(uploadEvent,{detail:{files,extra},bubbles:true}));break}}}));setTimeout((()=>{file.dispatchEvent(new MouseEvent("click"))}))};window.addEventListener(uploadCommand.eventName,(ce=>{var _a;if(ce.defaultPrevented){return}const element=ce.target;const authorize=element.getAttribute("data-authorize")==="true";const multiple=element.getAttribute("data-multiple")==="true";const extra=(_a=element.extra)!==null&&_a!==void 0?_a:element.getAttribute("data-extra");const upload=element.getAttribute("data-upload")==="true";const folder=element.hasAttribute("data-folder");const uploadEvent=StringHelper.fromHyphenToCamel(element.getAttribute("data-upload-event"));requestUpload({element,authorize,multiple,extra,upload,folder,uploadEvent})}));id=1;_export("default",UploadEvent=class UploadEvent{static AttachUploadAction(_a){var{uploadEvent="filesAvailable",accept="*/*",capture,multiple=false,forceType=true,maxSize=524288e3,extra,upload=true,authorize=true,ariaLabel="Upload",folder=false}=_a,others=__rest(_a,["uploadEvent","accept","capture","multiple","forceType","maxSize","extra","upload","authorize","ariaLabel","folder"]);return Object.assign(Object.assign({},others),{"data-folder":folder?"true":void 0,"data-click-command":uploadCommand.name,"data-upload-event":uploadEvent,"data-accept":accept,"data-multiple":multiple?"true":"false","data-capture":capture,"data-upload":upload?"true":"false","data-force-type":forceType?"true":"false","data-max-size":maxSize?maxSize.toString():undefined,"data-authorize":authorize.toString(),"aria-label":ariaLabel,extra})}});UploadEvent.requestUpload=requestUpload}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/UploadEvent");System.register(["tslib","@web-atoms/core/dist/App","@web-atoms/core/dist/core/types","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,App,CancelToken,DISingleton,Inject,StringHelper,styled,PopupWindow,InjectProperty,XNode,AtomRepeater,Bind,PopupService,FileUploadWindow,acceptDocumentAndMedia,LocalFileService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebServicesPopupWindow){PopupWindow=_webAtomsCoreDistWebServicesPopupWindow.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default}],execute:function(){_export("acceptDocumentAndMedia",acceptDocumentAndMedia=".doc, .docx, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, video/*, application/pdf, .pdf, .txt, audio/*, image/*, .csv, text/csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/plain, text/html");styled.css`
|
|
1419
1419
|
display: inline-grid;
|
|
1420
1420
|
grid-template-rows: auto auto;
|
|
1421
1421
|
grid-template-columns: auto 1fr auto;
|
|
@@ -1443,7 +1443,7 @@ body {
|
|
|
1443
1443
|
grid-row: 1;
|
|
1444
1444
|
grid-column: 3;
|
|
1445
1445
|
}
|
|
1446
|
-
`.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService{constructor(){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}))}upload(files,extra,ct){return __awaiter(this,void 0,void 0,(function*(){return files.map((file=>{const uploadFile={name:file.name};uploadFile.promise=new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);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){uploadFile.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){uploadFile.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="/api/upload";const s=new URLSearchParams;if(extra){if(typeof extra==="string"){extra=JSON.parse(extra)}for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];if(element){s.append(key,element)}}}}if(file.webkitRelativePath){const folders=file.webkitRelativePath.split("/");folders.pop();if(folders.length){const folder=folders.join("/");s.append("folder",folder)}}postUrl+="?"+s.toString();xhr.open("POST",postUrl,true);xhr.send(body)}));return uploadFile}))}))}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",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});this.files=yield this.localFileService.upload(this.parameters.files,this.parameters.extra,this.cancelToken);this.render(XNode.create("div",null,XNode.create(AtomRepeater,{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",{min:0,max:100,value:Bind.source(file,(x=>x.source.progress))}))})));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"],(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,MailHtmlEditor,link,onAttachImage,onAttachInlineImage;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}],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)}));_export("MailHtmlEditor",MailHtmlEditor=class MailHtmlEditor extends InlineHtmlEditor{onPasteEvent(e){if(e.clipboardData.files.length){e.preventDefault();e.stopPropagation();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const files=yield this.localFileService.uploadWithProgress(Array.from(e.clipboardData.files));for(const file of files){this.executeCommand("insertHTML",void 0,`<div><img data-content="data-url" data-content-id=${file.appFileID} src="${file.url}" style='max-height: 700px;'/></div>`)}this.element.dispatchEvent(new CustomEvent("filesAvailable",{detail:{files,extra:"none"},bubbles:true}))}))));return}super.onPasteEvent(e)}preCreate(){super.preCreate();this.sanitizeHtml=node=>{const images=Array.from(node.querySelectorAll(`img[data-content-id]`));for(const image of images){image.setAttribute("src",`cid:${image.getAttribute("data-content-id")}`)}}}});__decorate([InjectProperty,__metadata("design:type",LocalFileService)],MailHtmlEditor.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar");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`
|
|
1446
|
+
`.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService{constructor(){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}))}upload(files,extra,ct){return __awaiter(this,void 0,void 0,(function*(){return files.map((file=>{const uploadFile={name:file.name};uploadFile.promise=new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);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){uploadFile.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){uploadFile.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="/api/upload";const s=new URLSearchParams;if(extra){if(typeof extra==="string"){extra=JSON.parse(extra)}for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];if(element){s.append(key,element)}}}}if(file.webkitRelativePath){const folders=file.webkitRelativePath.split("/");folders.pop();if(folders.length){const folder=folders.join("/");s.append("folder",folder)}}postUrl+="?"+s.toString();xhr.open("POST",postUrl,true);xhr.send(body)}));return uploadFile}))}))}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",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});this.files=yield this.localFileService.upload(this.parameters.files,this.parameters.extra,this.cancelToken);this.render(XNode.create("div",null,XNode.create(AtomRepeater,{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",{min:0,max:100,value:Bind.source(file,(x=>x.source.progress))}))})));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"],(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,MailHtmlEditor,link,onAttachImage,onAttachInlineImage;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}],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)}));_export("MailHtmlEditor",MailHtmlEditor=class MailHtmlEditor extends InlineHtmlEditor{onPasteEvent(e){if(e.clipboardData.files.length){e.preventDefault();e.stopPropagation();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const files=yield this.localFileService.uploadWithProgress(Array.from(e.clipboardData.files));for(const file of files){this.executeCommand("insertHTML",void 0,`<div><img data-content="data-url" data-content-id=${file.appFileID} src="${file.url}" style='max-height: 700px;'/></div>`)}this.element.dispatchEvent(new CustomEvent("filesAvailable",{detail:{files,extra:"none"},bubbles:true}))}))));return}super.onPasteEvent(e)}preCreate(){super.preCreate();this.sanitizeHtml=node=>{const images=Array.from(node.querySelectorAll(`img[data-content-id]`));for(const image of images){image.setAttribute("src",`cid:${image.getAttribute("data-content-id")}`)}};this.bindEvent(this.element,"contentReady",(()=>this.updateTemplateContent()));this.bindEvent(this.element,"click",(e=>this.onClick(e)))}onClick(e){let target=e.target;let editorAction;while(target){editorAction||(editorAction=target.getAttribute("data-editor-action"));if(target.tagName==="A"){e.preventDefault();e.stopImmediatePropagation();break}target=target.parentElement}if(editorAction){e.target.dispatchEvent(new CustomEvent(StringHelper.fromHyphenToCamel(editorAction),{detail:editorAction,bubbles:true,cancelable:true}))}}updateTemplateContent(){}});__decorate([InjectProperty,__metadata("design:type",LocalFileService)],MailHtmlEditor.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar");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`
|
|
1447
1447
|
display: inline-grid;
|
|
1448
1448
|
grid-template-rows: 1fr auto;
|
|
1449
1449
|
grid-template-columns: 1fr 40px;
|
|
@@ -1620,7 +1620,18 @@ body {
|
|
|
1620
1620
|
grid-row-start: 2;
|
|
1621
1621
|
grid-column-start: 2;
|
|
1622
1622
|
}
|
|
1623
|
-
`.installGlobal("*[data-item-suggestion]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/item-suggestion-style");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","./AtomRepeater","./Chip","./InlinePopup","./styles/chips-style","./styles/item-suggestion-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomBinder,Bind,BindableProperty,CancelToken,XNode,AtomRepeater,MatchTrue,InlinePopup,AtomChips;function getChips(target){let start=target;while(start){const chips=start.atomControl;if(chips&&chips instanceof AtomChips){return chips}start=start.parentElement}}function askSuggestionPopup(host,opener,itemRenderer,suggestionFilter,cancelToken){class Suggestions extends InlinePopup{create(){this.opener=opener;this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.opener.anchorItem)),itemRenderer,eventDeleteSuggestion:e=>opener.element.dispatchEvent(e),visibilityFilter:suggestionFilter!==null&&suggestionFilter!==void 0?suggestionFilter:MatchTrue,"event-item-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.close(e.detail)},items:Bind.oneWay((()=>this.opener.suggestions))}))))}}return Suggestions.showControl(host,{cancelToken,alignment:"auto"})}function Suggestion({icon,label,header,deleteIcon},...nodes){return XNode.create("div",{"data-item-suggestion":"suggestion"},icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleteIcon&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-suggestion"}))}_export({Suggestion,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;MatchTrue=_AtomRepeater.MatchTrue},function(_Chip){_export("Chip",_Chip.default)},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_stylesChipsStyle){},function(_stylesItemSuggestionStyle){}],execute:function(){document.body.addEventListener("focusin",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(true)}));document.body.addEventListener("focusout",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(false)}));document.body.addEventListener("keydown",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.onKey(e)}));_export("default",AtomChips=class AtomChips extends AtomRepeater{get searchType(){return this.searchInput.type}set searchType(v){this.searchInput.type=v}get enterKeyHint(){return this.searchInput.enterKeyHint}set enterKeyHint(v){this.searchInput.enterKeyHint=v}onPropertyChanged(name){var _a;super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break;case"focused":this.updatePopup();break;case"suggestions":(_a=this.suggestionsWatcher)===null||_a===void 0?void 0:_a.dispose();this.suggestionsWatcher=undefined;const suggestions=this.suggestions;if(suggestions){this.suggestionsWatcher=this.registerDisposable(suggestions.watch((()=>{this.updatePopup()})))}this.updatePopup();break}}preCreate(){super.preCreate();this.preventDuplicates=true;this.softDeleteProperty=null;this.prompt="Search";this.element.setAttribute("data-atom-chips","atom-chips");this.element.setAttribute("data-mode","search");this.suggestionFilter=MatchTrue;this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{class:"presenter"}),XNode.create("input",{class:"search",placeholder:Bind.oneWay((()=>this.prompt)),value:Bind.twoWaysImmediate((()=>this.search)),type:"search"}),XNode.create("div",{class:"footer"})));this.itemsPresenter=this.element.children[0];this.searchInput=this.element.children[1];this.footerPresenter=this.element.children[2];this.bindEvent(this.element,"removeChip",(e=>e.defaultPrevented||this.removeItem(e.detail)));this.bindEvent(this.element,"undoRemoveChip",(e=>e.defaultPrevented||this.undoRemoveItem(e.detail)));this.bindEvent(this.searchInput,"blur",(()=>{const search=this.search;setTimeout((()=>{if(this.onBlurItemToChip&&search){const item=this.onBlurItemToChip(search);if(item){this.items.add(item);this.searchInput.value="";this.search=""}}}),50)}))}setFocus(hasFocus){if(hasFocus){if(this.focusTimeout){clearTimeout(this.focusTimeout);this.focusTimeout=void 0}this.focused=true;return}this.focusTimeout=setTimeout((()=>{this.focusTimeout=void 0;this.focused=false}),1500)}updatePopup(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const suggestions=this.suggestions;if(!this.focused){(_a=this.popupCancelToken)===null||_a===void 0?void 0:_a.cancel();this.popupCancelToken=null;return}const detail=this.suggestions;const ce=new CustomEvent("suggestions-requested",{detail});this.element.dispatchEvent(ce);if(ce.defaultPrevented){return}const{promise}=ce;if(promise){yield promise}if(ce.detail!==this.suggestions){this.suggestions=ce.detail}if(!(suggestions===null||suggestions===void 0?void 0:suggestions.length)){(_b=this.popupCancelToken)===null||_b===void 0?void 0:_b.cancel();this.popupCancelToken=null;return}if(this.popupCancelToken){return}const cancelToken=this.popupCancelToken=new CancelToken;try{let selectedItem=yield askSuggestionPopup(this.element,this,(_c=this.suggestionRenderer)!==null&&_c!==void 0?_c:this.itemRenderer,this.suggestionFilter,cancelToken);const itemToChip=this.itemToChip;if(itemToChip){selectedItem=itemToChip(selectedItem,this.search)}this.addItem(selectedItem);this.search="";this.popupCancelToken=null}catch(e){this.popupCancelToken=null;if(CancelToken.isCancelled(e)){return}console.warn(e)}}))}addItem(selectedItem){var _a;const ce=new CustomEvent("suggestionChosen",{detail:selectedItem,cancelable:true,bubbles:true});this.element.dispatchEvent(ce);if(!ce.defaultPrevented){const item=ce.detail;const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:x=>x;const v=vp(item);for(const iterator of this.items){if(v===vp(iterator)){return}}this.items.add(ce.detail)}}undoRemoveItem(item){let{softDeleteProperty}=this;softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=false;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}removeItem(item){let{softDeleteProperty}=this;if(softDeleteProperty){softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=true;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}else{this.items.remove(item)}}onKey(e){var _a,_b;const suggested=this.suggestions;const onKeyPressedItemToChip=this.onKeyPressedItemToChip;if(onKeyPressedItemToChip&&this.search){const item=onKeyPressedItemToChip(e.key,this.search);if(item){this.addItem(item);this.searchInput.value="";return}}switch(e.key){case"Enter":(_a=e.preventDefault)===null||_a===void 0?void 0:_a.call(e);(_b=e.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(e);setTimeout((()=>{let anchorItem=this.anchorItem;const itemToChip=this.itemToChip;if(itemToChip){anchorItem=itemToChip(anchorItem,this.search)}if(!anchorItem){return}this.addItem(anchorItem);this.anchorIndex=0;this.anchorItem=null;this.search=""}),1);break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}});__decorate([BindableProperty,__metadata("design:type",Array)],AtomChips.prototype,"suggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"softDeleteProperty",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomChips.prototype,"focused",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onKeyPressedItemToChip",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onBlurItemToChip",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");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","../EntityService","../../common/Sql","../../model/model","../../common/cache/CacheTTL","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Sql,EmailAddress,CacheTTL,DISingleton,cacheVersion,cacheSeconds,hideActivityIndicator,EmailAddressService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){EmailAddress=_modelModel.EmailAddress},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheVersion="1";cacheSeconds=CacheTTL.seconds.oneDay;hideActivityIndicator=true;EmailAddressService=class EmailAddressService{getName(ea){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.entityService.query(EmailAddress).where({ea},(p=>x=>x.emailAddress===p.ea)).firstOrDefault({cacheSeconds,cacheVersion,hideActivityIndicator});return f===null||f===void 0?void 0:f.name}))}search(search,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!search){return[]}let q=this.entityService.query(EmailAddress);if(!/\%$/.test(search)){search=`${search}%`.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress,p.search)||Sql.text.iLike(x.name,p.search)))}const list=yield q.orderByDescending((x=>x.emailAddressID)).toPagedList({start:0,size:10,count:false,cacheSeconds,cacheVersion,cancelToken,hideActivityIndicator});return list.items}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailAddressService.prototype,"entityService",void 0);EmailAddressService=__decorate([DISingleton()],EmailAddressService);_export("default",EmailAddressService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomChips","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/email-addresses/EmailAddressService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomChips,Chip,EmailRecipient,XNode,Bind,InjectProperty,EmailAddressService,EmailRecipientChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEmailAddressesEmailAddressService){EmailAddressService=_servicesEmailAddressesEmailAddressService.default}],execute:function(){_export("default",EmailRecipientChips=class EmailRecipientChips extends AtomChips{preCreate(){super.preCreate();this.search="";this.suggestions=[];this.itemToChip=(item,text)=>{if(typeof item==="string"){return this.createRecipient(item)}const{name,emailAddress,emailAddressID}=item;return EmailRecipient.create({emailAddressID,name,emailAddressText:emailAddress})};this.itemRenderer=item=>XNode.create(Chip,{title:item.name?item.emailAddressText:void 0,label:item.name||item.emailAddressText});this.suggestionRenderer=item=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},item.name&&item.name!==item.emailAddress&&XNode.create("div",{text:item.name}),XNode.create("div",{text:item.emailAddress}));this.onKeyPressedItemToChip=(key,search)=>{if(key==="Enter"||key==="Comma"){return this.createRecipient(search)}};this.onBlurItemToChip=search=>this.createRecipient(search);this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,ct)=>this.addressService.search(this.search,ct)))}))}createRecipient(search){search=search===null||search===void 0?void 0:search.trim();if(!search){return}if(!/\@/.test(search)){return}const er=EmailRecipient.create({emailAddressText:search});if(!er.name&&er.emailAddressText){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const n=yield this.addressService.getName(er.emailAddressText);if(n){er.name=n;this.refreshItem(er)}}))))}return er}});__decorate([InjectProperty,__metadata("design:type",EmailAddressService)],EmailRecipientChips.prototype,"addressService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/view-model/Action","./service/MailService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/TitleEditor","../../../common/controls/email-recipients/EmailRecipientChips"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InlineHtmlEditorWithToolbar,XNode,Bind,Form,FormField,HorizontalFormField,AppFile,Email,EmailRecipient,Action,MailService,InjectProperty,DateTime,AtomRepeater,TitleEditor,EmailRecipientChips,ComposeMailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default;HorizontalFormField=_webAtomsWebControlsDistBasicFormField.HorizontalFormField},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default}],execute:function(){_export("default",ComposeMailPage=class ComposeMailPage extends PopupWindowPage{init(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(this.parameters.subject){this.title="Reply: "+this.parameters.subject}else{this.title="Compose New"}this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:Email.create({subject:(_b=this.parameters.subject)!==null&&_b!==void 0?_b:"",textBody:"",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,recipients:[],attachments:[]});if(this.parameters.emailAddress){this.model.recipients.add(EmailRecipient.create({emailAddressText:this.parameters.emailAddress,emailAddressID:(_c=this.parameters.emailAddressID)!==null&&_c!==void 0?_c:void 0}))}this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(HorizontalFormField,{label:"To:"},XNode.create(EmailRecipientChips,{items:this.model.recipients})),XNode.create(FormField,{label:""},XNode.create(TitleEditor,{placeholder:"Subject",capitalize:"words",value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{presenter:Bind.presenter((c=>this.editor=c)),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:item.name}))}),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create("button",{"data-click-event":"send-email",text:"Send"}),XNode.create("button",{"data-click-event":"save-email",text:"Save"}))))}))}filesAvailable({files,extra}){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){(_a=(_b=this.model).attachments)!==null&&_a!==void 0?_a:_b.attachments=[];for(const iterator of files){this.model.attachments.add(AppFile.create({appFileID:iterator.appFileID,name:iterator.file.name,contentType:iterator.file.type,contentDisposition:iterator.inline?"inline":"attachment",contentID:iterator.inline?iterator.appFileID.toString():void 0}))}}))}sendEmail(){return __awaiter(this,void 0,void 0,(function*(){if(!this.model.recipients.length){throw new Error("No recipients specified")}if(!this.model.subject){throw new Error("No subject specified")}const{html,text}=this.editor.htmlTextContent;this.model.htmlBody=html;this.model.textBody=text;if(!this.model.textBody){throw new Error("Email is empty")}this.model.senderID=this.parameters.mailboxID;this.model.status="scheduled";this.model.dateSent=DateTime.utcNow;yield this.mailService.send(this.model)}))}saveEmail(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailService.send(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],ComposeMailPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"filesAvailable",null);__decorate([Action({onEvent:"send-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"sendEmail",null);__decorate([Action({onEvent:"save-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"saveEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/types","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,AtomDisposableList,UMD,DISingleton,SocketNamespace,io,cache,of,MailboxSocket;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cache=new Map;of=name=>__awaiter(void 0,void 0,void 0,(function*(){io!==null&&io!==void 0?io:io=(yield UMD.import("https://cdn.jsdelivr.net/npm/socket.io-client@4.6.0/dist/socket.io.min.js")).io;const value=io(name,{transports:["websocket"]});yield new Promise(((resolve,reject)=>{value.on("connect",resolve)}));return value}));SocketNamespace=class SocketNamespace{static for(ns){let sn=cache.get(ns);if(!sn){sn=new SocketNamespace(ns);cache.set(ns,sn)}return sn}constructor(ns){this.ns=ns;this.rooms=new Map}connect(roomName,events){var _a;return __awaiter(this,void 0,void 0,(function*(){(_a=this.socket)!==null&&_a!==void 0?_a:this.socket=yield this.init();let room=this.rooms.get(roomName);if(!room){room=new Set;this.rooms.set(roomName,room);this.socket.emit("join",roomName)}const disposables=new AtomDisposableList;for(const key in events){if(Object.prototype.hasOwnProperty.call(events,key)){const element=events[key];const handler=(...a)=>{var _a;return(_a=element(...a))===null||_a===void 0?void 0:_a.catch(console.error)};room.add(handler);this.socket.on(key,handler);disposables.add((()=>{this.socket.off(key,handler);room.delete(handler)}))}}disposables.add((()=>this.clear(roomName)));return disposables}))}clear(roomName){const room=this.rooms.get(roomName);if(room.size===0){this.rooms.delete(roomName);this.socket.emit("leave",roomName)}}init(){const init=()=>__awaiter(this,void 0,void 0,(function*(){const ns=yield of("/"+this.ns);return ns}));const value=init();Object.defineProperty(this,"init",{value:()=>value});return value}};_export("MailboxSocket",MailboxSocket=class MailboxSocket{join(room,events){return __awaiter(this,void 0,void 0,(function*(){const disposables=new AtomDisposableList;const ns=SocketNamespace.for("mailbox");ns.connect(room,events).then((v=>disposables.add(v)),console.error);return disposables}))}});_export("MailboxSocket",MailboxSocket=__decorate([DISingleton()],MailboxSocket))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/socket/sockets");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,XNode,styled,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1623
|
+
`.installGlobal("*[data-item-suggestion]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/item-suggestion-style");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","./AtomRepeater","./Chip","./InlinePopup","./styles/chips-style","./styles/item-suggestion-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomBinder,Bind,BindableProperty,CancelToken,XNode,AtomRepeater,MatchTrue,InlinePopup,AtomChips;function getChips(target){let start=target;while(start){const chips=start.atomControl;if(chips&&chips instanceof AtomChips){return chips}start=start.parentElement}}function askSuggestionPopup(host,opener,itemRenderer,suggestionFilter,cancelToken){class Suggestions extends InlinePopup{create(){this.opener=opener;this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.opener.anchorItem)),itemRenderer,eventDeleteSuggestion:e=>opener.element.dispatchEvent(e),visibilityFilter:suggestionFilter!==null&&suggestionFilter!==void 0?suggestionFilter:MatchTrue,"event-item-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.close(e.detail)},items:Bind.oneWay((()=>this.opener.suggestions))}))))}}return Suggestions.showControl(host,{cancelToken,alignment:"auto"})}function Suggestion({icon,label,header,deleteIcon},...nodes){return XNode.create("div",{"data-item-suggestion":"suggestion"},icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleteIcon&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-suggestion"}))}_export({Suggestion,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;MatchTrue=_AtomRepeater.MatchTrue},function(_Chip){_export("Chip",_Chip.default)},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_stylesChipsStyle){},function(_stylesItemSuggestionStyle){}],execute:function(){document.body.addEventListener("focusin",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(true)}));document.body.addEventListener("focusout",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(false)}));document.body.addEventListener("keydown",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.onKey(e)}));_export("default",AtomChips=class AtomChips extends AtomRepeater{get searchType(){return this.searchInput.type}set searchType(v){this.searchInput.type=v}get enterKeyHint(){return this.searchInput.enterKeyHint}set enterKeyHint(v){this.searchInput.enterKeyHint=v}onPropertyChanged(name){var _a;super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break;case"focused":this.updatePopup();break;case"suggestions":(_a=this.suggestionsWatcher)===null||_a===void 0?void 0:_a.dispose();this.suggestionsWatcher=undefined;const suggestions=this.suggestions;if(suggestions){this.suggestionsWatcher=this.registerDisposable(suggestions.watch((()=>{this.updatePopup()})))}this.updatePopup();break}}preCreate(){super.preCreate();this.preventDuplicates=true;this.softDeleteProperty=null;this.prompt="Search";this.element.setAttribute("data-atom-chips","atom-chips");this.element.setAttribute("data-mode","search");this.suggestionFilter=MatchTrue;this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{class:"presenter"}),XNode.create("input",{class:"search",placeholder:Bind.oneWay((()=>this.prompt)),value:Bind.twoWaysImmediate((()=>this.search)),type:"search"}),XNode.create("div",{class:"footer"})));this.itemsPresenter=this.element.children[0];this.searchInput=this.element.children[1];this.footerPresenter=this.element.children[2];this.bindEvent(this.element,"removeChip",(e=>e.defaultPrevented||this.removeItem(e.detail)));this.bindEvent(this.element,"undoRemoveChip",(e=>e.defaultPrevented||this.undoRemoveItem(e.detail)));this.bindEvent(this.searchInput,"blur",(()=>{const search=this.search;setTimeout((()=>{if(this.onBlurItemToChip&&search){const item=this.onBlurItemToChip(search);if(item){this.items.add(item);this.searchInput.value="";this.search=""}}}),50)}))}setFocus(hasFocus){if(hasFocus){if(this.focusTimeout){clearTimeout(this.focusTimeout);this.focusTimeout=void 0}this.focused=true;return}this.focusTimeout=setTimeout((()=>{this.focusTimeout=void 0;this.focused=false}),1500)}updatePopup(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const suggestions=this.suggestions;if(!this.focused){(_a=this.popupCancelToken)===null||_a===void 0?void 0:_a.cancel();this.popupCancelToken=null;return}const detail=this.suggestions;const ce=new CustomEvent("suggestions-requested",{detail});this.element.dispatchEvent(ce);if(ce.defaultPrevented){return}const{promise}=ce;if(promise){yield promise}if(ce.detail!==this.suggestions){this.suggestions=ce.detail}if(!(suggestions===null||suggestions===void 0?void 0:suggestions.length)){(_b=this.popupCancelToken)===null||_b===void 0?void 0:_b.cancel();this.popupCancelToken=null;return}if(this.popupCancelToken){return}const cancelToken=this.popupCancelToken=new CancelToken;try{let selectedItem=yield askSuggestionPopup(this.element,this,(_c=this.suggestionRenderer)!==null&&_c!==void 0?_c:this.itemRenderer,this.suggestionFilter,cancelToken);const itemToChip=this.itemToChip;if(itemToChip){selectedItem=itemToChip(selectedItem,this.search)}this.addItem(selectedItem);this.search="";this.popupCancelToken=null}catch(e){this.popupCancelToken=null;if(CancelToken.isCancelled(e)){return}console.warn(e)}}))}addItem(selectedItem){var _a;const ce=new CustomEvent("suggestionChosen",{detail:selectedItem,cancelable:true,bubbles:true});this.element.dispatchEvent(ce);if(!ce.defaultPrevented){const item=ce.detail;const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:x=>x;const v=vp(item);for(const iterator of this.items){if(v===vp(iterator)){return}}this.items.add(ce.detail)}}undoRemoveItem(item){let{softDeleteProperty}=this;softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=false;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}removeItem(item){let{softDeleteProperty}=this;if(softDeleteProperty){softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=true;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}else{this.items.remove(item)}}onKey(e){var _a,_b;const suggested=this.suggestions;const onKeyPressedItemToChip=this.onKeyPressedItemToChip;if(onKeyPressedItemToChip&&this.search){const item=onKeyPressedItemToChip(e.key,this.search);if(item){this.addItem(item);this.searchInput.value="";return}}switch(e.key){case"Enter":(_a=e.preventDefault)===null||_a===void 0?void 0:_a.call(e);(_b=e.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(e);setTimeout((()=>{let anchorItem=this.anchorItem;const itemToChip=this.itemToChip;if(itemToChip){anchorItem=itemToChip(anchorItem,this.search)}if(!anchorItem){return}this.addItem(anchorItem);this.anchorIndex=0;this.anchorItem=null;this.search=""}),1);break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}});__decorate([BindableProperty,__metadata("design:type",Array)],AtomChips.prototype,"suggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"softDeleteProperty",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomChips.prototype,"focused",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onKeyPressedItemToChip",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onBlurItemToChip",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");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","../EntityService","../../common/Sql","../../model/model","../../common/cache/CacheTTL","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Sql,EmailAddress,CacheTTL,DISingleton,cacheVersion,cacheSeconds,hideActivityIndicator,EmailAddressService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){EmailAddress=_modelModel.EmailAddress},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheVersion="1";cacheSeconds=CacheTTL.seconds.oneDay;hideActivityIndicator=true;EmailAddressService=class EmailAddressService{getName(ea){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.entityService.query(EmailAddress).where({ea},(p=>x=>x.emailAddress===p.ea)).firstOrDefault({cacheSeconds,cacheVersion,hideActivityIndicator});return f===null||f===void 0?void 0:f.name}))}search(search,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!search){return[]}let q=this.entityService.query(EmailAddress);if(!/\%$/.test(search)){search=`${search}%`.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress,p.search)||Sql.text.iLike(x.name,p.search)))}const list=yield q.orderByDescending((x=>x.emailAddressID)).toPagedList({start:0,size:10,count:false,cacheSeconds,cacheVersion,cancelToken,hideActivityIndicator});return list.items}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailAddressService.prototype,"entityService",void 0);EmailAddressService=__decorate([DISingleton()],EmailAddressService);_export("default",EmailAddressService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomChips","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/email-addresses/EmailAddressService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomChips,Chip,EmailRecipient,XNode,Bind,InjectProperty,EmailAddressService,EmailRecipientChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEmailAddressesEmailAddressService){EmailAddressService=_servicesEmailAddressesEmailAddressService.default}],execute:function(){_export("default",EmailRecipientChips=class EmailRecipientChips extends AtomChips{preCreate(){super.preCreate();this.search="";this.suggestions=[];this.itemToChip=(item,text)=>{if(typeof item==="string"){return this.createRecipient(item)}const{name,emailAddress,emailAddressID}=item;return EmailRecipient.create({emailAddressID,name,emailAddressText:emailAddress})};this.itemRenderer=item=>XNode.create(Chip,{title:item.name?item.emailAddressText:void 0,label:item.name||item.emailAddressText});this.suggestionRenderer=item=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},item.name&&item.name!==item.emailAddress&&XNode.create("div",{text:item.name}),XNode.create("div",{text:item.emailAddress}));this.onKeyPressedItemToChip=(key,search)=>{if(key==="Enter"||key==="Comma"){return this.createRecipient(search)}};this.onBlurItemToChip=search=>this.createRecipient(search);this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,ct)=>this.addressService.search(this.search,ct)))}))}createRecipient(search){search=search===null||search===void 0?void 0:search.trim();if(!search){return}if(!/\@/.test(search)){return}const er=EmailRecipient.create({emailAddressText:search});if(!er.name&&er.emailAddressText){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const n=yield this.addressService.getName(er.emailAddressText);if(n){er.name=n;this.refreshItem(er)}}))))}return er}});__decorate([InjectProperty,__metadata("design:type",EmailAddressService)],EmailRecipientChips.prototype,"addressService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode,SocialTemplate,unsubscribe,bodyColor,borderColor,svgImage,EmojiButton,AvatarButton;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){unsubscribe="⛔";bodyColor="#f0f0f0";borderColor="#c0c0c0";svgImage=(emoji,height=16)=>{const pad=height+5;const svg=`<svg viewBox="0 0 ${pad+5} ${pad}" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="${height-2}" style="font-size:${height}px">${emoji}</text>\n </svg>`;return`data:image/svg+xml;charset=utf-8,`+svg};EmojiButton=({emoji,senderEmail})=>XNode.create("a",{"data-element":"emoji-button",style:"padding-left:5px;padding-right:5px; text-decoration: none;",href:`mailto:${senderEmail}?subject=${emoji}-[{messageId}]`},XNode.create("img",{alt:emoji,style:"margin-left:5px; max-height: 16px; height: 16px;","data-src":"/social-mail/social/img/counts/"+emoji+"/[{messageId}]/[{activityId}]",src:svgImage(emoji)}));AvatarButton=({senderEmail,senderName})=>XNode.create("a",{"data-element":"avatar","data-editor-action":"change-avatar",style:"padding-left:5px;padding-right:5px; text-decoration: none;",href:`mailto:${senderEmail}?subject=subscribe-[{messageId}]`},XNode.create("img",{alt:senderName,style:"margin-left:5px;height: 30px","data-src":"[{avatarUrl}]",src:svgImage("🙂",30)}));_export("default",SocialTemplate=class SocialTemplate{static simple({senderEmail,senderName}){senderEmail||(senderEmail="[{senderEmail}]");senderName||(senderName="[{senderName}]");return XNode.create("div",{contentEditable:false,style:`border: solid 1px ${borderColor}; background-color: ${bodyColor}; border-radius: 10px; padding: 5px;margin:10px;`},XNode.create("table",{"data-element":"header"},XNode.create("tr",null,XNode.create("td",{rowSpan:"2","data-element":"avatar"},XNode.create(AvatarButton,{senderEmail,senderName})),XNode.create("td",{"data-element":"title",contentEditable:true},senderName)),XNode.create("tr",null,XNode.create("td",{"data-element":"follow"},"Follow"))),XNode.create("div",{contentEditable:true,style:`border: solid 1px ${borderColor}; background-color: white; border-radius: 10px; padding: 5px; margin-bottom: 5px;`},XNode.create("p",null,"Hello,")),XNode.create("div",{"data-element":"footer"},XNode.create(EmojiButton,{emoji:"❤️",senderEmail}),XNode.create(EmojiButton,{emoji:"👍",senderEmail}),XNode.create(EmojiButton,{emoji:"🗨️",senderEmail})))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/view-model/Action","./service/MailService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/TitleEditor","../../../common/controls/email-recipients/EmailRecipientChips","@web-atoms/email-dom/dist/DomToString","../templates/social/SocialTemplate","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InlineHtmlEditorWithToolbar,XNode,Bind,Form,FormField,HorizontalFormField,AppFile,Email,EmailRecipient,Action,MailService,InjectProperty,DateTime,AtomRepeater,TitleEditor,EmailRecipientChips,DomToString,SocialTemplate,styled,ComposeMailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default;HorizontalFormField=_webAtomsWebControlsDistBasicFormField.HorizontalFormField},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_templatesSocialSocialTemplate){SocialTemplate=_templatesSocialSocialTemplate.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1624
|
+
|
|
1625
|
+
& * {
|
|
1626
|
+
outline: none;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
& [data-element=emoji-button] {
|
|
1630
|
+
& > img {
|
|
1631
|
+
max-height: 20px;
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1634
|
+
`.installGlobal("[data-html-editor=email-editor]");_export("default",ComposeMailPage=class ComposeMailPage extends PopupWindowPage{init(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(this.parameters.subject){this.title="Reply: "+this.parameters.subject}else{this.title="Compose New"}this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:Email.create({subject:(_b=this.parameters.subject)!==null&&_b!==void 0?_b:"",textBody:"",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,recipients:[],attachments:[]});if(this.parameters.social){const senderName=this.parameters.mailbox.emailAddress.name;const senderEmail=this.parameters.mailbox.emailAddress.emailAddress;this.model.htmlBody=DomToString(SocialTemplate.simple({senderEmail,senderName}))}if(this.parameters.emailAddress){this.model.recipients.add(EmailRecipient.create({emailAddressText:this.parameters.emailAddress,emailAddressID:(_c=this.parameters.emailAddressID)!==null&&_c!==void 0?_c:void 0}))}this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(HorizontalFormField,{label:"To:"},XNode.create(EmailRecipientChips,{items:this.model.recipients})),XNode.create(FormField,{label:""},XNode.create(TitleEditor,{placeholder:"Subject",capitalize:"words",value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{"data-html-editor":"email-editor",presenter:Bind.presenter((c=>this.editor=c)),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:item.name}))}),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create("button",{"data-click-event":"send-email",text:"Send"}),XNode.create("button",{"data-click-event":"save-email",text:"Save"}))))}))}filesAvailable({files,extra}){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){(_a=(_b=this.model).attachments)!==null&&_a!==void 0?_a:_b.attachments=[];for(const iterator of files){this.model.attachments.add(AppFile.create({appFileID:iterator.appFileID,name:iterator.file.name,contentType:iterator.file.type,contentDisposition:iterator.inline?"inline":"attachment",contentID:iterator.inline?iterator.appFileID.toString():void 0}))}}))}sendEmail(){return __awaiter(this,void 0,void 0,(function*(){if(!this.model.recipients.length){throw new Error("No recipients specified")}if(!this.model.subject){throw new Error("No subject specified")}const{html,text}=this.editor.htmlTextContent;this.model.htmlBody=html;this.model.textBody=text;if(!this.model.textBody){throw new Error("Email is empty")}this.model.senderID=this.parameters.mailboxID;this.model.status="scheduled";this.model.dateSent=DateTime.utcNow;yield this.mailService.send(this.model)}))}saveEmail(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailService.send(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],ComposeMailPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"filesAvailable",null);__decorate([Action({onEvent:"send-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"sendEmail",null);__decorate([Action({onEvent:"save-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"saveEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/types","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,AtomDisposableList,UMD,DISingleton,SocketNamespace,io,cache,of,MailboxSocket;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cache=new Map;of=name=>__awaiter(void 0,void 0,void 0,(function*(){io!==null&&io!==void 0?io:io=(yield UMD.import("https://cdn.jsdelivr.net/npm/socket.io-client@4.6.0/dist/socket.io.min.js")).io;const value=io(name,{transports:["websocket"]});yield new Promise(((resolve,reject)=>{value.on("connect",resolve)}));return value}));SocketNamespace=class SocketNamespace{static for(ns){let sn=cache.get(ns);if(!sn){sn=new SocketNamespace(ns);cache.set(ns,sn)}return sn}constructor(ns){this.ns=ns;this.rooms=new Map}connect(roomName,events){var _a;return __awaiter(this,void 0,void 0,(function*(){(_a=this.socket)!==null&&_a!==void 0?_a:this.socket=yield this.init();let room=this.rooms.get(roomName);if(!room){room=new Set;this.rooms.set(roomName,room);this.socket.emit("join",roomName)}const disposables=new AtomDisposableList;for(const key in events){if(Object.prototype.hasOwnProperty.call(events,key)){const element=events[key];const handler=(...a)=>{var _a;return(_a=element(...a))===null||_a===void 0?void 0:_a.catch(console.error)};room.add(handler);this.socket.on(key,handler);disposables.add((()=>{this.socket.off(key,handler);room.delete(handler)}))}}disposables.add((()=>this.clear(roomName)));return disposables}))}clear(roomName){const room=this.rooms.get(roomName);if(room.size===0){this.rooms.delete(roomName);this.socket.emit("leave",roomName)}}init(){const init=()=>__awaiter(this,void 0,void 0,(function*(){const ns=yield of("/"+this.ns);return ns}));const value=init();Object.defineProperty(this,"init",{value:()=>value});return value}};_export("MailboxSocket",MailboxSocket=class MailboxSocket{join(room,events){return __awaiter(this,void 0,void 0,(function*(){const disposables=new AtomDisposableList;const ns=SocketNamespace.for("mailbox");ns.connect(room,events).then((v=>disposables.add(v)),console.error);return disposables}))}});_export("MailboxSocket",MailboxSocket=__decorate([DISingleton()],MailboxSocket))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/socket/sockets");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,XNode,styled,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1624
1635
|
position: relative;
|
|
1625
1636
|
overflow: hidden;
|
|
1626
1637
|
contain: content;
|
|
@@ -1679,7 +1690,7 @@ body {
|
|
|
1679
1690
|
}
|
|
1680
1691
|
`.installLocal();css=styled.css`
|
|
1681
1692
|
background-color: var(--window-background);
|
|
1682
|
-
`.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++}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",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;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;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:(_c=item.senderUser)===null||_c===void 0?void 0:_c.displayName,text:(_d=item.senderUser)===null||_d===void 0?void 0:_d.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)))),((_e=item.attachments)===null||_e===void 0?void 0:_e.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map((a=>XNode.create("div",null,XNode.create("i",{class:"fas fa-paperclip"}),XNode.create("a",{text:a.name,target:"_blank",href:a.url}))))),!sent&&XNode.create("div",{"data-layout":"row"},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"})))}})))}))}mailOptions(thread,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"},XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:`/api/files/download/${thread.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"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}replyEmail({email},ce){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=((_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress).toLocaleLowerCase();const name=email.senderName;const parentID=(_c=email.parentID)!==null&&_c!==void 0?_c:email.emailID;const recipients=[EmailRecipient.create({name,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddress.emailAddress===emailAddress))){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:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,model:child})}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"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:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,HomePage;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",HomePage=class HomePage extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/home/HomePage");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,styled,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;styled.css`
|
|
1693
|
+
`.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++}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",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;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;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:(_c=item.senderUser)===null||_c===void 0?void 0:_c.displayName,text:(_d=item.senderUser)===null||_d===void 0?void 0:_d.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)))),((_e=item.attachments)===null||_e===void 0?void 0:_e.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map((a=>XNode.create("div",null,XNode.create("i",{class:"fas fa-paperclip"}),XNode.create("a",{text:a.name,target:"_blank",href:a.url}))))),!sent&&XNode.create("div",{"data-layout":"row"},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"})))}})))}))}mailOptions(thread,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"},XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:`/api/files/download/${thread.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"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}replyEmail({email},ce){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=((_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress).toLocaleLowerCase();const name=email.senderName;const parentID=(_c=email.parentID)!==null&&_c!==void 0?_c:email.emailID;const recipients=[EmailRecipient.create({name,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddress.emailAddress===emailAddress))){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:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__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:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,HomePage;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",HomePage=class HomePage extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/home/HomePage");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,styled,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;styled.css`
|
|
1683
1694
|
|
|
1684
1695
|
&[data-drop-enabled] {
|
|
1685
1696
|
outline: solid 5px green;
|
|
@@ -2130,11 +2141,11 @@ body {
|
|
|
2130
2141
|
}
|
|
2131
2142
|
}
|
|
2132
2143
|
}
|
|
2133
|
-
`.installLocal();displayName=item=>{const{emailAddress:{emailAddress,name}}=item;if(name&&name!==emailAddress){return name}return emailAddress.split("@")[0]};_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.element.className=css;this.actionRenderer=()=>XNode.create("div",null,XNode.create(PopupActionButton,{icon:"fa-solid fa-plus",popup:()=>XNode.create("div",{"data-click-event":"none","data-click-animate":"no"},XNode.create(MenuItem,{label:"Compose","data-click-event":"compose-email"}),XNode.create(MenuItem,{label:"From Template","data-click-event":"compose-template"}))}));document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,mailboxID:this.currentMailbox.mailboxID,version:this.version,cancelToken}))),{itemRenderer:item=>{var _a,_b;const name=displayName(item)+" "+item.emailAddress.emailAddress;const subject=(_a=item.lastEmail)===null||_a===void 0?void 0:_a.subject;const summary=(_b=item.lastEmail)===null||_b===void 0?void 0:_b.summary;return XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},XNode.create("div",{class:"name",title:name,text:name}),XNode.create("div",{class:"subject",title:subject,text:subject}),XNode.create("div",{class:"summary",title:summary,text:summary}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}))}})));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");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","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});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")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username:this.model.emailAddress.emailAddress},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/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","@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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,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(_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}],execute:function(){css=styled.css`
|
|
2144
|
+
`.installLocal();displayName=item=>{const{emailAddress:{emailAddress,name}}=item;if(name&&name!==emailAddress){return name}return emailAddress.split("@")[0]};_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.element.className=css;this.actionRenderer=()=>XNode.create("div",null,XNode.create(PopupActionButton,{icon:"fa-solid fa-plus",popup:()=>XNode.create("div",{"data-click-event":"none","data-click-animate":"no"},XNode.create(MenuItem,{label:"Compose Social","data-click-event":"compose-social"}),XNode.create(MenuItem,{label:"Compose Basic","data-click-event":"compose-email"}),XNode.create(MenuItem,{label:"From Template","data-click-event":"compose-template"}))}));document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Sender Search"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,mailboxID:this.currentMailbox.mailboxID,version:this.version,cancelToken}))),{itemRenderer:item=>{var _a,_b;const name=displayName(item)+" "+item.emailAddress.emailAddress;const subject=(_a=item.lastEmail)===null||_a===void 0?void 0:_a.subject;const summary=(_b=item.lastEmail)===null||_b===void 0?void 0:_b.summary;return XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},XNode.create("div",{class:"name",title:name,text:name}),XNode.create("div",{class:"subject",title:subject,text:subject}),XNode.create("div",{class:"summary",title:summary,text:summary}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}))}})));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox});this.version++}))}composeSocial(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox,social:true});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"compose-social"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeSocial",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,ChannelDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default}],execute:function(){_export("default",ChannelDetailPage=class ChannelDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.mailbox=yield this.mailboxService.get(this.parameters.id);this.title=`${this.mailbox.emailAddress.name||this.mailbox.name} (${this.mailbox.emailAddress.emailAddress})`}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChannelDetailPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Mailbox,MailboxSubscriber,Sql,ChannelService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Mailbox=_modelModel.Mailbox;MailboxSubscriber=_modelModel.MailboxSubscriber},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){ChannelService=class ChannelService{getMailbox(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).include((x=>x.emailAddress)).where({id,isChannel:true},(p=>x=>x.isChannel===p.isChannel&&x.mailboxID===p.id)).firstOrDefault()}))}subscribers({id,cancelToken,size,start,search,v}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxSubscriber).where({id},(p=>x=>x.mailboxID===p.id));if(search){if(!/\%/i.test(search)){search+="%"}q=q.where({search},(p=>x=>Sql.text.iLike(x.subscriber.name,p.search)||Sql.text.iLike(x.subscriber.emailAddress,p.search)))}return q.include((x=>x.subscriber)).toPagedList({start,size,cancelToken})}))}save(model){return this.entityService.save(model)}saveAll(subscribers){return __awaiter(this,void 0,void 0,(function*(){const cloners=[];for(const iterator of subscribers){cloners.push(this.entityService.cloner(iterator).copy)}yield this.entityService.save(cloners)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ChannelService.prototype,"entityService",void 0);ChannelService=__decorate([DITransient({})],ChannelService);_export("default",ChannelService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../../model/model","../../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../services/ChannelService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Form,FormField,PopupWindowPage,MailboxSubscriber,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){MailboxSubscriber=_modelModel.MailboxSubscriber},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=MailboxSubscriber.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).emailAddress)!==null&&_a!==void 0?_a:_b.emailAddress="";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.emailAddress))})),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({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.subscriber.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(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++}))}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:"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","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.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")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username:this.model.emailAddress.emailAddress},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/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","@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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,Icon,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(_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}],execute:function(){css=styled.css`
|
|
2134
2145
|
&[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
|
|
2135
2146
|
grid-template-columns: 150px 1fr auto;
|
|
2136
2147
|
}
|
|
2137
|
-
`.installLocal();_export("default",MailboxListPage=class MailboxListPage extends MasterDetailPage{constructor(){super(...arguments);this.search="";this.mailboxes=[];this.version=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.domains=yield this.mailboxService.domains();this.domainID=this.domains[0].domainID;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ComboBox,{valuePath:d=>d.domainID,labelPath:d=>d.name,items:this.domains,value:Bind.twoWaysImmediate((()=>this.domainID))}),XNode.create("i",{class:"fas fa-plus","data-click-event":"add-mailbox"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({start,cancelToken,search:this.search,version:this.version,domainID:this.domainID}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{href:CommonCommands.openMailbox.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},item.emailAddress.emailAddress)),XNode.create("td",null,toFileSize(item.storage)),XNode.create("td",null,toFileSize(item.maxStorage)),XNode.create("td",null,XNode.create("i",{class:"fas fa-gears","data-cursor":"pointer",title:"Settings","data-click-event":"open-settings"})))})))}))}addMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(MailboxEditorPage);this.version++}))}openSettings(mailbox){return __awaiter(this,void 0,void 0,(function*(){this.openDetail(MailboxDetailPage,mailbox)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxListPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addMailbox",null);__decorate([Action({onEvent:"open-settings"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"openSettings",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage");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","../../../../common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,DomainRelay,DomainRelayTypeArray,XNode,Form,TextFormField,FormField,ComboBox,Bind,EditRelayPage;function prepare({host,username,password},{from,recipients,content}){return __awaiter(this,void 0,void 0,(function*(){const body=new FormData;body.append("from",from);body.append("recipients",recipients.join(","));body.append("content",content);const r=yield fetch(`${host}/api/queue/raw`,{headers:{"x-id":username,"x-auth":password},body});if(r.status>=300){throw new Error(yield r.text())}const{id}=yield r.json();return{id,status:()=>__awaiter(this,void 0,void 0,(function*(){var _a;const{error}=(_a=yield fetch(`${host}/api/queue/status/${id}`).then((x=>x.json())))!==null&&_a!==void 0?_a:{};return{error}}))}}))}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainRelay=_modelModel.DomainRelay;DomainRelayTypeArray=_modelModel.DomainRelayTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonControlsFormRequiredFormField){TextFormField=_commonControlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",EditRelayPage=class EditRelayPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:DomainRelay.create({type:"smtp"});(_b=this.model).script||(_b.script=prepare.toString());this.renderer=XNode.create("div",{"data-width":"screen-medium"},XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(ComboBox,{items:DomainRelayTypeArray,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(TextFormField,{label:"Host/Server",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(TextFormField,{label:"Password",value:()=>this.model.password}),XNode.create(FormField,{label:"Script",required:Bind.oneWay((()=>this.model.type==="https")),"style-display":Bind.oneWay((()=>this.model.type==="https"))},XNode.create("textarea",{rows:20,value:Bind.twoWaysImmediate((()=>this.model.script))}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands"],(function(_export,_context){"use strict";var Command,CommonCommands,AdminCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default}],execute:function(){_export("default",AdminCommands=class AdminCommands extends CommonCommands{});AdminCommands.openHome=Command.create({route:"/admin",routeOrder:1e3,openPage:()=>_context.import("../pages/home/AdminHome")});AdminCommands.openDomainList=Command.create({route:"/admin/domains",routeOrder:100,openPage:()=>_context.import("../pages/domains/DomainListPage")});AdminCommands.openDomain=Command.create({route:"/admin/domains/{domainID}",openPage:()=>_context.import("../pages/domains/edit/EditDomainPage")});AdminCommands.openUserList=Command.create({route:"/admin/users",routeOrder:100,openPage:()=>_context.import("../pages/users/UserListPage")});AdminCommands.openMailboxList=Command.create({route:"/admin/mailboxes",routeOrder:100,openPage:()=>_context.import("../../common/pages/mailboxes/MailboxListPage")});AdminCommands.editRelay=Command.create({openPage:()=>_context.import("../pages/relays/edit/EditRelayPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/commands/AdminCommands");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`
|
|
2148
|
+
`.installLocal();_export("default",MailboxListPage=class MailboxListPage extends MasterDetailPage{constructor(){super(...arguments);this.search="";this.mailboxes=[];this.version=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.domains=yield this.mailboxService.domains();this.domainID=this.domains[0].domainID;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ComboBox,{valuePath:d=>d.domainID,labelPath:d=>d.name,items:this.domains,value:Bind.twoWaysImmediate((()=>this.domainID))}),XNode.create("i",{class:"fas fa-plus","data-click-event":"add-mailbox"}));this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({start,cancelToken,search:this.search,version:this.version,domainID:this.domainID}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create(Icon.Mailbox,{mailbox:item})),XNode.create("td",null,XNode.create("a",{href:item.isChannel?CommonCommands.openChannel.displayRoute({id:item.mailboxID}):CommonCommands.openMailbox.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},item.emailAddress.emailAddress)),XNode.create("td",null,toFileSize(item.storage)),XNode.create("td",null,toFileSize(item.maxStorage)),XNode.create("td",null,item.isChannel?XNode.create("a",{href:CommonCommands.openSubscribers.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},"Subscribers"):XNode.create("span",null)),XNode.create("td",null,XNode.create("i",{class:"fas fa-gears","data-cursor":"pointer",title:"Settings","data-click-event":"open-settings"})))})))}))}addMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(MailboxEditorPage,{domainID:this.domainID});this.version++}))}openSettings(mailbox){return __awaiter(this,void 0,void 0,(function*(){this.openDetail(MailboxDetailPage,mailbox)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxListPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addMailbox",null);__decorate([Action({onEvent:"open-settings"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"openSettings",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage");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","../../../../common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,DomainRelay,DomainRelayTypeArray,XNode,Form,TextFormField,FormField,ComboBox,Bind,EditRelayPage;function prepare({host,username,password},{from,recipients,content}){return __awaiter(this,void 0,void 0,(function*(){const body=new FormData;body.append("from",from);body.append("recipients",recipients.join(","));body.append("content",content);const r=yield fetch(`${host}/api/queue/raw`,{headers:{"x-id":username,"x-auth":password},body});if(r.status>=300){throw new Error(yield r.text())}const{id}=yield r.json();return{id,status:()=>__awaiter(this,void 0,void 0,(function*(){var _a;const{error}=(_a=yield fetch(`${host}/api/queue/status/${id}`).then((x=>x.json())))!==null&&_a!==void 0?_a:{};return{error}}))}}))}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainRelay=_modelModel.DomainRelay;DomainRelayTypeArray=_modelModel.DomainRelayTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonControlsFormRequiredFormField){TextFormField=_commonControlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",EditRelayPage=class EditRelayPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:DomainRelay.create({type:"smtp"});(_b=this.model).script||(_b.script=prepare.toString());this.renderer=XNode.create("div",{"data-width":"screen-medium"},XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(ComboBox,{items:DomainRelayTypeArray,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(TextFormField,{label:"Host/Server",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(TextFormField,{label:"Password",value:()=>this.model.password}),XNode.create(FormField,{label:"Script",required:Bind.oneWay((()=>this.model.type==="https")),"style-display":Bind.oneWay((()=>this.model.type==="https"))},XNode.create("textarea",{rows:20,value:Bind.twoWaysImmediate((()=>this.model.script))}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands"],(function(_export,_context){"use strict";var Command,CommonCommands,AdminCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default}],execute:function(){_export("default",AdminCommands=class AdminCommands extends CommonCommands{});AdminCommands.openHome=Command.create({route:"/admin",routeOrder:1e3,openPage:()=>_context.import("../pages/home/AdminHome")});AdminCommands.openDomainList=Command.create({route:"/admin/domains",routeOrder:100,openPage:()=>_context.import("../pages/domains/DomainListPage")});AdminCommands.openDomain=Command.create({route:"/admin/domains/{domainID}",openPage:()=>_context.import("../pages/domains/edit/EditDomainPage")});AdminCommands.openUserList=Command.create({route:"/admin/users",routeOrder:100,openPage:()=>_context.import("../pages/users/UserListPage")});AdminCommands.openMailboxList=Command.create({route:"/admin/mailboxes",routeOrder:100,openPage:()=>_context.import("../../common/pages/mailboxes/MailboxListPage")});AdminCommands.editRelay=Command.create({openPage:()=>_context.import("../pages/relays/edit/EditRelayPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/commands/AdminCommands");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`
|
|
2138
2149
|
|
|
2139
2150
|
display: inline-grid;
|
|
2140
2151
|
grid-auto-flow: column;
|