@rs-pk/asset-management 1.0.21 → 1.0.22

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.
Files changed (27) hide show
  1. package/bundles/rs-pk-asset-management.umd.js +229 -37
  2. package/bundles/rs-pk-asset-management.umd.js.map +1 -1
  3. package/bundles/rs-pk-asset-management.umd.min.js +2 -2
  4. package/bundles/rs-pk-asset-management.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +162 -33
  6. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +35 -1
  7. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +1 -1
  8. package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +1 -1
  9. package/esm2015/lib/contanst/data-image.js +6 -6
  10. package/esm2015/lib/models/asset.model.js +13 -1
  11. package/esm2015/lib/models/index.js +2 -2
  12. package/esm5/lib/components/partial/asset-item/asset-item.component.js +181 -37
  13. package/esm5/lib/components/partial/asset-list/asset-list.component.js +41 -1
  14. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +1 -1
  15. package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +1 -1
  16. package/esm5/lib/contanst/data-image.js +6 -6
  17. package/esm5/lib/models/asset.model.js +13 -1
  18. package/esm5/lib/models/index.js +2 -2
  19. package/fesm2015/rs-pk-asset-management.js +204 -33
  20. package/fesm2015/rs-pk-asset-management.js.map +1 -1
  21. package/fesm5/rs-pk-asset-management.js +229 -37
  22. package/fesm5/rs-pk-asset-management.js.map +1 -1
  23. package/lib/components/partial/asset-item/asset-item.component.d.ts +12 -5
  24. package/lib/components/partial/asset-list/asset-list.component.d.ts +3 -1
  25. package/lib/models/asset.model.d.ts +7 -1
  26. package/package.json +1 -1
  27. package/rs-pk-asset-management.metadata.json +1 -1
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/dialog"),require("@angular/material/button"),require("@angular/material/input"),require("@angular/material/icon"),require("@angular/material/tooltip"),require("@angular/material/tree"),require("@angular/material/paginator"),require("@angular/material/table"),require("@angular/material/progress-bar"),require("@angular/material/menu"),require("@angular/material/checkbox"),require("@angular/material/select"),require("@angular/material/progress-spinner"),require("@angular/common/http"),require("rxjs"),require("rxjs/internal/BehaviorSubject"),require("rxjs/operators"),require("rxjs/internal/Subject"),require("@angular/platform-browser"),require("@angular/material"),require("rxjs/internal/observable/of"),require("@angular/cdk/tree"),require("rxjs/internal/observable/combineLatest"),require("moment")):"function"==typeof define&&define.amd?define("@rs-pk/asset-management",["exports","@angular/core","@angular/common","@angular/forms","@angular/material/dialog","@angular/material/button","@angular/material/input","@angular/material/icon","@angular/material/tooltip","@angular/material/tree","@angular/material/paginator","@angular/material/table","@angular/material/progress-bar","@angular/material/menu","@angular/material/checkbox","@angular/material/select","@angular/material/progress-spinner","@angular/common/http","rxjs","rxjs/internal/BehaviorSubject","rxjs/operators","rxjs/internal/Subject","@angular/platform-browser","@angular/material","rxjs/internal/observable/of","@angular/cdk/tree","rxjs/internal/observable/combineLatest","moment"],t):t(((e=e||self)["rs-pk"]=e["rs-pk"]||{},e["rs-pk"]["asset-management"]={}),e.ng.core,e.ng.common,e.ng.forms,e.ng.material.dialog,e.ng.material.button,e.ng.material.input,e.ng.material.icon,e.ng.material.tooltip,e.ng.material.tree,e.ng.material.paginator,e.ng.material.table,e.ng.material["progress-bar"],e.ng.material.menu,e.ng.material.checkbox,e.ng.material.select,e.ng.material["progress-spinner"],e.ng.common.http,e.rxjs,e.rxjs["internal/BehaviorSubject"],e.rxjs.operators,e.rxjs["internal/Subject"],e.ng.platformBrowser,e.ng.material,e.rxjs["internal/observable/of"],e.ng.cdk.tree,e.rxjs["internal/observable/combineLatest"],e.moment_)}(this,(function(e,t,n,i,A,s,o,a,r,l,d,c,p,g,u,h,f,m,b,v,y,B,I,E,C,w,Q,D){"use strict";
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/dialog"),require("@angular/material/button"),require("@angular/material/input"),require("@angular/material/icon"),require("@angular/material/tooltip"),require("@angular/material/tree"),require("@angular/material/paginator"),require("@angular/material/table"),require("@angular/material/progress-bar"),require("@angular/material/menu"),require("@angular/material/checkbox"),require("@angular/material/select"),require("@angular/material/progress-spinner"),require("@angular/common/http"),require("rxjs"),require("rxjs/internal/BehaviorSubject"),require("rxjs/operators"),require("rxjs/internal/Subject"),require("@angular/platform-browser"),require("@angular/material"),require("rxjs/internal/observable/of"),require("@angular/cdk/tree"),require("rxjs/internal/observable/combineLatest"),require("moment")):"function"==typeof define&&define.amd?define("@rs-pk/asset-management",["exports","@angular/core","@angular/common","@angular/forms","@angular/material/dialog","@angular/material/button","@angular/material/input","@angular/material/icon","@angular/material/tooltip","@angular/material/tree","@angular/material/paginator","@angular/material/table","@angular/material/progress-bar","@angular/material/menu","@angular/material/checkbox","@angular/material/select","@angular/material/progress-spinner","@angular/common/http","rxjs","rxjs/internal/BehaviorSubject","rxjs/operators","rxjs/internal/Subject","@angular/platform-browser","@angular/material","rxjs/internal/observable/of","@angular/cdk/tree","rxjs/internal/observable/combineLatest","moment"],t):t(((e=e||self)["rs-pk"]=e["rs-pk"]||{},e["rs-pk"]["asset-management"]={}),e.ng.core,e.ng.common,e.ng.forms,e.ng.material.dialog,e.ng.material.button,e.ng.material.input,e.ng.material.icon,e.ng.material.tooltip,e.ng.material.tree,e.ng.material.paginator,e.ng.material.table,e.ng.material["progress-bar"],e.ng.material.menu,e.ng.material.checkbox,e.ng.material.select,e.ng.material["progress-spinner"],e.ng.common.http,e.rxjs,e.rxjs["internal/BehaviorSubject"],e.rxjs.operators,e.rxjs["internal/Subject"],e.ng.platformBrowser,e.ng.material,e.rxjs["internal/observable/of"],e.ng.cdk.tree,e.rxjs["internal/observable/combineLatest"],e.moment_)}(this,(function(e,t,n,i,s,A,o,a,r,l,d,c,p,g,u,h,f,m,b,v,y,B,I,C,w,E,Q,D){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var x=function(e,t){return(x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function S(e,t){function n(){this.constructor=e}x(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var M=function(){return(M=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var A in t=arguments[n])Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=t[A]);return e}).apply(this,arguments)};function F(e,t,n,i){return new(n||(n=Promise))((function(A,s){function o(e){try{r(i.next(e))}catch(e){s(e)}}function a(e){try{r(i.throw(e))}catch(e){s(e)}}function r(e){var t;e.done?A(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}r((i=i.apply(e,t||[])).next())}))}function O(e,t){var n,i,A,s,o={label:0,sent:function(){if(1&A[0])throw A[1];return A[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,i&&(A=2&s[0]?i.return:s[0]?i.throw||((A=i.return)&&A.call(i),0):i.next)&&!(A=A.call(i,s[1])).done)return A;switch(i=0,A&&(s=[2&s[0],A.value]),s[0]){case 0:case 1:A=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(A=(A=o.trys).length>0&&A[A.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!A||s[1]>A[0]&&s[1]<A[3])){o.label=s[1];break}if(6===s[0]&&o.label<A[1]){o.label=A[1],A=s;break}if(A&&o.label<A[2]){o.label=A[2],o.ops.push(s);break}A[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],i=0}finally{n=A=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function z(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,A,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){A={error:e}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(A)throw A.error}}return o}function T(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(z(arguments[t]));return e}var N=function(){};!function(e){function t(){return null!==e&&e.apply(this,arguments)||this}S(t,e)}(N);var H=function(){};var k=function(e,t,n,i){void 0===t&&(t=1),void 0===n&&(n=!1),void 0===i&&(i=!1),this.item=e,this.level=t,this.expandable=n,this.isLoading=i};var P={IMAGE:"Image",DOCUMENT:"Document"},L={NAME:1,CREATED_DATE:2,MODIFIED_DATE:3};L[L.NAME]="NAME",L[L.CREATED_DATE]="CREATED_DATE",L[L.MODIFIED_DATE]="MODIFIED_DATE";var j={DESC:1,ASC:2};j[j.DESC]="DESC",j[j.ASC]="ASC";var R=new t.InjectionToken("asset.man.config.angular"),U=function(e){function n(t,n){var i=e.call(this,n)||this;return i._env=t,i}return S(n,e),n.prototype.request=function(t,n,i){void 0===i&&(i={});var A=this._env.requestHeader;return i||(i={}),A&&(i.headers=A),e.prototype.request.call(this,t,n,i)},n.decorators=[{type:t.Injectable}],n.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[R]}]},{type:m.HttpHandler}]},n}(m.HttpClient);var G=function(){function e(e,t,n){this._env=e,this.dialog=t,this._api=n,this.folderList$=new b.BehaviorSubject(null),this.assetList$=new b.BehaviorSubject(null),this.openDialog$=new b.BehaviorSubject(null),this.dialogConfig=new H,this.baseUrl=this._env.asset2Url,this.initOptionFiles()}return e.prototype.initOptionFiles=function(){this.keyword="",this.pageSize=12,this.pageIndex=0,this.folderTotal=0,this.fileTotal=0,this.sortBy=L.MODIFIED_DATE,this.sortOrder=j.DESC},e.prototype.resetData=function(){this.setAssetList(null),this.setFolderList(null)},e.prototype.resetAsset=function(){this.initOptionFiles(),this.resetData()},e.prototype.getFolderList=function(){return this.folderList$.asObservable()},e.prototype.setFolderList=function(e,t){this.folderTotal=t||0,this.folderList$.next(e)},e.prototype.getAssetList=function(){return this.assetList$.asObservable()},e.prototype.setAssetList=function(e,t){this.setPagination(t),this.assetList$.next(e)},e.prototype.setDialogOpenStatus=function(e){this.openDialog$.next(e)},e.prototype.getDialogOpenStatus=function(){return this.openDialog$.asObservable()},e.prototype.setPagination=function(e){e&&(this.fileTotal=e.Total,this.pageIndex=e.PageIndex,this.pageSize=e.PageSize)},e.prototype.getAssetById=function(e){var t=this.baseUrl+"/File/GetById/"+e;return this._api.get(t)},e.prototype.getChildrenFolders=function(e){var t=e.assetId,n=e.isFilter,i=void 0===n||n,A=this.baseUrl+"/File/GetChildren",s=(new m.HttpParams).set("getAll","true").set("isFolder","true");return t&&(s=s.set("assetId",t)),i&&this.keyword.length&&(s=s.set("keyword",this.keyword||"")),this.dialogConfig.allowedType&&(s=s.set("fileType",this.dialogConfig.allowedType)),this._api.get(A,{params:s})},e.prototype.getChildrenAssets=function(e){var t=e.assetId,n=e.pageIndex,i=this.baseUrl+"/File/GetChildren",A=(new m.HttpParams).set("pageSize",this.pageSize.toString()).set("pageIndex",n||this.pageIndex.toString()).set("getAll","false").set("isFolder","false").set("TypeSort",this.sortOrder.toString()).set("SortFilesBy",this.sortBy.toString());return t&&(A=A.set("assetId",t)),this.keyword.length&&(A=A.set("keyword",this.keyword||"")),this.dialogConfig.allowedType&&(A=A.set("fileType",this.dialogConfig.allowedType)),this._api.get(i,{params:A})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[R]}]},{type:A.MatDialog},{type:U}]},e}();var X=new b.Subject,Y=function(){function e(){}return e.prototype.getDispatcher=function(){return this._dispatcher||(this._dispatcher=X),this._dispatcher},e.prototype.dispatch=function(e){this.getDispatcher().next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var W="[LOADING] Set global loading state",V="[ASSET] Set selected assets",q="[ASSET] reload current asset list ",K="[ASSET] delete an asset ",Z="[FOLDER] get current folder id",J="[FOLDER] set current folder ",_="[FOLDER] reload current folder ",$="[FOLDER] set current folder hierarchy ",ee="[NODE] reload current node ";var te={globalLoading:!1,selectedAssets:[],deletedAssetId:null,currentFolder:null,currentFolderId:null,currentFolderHierarchy:[],reloadCurrentFolder:!1,reloadCurrentAssets:!1,reloadCurrentNode:!1},ne=new b.BehaviorSubject(te),ie=function(e){return ne.asObservable().pipe(y.map((function(t){return e(t)})),y.distinctUntilChanged())},Ae=function(){function e(e,t){this.assetService=e,this.svc=t,this.storedData$=new v.BehaviorSubject([]),this.loading$=new v.BehaviorSubject(!1),this.initialData$=new v.BehaviorSubject([])}return Object.defineProperty(e.prototype,"data",{get:function(){return this.storedData$.getValue()},set:function(e){this.storedData$.next(e)},enumerable:!0,configurable:!0}),e.prototype.fetchChildrenFolder=function(e){return F(this,void 0,void 0,(function(){var t;return O(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.assetService.getChildrenFolders({assetId:e,isFilter:!1}).toPromise()];case 1:return(t=n.sent())?[2,t.Data]:[3,3];case 2:return n.sent(),[3,3];case 3:return[2]}}))}))},e.prototype.initialData=function(e){var t=e.dispatchRootId;return F(this,void 0,void 0,(function(){var e,n,i=this;return O(this,(function(A){switch(A.label){case 0:return t&&this.loading$.next(!0),[4,this.assetService.getChildrenFolders({isFilter:!1}).toPromise()];case 1:return(e=A.sent())?(t&&(this.svc.dispatch({type:Z,payload:e.Data.AssetId}),this.svc.dispatch({type:$,payload:[]})),this.rootFolder=e.Data,n=e.Data.Children.map((function(e){return new k(e,0,i.isExpandable(e))})),this.initialData$.next(n),t&&this.loading$.next(!1),[2,this.initialData$.getValue()]):[2]}}))}))},e.prototype.getChildren=function(e){return F(this,void 0,void 0,(function(){return O(this,(function(t){switch(t.label){case 0:return[4,this.fetchChildrenFolder(e.AssetId)];case 1:return[2,t.sent()]}}))}))},e.prototype.isExpandable=function(e){return e.HaveChildren},e.prototype.addNode=function(e,t){var n=T(this.data);n.findIndex((function(t){return t.AssetId===e.AssetId}))<0&&(n=T(n,[M({},e,{ParentId:t||null})])),this.data=n},e.prototype.updateBreadcrumb=function(e){return F(this,void 0,void 0,(function(){var t,n;return O(this,(function(i){return(t=this.data.find((function(t){return t.AssetId===e})))&&(n=this.getFolderHierarchy(t),this.svc.dispatch({type:$,payload:n})),[2]}))}))},e.prototype.getAssetParent=function(e){return this.data.find((function(t){return t.AssetId===e.ParentId}))},e.prototype.getFolderHierarchy=function(e){if(!e)return[];for(var t=[],n=this.getAssetParent(e);n;)t=T([n],t),n=this.getAssetParent(n);return T(t,[e])},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:G},{type:Y}]},e}();var se=function(){function e(e,t,n){this._env=e,this.dialog=t,this._api=n,this.files=[],this.fileNames=[],this.supportedSize=10485760,this.documentExtension=[".pdf",".csv"],this.compressedExtension=[".zip"],this.imageExtension=[".png",".gif",".jpeg",".jpg",".svg",".svg+xml"],this.supportedTypes=T(this.imageExtension,this.compressedExtension,this.documentExtension),this.messageErrors={size:"File size should be upto",ext:"Only supported file extension:",replace:"The replacement file should be the same extension with old one:",maxLength:"The character limit is 200 characters"},this.errorObs$=new b.BehaviorSubject(!0),this.baseUrl=this._env.asset2Url}return e.prototype.getErrorObs=function(){return this.errorObs$.asObservable()},e.prototype.setErrorObs=function(e){this.errorObs$.next(e)},Object.defineProperty(e.prototype,"getFiles",{get:function(){return this.files},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"setFiles",{set:function(e){this.files=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errorFiles",{get:function(){var e=this.fileNames.filter((function(e){return!e.valid}));return this.fileNames.length&&e.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errorLength",{get:function(){return this.fileNames.filter((function(e){return!e.valid})).length},enumerable:!0,configurable:!0}),e.prototype.deleteFile=function(e){this.files.splice(e,1),this.fileNames.splice(e,1)},e.prototype.uploadMultipleAssets=function(e){var t=this.files,n=this.fileNames.map((function(e){return e.name})),i=new FormData;i.append("parentAssetId",e),i.append("companyId","732DA8D2-04EC-4BE0-A168-63EE0DCF50D8");for(var A=0;A<t.length;A++){var s=t[A].name.split("."),o="."+s.splice(s.length-1,1)[0];i.append("files",t[A],""+n[A]+o)}return this._api.post(this.baseUrl+"/File/Upload",i)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[R]}]},{type:A.MatDialog},{type:U}]},e}();var oe=function(){function e(e,t){this._env=e,this._api=t,this.baseUrl=this._env.asset2Url}return e.prototype.addFolder=function(e){var t=e.parentAssetId,n=e.folderName,i=(new m.HttpParams).set("parentAssetId",t).set("folderName",n);return this._api.post(this.baseUrl+"/File/Addfolder",null,{params:i})},e.prototype.updateFile=function(e){var t=e.assetId,n=e.fileName,i=e.description,A=(new m.HttpParams).set("assetId",t).set("fileName",n);return i&&(A=A.set("Description",i)),this._api.post(this.baseUrl+"/File/Update",null,{params:A})},e.prototype.replaceAsset=function(e,t){var n=new FormData;return n.append("AssetId",e),n.append("files",t),n.append("KeepOldName","true"),this._api.post(this.baseUrl+"/File/Replace",n)},e.prototype.deleteFile=function(e){var t=(new m.HttpHeaders).set("Content-Type","application/json");return this._api.request("delete",this.baseUrl+"/File/Delete",{headers:t,body:e})},e.prototype.getFileDetail=function(e){var t=(new m.HttpParams).set("IncludeDetailedWidth","true");return this._api.get(this.baseUrl+"/File/GetById/"+e,{params:t})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[R]}]},{type:U}]},e}();var ae=function(){function e(e,t,n){this.data=e,this.dialogRef=t,this.assetService=n,this.destroy$=new B.Subject,this.selectedAssets=[]}return e.prototype.ngOnInit=function(){var e=this;this.initDialogConfig(this.data),ie((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.selectedAssets=t}))},Object.defineProperty(e.prototype,"disabled",{get:function(){var e=this.data.limit;return!this.selectedAssets||!this.selectedAssets.length||e&&this.selectedAssets.length>e},enumerable:!0,configurable:!0}),e.prototype.selectAssets=function(){this.dialogRef.close(this.selectedAssets)},e.prototype.initDialogConfig=function(e){e&&(this.assetService.dialogConfig=e,this.assetService.maxSize=e.maxSize)},e.prototype.ngOnDestroy=function(){this.assetService.dialogConfig=new H,this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-management-dialog",template:'<lib-modal heading="Asset management" [customHeader]="true">\n <ng-container subtitle>\n <lib-breadcrumb></lib-breadcrumb>\n </ng-container>\n <ng-container headerActions>\n <lib-search-box></lib-search-box>\n </ng-container>\n <ng-container content>\n <lib-asset-wrapper [header]="false"></lib-asset-wrapper>\n </ng-container>\n <ng-container actions>\n <div class="asset-management-dialog__footer">\n <div class="selected-assets">\n <ng-container *ngIf="data?.limit">\n <span>Selected{{\' \'}}</span>\n <span class="count" [ngClass]="{\'error\': selectedAssets?.length && disabled}">\n {{selectedAssets?.length}}/{{data?.limit}}\n </span>\n <span>\n {{data?.limit > 1 ? "assets": "asset"}}\n </span>\n </ng-container>\n\n </div>\n <div>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color="primary" (click)="selectAssets()" [disabled]="disabled">Done</button>\n </div>\n </div>\n </ng-container>\n</lib-modal>',styles:[":host::ng-deep .asset-management-dialog__footer{display:flex;width:100%;align-items:center;justify-content:space-between}:host::ng-deep .asset-management-dialog__footer .selected-assets{font-size:14px;color:#979797}:host::ng-deep .asset-management-dialog__footer .selected-assets .count{color:#000}:host::ng-deep .asset-management-dialog__footer .selected-assets .error{color:#f44336}"]}]}],e.ctorParameters=function(){return[{type:H,decorators:[{type:t.Inject,args:[A.MAT_DIALOG_DATA]}]},{type:A.MatDialogRef},{type:G}]},e}();var re=function(){function e(e,n,i){this.dialog=e,this.svc=n,this.assetService=i,this.isDialog=!0,this.assetChange=new t.EventEmitter,this.destroy$=new b.Subject}return e.prototype.ngOnInit=function(){var e;this.assetService.maxSize=this.maxSize,(e=this.svc.getDispatcher())?e.subscribe((function(e){switch(e.type){case V:te=M({},te,{selectedAssets:e.payload}),ne.next(te);break;case W:te=M({},te,{globalLoading:e.payload}),ne.next(te);break;case J:te=M({},te,{currentFolder:M({},e.payload)}),ne.next(te);break;case _:te=M({},te,{reloadCurrentFolder:!te.reloadCurrentFolder}),ne.next(te);break;case q:te=M({},te,{reloadCurrentAssets:!te.reloadCurrentAssets}),ne.next(te);break;case ee:te=M({},te,{reloadCurrentNode:!te.reloadCurrentNode}),ne.next(te);break;case $:te=M({},te,{currentFolderHierarchy:T(e.payload)}),ne.next(te);break;case Z:te=M({},te,{currentFolderId:e.payload}),ne.next(te);break;case K:te=M({},te,{deletedAssetId:e.payload}),ne.next(te)}})):console.warn("Dispatcher not found."),this.bindSubscriber()},e.prototype.bindSubscriber=function(){var e=this;this.assetService.getDialogOpenStatus().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&e.openAssetsDialog()}))},e.prototype.onAssetsChange=function(e){e&&this.assetChange.emit(e)},e.prototype.openAssetsDialog=function(){var e=this,t={limit:this.limit,allowedType:this.allowedType,maxSize:this.maxSize};this.dialog.open(ae,{autoFocus:!1,panelClass:"lib-dialog--large",data:t}).afterClosed().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&e.assetChange.emit(t)}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-management",template:'<ng-container *ngIf="!isDialog">\n <lib-asset-wrapper (assets)="onAssetsChange($event)"></lib-asset-wrapper>\n</ng-container>\n<ng-content *ngIf="isDialog"></ng-content>',providers:[G],styles:["::ng-deep .custom-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-radius:10px}::ng-deep .custom-scrollbar::-webkit-scrollbar{width:5px;height:5px;background-color:#f5f5f5}::ng-deep .custom-scrollbar::-webkit-scrollbar-thumb{border-radius:10px;background-color:#bdbbbb}"]}]}],e.ctorParameters=function(){return[{type:A.MatDialog},{type:Y},{type:G}]},e.propDecorators={isDialog:[{type:t.Input}],limit:[{type:t.Input}],allowedType:[{type:t.Input}],maxSize:[{type:t.Input}],assetChange:[{type:t.Output}]},e}();var le=function(){function e(e){this.assetService=e}return e.prototype.onClick=function(e){this.openAssetsDialog()},e.prototype.openAssetsDialog=function(){this.assetService.setDialogOpenStatus(!0)},e.decorators=[{type:t.Directive,args:[{selector:"[libDialogTrigger]"}]}],e.ctorParameters=function(){return[{type:G}]},e.propDecorators={onClick:[{type:t.HostListener,args:["click",["$event.target"]]}]},e}();var de=function(){function e(){this.imageDropped=new t.EventEmitter}return e.prototype.onDragOver=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.ondrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t=Array.from(t),this.imageDropped.emit(t)},e.decorators=[{type:t.Directive,args:[{selector:"[libDnDFile]"}]}],e.propDecorators={imageDropped:[{type:t.Output}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],ondrop:[{type:t.HostListener,args:["drop",["$event"]]}]},e}();var ce=[de,le],pe=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:T(ce),imports:[n.CommonModule],exports:T(ce)}]}],e}(),ge=function(){function e(){this.multiple=!0,this.fileChange=new t.EventEmitter}return e.prototype.onFileChange=function(e){var t=e.target.files;t.length<1||(t=Array.from(t),this.fileChange.emit(t))},e.decorators=[{type:t.Component,args:[{selector:"lib-input-file",template:'<input\n #inputFile\n class="input-file"\n type="file"\n [accept]="acceptTypes"\n id="file-import"\n (change)="onFileChange($event)"\n [multiple]="multiple"\n/>\n<button mat-raised-button [color]="color" (click)="inputFile?.click()">\n <ng-content></ng-content>\n</button>\n',styles:[":host::ng-deep{display:inline-block}:host::ng-deep .input-file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={color:[{type:t.Input}],multiple:[{type:t.Input}],acceptTypes:[{type:t.Input}],fileChange:[{type:t.Output,args:["onFileChange"]}]},e}();var ue=function(){function e(){this.customHeader=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"lib-modal",template:'<h4 mat-dialog-title *ngIf="!customHeader; else customHeaderTemplate">\n <div class="lib-modal--title" [title]="heading">\n {{ heading }}\n </div>\n <div class="lib-modal--close">\n <mat-icon mat-dialog-close>close</mat-icon>\n </div>\n</h4>\n<ng-template #customHeaderTemplate>\n <h4 mat-dialog-title>\n <div class="lib-modal--custom-title">\n <span>\n {{ heading }}\n </span>\n <div class="lib-modal--custom-subtitle">\n <ng-content select="[subtitle]"></ng-content>\n </div>\n </div>\n <div class="lib-modal--header-actions">\n <ng-content select="[headerActions]"></ng-content>\n </div>\n <mat-icon mat-dialog-close class="mat-dialog-close">close</mat-icon>\n </h4>\n</ng-template>\n<mat-dialog-content class="custom-scrollbar">\n <ng-content select="[content]"></ng-content>\n</mat-dialog-content>\n<mat-dialog-actions>\n <ng-content select="[actions]"></ng-content>\n</mat-dialog-actions>\n',styles:[":host::ng-deep{display:flex;flex-direction:column;min-height:150px;position:relative}:host::ng-deep .mat-dialog-title{padding-bottom:24px;margin:0;display:flex;justify-content:space-between;font-size:24px;line-height:1;gap:10px}:host::ng-deep .mat-dialog-title mat-icon{cursor:pointer}:host::ng-deep .lib-modal--custom-title,:host::ng-deep .lib-modal--title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .lib-modal--custom-subtitle{margin-top:5px}:host::ng-deep .lib-modal--header-actions{display:flex;align-items:center;gap:10px}:host::ng-deep mat-dialog-content{flex:1;padding:0 24px}:host::ng-deep mat-dialog-actions{padding-top:24px;padding-bottom:0;display:flex;justify-content:flex-end;min-height:auto;margin-bottom:0}:host::ng-deep mat-dialog-actions .mat-button-base+.mat-button-base{margin-left:20px}:host::ng-deep .mat-error{margin-top:5px;font-size:14px}:host::ng-deep .no-wrap{white-space:nowrap}:host::ng-deep input,:host::ng-deep textarea{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px;color:#000;margin-top:0;resize:none}::ng-deep .lib-dialog--small{width:400px!important}::ng-deep .lib-dialog--small .file__name{word-break:break-word}::ng-deep .lib-dialog--small .mat-button-base{min-width:70px}::ng-deep .lib-dialog--small .loading{padding:0 5px}::ng-deep .lib-dialog--small .loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}::ng-deep .lib-dialog--small .loading .mat-spinner{margin-right:10px}::ng-deep .lib-dialog--medium{max-width:1200px!important;width:90%!important}::ng-deep .lib-dialog--medium .mat-dialog-content{border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;overflow-x:hidden}::ng-deep .lib-dialog--large{max-width:1200px!important;width:90vw!important}::ng-deep .lib-dialog--large .mat-dialog-title{padding-bottom:12px;position:relative}::ng-deep .lib-dialog--large .mat-dialog-title .mat-dialog-close{position:absolute;right:-22px;top:-22px}::ng-deep .lib-dialog--large .mat-dialog-content{min-height:70vh;border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;padding:0}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body{max-height:calc(70vh - 2px)!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .node-tree{height:calc(70vh - 2px)!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .asset-list__item{min-width:25%!important}@media only screen and (max-width:768px){::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body{max-height:none!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .node-tree{height:-webkit-max-content!important;height:-moz-max-content!important;height:max-content!important}}::ng-deep .lib-dialog--large .mat-dialog-actions{padding:12px 0;margin-bottom:-24px!important}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={heading:[{type:t.Input}],customHeader:[{type:t.Input}]},e}();var he="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnQmYFdWZ9//n1l2a3oCGbpq1G2QREDeIYOICsnW34BZRY0yimUxcIJjkM35mnozBL37jZOI2YlRMjMkYJ5EsGqOZOG5RMTrEmCFK3EUEhd5omt7uUlVnnrfgZlpyu+92qu6pe9+T5z5gqHrPW/96z6/OfgR8km677bbqcDg81bbtqVLKmUKIRgCVQohKKWWZTx6D3fS5AkIICSABoNe27d5AIPCBlPL1QCCwwzTNHevWrev00yMK3Z2lgh+JRKZblnWiEGKxlPJoAA0AIrr7zv6VhAIEgw8BvCKlfN4wjGdM03zTLyDQGgC33nrruHA43CSEOFtK+TEAE0oipPgh/apAp5TyZQCPSikfWrdu3U7dH0RbAFDhD4VCa4QQlwOYo7uQ7B8rMEiBnVLKH0op79UdAloCYNOmTSMtyzoHwFVc+Llg+VSBnUKIuxKJxD3r169v1/UZtAMAtfmDweBKIcRXpJQn6ioc+8UKZKDAawBus237Z7r2CWgHgE2bNh1v2/a1UsozMxCYL2EFtFZASvmCYRjfvOyyyx7X0VGtAHDo6/8ZAP/AHX46hgv7lIMCNCz4fdu2v6NjLUArANx1113HSCn/UUr5yRyE5ltYAV0V2CKlvHbt2rVP6+agVgC44447zgLwbQAzdROK/WEFclVACLFbSvkvV1xxxcZcbbh1nzYAuPnmm0eUlZVdCuCfAIxw64HZLitQAAViUsrvAfj62rVrewuQ/5BZagOAjRs3TjAM42sAvqyTQOwLK6BCASnlgwCuXrt27dsq7KmyoQ0A7r777pmmaVLn3+dUPRzbYQV0UUBK+bhhGP9w2WWXvaSLT+SHNgD47ne/eyyAa2nar04CsS+sgCIFnhdCXHv55Zc/pcieEjPaAODOO+88QUq5AUCzkidjI6yAXgpstW37unXr1v1GJ7cYADq9DfalmBVgAAz3drkGUMyxz88GgAGgMwCEEAgEAhypGipg2zakpH04fJ0YALoAgAp7KBRCeXk5ysrKEA6HEQwGHQDQv3HSRwEq+JZlOb94PI5oNOr8naAwOB3+3gb/N/2d7Bz+IxtJ2x4AhgFQaABQIFCBHzlyJEaNGoXq6mpUVFQ4/59hGPpEPXvyEQWocFJhHRgYQH9/P0zTdH7037FYzCnYyQJ/eMEnQ4MBQHaSNQr6k+wQWJI2k0Bw4RUwAAoJAPriU8Gvq6tzflTw+WvvQph7ZJIKal9fH3p7ex0QUCE+vFaQqSsEkEQi8dcf2SKwEBQUJgZAoQBAVfxx48Zh8uTJzpef2/oKw7rApqiQEgj279/v1A5yhUDyMQgGydpFEiyKQMAAKAQAqPCPHz8ejY2NqKqqKnC4cvZuKJBsHuzbt8+pEeQLAfIxWSsgCCRBQLWOPBIDwGsAULW/vr4e06ZN48KfR+T65VbqIOzo6HAgkGdh/esjEwioSUC1DPrlURtgAHgJAGrfjx07FjNmzEBNTY1fYpj9zFOBJAR6enqU1ASS7lDBJ7DQj/oLckgMAC8BQEN89OWfMmUKt/lziFa/3kJfbOoLaG9vd77YKlOy45HgQrWCLBMDwCsA0Nef2v2zZs1yevs5lZYCVFC7urrQ2dmZT5U9pWjUv0BgOXDgQLYQYAB4BQAa16evP/04laYC1BRoa2sDfa1VJ4IA1TK6u7uzgQADwCsAUJt/5syZTh8Ap9JUgAop1QKoKaCqQ3CwkjlAgAHgFQCo+j9nzhyMGME7i5Vm8T/41NRhR7UAGsZzI2UJAQaAFwCg9j91/M2dO5c7/9yIeh/ZpI46qgHQJCG3UhYQYAB4AQCa5Td16lTMnj3brXfOdn2iABVOmhxEtQA3F/tkCAEGgBcAoEU91PlHIwCcWAH6+u/du9eVfoAs+wQYAAwALpBeK0CjAK2trc7iHrdTmpoAA4AB4HYIsv3DFaDhOmoCqJ4UNJTSw0CAAcAA4ALqtQI0AkAdgW7MB8gSAgwABoDX4c/5FQIApHqKmgADgAHABdJrBQoFgBQQYAAwALwOf86vkAAYDIEDBw5sHRgY4HMBhgpJVduC8zAgF/rBChQaAEkIxGKxt6LR6A0XXnjhvTq9IW22wGUA6BQWxeOLDgAgNaWUUdu2H5FSXr969eptuijMANDlTbAfriigCwDo4YQQ+6WUvzJN8xZdIMAAcCXs2KguCugEAB0hwADQJVLZD1cU0A0AukGAAeBK2LFRXRTQEQA6QaBgANgABE5dvDgM7C+zDDOyZ8GyBfEx9V+1DOO0fIKHRgEaZ8zEjHlH52OG7y0SBXQFgC4Q8BQATy9uLAvY1eMTIjBdCDQIiZoAZIUlUJGoHDkpOqZ2oRUpb8wn9mg/gHEfOxGTV5yejxm+t0gU0BkAOkDAEwA8vXhOpWkbU4MB43gp8HEpcRwkZgmBajfibOSy01H72UvdMM02faaA7gAoNARcB8CWZfOnJEyzWUpxGgQWAmhwO4YYAG4r7B/7fgBAISHgKgCeWDpvWtA2/s6W+CyASV6FDQPAK6X1z8cvACgUBFwDwDOnzJ9nGdaXIHEWgFovQ4UB4KXaeuflJwAMgsC/A/hOc3Pze26r6woA6MsfsI1rIPH3bj9AKvsMgEKormeefgPAIQi8b9v2JgDfa2lpaXdTWeUAeGLpUeMMK/gFCVzp9Zc/KRQDwM2Q8ZdtPwKAFJZSviaE+NdoNPrA2Wef7dq2xkoBsH3NnHBrR9kqSPtaAMcUKlQYAIVSXr98/QqAQ0q+JIT4ZyHEb1euXKn2oMNDGSgFwJOnzT8CtnkVpPi8EAgXKhwYAIVSXr98fQ6AqBDiMSHEDStXrvwvN9RVBoCDX//wuZC4DsB0N5zN1CYDIFOliv86nwOAXlAbgLtN0/zX1atXd6h+Y8oA8PTioydJYVwNKb+k2sls7TEAslWseK+nQ0JpU1A6zdfH6Q9CiOuampoeVf0MygDw1JLjTpU2viWEPFm1k9naYwBkq1jxXu/F8WAeqNcthLgvFAr989KlSz9QmZ8SAMgNCDz9zDEXQ4obAYxW6WAuthgAuahWnPckEgl0dnY6P5+n123b/nZ5efmPlyxZYqp6FiUA+P2JJ46IRaJXSsgbVDmWjx0GQD7qFde9Xp0P6IFqMSnl/cFg8B9XrFjxoar8lADgxeaFkxLx+NcSllyvyrF87DAA8lGv+O6l9j8dD0bNAZ+n5wBc29zc/DtVz6EEAG+t/sTcjmjsGwMJ8wJVjuVjhwGQj3rFd28RjAQkX8oOAN9ubm6mWYJKkhIAvHP2STPbewe+3p+wLlbiVZ5GGAB5Clhkt1uWha6uLqcfwDSVNZ8LoVI/gE2maX5j9erV9Pe8kxIA7FuzbMq73d3/tydhXuHmOeyZPi0DIFOlSuc6Gg6kQ0K9PCPQJXUftizrmlWrVr2mwr4SAHSsOW3inr7+qw/EEutjlqXCr7xsMADykq8ob6bOwO7ubnR0dPi6L0AIQTMCNzQ1Nf1WxYtSBoCeePzq/dH4+q5Y4TtaGAAqQqP4bNCQ4P79+53mAP3dp+kvAK5vbm7+iQr/lQHAltbVXdH4+r19UVhSqvAtZxsMgJylK/obkxCg2kAsFvPd8wohdkgplXUEKgOAIcTV/YnE+g97+9GTKGxHCwPAd3HtqcPUEUhDg/v27fMdBIQQrbZt39jS0kKT7vJOSgFg2/b6zmgMrf1RJGw7b+dyNcAAyFW50rmPRgYIAsmagI9GB3qklLe2tLTQkvu8k1IABCDXR00Le/uj2BeL06YGeTuYiwEGQC6qld491DFIowO9vb3o6+tz+gUIBIWK2wzfgCmEuK2pqen/ZHj9sJcpBwAV+Z54Anv6BtBboKYAA0BFaJSODaoNEAioT4B+BAGCA/3cgAHZJNuUbw55UNX69ubmZtpxK++kHADkkS0luuMJUIdgfwEmXjAA8o6LkjVABZIAkGPhzEg3AgDlkfxRzYOmKdOflH+aRB1sG5ubm7+a7sJM/t0VAAyGQFs/QcByoOBVYgB4pTTnk68CVOCp4FMNhKYs049qIQSgVElKGacmQHNz89fyzZvudw0ASQhQM4A6BunPuJWWbiqeCQwAJTKyEY8VoEJPAKD+CPoRCFLUCAaklLe1tLRco8I9VwFADtJ3P2ZaTpOgh0hn2s4IgZs1AgaAitBgG4VSgEBAAKBJS/TnYRDoE0Lc2tTU9A0V/rkOgKSTVOCjlu30CdBIQZw6QWwJ+p+tsHVgiwAqFp6EMSvPUKEP23BTASGAUBiyvAL2iHLn75wOKkD9BFQboLkKNEoxqElw4BAAvqlCK88AMNhZ6g5ISBumTYX/4E9VsgIGjNpxKK8fr8ok23FLARGAjJTBrqyGrKqGrB4Ne/QY2CNHQ1aNdP6t1BP1DdAqRlrERBAQQuy3bfuWlpaW/6dCm4IAQIXjbKP4FJDllbDHTYBVWw9r8lSYRxwJu2YsEAwV38Nm8URUE0hCwLbtfUKIm5qamv4pCxNDXsoAUKEi21CrgBBOLcCcMQfmrHmwps50/rtUEzUHqBlAuxsPDAy0Sylvamlp+bYKPRgAKlRkG+4oYBiwa+uRmDcf8WMXObWDUk00Z4D6A7q6ulpN07ypubn5Oyq0YACoUJFtuKqArKhC4tiFiJ20HHbtOFfz0tl4f38/7WfQ2tPTwwDQ+UWxb+oVkNWjED/hFMQ+sdTpICzFdGhrs8729vabVq5cqWQHbq4BlGIk+fSZqTkQO3kFEvM/XrIjBAcOHOhqbW29eenSpdereI0MABUqsg3PFDCnz0a06RxYjTM8y1OnjPr7+zv3799/06JFi7gGoNOLYV+8UUBWViN+4mLETl7pTCAqtWSa5v5YLHbL7NmzeR5Aqb18ft6DCphTZyC28myY0+eUnCRSygStBWhsbLxKxcNzE0CFimzDUwVoVCB2ygrEFrcAhuFp3hpkRtNm73znnXeuVHFGIANAgzfKLmSvQOLoBYiuOh92TW32N/v/jnvC4fCV9fX1ffk+CgMgXwX5/oIoYDUcgSg1A2YeVZD8C5mpbdv3JhKJL8+YMeNAvn4wAPJVkO8viAJW/STElq12JgiVWmIAlNob5+f9GwXssXWInbbKmRxUaokBQFsZVVYhMLEBgdpxECMqgEAg+ziQNmQ0CtnTDdl7ALKvF7K7y/kzpxQKIzBuPIxJjRAVlbmtYrMtyHgMGBiA3bMfcl/nQZ+iAzm55Nykwq80uZPPcv8+2B+8D7ttT+6+ZninPaoGsSWnI/6JpRneUTyXlTwARFkZgscuRGj5KhiTp0JUVufWG0y7vvb3QnZ2wN5/sKBZO96G+fKLsPd+kF3E0D4EM+cgvOIMGDPnIkCr18I5bHBhWZAD/ZB9PZCd7bD27Ib15l9gvfoy7I627Hyiq1X5lQ4A0QHItj1IbN2C+JOPQu7ryN7XLO6g1YE0ChA/eXkWdxXHpSUPAGPaTETO/SyC809U/kZlVycSLz2PxLNPwHr3TcDM7Ay5wNhxCJ95gQMApYm2T2vbA3PrFiS2Pgdr57sA1RAyTK75NUT+9t4PEX9kM+K/ewxIuHdOJAOgVDsBg0GEFzch8qkvOM0ANxJVZ603XkX8N7+E+eeXgAy2Ng8etxCRC78AY8o0N1xyagXWG9sRf+o3MP97KxCLZpSP236lciLxX88h9uNNrjYFGAAlCgBRVY3IqjUIn3VhRgUgn4vMv2xD7IEfwHr91bRmQkuaUXbxWoiyEWmvzecC6+3XEfvVT2Fu+0NGEPDKr8HPZG57CbGf3nOwBuVSYgCUKAACNWMRPuN8hJvPcSm0/tesjEVhPv8UYr+4L237O7zyLJR9/kuu+wQ6uOLVPyH2sx/BenN72vw88yvpiWUh8cLvEPvJPbA7WtP6l+sFDAAGQK6xk9V9dvtexB/7FRJP/YfTMTdU8rKg0YgFdbTFH97sjF4Ml7z0i/ygQh9/5GeIP/7rjJpOWb2MQRczABgAKWPHGdbrz3AYTwQgIpGD1fZhhhHNV15G7Kc/gPX2azkDIFO/HH9olZsYfliT+ihim3/o1AbyAUCmfqUtqImE0/NvvvoyEs8/BXvP7rS35HMBA4ABkDJ+bArCbS/B3vlO+vgKBCCqR4JGFYxps4bsVLR37UDsl/cj8funcwaA9forSLz4bFqfqPAHJk6B0XgERN0EiFDqHXFpyDJGX9pfb6ZN5F33K63j1HG6Zzfs93ekrZWktZXBBQwABsCQAIg//ADi//HLDMIIQDiCII3fr1oD6jFPlWiikFPYHvpJzgUt/thDiP5gY3qfAgFQP4dx9AKETlmO4KyjUtdOpETi2f9E9L67IHuGbgakawJk7Fd6zz29ggHAAFADAJpVWDYCoeWrETn3c6BJRn+TbMsZfovdt2nIGXmqC5rj0ykrEP7kRQiMqkn5rDQcGPvJ92G9N3RtR7VfnpbyYTJjADAAlAGADAUXnYqyiy51phanSuaLzyJKY9vte1P+uxsFzZhzDMou+DwMqgWkSNSsiG6+F9b2be7XTHQp+Yf8YAAwANQC4ISTUPbpLyJQPzE1ALZuQfT+u4ecIuwKAI44EpE1nx2yaeLMCfj5j2D+aSsDQDNAuelOSU8FTjcPgDoBs+oDOPSmggwAN2NWuW2uAXANgGsAXAPgxUB5otV3G4JwDeB/3zg3AXg1YJ7lHwwAbgJkNjyZb6Qpvp+bANwE4CYANwG4CZAnWLkGwDUArgHkWYi8vp1HAYZZDcijAB8NRzeGJ70O+FT5cROAmwDcBFDQBKA5BPGnHk1fpmmrMlpota/94DLfRGY7JaU3nNsVDAAGgFIAhBadishFX0Sgtj6lXWeN+32bYHem3pfPjS+t4cFEINnfB3lgf9pSKGlXpP5eZ5Uf7fhDC64y3S4trfEcLmAAMACUAYDm/4eWno7Ims8d3GH48GSaiD/5CGL3fw+0SUiq5FcA5FD2nG3SaMMPN3f8SecXA4ABkD8AaDlweQWM2Ucj0vJJ0Nz7VEnu70Ts4c2IP/rzIeOylABAG6fGfv0A4o/+Il05de3fGQAMgNSFtb8P5it/HHaBzF9vNAyIqpEIzj1myAU3dK214y1nWzDzD88zAADn3ALaMJVWIhYqMQAYAN7EnpTOLrzOjkDvvc0AIAAM9Du1IdqXsFCJAcAA8CT2aOcd2t8u/ptfDHtiUCk1AezdOxF78MdIbHnKk3eQKhMGAAPA/eAzE0j88QXEfv5vzlZXw6WiBwAdWRYdgN22F+bW55B47gnn74VKDAAGgOuxR1V+p+2/dUvavPwKAOv9d2G99ue0zweaB9DX44DQfP3VjIYO0xvN/QoGAAMg9+hJcycdDmrteBOJZx8H7QQ01NDfYDN+BQDvCehaGLlmWM+pwFJcHQjI9a499SHD6ZYD55W/aTpbftGpO4ktT8J6+w1A2hmZZABkJJOyi7gGoFsNwI8AoNOB6SReOta6ex9kWyvM11+B9ec/Djnjb6gIZgAoK9sZGWIAMABSBgrNV7ffewtWJucCWLazhz2dvktfftm2F3Z3F6i9m21iAGSrWH7XMwAYACkjKNfVgPmFI8AAyFfB7O5nADAAGAAKVgNyJ2B24NHhau4EdGE/gHxfLNcA8lUwu/u5BsA1AK4BcA2AtwTLjpt/c7W6LcE0GQUoqj6AWXMRWXMxgvOOT/marTe3I7b5R87iJy9HJ/KMOSW3cw2AawDFXQMIGAjNX4TI+ZcgMHlqymdVcWw59wEo4ZGnRrgPoMj7AESkDIEJkxE6dSVCp65w9ixIlRIvPoOYc15hK9cAPC2Chc2MAeBDAFBhjT+8OX3klJXBmNTgbE5CR4OL0WNS3uMsyX3sIWeh0nD787nROZn+Idy/gpsA3ATwVROAvtL27vfSlgxRXonA+IkQ1aOGvdZ+/11noVLixWeHvY4BkFZy313ANQAf1gBURhntyGO+8Axiv/g32K17GAAqxfWBLQZAiQPA/uB9xH55PxJbnkgbrlwDSCuR7y4oaQCIkaMRWX0ewqvPS90E6GxH/OGfIv7bhzx9seHlq1F2yTrACLqaL+1QRMuUqf0/XOdf0olh/ZIS8d8+iOgPv+uqz24Y5z6AEu0DQKQM4eWrEDnvElBv+eGJ9q2PPfjvSDzzmBtxN6TNg+cKXIpA7Th38pW2U91PvPCM8+WnbbkyScP5RTv80FZnsQfuzcSUVtcwAEoVAACC8xeh7MK/R2BS40eDUtowt29zNqu0Xn/F04A1jpiFyLmfQ/D4hcrzpcM7aOceavfTASVUC8g0DeeX/eEuxB6836lR+C0xAEoYAIG68c74eOikZQjUT3Bil3btcU6tefZxJJ75T2eZr5dJVI9E6IRTEFragsCkBohwJL/saa+C/j7YHW2w3trunMZjv/OG8/9lk1L6RRuf7GuHSUOTTzwKu/XDbExqcS0DQCMA9F2wfIJpW18D8GWvokPUjEXouIUwjpwHBIOgwyqsN/8C841Xnb8XIonKKhhHHo3gUcdBjKqBMIys3ZC2DcRjBzcq6eoEdfjRuQS0X0Gu6SN+VY+CHOiD/d7boJmE9t4PcjVb0PscACxpQfyk5QX1oxCZa9cJ2LPm5FpLBK8SEFd7Kggd7EGz5EJhgM64iw54mn3KzEQAomwEREWlA6ask3MIZz/kwIDas/cO+YWyEUAidrAmQbDxabJrxiK25HTET1zi0yfI3W3tANB+xieqwpHwVyDEdbk/Ft/JCmSugF03AbGlqxCf//HMbyqSK7UDgPzi/FBP96gvSSlvKhKN+TE0V8Ca2IDY8jOROCr1SknN3c/LPe0AQE/Te95pn7IhbpKQ4/N6Or6ZFchAAXPmXESbz4U1xErJDEz49hItAdB3/mnHWxDXSinP9K2y7LgvFJDhCOKLFiO24ixI6tMosaQlALrXrKwRwrzMhrxGAFUl9k74cT1UwKqfiNjS1Ugct8jDXPXJSksAkDxd5y1dEhDyekiUXs+MPvFR1J7Q1z9x7ELElq2GXVNb1M861MNpC4Cez6yos2PWpYCk+QA1Jfl2+KFdVcAaPxmx5WcgcfTHXM1HZ+PaAoBE6z5/2SJIuQGQK3UWkX3znwKysgrxBSchfvIK0ESgUk1aA6DrrMWjRMQ4TwBXQcoZpfqS+LnVKiBDYZhzj3Xa/lQLKOWkNQDoxbRfsHxCxLY/JaW8FAIMgVKOVhXPbgRhTp3hTPwxZ8xVYdHXNrQHgAOBc04eHw4a50AEPgMp5gGy3Neqs/MFUUCOqHAKP035NWcfUxAfdMvUFwAg0eSnm6t7ErFTpcAFUuIkATEJkAHdBGV/9FOAevvtMXUwp89G4vgTS3LCj+9GAVI5/FZzc6S+Mn6ECbspALEMQszFwdmCIf3Cjj0qtAIyUuYM79EMP/PIebAappd0h1+q9+GbGsBg5+VnVlR098vZwrAXSmEfBylmQGKUECiTQJkUgRGJYLDKChh/u81PFlFJRx0ZwSCCuazEyyIfvlSRArRkOhiGDIUgK6pgTZgMa/I0WJMbS3acP52yvgTA4Iei5cOmCM0OSlFnQlYGAqK8o7LmiNaauqaBUGROOgGG+/dAIIAxY2pQV+fS1lz5OMf3flSBg7QGwhE4X/5RNbBr652/cxpaAd8DINWj3XnnnSdIZ/4AmvN5+YZhYNq0aZg1a1Y+ZvheVkBbBRgAw7waBoC2ccuOKVKAAcAAUBRKbMaPCjAAGAB+jFv2WZECDAAGgKJQYjN+VIABwADwY9yyz4oUYAAwABSFEpvxowIMAAaAH+OWfVakAAOAAaAolNiMHxVgADAA/Bi37LMiBRgADABFocRm/KgAA4AB4Me4ZZ8VKcAAYAAoCiU240cFGAAMAD/GLfusSAEGAANAUSixGT8qwABgAPgxbtlnRQowAHwKACklbNtWFAZsRrUCQgjQhjK6JwaAjwBAhT4ejyMWizl/EgDo/+OknwJU+EOhECKRCMLhMGhvCR0TA8AnALAsC319fejp6UF/f78DAE56K0CFfsSIEaisrERVVZUDAt0SA8AHAKCvPBX89vZ2RKNR3WKI/UmjAG0qW1NT4/x0qwkwAHwAAPrad3R0oKuriwubTxWgmkBdXZ1TG9ApMQB8AAD6+re2tjptf07+VIC+/FQDqK2tBXUQ6pIYAJoDgKr/9OXfu3cvd/jpUmpy9GPkyJGor6/X6pwJBoAPALBv3z4HAJz8rUB1dbUDABod0CUxADQHALl34MABBwCJREKXuGE/slSAhgWpCUD9ANwEyFK8bC8vtoNBqO1PIwDd3d3ZSsHXa6JAWVmZ0/6nWoBOiWsAPqgBUD8AFX6CAI//61R8MvOFOgBHjRqFsWPHatX+J+8ZAD4AALlI1X9qCtCIANUITNPMLPr4qoIpQNV+mglYXl4O6gCkoUDdEgPAJwA4RGun8NOMQJ4KrFtR+qg/yanAVOjpp+sJ0wwAHwFgsKu0DoCmB3PSUwHq6KOqv04dfqmUYgD4FAB6hj175TcFGAAMAL/FLPurUAEGAANAYTixKb8pwABgAPgtZtlfhQowABgACsOJTflNAQYAA8BvMcv+KlSAAcAAUBhObMpvCjAAGAB+i1n2V6ECDAAGgMJwYlN+U4ABwADwW8yyvwoVYAAwABSGE5vymwIMAAaA32KW/VWoAAPAhwCg/QFoIRCfDKSwJCg2lVwMpPvpQAwAHwGACjwtB6azAWg5MK8GVFxqFZojANAS4OR+ALwcWKG46UwV25Zg9Ly0AUhvb6+zKcjAwABvCJIuCDT5dzoNiHYDoq3ACAa6Ja4B+KAGQF/+5MlAfDaAbkUovT+0L8Do0aMxZswY7TYGYQD4AAC8KWj6Qqb7FbwpqIdvqNiaAFTtp5OBeENQD4NIcVa8LbhiQYczV0wA4JOBPAwcl7Pik4FcFjhpvtgAQCcDUQ2AYMDJvwowADx6d8UEAJKMmwAeBY6L2VATgDoB+XDy4rbfAAAGZUlEQVRQF0UuxhoAPRMfD+5B0LicBR8P7rLAg80XWw2Aqv40DNjW1sZHhHsYR6qyoklAyWFAGhLUKfEwoA+GAcnF5EQgAgHNBKSTgrhPQKei9FFfklOBafJPRUUFTwTy8lUVWw0gqR0VeCr4dDIQzQ3gtQBeRlV2eREAaBYgVf1pDoCuawK4BuCTGsDhbvLXP7sCWYirdT8ViDRhAPgUAIUIaM6z+BRgADAAii+q+YkyVoABwADIOFj4wuJTgAHAACi+qOYnylgBBgADIONg4QuLTwEGAAOg+KKanyhjBRgADICMg4UvLD4FGAAMgOKLan6ijBVgADAAMg4WvrD4FGAAMACKL6r5iTJWgAHAAMg4WPjC4lOgKAGwcePGBYZhfBPAqnxeGS3dnDZtGmbNmpWPGb6XFdBWgWIFwLxAIPANIcR5+SjPAMhHPffupYVQtDxa54NRkgeD6Lb+//C3UpQA2LRp0xGWZX0dwN/lE4YMgHzUU39v8mQkOhiFlkMTBHRdFUnLf2k5MC0FpiXBoVBIvSAKLBYlAG688cax5eXlXwVAEMg5MQBylk75jfS1p5ORuru70d/fr/XXf/DDU8GnU4HodCCCgW6pKAGwefNmo6Oj4xIA/wJgdK6iMwByVU79fVT4aUs0+vr7LVFtgAAwduxY7WoCRQkACpA77rhjGYDrASzMNWAYALkqp/Y++vp3dHQ4P78mag4QAGhvQJ1SMQNgmhDiK1LKzwMoz0V0BkAuqqm/h6r89PWnrdD8nKjwjx8/HjrtFFS0ANiwYUOwtra2ORAIbJBSHp9L4DAAclFN/T3Fci4CHwyiPjaGtbhx48YJhmF8QQhxhZRyXLbZMwCyVcyd65NbotNuyH5ODIACvL2NGzceaRjGegCfAjAqGxcYANmo5d61xXA6MsVS8mQg95TK3nLRNgEGS3HXXXcdI6X8opTydAANmcrEAMhUKXevo/H/rq4upxOQxv79mMrLy1FXV+ecEaBTKgkAkOC33357g2EYF0spLwIwBUA43YtgAKRTyLt/p1pAZ2enc06izjMAUylCcwFqamqcn27nA5QMAAZBoAnAYinlAgCTAUSGCmMGgHcFPF1ONOOPIEATgWguAJ2XmKwN6NSrnpyZmJwKTCcDVVZWoqqqSrs5AKR5SQGAHnjz5s3hjo6OqVLKkwB8XAhxnJRyghBiBAD6/XXOJgMgXbH0/t/p608gGHw8mo4ASE4FpmnANAdAJx8Hv7WSA0Dy4aWU4vbbbx9vGMYJUsrpACoDgUDl4BpBKBQKHXnkkcdOmTIl58lE3hcRzpEVyFyBkgVAJhK1tbVVRqPRLwP4VibX8zWsgN8UYAAM88YYAH4LZ/Y3WwUYAAyAbGOGry8iBRgAw7zM7du3V1ZVVXEToIgCnh/lowowAIaJiF27do2wbftKIcQNHDisQJEqcE84HL6yvr4+75VWotgEklIau3fvvlxKefPg4cFie05+ntJUQAhhAbiztbX1qwsWLEjkq0LRAYAE2bVr16ellDcByHoxUb6C8v2sgMsKHBBC3DJ58uQNKvIpSgDs3LlzmRDi/wM4QYVIbIMV0EiBt23bvqGxsfEHKnwqSgDs3r17pm3btLfgxSpEYhusgC4KCCGeFEJ8Y9KkSS+q8KkoAbBt27aKmpqaS6SUVE0ao0IotsEKFFoBIUSPlPL7UspvNTQ0dKnwpygBQMK8++67J9BBI0KIFhVCsQ1WQAMFXpJSXtfQ0PCIKl+KFgBvvfVWdSQSoWXE1xxaQahKM7bDCniugBCijb7+wWDwlgkTJijbabVoAUBv6L333psaCASuAEDbjXNTwPOw5QwVKdAN4CEhxE2TJ09+RZFNx0xRA4AecOfOnXMDgcCVUspPAqhRKR7bYgXcVkBK2RMIBB6zLOuWxsbG36vOr+gBQEuId+zYMc8wjMuFEGcCGK9aRLbHCrikQCeAx6SUdzY0NGxxI4+iB0BStF27ds0AcJGU8iwA9HfaSIQTK6CjArSV8rtU+A3DuG/ixIl/csvJkgEACbh37966WCx2CoDlABYIIabmcwyZWy+F7ZakAjYAauvvAPDfh8b7n500adJuN9UoKQAkhdyxY0d9OBw+wTTN4w5BoEYIUS6lDFKTwU3B2TYrkFRACCEB0Hx+WtRD1X0q/K/E4/GXp0+fvssLpf4H0SICtNnFpxsAAAAASUVORK5CYII=",fe="data:image/png;base64,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",me="data:image/png;base64,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",be="data:image/png;base64,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",ve=function(){function e(e){this.domSanitizer=e,this.base64Image=this.domSanitizer.bypassSecurityTrustUrl("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iNzAiIHZpZXdCb3g9IjAgMCA4MCA3MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTU5LjM4MDEgNDQuMDRINTYuMjIwMUw1NS4xMDAxIDQyLjk2QzU5LjAyMDEgMzguNCA2MS4zODAxIDMyLjQ4IDYxLjM4MDEgMjYuMDRDNjEuMzgwMSAxMS42OCA0OS43NDAxIDAuMDQwMDM5MSAzNS4zODAxIDAuMDQwMDM5MUMyMS43MDAxIDAuMDQwMDM5MSAxMC41MDAxIDEwLjYgOS41MDAwNiAyNC4wNEgxNy41ODAxQzE4LjU4MDEgMTUuMDQgMjYuMTAwMSA4LjA0MDA0IDM1LjM4MDEgOC4wNDAwNEM0NS4zNDAxIDguMDQwMDQgNTMuMzgwMSAxNi4wOCA1My4zODAxIDI2LjA0QzUzLjM4MDEgMzYgNDUuMzQwMSA0NC4wNCAzNS4zODAxIDQ0LjA0QzM0LjcwMDEgNDQuMDQgMzQuMDYwMSA0My45MiAzMy4zODAxIDQzLjg0VjUxLjkyQzM0LjA2MDEgNTIgMzQuNzAwMSA1Mi4wNCAzNS4zODAxIDUyLjA0QzQxLjgyMDEgNTIuMDQgNDcuNzQwMSA0OS42OCA1Mi4zMDAxIDQ1Ljc2TDUzLjM4MDEgNDYuODhWNTAuMDRMNzMuMzgwMSA3MEw3OS4zNDAxIDY0LjA0TDU5LjM4MDEgNDQuMDRaIiBmaWxsPSIjNkZDMEZGIi8+CjxwYXRoIGQ9Ik0yMy4yNiAzMS4zMjAzTDEzLjM4IDQxLjIwMDNMMy41MDAwMyAzMS4zMjAzTDAuNjYwMDM0IDM0LjE2MDNMMTAuNTQgNDQuMDQwM0wwLjY2MDAzNCA1My45MjAzTDMuNTAwMDMgNTYuNzYwM0wxMy4zOCA0Ni44ODAzTDIzLjI2IDU2Ljc2MDNMMjYuMSA1My45MjAzTDE2LjIyIDQ0LjA0MDNMMjYuMSAzNC4xNjAzTDIzLjI2IDMxLjMyMDNaIiBmaWxsPSIjNkZDMEZGIi8+Cjwvc3ZnPgo=")}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"lib-search-not-found",template:'<img [src]="base64Image" />\n<span>No result found</span>\n',styles:[":host::ng-deep{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px;color:#979797}"]}]}],e.ctorParameters=function(){return[{type:I.DomSanitizer}]},e}();var ye=function(){function e(e,n){this.domSanitizer=e,this.uploadAssetService=n,this.documentExts=["pdf","zip","csv"],this.base64PNG={pdf:this.domSanitizer.bypassSecurityTrustUrl(he),zip:this.domSanitizer.bypassSecurityTrustUrl(fe),csv:this.domSanitizer.bypassSecurityTrustUrl(me)},this.checkError=new t.EventEmitter,this.fileChange=new t.EventEmitter,this.fileRemove=new t.EventEmitter,this.dataFile={name:"",size:0,ext:"",data:null,errors:{maxLength:!1,ext:!1,size:!1}}}return e.prototype.ngOnInit=function(){this.initDataFile()},e.prototype.initDataFile=function(){this.setDetailsFile(),this.setErrorFile()},e.prototype.setDetailsFile=function(){var e=this.file,t=e.name,n=e.size,i=this.uploadAssetService.getFiles.filter((function(e){return e.name===t})),A=t.split(".");i.length>1&&(A[0]=A[0]+"("+(i.length-1)+")"),this.dataFile.ext=A.splice(A.length-1,1)[0],this.dataFile.name=A.join("."),this.dataFile.size=n},e.prototype.setErrorFile=function(){var e=this,t=this.uploadAssetService,n=t.supportedTypes,i=t.supportedSize,A=t.fileNames,s=this.dataFile,o=s.name,a=s.ext,r=s.size;if(this.dataFile.errors={maxLength:o.length+a.length>199,ext:n.indexOf("."+a)<0,size:i<r},this.file.type.indexOf("image")>-1){var l=new FileReader;l.readAsDataURL(this.file),l.onload=function(t){var n=document.createElement("img");n.src=t.target.result,n.onload=function(){e.dataFile.data=e.domSanitizer.bypassSecurityTrustUrl(t.target.result)}}}A.push({name:o,valid:this.checkErrors()}),this.uploadAssetService.setErrorObs(this.uploadAssetService.errorFiles)},e.prototype.checkErrors=function(){var e=this.dataFile.errors,t=e.ext,n=e.size,i=e.maxLength;return!(t||n||i)},e.prototype.onChange=function(e){this.dataFile.name=e.target.value.trim();var t=this.dataFile,n=t.name,i=t.ext;this.dataFile.errors.maxLength=n.length+i.length>199,this.fileChange.emit({name:this.dataFile.name,valid:this.checkErrors()})},e.prototype.onRemove=function(){this.fileRemove.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"lib-file-item",template:'<div class="file-item__img">\n <ng-container\n *ngIf="\n file.type.indexOf(\'image\') > -1 || documentExts.indexOf(dataFile.ext) > -1;\n else defaultFile\n "\n >\n <img\n [class.image]="file.type.indexOf(\'image\') > -1"\n *ngIf="documentExts.indexOf(dataFile.ext) > -1 || dataFile.data"\n [src]="documentExts.indexOf(dataFile.ext) > -1 ? base64PNG[dataFile.ext] : dataFile.data"\n />\n </ng-container>\n <ng-template #defaultFile>\n <mat-icon>attach_file</mat-icon>\n </ng-template>\n</div>\n<div class="file-item__content">\n <input\n class="file-item__content--name"\n matInput\n placeholder="Enter file name"\n [value]="dataFile.name"\n required\n (input)="onChange($event)"\n />\n <div class="file-item__content--info">\n <div class="file-item__content--info__item">\n Extension: <span>{{ dataFile.ext }}</span>\n </div>\n <div class="file-item__content--info__item">\n Size: <span>{{ dataFile.size | fileSize }}</span>\n </div>\n </div>\n <div *ngIf="dataFile.errors.ext" class="file-item__error">\n {{ uploadAssetService.messageErrors[\'ext\'] }}\n {{ uploadAssetService.supportedTypes.join(\', \') }}\n </div>\n <div *ngIf="dataFile.errors.size" class="file-item__error">\n {{ uploadAssetService.messageErrors[\'size\'] }}\n {{ uploadAssetService.supportedSize | fileSize: 0 }}\n </div>\n <div *ngIf="dataFile.errors.maxLength" class="file-item__error">\n {{ uploadAssetService.messageErrors[\'maxLength\'] }}\n </div>\n</div>\n<div class="file-item__action">\n <mat-icon (click)="onRemove()">delete_outline</mat-icon>\n</div>\n',styles:[":host::ng-deep{padding:10px 5%;display:flex;justify-content:space-between;align-items:center;background-color:#f9f9f9;border-radius:10px}:host::ng-deep .file-item__img{display:flex;justify-content:center;align-items:center;width:250px;height:150px;border-radius:10px}:host::ng-deep .file-item__img img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}:host::ng-deep .file-item__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-item__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-item__content{flex:1;padding-left:5%;padding-right:5%}:host::ng-deep .file-item__content--name{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .file-item__content--info{margin-top:10px;display:flex}:host::ng-deep .file-item__content--info__item:not(:last-child){margin-right:50px}:host::ng-deep .file-item__content--info__item span{color:#000;text-transform:uppercase}:host::ng-deep .file-item__error{margin-top:10px;color:#f44336}:host::ng-deep .file-item__action{color:#f44336;cursor:pointer}"]}]}],e.ctorParameters=function(){return[{type:I.DomSanitizer},{type:se}]},e.propDecorators={file:[{type:t.Input}],checkError:[{type:t.Output}],fileChange:[{type:t.Output}],fileRemove:[{type:t.Output}]},e}();var Be=function(){function e(e){this.uploadAssetsService=e,this.revalidate=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.onFileChange=function(e){var t=this.uploadAssetsService.getFiles;this.uploadAssetsService.setFiles=T(t,e),document.getElementById("file-import").value=""},e.prototype.onDelFile=function(e){this.uploadAssetsService.deleteFile(e),this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.prototype.onChangeName=function(e,t){var n=e.name,i=e.valid;this.uploadAssetsService.fileNames[t]={name:n,valid:i},this.uploadAssetsService.setErrorObs(this.uploadAssetsService.errorFiles)},e.prototype.onEmitError=function(){this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.decorators=[{type:t.Component,args:[{selector:"lib-file-list",template:'<div class="file-list__heading">\n <div class="file-list__info">\n <h4 class="file-list__info--title">\n <span *ngIf="!uploadAssetsService.errorLength">\n {{\n uploadAssetsService?.getFiles?.length -\n uploadAssetsService.errorLength\n }}\n {{ uploadAssetsService?.getFiles?.length > 1 ? \'assets\' : \'asset\' }}\n ready to upload\n </span>\n <span *ngIf="uploadAssetsService.errorLength">\n {{ uploadAssetsService.errorLength }}\n {{ uploadAssetsService.errorLength > 1 ? \'assets\' : \'asset\' }}\n invalid, please remove it before upload</span\n >\n </h4>\n <div class="file-list__info--desc">\n Manage the assets before adding them to the Media Library\n </div>\n </div>\n <lib-input-file\n [acceptTypes]="uploadAssetsService?.supportedTypes?.join(\', \')"\n (onFileChange)="onFileChange($event)"\n color="primary"\n >\n <span>Add new assets</span>\n </lib-input-file>\n</div>\n<div class="file-list">\n <lib-file-item\n *ngFor="let file of uploadAssetsService?.getFiles; let i = index"\n [file]="file"\n (checkError)="onEmitError()"\n (fileRemove)="onDelFile(i)"\n (fileChange)="onChangeName($event, i)"\n ></lib-file-item>\n</div>\n',styles:[":host::ng-deep .file-list{padding-top:15px}:host::ng-deep .file-list__heading{display:flex;justify-content:space-between;align-items:center;padding-top:15px;padding-bottom:15px;position:-webkit-sticky;position:sticky;top:0;background-color:#fff}:host::ng-deep .file-list__info--title{font-size:16px;margin-bottom:5px;color:#000}:host::ng-deep lib-file-item{margin-bottom:20px}"]}]}],e.ctorParameters=function(){return[{type:se}]},e.propDecorators={revalidate:[{type:t.Output}]},e}();var Ie=function(){function e(e,n){this.domSanitizer=e,this.uploadAssetsService=n,this.base64Image=this.domSanitizer.bypassSecurityTrustUrl("data:image/png;base64,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"),this.revalidate=new t.EventEmitter,this.isDragging=!1}return e.prototype.ngOnInit=function(){},e.prototype.onFileChange=function(e){this.isDragging=!1;var t=this.uploadAssetsService.getFiles;this.uploadAssetsService.setFiles=T(t,e)},e.prototype.onEmitError=function(){this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.prototype.onDragover=function(e){this.isDragging=!0},e.prototype.onDragleave=function(e){this.isDragging=!1},e.decorators=[{type:t.Component,args:[{selector:"lib-upload-file",template:'<div\n class="upload-file__wrapper"\n [class.dragging]="isDragging"\n libDnDFile\n (imageDropped)="onFileChange($event)"\n (dragover)="onDragover($event)"\n (dragleave)="onDragleave($event)"\n>\n <div>\n <img [src]="base64Image" />\n <div class="upload-file__label">Drag and drop here or</div>\n </div>\n <lib-input-file\n [acceptTypes]="uploadAssetsService?.supportedTypes?.join(\', \')"\n (onFileChange)="onFileChange($event)"\n color="primary"\n >\n <span>Browse files</span>\n </lib-input-file>\n</div>\n',styles:[":host::ng-deep .upload-file__wrapper{margin-top:30px;margin-bottom:30px;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px dashed #017eff;border-radius:10px;box-sizing:border-box}:host::ng-deep .upload-file__wrapper lib-input-file{margin-top:30px}:host::ng-deep .upload-file__wrapper.dragging{background-color:#f5fcff}:host::ng-deep .upload-file__label{margin-top:30px;font-size:24px}:host::ng-deep .upload-file lib-file-item{margin-bottom:20px}:host::ng-deep .upload-file__upload{cursor:pointer}"]}]}],e.ctorParameters=function(){return[{type:I.DomSanitizer},{type:se}]},e.propDecorators={revalidate:[{type:t.Output}]},e}();var Ee=function(){function e(e,t,n,A){this.fb=e,this.data=t,this.dialogRef=n,this.fileService=A,this.isLoading=!1,this.errorMessage="",this.value="",this.destroy$=new b.Subject,this.form=new i.FormControl,this.formGroup=this.fb.group({name:["",[i.Validators.maxLength(200),i.Validators.required]]})}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"disabled",{get:function(){return!this.formGroup.controls.name.value||!!this.errorMessage||this.isLoading},enumerable:!0,configurable:!0}),e.prototype.onChange=function(e){this.errorMessage=""},e.prototype.addFolder=function(){var e=this,t=this.formGroup.controls.name.value;this.isLoading=!0,this.fileService.addFolder({parentAssetId:this.data.currentAssetId,folderName:t.trim()}).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){return e.closeDialog(!0)}),(function(t){e.isLoading=!1,e.errorMessage=t.ResponseMessage}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-add-folder-dialog",template:'<lib-modal heading="Add a folder">\n <ng-container content>\n <form (ngSubmit)="addFolder()" [formGroup]="formGroup" #form="ngForm">\n <input\n (input)="onChange($event)"\n matInput\n placeholder="Enter your folder name"\n autocomplete="off"\n required\n pattern=".*\\S+.*"\n formControlName="name"\n />\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.pattern">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.maxlength">\n The character limit is 200 characters\n </mat-error>\n <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n </form>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n mat-raised-button\n color="primary"\n (click)="addFolder()"\n [class.loading]="isLoading"\n [disabled]="disabled || !formGroup?.valid"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Add</span>\n </button>\n </ng-container>\n</lib-modal>\n',styles:[":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]}]}],e.ctorParameters=function(){return[{type:i.FormBuilder},{type:void 0,decorators:[{type:t.Inject,args:[A.MAT_DIALOG_DATA]}]},{type:A.MatDialogRef},{type:oe}]},e}();var Ce=function(){function e(e,t,n,A){this.fb=e,this.data=t,this.dialogRef=n,this.fileService=A,this.isLoading=!1,this.errorMessage="",this.value="",this.destroy$=new b.Subject,this.form=new i.FormControl,this.formGroup=this.fb.group({name:[this.data.name,[i.Validators.maxLength(200),i.Validators.required]]})}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"disabled",{get:function(){var e=this.formGroup.controls.name.value;return!e||!!this.errorMessage||e.toLowerCase().trim()===this.data.name.toLowerCase()||this.isLoading},enumerable:!0,configurable:!0}),e.prototype.onChange=function(e){this.errorMessage=""},e.prototype.editFolder=function(){var e=this,t=this.formGroup.controls.name.value;this.isLoading=!0,this.fileService.updateFile({assetId:this.data.assetId,fileName:t.trim()}).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){return e.closeDialog(!0)}),(function(t){e.isLoading=!1,e.errorMessage=t.ResponseMessage}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-edit-folder-dialog",template:'<lib-modal heading="Rename folder">\n <ng-container content>\n <form (ngSubmit)="editFolder()" [formGroup]="formGroup" #form="ngForm">\n <input\n matInput\n required\n autocomplete="off"\n formControlName="name"\n (input)="onChange($event)"\n placeholder="Enter your folder name"\n pattern=".*\\S+.*"\n />\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.pattern">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.maxlength">\n The character limit is 200 characters\n </mat-error>\n <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n </form>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n mat-raised-button\n color="primary"\n (click)="editFolder()"\n [class.loading]="isLoading"\n [disabled]="disabled || !formGroup?.valid"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Update</span>\n </button>\n </ng-container>\n</lib-modal>\n',styles:[":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]}]}],e.ctorParameters=function(){return[{type:i.FormBuilder},{type:void 0,decorators:[{type:t.Inject,args:[A.MAT_DIALOG_DATA]}]},{type:A.MatDialogRef},{type:oe}]},e}();var we=function(){function e(e,t,n,i){this.data=e,this.dialogRef=t,this.fileService=n,this.assetService=i,this.isLoading=!1,this.destroy$=new b.Subject}return e.prototype.ngOnInit=function(){},e.prototype.delete=function(){var e=this;this.isLoading=!0,this.fileService.deleteFile(this.data.ids).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.handleAssetPaging(),e.isLoading=!1,e.closeDialog(!0)}),(function(t){e.isLoading=!1,console.log("deleted fail",t)}))},e.prototype.handleAssetPaging=function(){var e=this;this.assetService.getAssetList().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&t.length===e.data.ids.length&&e.assetService.pageIndex>0&&e.assetService.pageIndex--}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-delete-dialog",template:'<ng-container *ngIf="data?.type === \'folder\'">\n <lib-modal heading="Delete folder">\n <ng-container content>\n <div>\n Are you sure you want to delete folder{{ \' \' }}\n <strong class="file__name">{{ data.name }}</strong\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-container *ngIf="data?.type === \'file\'">\n <lib-modal heading="Delete file">\n <ng-container content>\n <div>\n Are you sure you want to delete file{{ \' \' }}\n <strong class="file__name">{{ \' \' }}{{ data.name }}</strong\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-container *ngIf="data?.type === \'files\'">\n <lib-modal heading="Delete files">\n <ng-container content>\n <div>\n Are you sure you want to delete\n <strong *ngIf="data?.ids?.length > 1; else singular"\n >{{ data?.ids?.length }} files</strong\n >\n <ng-template #singular>\n <strong>{{ data?.ids?.length }} file</strong> </ng-template\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-template #deleteAction>\n <button mat-raised-button mat-dialog-close>No</button>\n <button\n mat-raised-button\n color="warn"\n (click)="delete()"\n class="file__button delete__action"\n [class.loading]="isLoading"\n [disabled]="isLoading"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Yes</span>\n </button>\n</ng-template>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[A.MAT_DIALOG_DATA]}]},{type:A.MatDialogRef},{type:oe},{type:G}]},e}();var Qe=function(){function e(e,t,n,i){this.data=e,this.dialogRef=t,this.changeDetectorRef=n,this.uploadAssetsService=i,this.isLoading=!1,this.disabled=!0,this.destroy$=new b.Subject,this.data.fileType&&(this.uploadAssetsService.supportedTypes="Image"===this.data.fileType?T(this.uploadAssetsService.imageExtension):T(this.uploadAssetsService.documentExtension)),this.data.maxSize&&(this.uploadAssetsService.supportedSize=1024*this.data.maxSize*1024)}return e.prototype.ngOnInit=function(){var e=this;this.uploadAssetsService.getErrorObs().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.disabled=t,e.changeDetectorRef.detectChanges()}))},e.prototype.onValidate=function(e){this.disabled=e},e.prototype.uploadFiles=function(){var e=this;this.isLoading=!0,this.uploadAssetsService.uploadMultipleAssets(this.data.currentAssetId).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&e.closeDialog(!0)}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-upload-dialog",template:'<lib-modal heading="Add new assets">\n <ng-container content>\n <lib-upload-file\n *ngIf="!uploadAssetsService?.getFiles?.length"\n (revalidate)="onValidate($event)"\n ></lib-upload-file>\n <lib-file-list\n *ngIf="uploadAssetsService?.getFiles?.length"\n (revalidate)="onValidate($event)"\n ></lib-file-list>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n class="upload__action"\n [class.loading]="isLoading"\n mat-raised-button\n color="primary"\n (click)="uploadFiles()"\n [disabled]="disabled || isLoading"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Upload</span>\n </button>\n </ng-container>\n</lib-modal>\n',providers:[se],styles:[":host::ng-deep{display:block;width:1200px;max-width:100%;font-size:14px;line-height:16px;color:#979797;letter-spacing:.15px}:host::ng-deep .mat-dialog-title{position:relative;margin-bottom:0;padding-bottom:24px;color:#000}:host::ng-deep .mat-dialog-actions{justify-content:flex-end;padding:24px 0 0}:host::ng-deep .upload__action{min-width:100px}:host::ng-deep .upload__action.loading{padding:0 5px}:host::ng-deep .upload__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .upload__action.loading .mat-spinner{margin-right:10px}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[E.MAT_DIALOG_DATA]}]},{type:E.MatDialogRef},{type:t.ChangeDetectorRef},{type:se}]},e}();var De=function(){function e(e,t){this.dialog=e,this.svc=t}return e.prototype.ngOnInit=function(){},e.prototype.openFolder=function(){this.svc.dispatch({type:Z,payload:this.folder.AssetId})},e.prototype.renameFolder=function(){var e=this;this.dialog.open(Ce,{data:{assetId:this.folder.AssetId,name:this.folder.OriginalFileName},panelClass:"lib-dialog--small"}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:_})}))},e.prototype.deleteFolder=function(){var e=this;this.dialog.open(we,{data:{type:"folder",ids:[this.folder.AssetId],name:this.folder.OriginalFileName},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:_})}))},e.decorators=[{type:t.Component,args:[{selector:"lib-folder-item",template:'<div class="folder" (dblclick)="openFolder()">\n <mat-icon class="folder__icon">folder</mat-icon>\n <span class="folder__name" [matTooltip]="folder.OriginalFileName">\n {{ folder.OriginalFileName }}\n </span>\n <mat-icon class="folder__action" [matMenuTriggerFor]="menu"\n >more_vert</mat-icon\n >\n</div>\n<mat-menu #menu="matMenu">\n <button mat-menu-item (click)="renameFolder()">\n <mat-icon>edit_outline</mat-icon> <span>Rename</span>\n </button>\n <button mat-menu-item (click)="deleteFolder()">\n <mat-icon color="warn">delete_outline</mat-icon> <span>Delete</span>\n </button>\n</mat-menu>\n',styles:[":host::ng-deep .folder{width:180px;height:50px;display:flex;position:relative;align-items:center;padding:5px 20px 5px 10px;border-radius:10px;cursor:pointer;transition:.3s}:host::ng-deep .folder:hover{background-color:#f1f1f1}:host::ng-deep .folder:hover .folder__action{display:block}:host::ng-deep .folder__icon{display:flex;align-items:center;color:#6fc0ff;font-size:38px;margin-right:20px}:host::ng-deep .folder__name{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .folder__action{display:none;right:0;position:absolute;color:#979797;transition:.3s}:host::ng-deep .folder__action:hover{color:#000}"]}]}],e.ctorParameters=function(){return[{type:A.MatDialog},{type:Y}]},e.propDecorators={folder:[{type:t.Input}]},e}();var xe=function(){function e(){this.loading=!1,this.unsubscribe$=new B.Subject,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.prototype.bindSubscriber=function(){var e=this;ie((function(e){return e.globalLoading})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.loading=t}))},e.decorators=[{type:t.Component,args:[{selector:"lib-folder-list",template:'<div class="folder-container">\n <h6>Folders</h6>\n <div class="folder-list custom-scrollbar">\n <lib-folder-item\n *ngFor="let folder of folders"\n [folder]="folder"\n ></lib-folder-item>\n </div>\n <div class="folder-empty" *ngIf="folders && !folders.length">\n <span>This folder is empty.</span>\n </div>\n</div>\n',styles:[":host::ng-deep .folder-container h6{color:#979797}:host::ng-deep .folder-container .folder-list{display:flex;flex-wrap:nowrap;overflow:auto;padding-bottom:10px}:host::ng-deep .folder-container .folder-empty{text-align:center;color:#979797;font-size:14px}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={folders:[{type:t.Input}]},e}();var Se=function(){function e(e,t){this.assetService=e,this.svc=t,this.unsubscribe$=new B.Subject,this.selectedAssets=[]}return e.prototype.ngOnInit=function(){this.bindSubscriber()},e.prototype.ngOnChanges=function(e){e.assets&&(this.paginator.pageIndex=this.assetService.pageIndex,this.paginator.pageSize=this.assetService.pageSize,this.paginator.length=this.assetService.fileTotal)},e.prototype.onSelectAsset=function(e){var t=this.selectedAssets.findIndex((function(t){return t.AssetId===e.AssetId})),n=t>-1?this.selectedAssets.filter((function(e,n){return t!==n})):T(this.selectedAssets,[e]);this.svc.dispatch({type:V,payload:n})},e.prototype.bindSubscriber=function(){var e=this;ie((function(e){return e.deletedAssetId})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){if(e.selectedAssets&&e.selectedAssets.length){var n=e.selectedAssets.filter((function(e){return e.AssetId!==t}));e.svc.dispatch({type:V,payload:n})}})),ie((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.currentFolderId=t,e.svc.dispatch({type:V,payload:[]})})),ie((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.selectedAssets=t})),ie((function(e){return e.reloadCurrentAssets})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return C.of(e)}))).subscribe((function(){e.fetchChildrenAssets()}))},e.prototype.pageChange=function(e){this.assetService.pageSize=e.pageSize,this.assetService.pageIndex=e.pageIndex,this.fetchChildrenAssets()},e.prototype.fetchChildrenAssets=function(){var e=this;this.currentFolderId&&(this.svc.dispatch({type:W,payload:!0}),this.assetService.getChildrenAssets({assetId:this.currentFolderId}).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assetService.setAssetList(t.Data.Children,t.Meta)})).add((function(){e.svc.dispatch({type:W,payload:!1})})))},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-list",template:'<div class="asset-container">\n <div class="asset-heading">\n <h6 class="asset-heading__title">Files</h6>\n <lib-sort-items\n [hidden]="!assets?.length"\n class="asset-heading__sort"\n ></lib-sort-items>\n </div>\n <ng-container *ngIf="assets && !assets.length; else assetsTemplate">\n <div class="asset-empty">\n <span>This asset is empty.</span>\n </div>\n </ng-container>\n <ng-template #assetsTemplate>\n <div class="asset-list">\n <lib-asset-item\n class="asset-list__item"\n *ngFor="let asset of assets"\n [asset]="asset"\n (selectAsset)="onSelectAsset($event)"\n >\n </lib-asset-item>\n </div>\n </ng-template>\n <div [hidden]="!assets?.length">\n <mat-paginator\n #paginator\n [pageSizeOptions]="[12, 24, 60, 120]"\n (page)="pageChange($event)"\n [showFirstLastButtons]="true"\n >\n </mat-paginator>\n </div>\n</div>\n',styles:[":host::ng-deep .asset-container .asset-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}:host::ng-deep .asset-container .asset-heading__title{margin-bottom:0;color:#979797}:host::ng-deep .asset-container .asset-list{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;margin:0 -5px}:host::ng-deep .asset-container .asset-list__item{width:25%}@media only screen and (max-width:1200px){:host::ng-deep .asset-container .asset-list__item{width:calc(100% / 3)}}@media only screen and (max-width:960px){:host::ng-deep .asset-container .asset-list__item{width:50%}}:host::ng-deep .asset-container .asset-empty{text-align:center;color:#979797;font-size:14px}"]}]}],e.ctorParameters=function(){return[{type:G},{type:Y}]},e.propDecorators={paginator:[{type:t.ViewChild,args:[d.MatPaginator,{static:!0}]}],assets:[{type:t.Input}]},e}();var Me=function(){function e(){this.units=["bytes","KB","MB","GB","TB","PB"]}return e.prototype.transform=function(e,t){if(void 0===e&&(e=0),void 0===t&&(t=2),isNaN(parseFloat(String(e)))||!isFinite(e))return"?";for(var n=0;e>=1024;)e/=1024,n++;return e.toFixed(+t)+" "+this.units[n]},e.decorators=[{type:t.Pipe,args:[{name:"fileSize"}]}],e}();var Fe=function(){function e(e,t,n,i,A,s,o,a,r,l){this._env=e,this.dialog=t,this.data=n,this.dialogRef=i,this.fileSize=A,this.uploadAssetsService=s,this.assetsService=o,this.fileService=a,this.domSanitizer=r,this.svc=l,this.fileName="",this.description="",this.linkDownload="",this.isCopied=!1,this.errorMessage="",this.patternError=!1,this.replaceMessage="",this.destroy$=new b.Subject,this.base64PNG={pdf:this.domSanitizer.bypassSecurityTrustUrl(he),zip:this.domSanitizer.bypassSecurityTrustUrl(fe),csv:this.domSanitizer.bypassSecurityTrustUrl(me),default:this.domSanitizer.bypassSecurityTrustUrl(be)},this.isLoading=!0,this.isUpdating=!1,this.fileType=P}return e.prototype.ngOnInit=function(){this.uploadAssetsService.supportedSize=1024*this.assetsService.maxSize*1024,this.linkDownload=this._env.asset2Url+"/File/Download/"+this.data.assetId,this.getAssetDetail()},Object.defineProperty(e.prototype,"disabled",{get:function(){return!this.fileName.length||this.fileName.length+this.assetDetails.Extension.length>199||!!this.errorMessage||this.patternError||this.isUpdating},enumerable:!0,configurable:!0}),e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.getAssetDetail=function(){var e=this;this.fileService.getFileDetail(this.data.assetId).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&(e.isLoading=!1,e.assetDetails=t.Data,e.fileName=e.assetDetails.OriginalFileNameWithoutExtension,e.description=e.assetDetails.Description,e.acceptTypes=["."+e.assetDetails.Extension.toLowerCase()])}))},e.prototype.updateAsset=function(){var e=this;this.isUpdating=!0,this.fileService.updateFile({assetId:this.assetDetails.AssetId,fileName:this.fileName.trim(),description:this.description&&this.description.trim()}).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.isUpdating=!1,e.closeDialog(!0)}),(function(t){e.errorMessage=t.ResponseMessage,e.isUpdating=!1}))},e.prototype.deleteAsset=function(){var e=this;this.dialog.open(we,{data:{type:"file",ids:[this.assetDetails.AssetId],name:this.assetDetails.OriginalFileNameWithoutExtension},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&(e.closeDialog(!0),e.svc.dispatch({type:K,payload:e.assetDetails.AssetId}))}))},e.prototype.replaceAsset=function(e){var t=this;this.validateFile(e[0])&&(this.isLoading=!0,this.fileService.replaceAsset(this.assetDetails.AssetId,e[0]).pipe(y.takeUntil(this.destroy$)).subscribe((function(e){t.svc.dispatch({type:q}),t.getAssetDetail()}),(function(e){t.isLoading=!1,t.replaceMessage=e.ResponseMessage})))},e.prototype.validateFile=function(e){if(this.replaceMessage="",e){var t=this.matchExt(e.type),n=[];if(this.acceptTypes.indexOf(t)<0){var i=this.uploadAssetsService.messageErrors.replace+" "+this.acceptTypes.join(", ");n.push(i)}if(this.uploadAssetsService.supportedSize<e.size){var A=this.fileSize.transform(this.uploadAssetsService.supportedSize,0);n.push(this.uploadAssetsService.messageErrors.size+" "+A)}return n.length&&(this.replaceMessage=n.join("<br/>")),!n.length}},e.prototype.matchExt=function(e){var t="."+e.split("/")[1].toLowerCase();switch(t){case".jpeg":return".jpg";case".svg+xml":return".svg";default:return t}},e.prototype.onChangeName=function(e){this.fileName=e.target.value,this.errorMessage="",this.patternError=this.fileName&&!this.fileName.match(/.*\S+.*/)},e.prototype.onChangeDescription=function(e){this.description=e.target.value},e.prototype.copyText=function(e){var t=this,n=document.createElement("textarea");n.style.position="fixed",n.style.left="0",n.style.top="0",n.style.opacity="0",n.value=e,document.body.appendChild(n),n.focus(),n.select(),document.execCommand("copy"),document.body.removeChild(n),this.isCopied=!0,this.timer=setTimeout((function(){t.isCopied=!1}),1e3)},e.prototype.ngOnDestroy=function(){clearTimeout(this.timer),this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-dialog",template:'<lib-modal\n [heading]="assetDetails?.OriginalFileNameWithoutExtension || data?.name"\n>\n <ng-container content>\n <div *ngIf="isLoading; else contentAsset" class="file-details__loading">\n <div>\n <mat-spinner></mat-spinner>\n </div>\n </div>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n class="update__action"\n [class.loading]="isUpdating"\n mat-raised-button\n color="primary"\n (click)="updateAsset()"\n [disabled]="disabled"\n >\n <ng-container *ngIf="isUpdating">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Update</span>\n </button>\n </ng-container>\n</lib-modal>\n<ng-template #contentAsset>\n <div class="file-details__item">\n <div class="file-details__image">\n <div class="file-details__image--heading">\n <mat-error\n *ngIf="replaceMessage"\n [innerHTML]="replaceMessage"\n ></mat-error>\n <div class="file-details__action">\n <lib-input-file\n matTooltip="Replace"\n [acceptTypes]="acceptTypes.join(\', \')"\n (onFileChange)="replaceAsset($event)"\n [multiple]="false"\n >\n <mat-icon class="icon-sync">sync</mat-icon>\n </lib-input-file>\n <a [href]="linkDownload" matTooltip="Download" mat-raised-button>\n <mat-icon class="icon-download">get_app</mat-icon>\n </a>\n <button matTooltip="Delete" mat-raised-button (click)="deleteAsset()">\n <mat-icon class="icon-delete">delete_outline</mat-icon>\n </button>\n </div>\n </div>\n <div class="file-details__img">\n <ng-container\n *ngIf="\n assetDetails?.FileType === fileType.DOCUMENT ||\n assetDetails?.FileType === fileType.IMAGE;\n else defaultFile\n "\n >\n <img\n [class.image]="assetDetails?.FileType === fileType.IMAGE"\n [src]="\n assetDetails?.FileType === fileType.IMAGE\n ? assetDetails?.UrlDetail\n : ( base64PNG[assetDetails?.Extension] || base64PNG.default )\n "\n [alt]="assetDetails?.FilePath"\n />\n </ng-container>\n <ng-template #defaultFile>\n <mat-icon>attach_file</mat-icon>\n </ng-template>\n </div>\n </div>\n </div>\n <div class="file-details__item">\n <div class="file-details__info">\n <div class="file-details__info--name">\n <div class="file-details__label">File name</div>\n <input\n class="file-details__input"\n matInput\n placeholder="Enter your folder name"\n [value]="fileName"\n required\n (input)="onChangeName($event)"\n />\n <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n <mat-error *ngIf="patternError">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf="fileName?.length + assetDetails.Extension.length > 199">\n The character limit is 200 characters\n </mat-error>\n </div>\n <div class="file-details__info--description">\n <div class="file-details__label">Description</div>\n <textarea\n class="file-details__textarea custom-scrollbar"\n matInput\n placeholder="Enter description"\n [value]="description"\n (input)="onChangeDescription($event)"\n maxlength="200"\n rows="3"\n >\n </textarea>\n </div>\n\n <div class="file-details__info--details">\n <div class="file-details__info--size">\n <div class="file-details__label">Size</div>\n <div>{{ assetDetails?.Size }}</div>\n </div>\n <div class="file-details__info--ext">\n <div class="file-details__label">Extension</div>\n <div>{{ assetDetails?.Extension }}</div>\n </div>\n <div class="file-details__info--date">\n <div class="file-details__label">Created date</div>\n <div>{{ assetDetails?.CreatedDate | localDate }}</div>\n </div>\n <div class="file-details__info--date">\n <div class="file-details__label">Updated date</div>\n <div>\n {{ assetDetails?.ModifiedDate | localDate }}\n </div>\n </div>\n <div\n *ngIf="\n assetDetails?.FileType === fileType.IMAGE &&\n assetDetails?.Extension !== \'svg\'\n "\n class="file-details__info--dimension"\n >\n <div class="file-details__label">Dimensions</div>\n <div>{{ assetDetails?.Width }}x{{ assetDetails?.Height }}</div>\n </div>\n </div>\n <div class="file-details__link">\n <div class="file-details__label">Public Url</div>\n <div class="break-word">\n <span>{{ assetDetails?.CloudUrl }}&nbsp;&nbsp;</span>\n <mat-icon matTooltip="Copy" (click)="copyText(assetDetails?.CloudUrl)"\n >content_copy</mat-icon\n >\n </div>\n </div>\n <span class="file-details__copy" [class.visible]="isCopied">Copied!</span>\n </div>\n </div>\n</ng-template>\n',providers:[Me],styles:[":host::ng-deep .mat-dialog-content{position:relative;display:flex;flex:1;justify-content:space-between;align-items:flex-start;font-size:14px;line-height:24px;color:#000;min-height:400px}:host::ng-deep .file-details__loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1}:host::ng-deep .file-details__item{width:50%;padding:20px 10px;position:relative}:host::ng-deep .file-details__image{padding:20px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:10px}:host::ng-deep .file-details__image--heading{display:flex;justify-content:flex-end}:host::ng-deep .file-details__image--heading .mat-error{flex:1;margin-top:0}:host::ng-deep .file-details__action{margin-bottom:20px}:host::ng-deep .file-details__action>*{margin-left:10px}:host::ng-deep .file-details__action .mat-button-base{padding:0;min-width:40px}:host::ng-deep .file-details__action .icon-download,:host::ng-deep .file-details__action .icon-sync{color:#979797}:host::ng-deep .file-details__action .icon-delete{color:#f44336}:host::ng-deep .file-details__img{position:relative;padding-bottom:66.66%;text-align:center}:host::ng-deep .file-details__img img{max-width:100%;max-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host::ng-deep .file-details__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-details__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-details__info{position:relative}:host::ng-deep .file-details__info--name{padding-bottom:20px;position:relative}:host::ng-deep .file-details__info--name .mat-error{margin-top:0;position:absolute;left:0;bottom:0;font-size:13px;line-height:20px}:host::ng-deep .file-details__info--description{padding-bottom:10px}:host::ng-deep .file-details__info--details{display:flex;flex-wrap:wrap;flex:1}:host::ng-deep .file-details__info--details>*{width:50%;margin-top:10px}:host::ng-deep .file-details__input,:host::ng-deep .file-details__textarea{margin-top:7px}:host::ng-deep .file-details__link{margin-top:15px}:host::ng-deep .file-details__link .mat-icon{font-size:16px;cursor:pointer}:host::ng-deep .file-details__label{color:#979797}:host::ng-deep .file-details__copy{opacity:0;position:absolute;top:50%;left:50%;background-color:rgba(0,0,0,.5);color:#fff;padding:15px;border-radius:5px;transform:translate(-50%,-50%)}:host::ng-deep .file-details__copy.visible{opacity:1}:host::ng-deep .update__action{min-width:100px}:host::ng-deep .update__action.loading{padding:0 5px}:host::ng-deep .update__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .update__action.loading .mat-spinner{margin-right:10px}:host::ng-deep .break-word{word-break:break-word}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[R]}]},{type:A.MatDialog},{type:void 0,decorators:[{type:t.Inject,args:[A.MAT_DIALOG_DATA]}]},{type:A.MatDialogRef},{type:Me},{type:se},{type:G},{type:oe},{type:I.DomSanitizer},{type:Y}]},e}();var Oe=function(){function e(e,n,i,A){this.dialog=e,this.domSanitizer=n,this.svc=i,this.assetService=A,this.selectAsset=new t.EventEmitter,this.base64PNG={pdf:this.domSanitizer.bypassSecurityTrustUrl(he),zip:this.domSanitizer.bypassSecurityTrustUrl(fe),csv:this.domSanitizer.bypassSecurityTrustUrl(me),default:this.domSanitizer.bypassSecurityTrustUrl(be)},this.selectedAssets=[],this.fileType=P,this.destroy$=new b.Subject,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"checkSelectedAsset",{get:function(){var e=this;return this.selectedAssets&&this.selectedAssets.some((function(t){return t.AssetId===e.asset.AssetId}))},enumerable:!0,configurable:!0}),e.prototype.bindSubscriber=function(){var e=this;ie((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.selectedAssets=t}))},e.prototype.onChange=function(){this.selectAsset.emit(this.asset)},e.prototype.editAsset=function(){var e=this,t=this.dialog.open(Fe,{autoFocus:!1,data:{assetId:this.asset.AssetId,name:this.asset.OriginalFileNameWithoutExtension},panelClass:"lib-dialog--medium"});t&&t.afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:q})}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-item",template:'<div class="asset-wrapper">\n <div class="asset-content">\n <div class="asset-content__header">\n <button class="asset-content__header--button" mat-raised-button (click)="onChange()">\n <mat-checkbox\n class="checkbox"\n [checked]="checkSelectedAsset"\n ></mat-checkbox>\n </button>\n <button\n class="asset-content__header--button edit-button"\n mat-raised-button\n (click)="editAsset()"\n >\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div class="asset-content__body">\n <ng-container [ngSwitch]="asset.FileType">\n <ng-container *ngSwitchCase="fileType.IMAGE">\n <img\n class="image"\n [src]="asset.UrlThumbnail"\n [alt]="asset.OriginalFileName"\n />\n </ng-container>\n <ng-container *ngSwitchCase="fileType.DOCUMENT">\n <img [src]="base64PNG[asset.Extension] || base64PNG.default" [alt]="asset.OriginalFileName" class="file" />\n </ng-container>\n </ng-container>\n </div>\n <div class="asset-content__footer">\n <div\n class="asset-content__footer--info"\n [ngClass]="{\n \'file-type__document\': asset.FileType === fileType.DOCUMENT\n }"\n >\n <p\n class="name"\n [matTooltip]="asset.OriginalFileNameWithoutExtension"\n matTooltipClass="width-auto"\n >\n {{ asset.OriginalFileNameWithoutExtension }}\n </p>\n <p class="info">\n <span class="extension">{{ asset.Extension }}</span>\n <span\n *ngIf="\n asset.FileType === fileType.IMAGE && asset?.Extension !== \'svg\'\n "\n >\n - {{ asset.Width }}x{{ asset.Height }}</span\n >\n <span *ngIf="asset.Size"> - {{ asset.Size }}</span>\n </p>\n </div>\n <div class="asset-content__footer--file-type">\n <span>{{ asset.FileType }}</span>\n </div>\n </div>\n </div>\n</div>\n',styles:[":host::ng-deep .asset-wrapper{padding:5px}:host::ng-deep .asset-wrapper .asset-content{overflow:hidden;position:relative;border-radius:10px;border:1px solid #d8d8d8;font-size:14px;transition:.3s cubic-bezier(.25,.8,.25,1)}:host::ng-deep .asset-wrapper .asset-content:hover{box-shadow:0 0 8px rgba(0,0,0,.17),0 0 0 rgba(0,0,0,.06)}:host::ng-deep .asset-wrapper .asset-content__header{position:absolute;z-index:1;top:0;left:0;width:100%;display:flex;justify-content:space-between;padding:14px}:host::ng-deep .asset-wrapper .asset-content__header--button{width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;text-align:center;color:rgba(0,0,0,.65);background:rgba(255,255,255,.6)}:host::ng-deep .asset-wrapper .asset-content__header--button:hover{background:#fff}:host::ng-deep .asset-wrapper .asset-content__header--button.edit-button{transition:.3s cubic-bezier(.25,.8,.25,1);opacity:0}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-icon{font-size:22px}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox{pointer-events:none;display:flex;align-items:center}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox .mat-checkbox-layout{display:block;margin:0}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox .mat-checkbox-layout .mat-checkbox-frame{color:#767676}:host::ng-deep .asset-wrapper .asset-content__body{padding-bottom:66.66%;background:#f1f1f1;position:relative}:host::ng-deep .asset-wrapper .asset-content__body img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host::ng-deep .asset-wrapper .asset-content__body img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .asset-wrapper .asset-content__body img.file{width:75%;height:75%}:host::ng-deep .asset-wrapper .asset-content__footer{display:flex;align-items:center;justify-content:space-between;padding:5px 8px}:host::ng-deep .asset-wrapper .asset-content__footer--info{max-width:calc(100% - 50px)}:host::ng-deep .asset-wrapper .asset-content__footer--info p{margin:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .asset-wrapper .asset-content__footer--info .info{font-size:12px;color:#979797}:host::ng-deep .asset-wrapper .asset-content__footer--info .info .extension{text-transform:uppercase}:host::ng-deep .asset-wrapper .asset-content__footer--info.file-type__document{max-width:calc(100% - 70px)}:host::ng-deep .asset-wrapper .asset-content__footer--file-type{border-radius:5px;background-color:#d8d8d8;padding:2px 6px;font-size:12px}:host::ng-deep .asset-wrapper .asset-content:hover .edit-button{opacity:1!important}"]}]}],e.ctorParameters=function(){return[{type:A.MatDialog},{type:I.DomSanitizer},{type:Y},{type:G}]},e.propDecorators={asset:[{type:t.Input}],selectAsset:[{type:t.Output}]},e}();var ze=function(){function e(e,t){this._treeControl=e,this._database=t,this.dataChange=new b.BehaviorSubject([])}return Object.defineProperty(e.prototype,"data",{get:function(){return this.dataChange.value},set:function(e){this._treeControl.dataNodes=e,this.dataChange.next(e)},enumerable:!0,configurable:!0}),e.prototype.connect=function(e){var t=this;return this._treeControl.expansionModel.changed.subscribe((function(e){(e.added||e.removed)&&t.handleTreeControl(e)})),b.merge(e.viewChange,this.dataChange).pipe(y.map((function(){return t.data})))},e.prototype.disconnect=function(e){},e.prototype.handleTreeControl=function(e){var t=this;e.added&&e.added.forEach((function(e){return F(t,void 0,void 0,(function(){return O(this,(function(t){switch(t.label){case 0:return[4,this.toggleNode(e,!0)];case 1:return[2,t.sent()]}}))}))})),e.removed&&e.removed.slice().reverse().forEach((function(e){return F(t,void 0,void 0,(function(){return O(this,(function(t){switch(t.label){case 0:return[4,this.toggleNode(e,!1)];case 1:return[2,t.sent()]}}))}))}))},e.prototype.toggleNode=function(e,t){return F(this,void 0,void 0,(function(){var n,i,A,s,o,a,r=this;return O(this,(function(l){switch(l.label){case 0:return e?(e.isLoading=!0,(i=this.data.indexOf(e))<0?[2]:t?[4,this._database.getChildren(e.item)]:[3,2]):[2];case 1:return(A=l.sent())?(s=A.Children.map((function(t){return r._database.addNode(t,e.item.AssetId),new k(t,e.level+1,r._database.isExpandable(t))})),(n=this.data).splice.apply(n,T([i+1,0],s)),[3,3]):[2];case 2:for(o=0,a=i+1;a<this.data.length&&this.data[a].level>e.level;a++,o++);this.data.splice(i+1,o),l.label=3;case 3:return e.isLoading=!1,this.dataChange.next(this.data),[2]}}))}))},e.prototype.reloadNode=function(e){return F(this,void 0,void 0,(function(){var t,n,i,A,s,o,a=this;return O(this,(function(r){switch(r.label){case 0:return e?[4,this._database.getChildren(e.item)]:[2];case 1:if(n=r.sent(),i=this.data.indexOf(e),!n||i<0)return[2];for(A=0,s=i+1;s<this.data.length&&this.data[s].level>e.level;s++,A++);return this.data.splice(i+1,A),o=n.Children.map((function(t){return new k(t,e.level+1,a._database.isExpandable(t))})),(t=this.data).splice.apply(t,T([i+1,0],o)),this.dataChange.next(this.data),[2]}}))}))},e}();var Te=function(){function e(e,t,n){this.nodeTreeService=e,this.svc=t,this.changeDetectorRef=n,this.isRoot=!1,this.homeLoading=!1,this.loading=!1,this.unsubscribe$=new b.Subject,this.getLevel=function(e){return e.level},this.isExpandable=function(e){return e.expandable},this.hasChild=function(e,t){return t.expandable},this.treeControl=new w.FlatTreeControl(this.getLevel,this.isExpandable),this.dataSource=new ze(this.treeControl,e)}return e.prototype.ngOnInit=function(){this.bindSubscriber(),this.initialData()},e.prototype.initialData=function(){return F(this,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.nodeTreeService.initialData({dispatchRootId:!0})];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.prototype.bindSubscriber=function(){var e=this;this.nodeTreeService.loading$.pipe(y.takeUntil(this.unsubscribe$),y.distinctUntilChanged()).subscribe((function(t){e.homeLoading=t,e.changeDetectorRef.detectChanges()})),this.nodeTreeService.initialData$.pipe(y.takeUntil(this.unsubscribe$),y.distinctUntilChanged()).subscribe((function(t){var n=(e.nodeTreeService.rootFolder||{AssetId:null}).AssetId;e.isRoot=n&&e.currentFolderId===n,e.dataSource.data=t,t.forEach((function(t){return e.nodeTreeService.addNode(t.item,null)})),e.changeDetectorRef.detectChanges()})),this.dataSource.dataChange.pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){t&&t.length&&e.changeDetectorRef.detectChanges()})),ie((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){return F(e,void 0,void 0,(function(){var e;return O(this,(function(n){switch(n.label){case 0:return t?(e=(this.nodeTreeService.rootFolder||{AssetId:null}).AssetId,this.isRoot=e&&t===e,this.currentFolderId=t,[4,this.nodeTreeService.updateBreadcrumb(t)]):[3,2];case 1:n.sent(),this.changeDetectorRef.detectChanges(),n.label=2;case 2:return[2]}}))}))})),ie((function(e){return e.reloadCurrentFolder})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(){return F(e,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.handleReloadFolder(this.currentFolderId)];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))}))},e.prototype.selectNode=function(e){return F(this,void 0,void 0,(function(){var t;return O(this,(function(n){switch(n.label){case 0:return(t=e.item.AssetId)===this.currentFolderId?this.svc.dispatch({type:ee}):this.svc.dispatch({type:Z,payload:t}),[4,this.handleReloadFolder(t)];case 1:return n.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.prototype.backToHome=function(){this.initialData();var e=this.nodeTreeService.rootFolder.AssetId;this.currentFolderId===e&&this.svc.dispatch({type:ee})},e.prototype.checked=function(e){return this.currentFolderId&&this.currentFolderId===e.item.AssetId},e.prototype.disabled=function(e){return e.expandable},e.prototype.getParent=function(e){var t=this.getLevel(e);if(t<1)return null;for(var n=this.dataSource.data.indexOf(e)-1;n>=0;n--){var i=this.dataSource.data[n];if(this.getLevel(i)<t)return i}},e.prototype.getNodeById=function(e){return this.treeControl.dataNodes.find((function(t){return t.item.AssetId===e}))},e.prototype.handleReloadFolder=function(e){return F(this,void 0,void 0,(function(){var t,n,i;return O(this,(function(A){switch(A.label){case 0:return!e||this.loading?[2]:(this.loading=!0,(t=this.getNodeById(e))?(n=this.getParent(t))?[4,this.dataSource.reloadNode(n)]:[3,4]:[3,8]);case 1:return A.sent(),(i=this.getNodeById(e))?[4,this.treeControl.expand(i)]:[3,3];case 2:A.sent(),A.label=3;case 3:return[3,7];case 4:return[4,this.nodeTreeService.initialData({dispatchRootId:!1})];case 5:return A.sent(),(i=this.getNodeById(e))?[4,this.treeControl.expand(i)]:[3,7];case 6:A.sent(),A.label=7;case 7:return[3,10];case 8:return[4,this.nodeTreeService.initialData({dispatchRootId:!1})];case 9:A.sent(),A.label=10;case 10:return this.loading=!1,[2]}}))}))},e.prototype.ngOnDestroy=function(){this.dataSource.data=[],this.nodeTreeService.data=[],this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-node-tree",template:'<div class="node custom-scrollbar node-tree">\n <div class="node__home" (click)="backToHome()" [ngClass]="{ active: isRoot,\n disabled: loading || homeLoading}">\n <mat-icon *ngIf="!homeLoading">home</mat-icon>\n <mat-spinner *ngIf="homeLoading" [diameter]="20"\n class="node__home--loading"></mat-spinner>\n <span>Home</span>\n </div>\n <mat-tree [dataSource]="dataSource" [treeControl]="treeControl"\n class="node__item">\n <mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding\n [ngClass]="{ active: checked(node),disabled: loading || node.isLoading }"\n (click)="selectNode(node)">\n <button mat-icon-button disabled class="node__item--pading"></button>\n <div class="node__item--info" [style.maxWidth.px]="width -50">\n <mat-icon class="folder-icon">folder</mat-icon>\n <div class="node-name">\n <span>\n {{ node.item.OriginalFileName }}\n </span>\n <span class="node-summary" *ngIf="node.item?.TotalFolder ||\n node.item?.TotalFile">\n <small *ngIf="node.item?.TotalFolder">{{ node.item?.TotalFolder}}\n {{node.item?.TotalFolder> 1 ?\n \'folders\':\'folder\'}}</small>\n <small *ngIf="node.item?.TotalFolder && node.item?.TotalFile">,\n </small>\n <small *ngIf="node.item?.TotalFile">{{ node.item?.TotalFile}}\n {{node.item?.TotalFile> 1 ?\n \'files\':\'file\'}}</small>\n </span>\n </div>\n </div>\n </mat-tree-node>\n <mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding\n (click)="selectNode(node)"\n [ngClass]="{ active: checked(node), disabled: loading || node.isLoading\n }">\n <button mat-icon-button [attr.aria-label]="\'Toggle \' +\n node.item.OriginalFileName" matTreeNodeToggle\n [disabled]="node.isLoading">\n <mat-icon *ngIf="!node.isLoading" class="mat-icon-rtl-mirror">\n {{ treeControl.isExpanded(node) ? \'expand_more\' : \'chevron_right\' }}\n </mat-icon>\n <mat-spinner *ngIf="node.isLoading" [diameter]="20"\n class="node__item--loading"></mat-spinner>\n </button>\n <div class="node__item--info" [style.maxWidth.px]="width -50">\n <mat-icon class="folder-icon">folder</mat-icon>\n <div class="node-name">\n <span>\n {{ node.item.OriginalFileName }}\n </span>\n <span class="node-summary">\n <small *ngIf="node.item?.TotalFolder">{{ node.item?.TotalFolder}}\n {{node.item?.TotalFolder> 1 ?\n \'folders\':\'folder\'}}</small>\n <small *ngIf="node.item?.TotalFolder && node.item?.TotalFile">,\n </small>\n <small *ngIf="node.item?.TotalFile">{{ node.item?.TotalFile}}\n {{node.item?.TotalFile> 1 ?\n \'files\':\'file\'}}</small>\n </span>\n </div>\n </div>\n </mat-tree-node>\n </mat-tree>\n</div>',styles:[":host::ng-deep .node{overflow-x:hidden;height:100%;display:-ms-grid;display:grid;grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content}:host::ng-deep .node__home{padding:8px 10px;display:flex;align-items:center;height:44px}:host::ng-deep .node__home .mat-icon{color:#979797;margin-right:15px;margin-bottom:10px;font-size:32px}:host::ng-deep .node__home .node__home--loading{margin-right:19px}:host::ng-deep .node__item--loading{margin-left:10px}:host::ng-deep .node__item--info{display:flex;align-items:center}:host::ng-deep .node__item--info .folder-icon{display:flex;align-items:center;color:#6fc0ff;font-size:32px;margin-right:20px}:host::ng-deep .node__item--info .node-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name .node-summary{margin-top:-5px;color:#979797}:host::ng-deep .node .mat-tree{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:100%}:host::ng-deep .node .mat-tree .mat-tree-node{padding:5px 0;min-height:44px}:host::ng-deep .node .mat-tree .mat-tree-node .node__item--pading{height:20px}:host::ng-deep .node .mat-tree-node:hover,:host::ng-deep .node .node__home{transition:.3s;cursor:pointer}:host::ng-deep .node .mat-tree-node:hover:hover,:host::ng-deep .node .node__home:hover{background-color:#e8e8e8}:host::ng-deep .node .active{background-color:#f0f0f0}:host::ng-deep .node .disabled{pointer-events:none}"]}]}],e.ctorParameters=function(){return[{type:Ae},{type:Y},{type:t.ChangeDetectorRef}]},e.propDecorators={width:[{type:t.Input}]},e}();var Ne=function(){function e(e,t,n){this.nodeTreeService=e,this.svc=t,this.changeDetectorRef=n,this.unsubscribe$=new B.Subject,this.currentFolderHierarchy=[],this.maximumShownLevel=3,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.prototype.bindSubscriber=function(){var e=this;ie((function(e){return e.currentFolderHierarchy})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return C.of(e)}))).subscribe((function(t){e.currentFolderHierarchy=t}))},e.prototype.navigateToFolder=function(e){this.svc.dispatch({type:Z,payload:e.AssetId})},e.prototype.backToHome=function(){return F(this,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.nodeTreeService.initialData({dispatchRootId:!0})];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.decorators=[{type:t.Component,args:[{selector:"lib-breadcrumb",template:'<nav class="breadcrumb-wrapper">\n <ul class="lib-breadcrumb">\n <li class="lib-breadcrumb__item">\n <span class="lib-breadcrumb__item--name" (click)="backToHome()">Home</span>\n </li>\n <ng-container *ngIf="currentFolderHierarchy.length <= maximumShownLevel">\n <li *ngFor="let folder of currentFolderHierarchy; let last = last" class="lib-breadcrumb__item">\n <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n <span class="lib-breadcrumb__item--name" (click)="navigateToFolder(folder)" [ngClass]="{ \'current-item\' : last }">\n {{folder.OriginalFileName}}\n </span>\n </li>\n </ng-container>\n <ng-container *ngIf="currentFolderHierarchy.length> maximumShownLevel">\n <div class="lib-breadcrumb__item">\n <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n <span class="lib-breadcrumb__item--name" [matMenuTriggerFor]="menu">\n <mat-icon>more_horiz</mat-icon>\n </span>\n </div>\n\n <li *ngFor="let folder of currentFolderHierarchy; let index= index; let last = last" class="lib-breadcrumb__item">\n <ng-container *ngIf="index> currentFolderHierarchy.length -\n maximumShownLevel">\n <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n <span class="lib-breadcrumb__item--name" (click)="navigateToFolder(folder)" [ngClass]="{ \'current-item\' : last }">\n {{folder.OriginalFileName}}\n </span>\n </ng-container>\n </li>\n </ng-container>\n\n </ul>\n</nav>\n\n<mat-menu #menu="matMenu">\n <ng-container *ngFor="let folder of currentFolderHierarchy; let index=\n index;">\n <button mat-menu-item *ngIf="index<= currentFolderHierarchy.length -\n maximumShownLevel" (click)="navigateToFolder(folder)">\n <mat-icon>navigate_next</mat-icon>\n <span>{{folder.OriginalFileName}}</span>\n </button>\n </ng-container>\n</mat-menu>',styles:[":host::ng-deep .breadcrumb-wrapper{color:#979797;background-color:#fff}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb{display:flex;align-items:center;margin:0;padding:0}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item{height:20px;display:flex;align-items:center;list-style:none}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--icon{color:#c8c8c8;cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:14px;padding:0;font-weight:400;cursor:pointer;transition:.3s;height:20px;line-height:20px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon{color:#979797;height:16px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item{cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item:hover{color:#979797}"]}]}],e.ctorParameters=function(){return[{type:Ae},{type:Y},{type:t.ChangeDetectorRef}]},e}();var He=function(){function e(e,t){this.assetService=e,this.svc=t,this.destroy$=new B.Subject,this.value="",this.folderId="",this.bindingSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.bindingSubscriber=function(){var e=this;ie((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.destroy$),y.switchMap((function(e){return C.of(e)}))).subscribe((function(t){return e.folderId=t}))},e.prototype.onChange=function(e){this.value=e.target.value},e.prototype.onSubmit=function(){(this.value||this.assetService.keyword)&&(this.assetService.keyword=this.value,this.searchByName())},e.prototype.clearSearch=function(){this.assetService.keyword?(this.value="",this.assetService.keyword="",this.searchByName(),this.assetService.setFolderList(null),this.assetService.setAssetList(null)):this.value=""},e.prototype.searchByName=function(){var e=this;this.svc.dispatch({type:W,payload:!0}),Q.combineLatest([this.assetService.getChildrenFolders({assetId:this.folderId}),this.assetService.getChildrenAssets({assetId:this.folderId,pageIndex:"0"})]).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){var n=z(t,2),i=n[0],A=n[1];e.assetService.setFolderList(i.Data,i.Meta.Total),e.assetService.setAssetList(A.Data.Children,A.Meta)})).add((function(){e.svc.dispatch({type:W,payload:!1})}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-search-box",template:'<form (ngSubmit)="onSubmit()">\n <label for="search-assets">\n <mat-icon>search</mat-icon>\n </label>\n <input\n class="search-input"\n id="search-assets"\n [value]="value"\n (input)="onChange($event)"\n matInput\n placeholder="Search assets..."\n autocomplete="off"\n required\n />\n <mat-icon\n [class.visible]="value || assetService.keyword"\n (click)="clearSearch()"\n matTooltip="Clear search"\n >close</mat-icon\n >\n</form>\n',styles:[":host::ng-deep{display:flex;align-items:center;width:300px;height:40px}:host::ng-deep form{width:100%;position:relative}:host::ng-deep label{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:rgba(0,0,0,.38);display:flex;align-items:center}:host::ng-deep input.search-input{width:100%;padding:10px 40px;border:1px solid #d8d8d8;border-radius:5px;color:#000;font-size:14px}:host::ng-deep input.search-input+.mat-icon{display:none;position:absolute;right:10px;top:50%;transform:translateY(-50%);color:rgba(0,0,0,.38);font-size:20px;cursor:pointer;align-items:center}:host::ng-deep input.search-input+.mat-icon.visible{display:flex}"]}]}],e.ctorParameters=function(){return[{type:G},{type:Y}]},e}();var ke=function(){function e(e,t){this.assetService=e,this.svc=t,this.typeSort=j,this.sortOrder=j.DESC,this.sortBy=L.MODIFIED_DATE,this.sortList=[{value:L.NAME,label:"Sort by name"},{value:L.CREATED_DATE,label:"Sort by created date"},{value:L.MODIFIED_DATE,label:"Sort by modified date"}]}return e.prototype.ngOnInit=function(){this.sortBy=this.assetService.sortBy,this.sortOrder=this.assetService.sortOrder},e.prototype.onSortBy=function(e){this.sortBy=e.value,this.assetService.sortBy=this.sortBy,this.svc.dispatch({type:q})},e.prototype.toggleSortOrder=function(){this.sortOrder=this.sortOrder===j.ASC?j.DESC:j.ASC,this.assetService.sortOrder=this.sortOrder,this.svc.dispatch({type:q})},e.decorators=[{type:t.Component,args:[{selector:"lib-sort-items",template:'<mat-icon\n [ngClass]="{\n sort__icon: true,\n asc: sortOrder === typeSort.ASC,\n desc: sortOrder === typeSort.DESC\n }"\n matTooltip="Sort direction"\n (click)="toggleSortOrder()"\n >sort</mat-icon\n>\n<mat-form-field class="sort__dropdown" appearance="none">\n <mat-select [(value)]="sortBy" (selectionChange)="onSortBy($event)">\n <mat-option *ngFor="let option of sortList" [value]="option.value">\n {{ option.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n',styles:[":host::ng-deep{display:flex;align-items:center}:host::ng-deep .sort__icon{cursor:pointer;transition:transform .3s ease-in-out}:host::ng-deep .sort__icon.asc{transform:scaleY(-1)}:host::ng-deep .sort__dropdown{padding:5px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .sort__dropdown .mat-form-field-wrapper{padding-bottom:0}:host::ng-deep .sort__dropdown .mat-form-field-infix{border-top:0;padding:0}:host::ng-deep .sort__dropdown .mat-select{font-size:14px}:host::ng-deep .sort__dropdown .mat-select-arrow{border:none}"]}]}],e.ctorParameters=function(){return[{type:G},{type:Y}]},e}();var Pe=function(){function e(e){this.assetService=e,this.header=!0,this.assets=new t.EventEmitter,this.unsubscribe$=new B.Subject,this.nodeTreeMinWidth=250,this.nodeTreeMaxWidth=700}return e.prototype.ngOnInit=function(){var e=this;this.nodeTreeWidth=this.nodeTreeMinWidth,ie((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assets.emit(t)}))},e.prototype.onResize=function(e){var t=e.width;this.nodeTreeWidth=t},Object.defineProperty(e.prototype,"nodeDetailsWidth",{get:function(){return"calc(100% - "+this.nodeTreeWidth+"px)"},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.assetService.resetAsset(),this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-wrapper",template:'<div class="asset-wrapper">\n <div class="asset-header" *ngIf="header">\n <div class="asset-header__left asset-header__title" #title>\n <lib-breadcrumb></lib-breadcrumb>\n </div>\n <div class="asset-header__right asset-header__actions" #actions>\n <lib-search-box></lib-search-box>\n </div>\n </div>\n <div class="asset-body">\n <lib-drag-to-resize (resizeCompleted)="onResize($event)" class="asset-body__node-tree" [minWidth]="nodeTreeMinWidth" [maxWidth]="nodeTreeMaxWidth">\n <lib-node-tree [width]="nodeTreeWidth"></lib-node-tree>\n </lib-drag-to-resize>\n <lib-node-details class="asset-body__node-details" [style.maxWidth]="nodeDetailsWidth"></lib-node-details>\n </div>\n</div>',styles:[":host::ng-deep .mat-dialog-title{padding:24px}:host::ng-deep .mat-dialog-title .lib-modal--close{padding:10px;position:absolute;top:10px;right:10px;z-index:1}:host::ng-deep .mat-dialog-actions{padding-left:24px;padding-right:24px}:host::ng-deep .asset-wrapper{display:flex;flex-direction:column;height:100%;width:100%;overflow-x:hidden}:host::ng-deep .asset-wrapper .asset-header{display:flex;padding:20px 15px;border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:center}:host::ng-deep .asset-wrapper .asset-body{display:flex;align-items:stretch}:host::ng-deep .asset-wrapper .asset-body__node-tree{border-right:1px solid #d8d8d8}:host::ng-deep .asset-wrapper .asset-body__node-details{flex:1}@media screen and (max-width:768px){:host::ng-deep .asset-wrapper .asset-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}:host::ng-deep .asset-wrapper .asset-body{flex-direction:column;justify-content:flex-start}:host::ng-deep .asset-wrapper .asset-body__node-tree{width:100%}:host::ng-deep .asset-wrapper .asset-body__node-details{max-width:100%!important}}::ng-deep .mat-tooltip.width-auto{max-width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:G}]},e.propDecorators={header:[{type:t.Input}],assets:[{type:t.Output}]},e}();var Le=function(){function e(e,t,n,i,A){this.dialog=e,this.assetService=t,this.nodeTreeService=n,this.svc=i,this.changeDetectorRef=A,this.unsubscribe$=new B.Subject,this.selectedAssets=[],this.loading$=new v.BehaviorSubject(!1),this.bindSubscriber()}return e.prototype.ngOnInit=function(){var e=this;this.assetService.getFolderList().pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.currentFolder=t,e.changeDetectorRef.detectChanges()})),this.assetService.getAssetList().pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assets=t,e.changeDetectorRef.detectChanges()}))},e.prototype.bindSubscriber=function(){var e=this;ie((function(e){return e.globalLoading})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(t){e.loading$.next(t)})),ie((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){t&&(e.selectedAssets=t)})),ie((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(t){t&&(e.assetService.pageIndex=0,e.fetchNodeDetails(t))})),ie((function(e){return e.reloadCurrentFolder})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(){e.currentFolder&&e.fetchFolder(e.currentFolder.AssetId)})),ie((function(e){return e.reloadCurrentNode})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(){e.currentFolder&&(e.assetService.pageIndex=0,e.fetchNodeDetails(e.currentFolder.AssetId))}))},e.prototype.openUploadDialog=function(){var e=this;this.dialog.open(Qe,{data:{currentAssetId:this.currentFolder.AssetId,fileType:this.assetService.dialogConfig.allowedType,maxSize:this.assetService.maxSize},panelClass:"lib-dialog--medium"}).afterClosed().subscribe((function(t){t&&(e.svc.dispatch({type:q}),e.svc.dispatch({type:_}))}))},e.prototype.addFolder=function(){var e=this;this.dialog.open(Ee,{data:{currentAssetId:this.currentFolder.AssetId},panelClass:"lib-dialog--small"}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:_})}))},e.prototype.deleteAssets=function(){var e=this,t=this.selectedAssets.map((function(e){return e.AssetId}));this.dialog.open(we,{data:{type:"files",ids:t},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&(e.svc.dispatch({type:q}),e.svc.dispatch({type:_}),e.svc.dispatch({type:V,payload:[]}))}))},e.prototype.fetchFolder=function(e){var t=this;this.svc.dispatch({type:W,payload:!0}),this.assetService.getChildrenFolders({assetId:e}).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(e){t.assetService.setFolderList(e.Data,e.Meta.Total),e.Data&&e.Data.Children&&e.Data.Children.forEach((function(e){return t.nodeTreeService.addNode(e,t.currentFolder.AssetId)}))})).add((function(){t.svc.dispatch({type:W,payload:!1})}))},e.prototype.fetchNodeDetails=function(e){var t=this;this.svc.dispatch({type:W,payload:!0}),Q.combineLatest([this.assetService.getChildrenFolders({assetId:e}),this.assetService.getChildrenAssets({assetId:e})]).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(e){var n=z(e,2),i=n[0],A=n[1];t.assetService.setFolderList(i.Data,i.Meta.Total),t.assetService.setAssetList(A.Data.Children,A.Meta),i.Data&&i.Data.Children&&i.Data.Children.forEach((function(e){return t.nodeTreeService.addNode(e,t.currentFolder.AssetId)}))})).add((function(){t.svc.dispatch({type:W,payload:!1})}))},Object.defineProperty(e.prototype,"noResults",{get:function(){return this.assetService.keyword&&!this.currentFolder.Children.length&&!this.assets.length},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.svc.dispatch({type:Z,payload:null}),this.svc.dispatch({type:V,payload:[]}),this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-node-details",template:'<div class="node-details custom-scrollbar">\n <div class="node-header">\n <mat-progress-bar [style.visibility]="(loading$ | async) ? \'visible\' : \'hidden\'" mode="indeterminate">\n </mat-progress-bar>\n <div class="node-header-content">\n <div class="node-header-content__left">\n <H5 class="node-header-content__left--title">\n <ng-container *ngIf="assetService?.keyword">\n Search results for <span>{{ assetService?.keyword }}</span> in\n </ng-container>\n {{ currentFolder?.OriginalFileName }}\n </H5>\n <p *ngIf="!noResults" class="node-header-content__left--subtitle">\n {{ assetService?.folderTotal }}\n {{ assetService?.folderTotal > 1 ? \'folders\' : \'folder\' }},\n {{ assetService?.fileTotal }}\n {{ assetService?.fileTotal > 1 ? \'files\': \'file\' }}\n </p>\n </div>\n <div class="node-header-content__right">\n <div class="button-wrapper">\n <button mat-raised-button [disabled]="!selectedAssets?.length" (click)="deleteAssets()" color="warn">\n <span>{{selectedAssets?.length > 1 ? \'Delete assets\' : \'Delete asset\'}}</span>\n <span *ngIf="selectedAssets?.length" class="count">({{ selectedAssets.length }})</span>\n </button>\n <button mat-raised-button color="primary" (click)="openUploadDialog()" [disabled]="!currentFolder?.AssetId">\n Upload asset\n </button>\n <button mat-raised-button color="primary" (click)="addFolder()" [disabled]="!currentFolder?.AssetId">\n Add folder\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class="node-body">\n <lib-search-not-found *ngIf="noResults; else contentAsset"></lib-search-not-found>\n <ng-template #contentAsset>\n <lib-folder-list class="node-body__section" [folders]="currentFolder?.Children"></lib-folder-list>\n <lib-asset-list [assets]="assets"></lib-asset-list>\n </ng-template>\n </div>\n</div>',styles:[":host::ng-deep .node-details{max-height:100%;overflow-y:auto}:host::ng-deep .node-details .node-header{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;z-index:20}:host::ng-deep .node-details .node-header-content{padding:10px 20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}:host::ng-deep .node-details .node-header-content__left--title{margin-bottom:5px}:host::ng-deep .node-details .node-header-content__left--title span{color:#fb3458}:host::ng-deep .node-details .node-header-content__left--subtitle{margin:0;color:#979797;font-size:14px}:host::ng-deep .node-details .node-header-content__right{flex:1}:host::ng-deep .node-details .node-header-content__right .button-wrapper{display:flex;gap:15px;justify-content:flex-end}:host::ng-deep .node-details .node-header-content__right .button-wrapper .count{margin-left:3px}:host::ng-deep .node-details .node-body{padding:0 20px}:host::ng-deep .node-details .node-body__section{display:block;margin-bottom:15px}"]}]}],e.ctorParameters=function(){return[{type:A.MatDialog},{type:G},{type:Ae},{type:Y},{type:t.ChangeDetectorRef}]},e}();var je=function(){function e(){this.resizeCompleted=new t.EventEmitter,this.grabber=!1,this.oldX=0}return e.prototype.ngOnInit=function(){this.width=this.minWidth},e.prototype.onMouseMove=function(e){this.grabber&&(this.resizer(e.clientX-this.oldX),this.oldX=e.clientX)},e.prototype.onMouseUp=function(e){this.grabber&&(this.grabber=!1)},e.prototype.onMouseDown=function(e){this.grabber=!0,this.oldX=e.clientX},e.prototype.resizer=function(e){this.width+e>this.maxWidth?this.width=this.maxWidth:this.width+e<this.minWidth?this.width=this.minWidth:this.width+=e,this.resizeCompleted.emit({width:this.width})},e.decorators=[{type:t.Component,args:[{selector:"lib-drag-to-resize",template:"<div class=\"drag-reszie__wrapper\" [ngStyle]=\"{\n 'width': width+'px',\n 'user-select': grabber? 'none' : 'auto'}\">\n <ng-content></ng-content>\n <div class=\"drag-reszie__wrapper--resizer\" (mousedown)=\"onMouseDown($event)\">\n </div>\n</div>",styles:[':host::ng-deep .drag-reszie__wrapper{position:relative;height:100%}:host::ng-deep .drag-reszie__wrapper--resizer{content:"";position:absolute;top:0;right:-15px;z-index:99;cursor:ew-resize;height:100%;width:15px;border-left:3px solid transparent;transition:.3s ease-in-out}:host::ng-deep .drag-reszie__wrapper--resizer:hover{border-left-color:#6fc0ff}']}]}],e.ctorParameters=function(){return[]},e.propDecorators={minWidth:[{type:t.Input}],maxWidth:[{type:t.Input}],resizeCompleted:[{type:t.Output}],onMouseMove:[{type:t.HostListener,args:["document:mousemove",["$event"]]}],onMouseUp:[{type:t.HostListener,args:["document:mouseup",["$event"]]}]},e}();var Re={date:"MM/DD/YYYY",dayMonth:"MMM DD",dateTime:"MM/DD/YYYY HH:mm",fullDateTime:"MM/DD/YYYY HH:mm:ss",dateTimeAM:"MM/DD/YYYY hh:mm A",apiDate:"YYYY/MM/DD",apiDateTime:"YYYY-MM-DD[T]HH:mm:ssZ",apiDateTimeNoZ:"YYYY-MM-DD[T]HH:mm:ss",apiDateMonthYear:"MMM DD YYYY",urlParam:"YYYY-MM-DD"},Ue=D,Ge=function(){function e(){this.transform=function(e,t){var n=t||{format:Re.dateTimeAM,timeZone:"America/Chicago"},i=n.format;n.timeZone;if(!e)return"-";if(-1!==e.indexOf("Z"))return Ue(e).format(i);var A=Ue.utc(e).toISOString();return Ue(A).format(i)}}return e.decorators=[{type:t.Pipe,args:[{name:"localDatetime"}]}],e}();var Xe=function(){function e(){this.transform=function(e,t){var n=t||{format:Re.date,timeZone:"America/Chicago"},i=n.format;n.timeZone;if(!e)return"-";if(-1!==e.indexOf("Z"))return Ue(e).format(i);var A=Ue.utc(e).toISOString();return Ue(A).format(i)}}return e.decorators=[{type:t.Pipe,args:[{name:"localDate"}]}],e}();var Ye=[se,G,oe,Ae,U],We=[ge,ue,ve,je,Ie,ye,Be,Qe,Ee,Ce,we,Fe,xe,Le,De,Se,Oe,Te,Ne,He,ke,Pe,ae],Ve=[ue,Qe,Ee,Ce,we,Fe,ae];function qe(e){return function(){return new Promise((function(t){return setTimeout((function(){return t(e)}))}))}}var Ke=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:T(We,[re,Me,Xe,Ge]),imports:[pe,n.CommonModule,i.FormsModule,i.ReactiveFormsModule,A.MatDialogModule,s.MatButtonModule,o.MatInputModule,a.MatIconModule,A.MatDialogModule,s.MatButtonModule,o.MatInputModule,a.MatIconModule,r.MatTooltipModule,d.MatPaginatorModule,c.MatTableModule,p.MatProgressBarModule,g.MatMenuModule,u.MatCheckboxModule,l.MatTreeModule,h.MatSelectModule,f.MatProgressSpinnerModule],exports:T(We,[re,pe,Me,Xe,Ge]),providers:T(Ye,[{provide:t.APP_INITIALIZER,useFactory:qe,deps:Ye,multi:!0}]),entryComponents:T(Ve)}]}],e.ctorParameters=function(){return[]},e}();e.AMFactory=qe,e.AM_CONFIG=R,e.AddFolderDialogComponent=Ee,e.AssetDialogComponent=Fe,e.AssetItemComponent=Oe,e.AssetListComponent=Se,e.AssetManagementComponent=re,e.AssetManagementDialogComponent=ae,e.AssetManagementModule=Ke,e.AssetService=G,e.AssetWrapperComponent=Pe,e.BaseHttpClient=U,e.BreadcrumbComponent=Ne,e.DeleteDialogComponent=we,e.DialogTriggerDirective=le,e.EditFolderDialogComponent=Ce,e.FileItemComponent=ye,e.FileListComponent=Be,e.FileService=oe,e.FolderItemComponent=De,e.FolderListComponent=xe,e.InputFileComponent=ge,e.ModalComponent=ue,e.NodeDetailsComponent=Le,e.NodeTreeComponent=Te,e.NodeTreeService=Ae,e.SearchBoxComponent=He,e.SearchNotFoundComponent=ve,e.UploadAssetsService=se,e.UploadDialogComponent=Qe,e.UploadFileComponent=Ie,e.ɵa=je,e.ɵb=Me,e.ɵc=Y,e.ɵd=ke,e.ɵe=H,e.ɵf=Ge,e.ɵg=Xe,e.ɵh=ce,e.ɵi=pe,e.ɵj=de,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */var x=function(e,t){return(x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function S(e,t){function n(){this.constructor=e}x(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var F=function(){return(F=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var s in t=arguments[n])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};function M(e,t,n,i){return new(n||(n=Promise))((function(s,A){function o(e){try{r(i.next(e))}catch(e){A(e)}}function a(e){try{r(i.throw(e))}catch(e){A(e)}}function r(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}r((i=i.apply(e,t||[])).next())}))}function O(e,t){var n,i,s,A,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return A={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(A[Symbol.iterator]=function(){return this}),A;function a(A){return function(a){return function(A){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,i&&(s=2&A[0]?i.return:A[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,A[1])).done)return s;switch(i=0,s&&(A=[2&A[0],s.value]),A[0]){case 0:case 1:s=A;break;case 4:return o.label++,{value:A[1],done:!1};case 5:o.label++,i=A[1],A=[0];continue;case 7:A=o.ops.pop(),o.trys.pop();continue;default:if(!(s=(s=o.trys).length>0&&s[s.length-1])&&(6===A[0]||2===A[0])){o=0;continue}if(3===A[0]&&(!s||A[1]>s[0]&&A[1]<s[3])){o.label=A[1];break}if(6===A[0]&&o.label<s[1]){o.label=s[1],s=A;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(A);break}s[2]&&o.ops.pop(),o.trys.pop();continue}A=t.call(e,o)}catch(e){A=[6,e],i=0}finally{n=s=0}if(5&A[0])throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}([A,a])}}}function z(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,s,A=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=A.next()).done;)o.push(i.value)}catch(e){s={error:e}}finally{try{i&&!i.done&&(n=A.return)&&n.call(A)}finally{if(s)throw s.error}}return o}function N(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(z(arguments[t]));return e}var T=function(){};!function(e){function t(){return null!==e&&e.apply(this,arguments)||this}S(t,e)}(T);var k=function(){};var P={None:0,InProcessing:1,Processed:2,Failed:3};P[P.None]="None",P[P.InProcessing]="InProcessing",P[P.Processed]="Processed",P[P.Failed]="Failed";var H=function(e,t,n,i){void 0===t&&(t=1),void 0===n&&(n=!1),void 0===i&&(i=!1),this.item=e,this.level=t,this.expandable=n,this.isLoading=i};var L={IMAGE:"Image",DOCUMENT:"Document"},j={NAME:1,CREATED_DATE:2,MODIFIED_DATE:3};j[j.NAME]="NAME",j[j.CREATED_DATE]="CREATED_DATE",j[j.MODIFIED_DATE]="MODIFIED_DATE";var R={DESC:1,ASC:2};R[R.DESC]="DESC",R[R.ASC]="ASC";var U=new t.InjectionToken("asset.man.config.angular"),G=function(e){function n(t,n){var i=e.call(this,n)||this;return i._env=t,i}return S(n,e),n.prototype.request=function(t,n,i){void 0===i&&(i={});var s=this._env.requestHeader;return i||(i={}),s&&(i.headers=s),e.prototype.request.call(this,t,n,i)},n.decorators=[{type:t.Injectable}],n.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[U]}]},{type:m.HttpHandler}]},n}(m.HttpClient);var X=function(){function e(e,t,n){this._env=e,this.dialog=t,this._api=n,this.folderList$=new b.BehaviorSubject(null),this.assetList$=new b.BehaviorSubject(null),this.openDialog$=new b.BehaviorSubject(null),this.dialogConfig=new k,this.baseUrl=this._env.asset2Url,this.initOptionFiles()}return e.prototype.initOptionFiles=function(){this.keyword="",this.pageSize=12,this.pageIndex=0,this.folderTotal=0,this.fileTotal=0,this.sortBy=j.MODIFIED_DATE,this.sortOrder=R.DESC},e.prototype.resetData=function(){this.setAssetList(null),this.setFolderList(null)},e.prototype.resetAsset=function(){this.initOptionFiles(),this.resetData()},e.prototype.getFolderList=function(){return this.folderList$.asObservable()},e.prototype.setFolderList=function(e,t){this.folderTotal=t||0,this.folderList$.next(e)},e.prototype.getAssetList=function(){return this.assetList$.asObservable()},e.prototype.setAssetList=function(e,t){this.setPagination(t),this.assetList$.next(e)},e.prototype.setDialogOpenStatus=function(e){this.openDialog$.next(e)},e.prototype.getDialogOpenStatus=function(){return this.openDialog$.asObservable()},e.prototype.setPagination=function(e){e&&(this.fileTotal=e.Total,this.pageIndex=e.PageIndex,this.pageSize=e.PageSize)},e.prototype.getAssetById=function(e){var t=this.baseUrl+"/File/GetById/"+e;return this._api.get(t)},e.prototype.getChildrenFolders=function(e){var t=e.assetId,n=e.isFilter,i=void 0===n||n,s=this.baseUrl+"/File/GetChildren",A=(new m.HttpParams).set("getAll","true").set("isFolder","true");return t&&(A=A.set("assetId",t)),i&&this.keyword.length&&(A=A.set("keyword",this.keyword||"")),this.dialogConfig.allowedType&&(A=A.set("fileType",this.dialogConfig.allowedType)),this._api.get(s,{params:A})},e.prototype.getChildrenAssets=function(e){var t=e.assetId,n=e.pageIndex,i=this.baseUrl+"/File/GetChildren",s=(new m.HttpParams).set("pageSize",this.pageSize.toString()).set("pageIndex",n||this.pageIndex.toString()).set("getAll","false").set("isFolder","false").set("TypeSort",this.sortOrder.toString()).set("SortFilesBy",this.sortBy.toString());return t&&(s=s.set("assetId",t)),this.keyword.length&&(s=s.set("keyword",this.keyword||"")),this.dialogConfig.allowedType&&(s=s.set("fileType",this.dialogConfig.allowedType)),this._api.get(i,{params:s})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[U]}]},{type:s.MatDialog},{type:G}]},e}();var Y=new b.Subject,W=function(){function e(){}return e.prototype.getDispatcher=function(){return this._dispatcher||(this._dispatcher=Y),this._dispatcher},e.prototype.dispatch=function(e){this.getDispatcher().next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var V="[LOADING] Set global loading state",q="[ASSET] Set selected assets",K="[ASSET] reload current asset list ",Z="[ASSET] delete an asset ",J="[FOLDER] get current folder id",_="[FOLDER] set current folder ",$="[FOLDER] reload current folder ",ee="[FOLDER] set current folder hierarchy ",te="[NODE] reload current node ";var ne={globalLoading:!1,selectedAssets:[],deletedAssetId:null,currentFolder:null,currentFolderId:null,currentFolderHierarchy:[],reloadCurrentFolder:!1,reloadCurrentAssets:!1,reloadCurrentNode:!1},ie=new b.BehaviorSubject(ne),se=function(e){return ie.asObservable().pipe(y.map((function(t){return e(t)})),y.distinctUntilChanged())},Ae=function(){function e(e,t){this.assetService=e,this.svc=t,this.storedData$=new v.BehaviorSubject([]),this.loading$=new v.BehaviorSubject(!1),this.initialData$=new v.BehaviorSubject([])}return Object.defineProperty(e.prototype,"data",{get:function(){return this.storedData$.getValue()},set:function(e){this.storedData$.next(e)},enumerable:!0,configurable:!0}),e.prototype.fetchChildrenFolder=function(e){return M(this,void 0,void 0,(function(){var t;return O(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.assetService.getChildrenFolders({assetId:e,isFilter:!1}).toPromise()];case 1:return(t=n.sent())?[2,t.Data]:[3,3];case 2:return n.sent(),[3,3];case 3:return[2]}}))}))},e.prototype.initialData=function(e){var t=e.dispatchRootId;return M(this,void 0,void 0,(function(){var e,n,i=this;return O(this,(function(s){switch(s.label){case 0:return t&&this.loading$.next(!0),[4,this.assetService.getChildrenFolders({isFilter:!1}).toPromise()];case 1:return(e=s.sent())?(t&&(this.svc.dispatch({type:J,payload:e.Data.AssetId}),this.svc.dispatch({type:ee,payload:[]})),this.rootFolder=e.Data,n=e.Data.Children.map((function(e){return new H(e,0,i.isExpandable(e))})),this.initialData$.next(n),t&&this.loading$.next(!1),[2,this.initialData$.getValue()]):[2]}}))}))},e.prototype.getChildren=function(e){return M(this,void 0,void 0,(function(){return O(this,(function(t){switch(t.label){case 0:return[4,this.fetchChildrenFolder(e.AssetId)];case 1:return[2,t.sent()]}}))}))},e.prototype.isExpandable=function(e){return e.HaveChildren},e.prototype.addNode=function(e,t){var n=N(this.data);n.findIndex((function(t){return t.AssetId===e.AssetId}))<0&&(n=N(n,[F({},e,{ParentId:t||null})])),this.data=n},e.prototype.updateBreadcrumb=function(e){return M(this,void 0,void 0,(function(){var t,n;return O(this,(function(i){return(t=this.data.find((function(t){return t.AssetId===e})))&&(n=this.getFolderHierarchy(t),this.svc.dispatch({type:ee,payload:n})),[2]}))}))},e.prototype.getAssetParent=function(e){return this.data.find((function(t){return t.AssetId===e.ParentId}))},e.prototype.getFolderHierarchy=function(e){if(!e)return[];for(var t=[],n=this.getAssetParent(e);n;)t=N([n],t),n=this.getAssetParent(n);return N(t,[e])},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:X},{type:W}]},e}();var oe=function(){function e(e,t,n){this._env=e,this.dialog=t,this._api=n,this.files=[],this.fileNames=[],this.supportedSize=10485760,this.documentExtension=[".pdf",".csv"],this.compressedExtension=[".zip"],this.imageExtension=[".png",".gif",".jpeg",".jpg",".svg",".svg+xml"],this.supportedTypes=N(this.imageExtension,this.compressedExtension,this.documentExtension),this.messageErrors={size:"File size should be upto",ext:"Only supported file extension:",replace:"The replacement file should be the same extension with old one:",maxLength:"The character limit is 200 characters"},this.errorObs$=new b.BehaviorSubject(!0),this.baseUrl=this._env.asset2Url}return e.prototype.getErrorObs=function(){return this.errorObs$.asObservable()},e.prototype.setErrorObs=function(e){this.errorObs$.next(e)},Object.defineProperty(e.prototype,"getFiles",{get:function(){return this.files},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"setFiles",{set:function(e){this.files=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errorFiles",{get:function(){var e=this.fileNames.filter((function(e){return!e.valid}));return this.fileNames.length&&e.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errorLength",{get:function(){return this.fileNames.filter((function(e){return!e.valid})).length},enumerable:!0,configurable:!0}),e.prototype.deleteFile=function(e){this.files.splice(e,1),this.fileNames.splice(e,1)},e.prototype.uploadMultipleAssets=function(e){var t=this.files,n=this.fileNames.map((function(e){return e.name})),i=new FormData;i.append("parentAssetId",e),i.append("companyId","732DA8D2-04EC-4BE0-A168-63EE0DCF50D8");for(var s=0;s<t.length;s++){var A=t[s].name.split("."),o="."+A.splice(A.length-1,1)[0];i.append("files",t[s],""+n[s]+o)}return this._api.post(this.baseUrl+"/File/Upload",i)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[U]}]},{type:s.MatDialog},{type:G}]},e}();var ae=function(){function e(e,t){this._env=e,this._api=t,this.baseUrl=this._env.asset2Url}return e.prototype.addFolder=function(e){var t=e.parentAssetId,n=e.folderName,i=(new m.HttpParams).set("parentAssetId",t).set("folderName",n);return this._api.post(this.baseUrl+"/File/Addfolder",null,{params:i})},e.prototype.updateFile=function(e){var t=e.assetId,n=e.fileName,i=e.description,s=(new m.HttpParams).set("assetId",t).set("fileName",n);return i&&(s=s.set("Description",i)),this._api.post(this.baseUrl+"/File/Update",null,{params:s})},e.prototype.replaceAsset=function(e,t){var n=new FormData;return n.append("AssetId",e),n.append("files",t),n.append("KeepOldName","true"),this._api.post(this.baseUrl+"/File/Replace",n)},e.prototype.deleteFile=function(e){var t=(new m.HttpHeaders).set("Content-Type","application/json");return this._api.request("delete",this.baseUrl+"/File/Delete",{headers:t,body:e})},e.prototype.getFileDetail=function(e){var t=(new m.HttpParams).set("IncludeDetailedWidth","true");return this._api.get(this.baseUrl+"/File/GetById/"+e,{params:t})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[U]}]},{type:G}]},e}();var re=function(){function e(e,t,n){this.data=e,this.dialogRef=t,this.assetService=n,this.destroy$=new B.Subject,this.selectedAssets=[]}return e.prototype.ngOnInit=function(){var e=this;this.initDialogConfig(this.data),se((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.selectedAssets=t}))},Object.defineProperty(e.prototype,"disabled",{get:function(){var e=this.data.limit;return!this.selectedAssets||!this.selectedAssets.length||e&&this.selectedAssets.length>e},enumerable:!0,configurable:!0}),e.prototype.selectAssets=function(){this.dialogRef.close(this.selectedAssets)},e.prototype.initDialogConfig=function(e){e&&(this.assetService.dialogConfig=e,this.assetService.maxSize=e.maxSize)},e.prototype.ngOnDestroy=function(){this.assetService.dialogConfig=new k,this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-management-dialog",template:'<lib-modal heading="Asset management" [customHeader]="true">\n <ng-container subtitle>\n <lib-breadcrumb></lib-breadcrumb>\n </ng-container>\n <ng-container headerActions>\n <lib-search-box></lib-search-box>\n </ng-container>\n <ng-container content>\n <lib-asset-wrapper [header]="false"></lib-asset-wrapper>\n </ng-container>\n <ng-container actions>\n <div class="asset-management-dialog__footer">\n <div class="selected-assets">\n <ng-container *ngIf="data?.limit">\n <span>Selected{{\' \'}}</span>\n <span class="count" [ngClass]="{\'error\': selectedAssets?.length && disabled}">\n {{selectedAssets?.length}}/{{data?.limit}}\n </span>\n <span>\n {{data?.limit > 1 ? "assets": "asset"}}\n </span>\n </ng-container>\n\n </div>\n <div>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color="primary" (click)="selectAssets()" [disabled]="disabled">Done</button>\n </div>\n </div>\n </ng-container>\n</lib-modal>',styles:[":host::ng-deep .asset-management-dialog__footer{display:flex;width:100%;align-items:center;justify-content:space-between}:host::ng-deep .asset-management-dialog__footer .selected-assets{font-size:14px;color:#979797}:host::ng-deep .asset-management-dialog__footer .selected-assets .count{color:#000}:host::ng-deep .asset-management-dialog__footer .selected-assets .error{color:#f44336}"]}]}],e.ctorParameters=function(){return[{type:k,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:X}]},e}();var le=function(){function e(e,n,i){this.dialog=e,this.svc=n,this.assetService=i,this.isDialog=!0,this.assetChange=new t.EventEmitter,this.destroy$=new b.Subject}return e.prototype.ngOnInit=function(){var e;this.assetService.maxSize=this.maxSize,(e=this.svc.getDispatcher())?e.subscribe((function(e){switch(e.type){case q:ne=F({},ne,{selectedAssets:e.payload}),ie.next(ne);break;case V:ne=F({},ne,{globalLoading:e.payload}),ie.next(ne);break;case _:ne=F({},ne,{currentFolder:F({},e.payload)}),ie.next(ne);break;case $:ne=F({},ne,{reloadCurrentFolder:!ne.reloadCurrentFolder}),ie.next(ne);break;case K:ne=F({},ne,{reloadCurrentAssets:!ne.reloadCurrentAssets}),ie.next(ne);break;case te:ne=F({},ne,{reloadCurrentNode:!ne.reloadCurrentNode}),ie.next(ne);break;case ee:ne=F({},ne,{currentFolderHierarchy:N(e.payload)}),ie.next(ne);break;case J:ne=F({},ne,{currentFolderId:e.payload}),ie.next(ne);break;case Z:ne=F({},ne,{deletedAssetId:e.payload}),ie.next(ne)}})):console.warn("Dispatcher not found."),this.bindSubscriber()},e.prototype.bindSubscriber=function(){var e=this;this.assetService.getDialogOpenStatus().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&e.openAssetsDialog()}))},e.prototype.onAssetsChange=function(e){e&&this.assetChange.emit(e)},e.prototype.openAssetsDialog=function(){var e=this,t={limit:this.limit,allowedType:this.allowedType,maxSize:this.maxSize};this.dialog.open(re,{autoFocus:!1,panelClass:"lib-dialog--large",data:t}).afterClosed().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&e.assetChange.emit(t)}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-management",template:'<ng-container *ngIf="!isDialog">\n <lib-asset-wrapper (assets)="onAssetsChange($event)"></lib-asset-wrapper>\n</ng-container>\n<ng-content *ngIf="isDialog"></ng-content>',providers:[X],styles:["::ng-deep .custom-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-radius:10px}::ng-deep .custom-scrollbar::-webkit-scrollbar{width:5px;height:5px;background-color:#f5f5f5}::ng-deep .custom-scrollbar::-webkit-scrollbar-thumb{border-radius:10px;background-color:#bdbbbb}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:W},{type:X}]},e.propDecorators={isDialog:[{type:t.Input}],limit:[{type:t.Input}],allowedType:[{type:t.Input}],maxSize:[{type:t.Input}],assetChange:[{type:t.Output}]},e}();var de=function(){function e(e){this.assetService=e}return e.prototype.onClick=function(e){this.openAssetsDialog()},e.prototype.openAssetsDialog=function(){this.assetService.setDialogOpenStatus(!0)},e.decorators=[{type:t.Directive,args:[{selector:"[libDialogTrigger]"}]}],e.ctorParameters=function(){return[{type:X}]},e.propDecorators={onClick:[{type:t.HostListener,args:["click",["$event.target"]]}]},e}();var ce=function(){function e(){this.imageDropped=new t.EventEmitter}return e.prototype.onDragOver=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.ondrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t=Array.from(t),this.imageDropped.emit(t)},e.decorators=[{type:t.Directive,args:[{selector:"[libDnDFile]"}]}],e.propDecorators={imageDropped:[{type:t.Output}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],ondrop:[{type:t.HostListener,args:["drop",["$event"]]}]},e}();var pe=[ce,de],ge=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:N(pe),imports:[n.CommonModule],exports:N(pe)}]}],e}(),ue=function(){function e(){this.multiple=!0,this.fileChange=new t.EventEmitter}return e.prototype.onFileChange=function(e){var t=e.target.files;t.length<1||(t=Array.from(t),this.fileChange.emit(t))},e.decorators=[{type:t.Component,args:[{selector:"lib-input-file",template:'<input\n #inputFile\n class="input-file"\n type="file"\n [accept]="acceptTypes"\n id="file-import"\n (change)="onFileChange($event)"\n [multiple]="multiple"\n/>\n<button mat-raised-button [color]="color" (click)="inputFile?.click()">\n <ng-content></ng-content>\n</button>\n',styles:[":host::ng-deep{display:inline-block}:host::ng-deep .input-file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={color:[{type:t.Input}],multiple:[{type:t.Input}],acceptTypes:[{type:t.Input}],fileChange:[{type:t.Output,args:["onFileChange"]}]},e}();var he=function(){function e(){this.customHeader=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"lib-modal",template:'<h4 mat-dialog-title *ngIf="!customHeader; else customHeaderTemplate">\n <div class="lib-modal--title" [title]="heading">\n {{ heading }}\n </div>\n <div class="lib-modal--close">\n <mat-icon mat-dialog-close>close</mat-icon>\n </div>\n</h4>\n<ng-template #customHeaderTemplate>\n <h4 mat-dialog-title>\n <div class="lib-modal--custom-title">\n <span>\n {{ heading }}\n </span>\n <div class="lib-modal--custom-subtitle">\n <ng-content select="[subtitle]"></ng-content>\n </div>\n </div>\n <div class="lib-modal--header-actions">\n <ng-content select="[headerActions]"></ng-content>\n </div>\n <mat-icon mat-dialog-close class="mat-dialog-close">close</mat-icon>\n </h4>\n</ng-template>\n<mat-dialog-content class="custom-scrollbar">\n <ng-content select="[content]"></ng-content>\n</mat-dialog-content>\n<mat-dialog-actions>\n <ng-content select="[actions]"></ng-content>\n</mat-dialog-actions>\n',styles:[":host::ng-deep{display:flex;flex-direction:column;min-height:150px;position:relative}:host::ng-deep .mat-dialog-title{padding-bottom:24px;margin:0;display:flex;justify-content:space-between;font-size:24px;line-height:1;gap:10px}:host::ng-deep .mat-dialog-title mat-icon{cursor:pointer}:host::ng-deep .lib-modal--custom-title,:host::ng-deep .lib-modal--title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .lib-modal--custom-subtitle{margin-top:5px}:host::ng-deep .lib-modal--header-actions{display:flex;align-items:center;gap:10px}:host::ng-deep mat-dialog-content{flex:1;padding:0 24px}:host::ng-deep mat-dialog-actions{padding-top:24px;padding-bottom:0;display:flex;justify-content:flex-end;min-height:auto;margin-bottom:0}:host::ng-deep mat-dialog-actions .mat-button-base+.mat-button-base{margin-left:20px}:host::ng-deep .mat-error{margin-top:5px;font-size:14px}:host::ng-deep .no-wrap{white-space:nowrap}:host::ng-deep input,:host::ng-deep textarea{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px;color:#000;margin-top:0;resize:none}::ng-deep .lib-dialog--small{width:400px!important}::ng-deep .lib-dialog--small .file__name{word-break:break-word}::ng-deep .lib-dialog--small .mat-button-base{min-width:70px}::ng-deep .lib-dialog--small .loading{padding:0 5px}::ng-deep .lib-dialog--small .loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}::ng-deep .lib-dialog--small .loading .mat-spinner{margin-right:10px}::ng-deep .lib-dialog--medium{max-width:1200px!important;width:90%!important}::ng-deep .lib-dialog--medium .mat-dialog-content{border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;overflow-x:hidden}::ng-deep .lib-dialog--large{max-width:1200px!important;width:90vw!important}::ng-deep .lib-dialog--large .mat-dialog-title{padding-bottom:12px;position:relative}::ng-deep .lib-dialog--large .mat-dialog-title .mat-dialog-close{position:absolute;right:-22px;top:-22px}::ng-deep .lib-dialog--large .mat-dialog-content{min-height:70vh;border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;padding:0}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body{max-height:calc(70vh - 2px)!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .node-tree{height:calc(70vh - 2px)!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .asset-list__item{min-width:25%!important}@media only screen and (max-width:768px){::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body{max-height:none!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .node-tree{height:-webkit-max-content!important;height:-moz-max-content!important;height:max-content!important}}::ng-deep .lib-dialog--large .mat-dialog-actions{padding:12px 0;margin-bottom:-24px!important}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={heading:[{type:t.Input}],customHeader:[{type:t.Input}]},e}();var fe="data:image/png;base64,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",me="data:image/png;base64,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",be="data:image/png;base64,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",ve="data:image/png;base64,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",ye=function(){function e(e){this.domSanitizer=e,this.base64Image=this.domSanitizer.bypassSecurityTrustUrl("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iNzAiIHZpZXdCb3g9IjAgMCA4MCA3MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTU5LjM4MDEgNDQuMDRINTYuMjIwMUw1NS4xMDAxIDQyLjk2QzU5LjAyMDEgMzguNCA2MS4zODAxIDMyLjQ4IDYxLjM4MDEgMjYuMDRDNjEuMzgwMSAxMS42OCA0OS43NDAxIDAuMDQwMDM5MSAzNS4zODAxIDAuMDQwMDM5MUMyMS43MDAxIDAuMDQwMDM5MSAxMC41MDAxIDEwLjYgOS41MDAwNiAyNC4wNEgxNy41ODAxQzE4LjU4MDEgMTUuMDQgMjYuMTAwMSA4LjA0MDA0IDM1LjM4MDEgOC4wNDAwNEM0NS4zNDAxIDguMDQwMDQgNTMuMzgwMSAxNi4wOCA1My4zODAxIDI2LjA0QzUzLjM4MDEgMzYgNDUuMzQwMSA0NC4wNCAzNS4zODAxIDQ0LjA0QzM0LjcwMDEgNDQuMDQgMzQuMDYwMSA0My45MiAzMy4zODAxIDQzLjg0VjUxLjkyQzM0LjA2MDEgNTIgMzQuNzAwMSA1Mi4wNCAzNS4zODAxIDUyLjA0QzQxLjgyMDEgNTIuMDQgNDcuNzQwMSA0OS42OCA1Mi4zMDAxIDQ1Ljc2TDUzLjM4MDEgNDYuODhWNTAuMDRMNzMuMzgwMSA3MEw3OS4zNDAxIDY0LjA0TDU5LjM4MDEgNDQuMDRaIiBmaWxsPSIjNkZDMEZGIi8+CjxwYXRoIGQ9Ik0yMy4yNiAzMS4zMjAzTDEzLjM4IDQxLjIwMDNMMy41MDAwMyAzMS4zMjAzTDAuNjYwMDM0IDM0LjE2MDNMMTAuNTQgNDQuMDQwM0wwLjY2MDAzNCA1My45MjAzTDMuNTAwMDMgNTYuNzYwM0wxMy4zOCA0Ni44ODAzTDIzLjI2IDU2Ljc2MDNMMjYuMSA1My45MjAzTDE2LjIyIDQ0LjA0MDNMMjYuMSAzNC4xNjAzTDIzLjI2IDMxLjMyMDNaIiBmaWxsPSIjNkZDMEZGIi8+Cjwvc3ZnPgo=")}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"lib-search-not-found",template:'<img [src]="base64Image" />\n<span>No result found</span>\n',styles:[":host::ng-deep{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px;color:#979797}"]}]}],e.ctorParameters=function(){return[{type:I.DomSanitizer}]},e}();var Be=function(){function e(e,n){this.domSanitizer=e,this.uploadAssetService=n,this.documentExts=["pdf","zip","csv"],this.base64PNG={pdf:this.domSanitizer.bypassSecurityTrustUrl(fe),zip:this.domSanitizer.bypassSecurityTrustUrl(me),csv:this.domSanitizer.bypassSecurityTrustUrl(be)},this.checkError=new t.EventEmitter,this.fileChange=new t.EventEmitter,this.fileRemove=new t.EventEmitter,this.dataFile={name:"",size:0,ext:"",data:null,errors:{maxLength:!1,ext:!1,size:!1}}}return e.prototype.ngOnInit=function(){this.initDataFile()},e.prototype.initDataFile=function(){this.setDetailsFile(),this.setErrorFile()},e.prototype.setDetailsFile=function(){var e=this.file,t=e.name,n=e.size,i=this.uploadAssetService.getFiles.filter((function(e){return e.name===t})),s=t.split(".");i.length>1&&(s[0]=s[0]+"("+(i.length-1)+")"),this.dataFile.ext=s.splice(s.length-1,1)[0],this.dataFile.name=s.join("."),this.dataFile.size=n},e.prototype.setErrorFile=function(){var e=this,t=this.uploadAssetService,n=t.supportedTypes,i=t.supportedSize,s=t.fileNames,A=this.dataFile,o=A.name,a=A.ext,r=A.size;if(this.dataFile.errors={maxLength:o.length+a.length>199,ext:n.indexOf("."+a)<0,size:i<r},this.file.type.indexOf("image")>-1){var l=new FileReader;l.readAsDataURL(this.file),l.onload=function(t){var n=document.createElement("img");n.src=t.target.result,n.onload=function(){e.dataFile.data=e.domSanitizer.bypassSecurityTrustUrl(t.target.result)}}}s.push({name:o,valid:this.checkErrors()}),this.uploadAssetService.setErrorObs(this.uploadAssetService.errorFiles)},e.prototype.checkErrors=function(){var e=this.dataFile.errors,t=e.ext,n=e.size,i=e.maxLength;return!(t||n||i)},e.prototype.onChange=function(e){this.dataFile.name=e.target.value.trim();var t=this.dataFile,n=t.name,i=t.ext;this.dataFile.errors.maxLength=n.length+i.length>199,this.fileChange.emit({name:this.dataFile.name,valid:this.checkErrors()})},e.prototype.onRemove=function(){this.fileRemove.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"lib-file-item",template:'<div class="file-item__img">\n <ng-container\n *ngIf="\n file.type.indexOf(\'image\') > -1 || documentExts.indexOf(dataFile.ext) > -1;\n else defaultFile\n "\n >\n <img\n [class.image]="file.type.indexOf(\'image\') > -1"\n *ngIf="documentExts.indexOf(dataFile.ext) > -1 || dataFile.data"\n [src]="documentExts.indexOf(dataFile.ext) > -1 ? base64PNG[dataFile.ext] : dataFile.data"\n />\n </ng-container>\n <ng-template #defaultFile>\n <mat-icon>attach_file</mat-icon>\n </ng-template>\n</div>\n<div class="file-item__content">\n <input\n class="file-item__content--name"\n matInput\n placeholder="Enter file name"\n [value]="dataFile.name"\n required\n (input)="onChange($event)"\n />\n <div class="file-item__content--info">\n <div class="file-item__content--info__item">\n Extension: <span>{{ dataFile.ext }}</span>\n </div>\n <div class="file-item__content--info__item">\n Size: <span>{{ dataFile.size | fileSize }}</span>\n </div>\n </div>\n <div *ngIf="dataFile.errors.ext" class="file-item__error">\n {{ uploadAssetService.messageErrors[\'ext\'] }}\n {{ uploadAssetService.supportedTypes.join(\', \') }}\n </div>\n <div *ngIf="dataFile.errors.size" class="file-item__error">\n {{ uploadAssetService.messageErrors[\'size\'] }}\n {{ uploadAssetService.supportedSize | fileSize: 0 }}\n </div>\n <div *ngIf="dataFile.errors.maxLength" class="file-item__error">\n {{ uploadAssetService.messageErrors[\'maxLength\'] }}\n </div>\n</div>\n<div class="file-item__action">\n <mat-icon (click)="onRemove()">delete_outline</mat-icon>\n</div>\n',styles:[":host::ng-deep{padding:10px 5%;display:flex;justify-content:space-between;align-items:center;background-color:#f9f9f9;border-radius:10px}:host::ng-deep .file-item__img{display:flex;justify-content:center;align-items:center;width:250px;height:150px;border-radius:10px}:host::ng-deep .file-item__img img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}:host::ng-deep .file-item__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-item__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-item__content{flex:1;padding-left:5%;padding-right:5%}:host::ng-deep .file-item__content--name{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .file-item__content--info{margin-top:10px;display:flex}:host::ng-deep .file-item__content--info__item:not(:last-child){margin-right:50px}:host::ng-deep .file-item__content--info__item span{color:#000;text-transform:uppercase}:host::ng-deep .file-item__error{margin-top:10px;color:#f44336}:host::ng-deep .file-item__action{color:#f44336;cursor:pointer}"]}]}],e.ctorParameters=function(){return[{type:I.DomSanitizer},{type:oe}]},e.propDecorators={file:[{type:t.Input}],checkError:[{type:t.Output}],fileChange:[{type:t.Output}],fileRemove:[{type:t.Output}]},e}();var Ie=function(){function e(e){this.uploadAssetsService=e,this.revalidate=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.onFileChange=function(e){var t=this.uploadAssetsService.getFiles;this.uploadAssetsService.setFiles=N(t,e),document.getElementById("file-import").value=""},e.prototype.onDelFile=function(e){this.uploadAssetsService.deleteFile(e),this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.prototype.onChangeName=function(e,t){var n=e.name,i=e.valid;this.uploadAssetsService.fileNames[t]={name:n,valid:i},this.uploadAssetsService.setErrorObs(this.uploadAssetsService.errorFiles)},e.prototype.onEmitError=function(){this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.decorators=[{type:t.Component,args:[{selector:"lib-file-list",template:'<div class="file-list__heading">\n <div class="file-list__info">\n <h4 class="file-list__info--title">\n <span *ngIf="!uploadAssetsService.errorLength">\n {{\n uploadAssetsService?.getFiles?.length -\n uploadAssetsService.errorLength\n }}\n {{ uploadAssetsService?.getFiles?.length > 1 ? \'assets\' : \'asset\' }}\n ready to upload\n </span>\n <span *ngIf="uploadAssetsService.errorLength">\n {{ uploadAssetsService.errorLength }}\n {{ uploadAssetsService.errorLength > 1 ? \'assets\' : \'asset\' }}\n invalid, please remove it before upload</span\n >\n </h4>\n <div class="file-list__info--desc">\n Manage the assets before adding them to the Media Library\n </div>\n </div>\n <lib-input-file\n [acceptTypes]="uploadAssetsService?.supportedTypes?.join(\', \')"\n (onFileChange)="onFileChange($event)"\n color="primary"\n >\n <span>Add new assets</span>\n </lib-input-file>\n</div>\n<div class="file-list">\n <lib-file-item\n *ngFor="let file of uploadAssetsService?.getFiles; let i = index"\n [file]="file"\n (checkError)="onEmitError()"\n (fileRemove)="onDelFile(i)"\n (fileChange)="onChangeName($event, i)"\n ></lib-file-item>\n</div>\n',styles:[":host::ng-deep .file-list{padding-top:15px}:host::ng-deep .file-list__heading{display:flex;justify-content:space-between;align-items:center;padding-top:15px;padding-bottom:15px;position:-webkit-sticky;position:sticky;top:0;background-color:#fff}:host::ng-deep .file-list__info--title{font-size:16px;margin-bottom:5px;color:#000}:host::ng-deep lib-file-item{margin-bottom:20px}"]}]}],e.ctorParameters=function(){return[{type:oe}]},e.propDecorators={revalidate:[{type:t.Output}]},e}();var Ce=function(){function e(e,n){this.domSanitizer=e,this.uploadAssetsService=n,this.base64Image=this.domSanitizer.bypassSecurityTrustUrl("data:image/png;base64,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"),this.revalidate=new t.EventEmitter,this.isDragging=!1}return e.prototype.ngOnInit=function(){},e.prototype.onFileChange=function(e){this.isDragging=!1;var t=this.uploadAssetsService.getFiles;this.uploadAssetsService.setFiles=N(t,e)},e.prototype.onEmitError=function(){this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.prototype.onDragover=function(e){this.isDragging=!0},e.prototype.onDragleave=function(e){this.isDragging=!1},e.decorators=[{type:t.Component,args:[{selector:"lib-upload-file",template:'<div\n class="upload-file__wrapper"\n [class.dragging]="isDragging"\n libDnDFile\n (imageDropped)="onFileChange($event)"\n (dragover)="onDragover($event)"\n (dragleave)="onDragleave($event)"\n>\n <div>\n <img [src]="base64Image" />\n <div class="upload-file__label">Drag and drop here or</div>\n </div>\n <lib-input-file\n [acceptTypes]="uploadAssetsService?.supportedTypes?.join(\', \')"\n (onFileChange)="onFileChange($event)"\n color="primary"\n >\n <span>Browse files</span>\n </lib-input-file>\n</div>\n',styles:[":host::ng-deep .upload-file__wrapper{margin-top:30px;margin-bottom:30px;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px dashed #017eff;border-radius:10px;box-sizing:border-box}:host::ng-deep .upload-file__wrapper lib-input-file{margin-top:30px}:host::ng-deep .upload-file__wrapper.dragging{background-color:#f5fcff}:host::ng-deep .upload-file__label{margin-top:30px;font-size:24px}:host::ng-deep .upload-file lib-file-item{margin-bottom:20px}:host::ng-deep .upload-file__upload{cursor:pointer}"]}]}],e.ctorParameters=function(){return[{type:I.DomSanitizer},{type:oe}]},e.propDecorators={revalidate:[{type:t.Output}]},e}();var we=function(){function e(e,t,n,s){this.fb=e,this.data=t,this.dialogRef=n,this.fileService=s,this.isLoading=!1,this.errorMessage="",this.value="",this.destroy$=new b.Subject,this.form=new i.FormControl,this.formGroup=this.fb.group({name:["",[i.Validators.maxLength(200),i.Validators.required]]})}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"disabled",{get:function(){return!this.formGroup.controls.name.value||!!this.errorMessage||this.isLoading},enumerable:!0,configurable:!0}),e.prototype.onChange=function(e){this.errorMessage=""},e.prototype.addFolder=function(){var e=this,t=this.formGroup.controls.name.value;this.isLoading=!0,this.fileService.addFolder({parentAssetId:this.data.currentAssetId,folderName:t.trim()}).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){return e.closeDialog(!0)}),(function(t){e.isLoading=!1,e.errorMessage=t.ResponseMessage}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-add-folder-dialog",template:'<lib-modal heading="Add a folder">\n <ng-container content>\n <form (ngSubmit)="addFolder()" [formGroup]="formGroup" #form="ngForm">\n <input\n (input)="onChange($event)"\n matInput\n placeholder="Enter your folder name"\n autocomplete="off"\n required\n pattern=".*\\S+.*"\n formControlName="name"\n />\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.pattern">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.maxlength">\n The character limit is 200 characters\n </mat-error>\n <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n </form>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n mat-raised-button\n color="primary"\n (click)="addFolder()"\n [class.loading]="isLoading"\n [disabled]="disabled || !formGroup?.valid"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Add</span>\n </button>\n </ng-container>\n</lib-modal>\n',styles:[":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]}]}],e.ctorParameters=function(){return[{type:i.FormBuilder},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:ae}]},e}();var Ee=function(){function e(e,t,n,s){this.fb=e,this.data=t,this.dialogRef=n,this.fileService=s,this.isLoading=!1,this.errorMessage="",this.value="",this.destroy$=new b.Subject,this.form=new i.FormControl,this.formGroup=this.fb.group({name:[this.data.name,[i.Validators.maxLength(200),i.Validators.required]]})}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"disabled",{get:function(){var e=this.formGroup.controls.name.value;return!e||!!this.errorMessage||e.toLowerCase().trim()===this.data.name.toLowerCase()||this.isLoading},enumerable:!0,configurable:!0}),e.prototype.onChange=function(e){this.errorMessage=""},e.prototype.editFolder=function(){var e=this,t=this.formGroup.controls.name.value;this.isLoading=!0,this.fileService.updateFile({assetId:this.data.assetId,fileName:t.trim()}).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){return e.closeDialog(!0)}),(function(t){e.isLoading=!1,e.errorMessage=t.ResponseMessage}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-edit-folder-dialog",template:'<lib-modal heading="Rename folder">\n <ng-container content>\n <form (ngSubmit)="editFolder()" [formGroup]="formGroup" #form="ngForm">\n <input\n matInput\n required\n autocomplete="off"\n formControlName="name"\n (input)="onChange($event)"\n placeholder="Enter your folder name"\n pattern=".*\\S+.*"\n />\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.pattern">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf="formGroup?.controls?.name?.errors?.maxlength">\n The character limit is 200 characters\n </mat-error>\n <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n </form>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n mat-raised-button\n color="primary"\n (click)="editFolder()"\n [class.loading]="isLoading"\n [disabled]="disabled || !formGroup?.valid"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Update</span>\n </button>\n </ng-container>\n</lib-modal>\n',styles:[":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]}]}],e.ctorParameters=function(){return[{type:i.FormBuilder},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:ae}]},e}();var Qe=function(){function e(e,t,n,i){this.data=e,this.dialogRef=t,this.fileService=n,this.assetService=i,this.isLoading=!1,this.destroy$=new b.Subject}return e.prototype.ngOnInit=function(){},e.prototype.delete=function(){var e=this;this.isLoading=!0,this.fileService.deleteFile(this.data.ids).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.handleAssetPaging(),e.isLoading=!1,e.closeDialog(!0)}),(function(t){e.isLoading=!1,console.log("deleted fail",t)}))},e.prototype.handleAssetPaging=function(){var e=this;this.assetService.getAssetList().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&t.length===e.data.ids.length&&e.assetService.pageIndex>0&&e.assetService.pageIndex--}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-delete-dialog",template:'<ng-container *ngIf="data?.type === \'folder\'">\n <lib-modal heading="Delete folder">\n <ng-container content>\n <div>\n Are you sure you want to delete folder{{ \' \' }}\n <strong class="file__name">{{ data.name }}</strong\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-container *ngIf="data?.type === \'file\'">\n <lib-modal heading="Delete file">\n <ng-container content>\n <div>\n Are you sure you want to delete file{{ \' \' }}\n <strong class="file__name">{{ \' \' }}{{ data.name }}</strong\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-container *ngIf="data?.type === \'files\'">\n <lib-modal heading="Delete files">\n <ng-container content>\n <div>\n Are you sure you want to delete\n <strong *ngIf="data?.ids?.length > 1; else singular"\n >{{ data?.ids?.length }} files</strong\n >\n <ng-template #singular>\n <strong>{{ data?.ids?.length }} file</strong> </ng-template\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-template #deleteAction>\n <button mat-raised-button mat-dialog-close>No</button>\n <button\n mat-raised-button\n color="warn"\n (click)="delete()"\n class="file__button delete__action"\n [class.loading]="isLoading"\n [disabled]="isLoading"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Yes</span>\n </button>\n</ng-template>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:ae},{type:X}]},e}();var De=function(){function e(e,t,n,i){this.data=e,this.dialogRef=t,this.changeDetectorRef=n,this.uploadAssetsService=i,this.isLoading=!1,this.disabled=!0,this.destroy$=new b.Subject,this.data.fileType&&(this.uploadAssetsService.supportedTypes="Image"===this.data.fileType?N(this.uploadAssetsService.imageExtension):N(this.uploadAssetsService.documentExtension)),this.data.maxSize&&(this.uploadAssetsService.supportedSize=1024*this.data.maxSize*1024)}return e.prototype.ngOnInit=function(){var e=this;this.uploadAssetsService.getErrorObs().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.disabled=t,e.changeDetectorRef.detectChanges()}))},e.prototype.onValidate=function(e){this.disabled=e},e.prototype.uploadFiles=function(){var e=this;this.isLoading=!0,this.uploadAssetsService.uploadMultipleAssets(this.data.currentAssetId).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&e.closeDialog(!0)}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-upload-dialog",template:'<lib-modal heading="Add new assets">\n <ng-container content>\n <lib-upload-file\n *ngIf="!uploadAssetsService?.getFiles?.length"\n (revalidate)="onValidate($event)"\n ></lib-upload-file>\n <lib-file-list\n *ngIf="uploadAssetsService?.getFiles?.length"\n (revalidate)="onValidate($event)"\n ></lib-file-list>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n class="upload__action"\n [class.loading]="isLoading"\n mat-raised-button\n color="primary"\n (click)="uploadFiles()"\n [disabled]="disabled || isLoading"\n >\n <ng-container *ngIf="isLoading">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Upload</span>\n </button>\n </ng-container>\n</lib-modal>\n',providers:[oe],styles:[":host::ng-deep{display:block;width:1200px;max-width:100%;font-size:14px;line-height:16px;color:#979797;letter-spacing:.15px}:host::ng-deep .mat-dialog-title{position:relative;margin-bottom:0;padding-bottom:24px;color:#000}:host::ng-deep .mat-dialog-actions{justify-content:flex-end;padding:24px 0 0}:host::ng-deep .upload__action{min-width:100px}:host::ng-deep .upload__action.loading{padding:0 5px}:host::ng-deep .upload__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .upload__action.loading .mat-spinner{margin-right:10px}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[C.MAT_DIALOG_DATA]}]},{type:C.MatDialogRef},{type:t.ChangeDetectorRef},{type:oe}]},e}();var xe=function(){function e(e,t){this.dialog=e,this.svc=t}return e.prototype.ngOnInit=function(){},e.prototype.openFolder=function(){this.svc.dispatch({type:J,payload:this.folder.AssetId})},e.prototype.renameFolder=function(){var e=this;this.dialog.open(Ee,{data:{assetId:this.folder.AssetId,name:this.folder.OriginalFileName},panelClass:"lib-dialog--small"}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:$})}))},e.prototype.deleteFolder=function(){var e=this;this.dialog.open(Qe,{data:{type:"folder",ids:[this.folder.AssetId],name:this.folder.OriginalFileName},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:$})}))},e.decorators=[{type:t.Component,args:[{selector:"lib-folder-item",template:'<div class="folder" (dblclick)="openFolder()">\n <mat-icon class="folder__icon">folder</mat-icon>\n <span class="folder__name" [matTooltip]="folder.OriginalFileName">\n {{ folder.OriginalFileName }}\n </span>\n <mat-icon class="folder__action" [matMenuTriggerFor]="menu"\n >more_vert</mat-icon\n >\n</div>\n<mat-menu #menu="matMenu">\n <button mat-menu-item (click)="renameFolder()">\n <mat-icon>edit_outline</mat-icon> <span>Rename</span>\n </button>\n <button mat-menu-item (click)="deleteFolder()">\n <mat-icon color="warn">delete_outline</mat-icon> <span>Delete</span>\n </button>\n</mat-menu>\n',styles:[":host::ng-deep .folder{width:180px;height:50px;display:flex;position:relative;align-items:center;padding:5px 20px 5px 10px;border-radius:10px;cursor:pointer;transition:.3s}:host::ng-deep .folder:hover{background-color:#f1f1f1}:host::ng-deep .folder:hover .folder__action{display:block}:host::ng-deep .folder__icon{display:flex;align-items:center;color:#6fc0ff;font-size:38px;margin-right:20px}:host::ng-deep .folder__name{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .folder__action{display:none;right:0;position:absolute;color:#979797;transition:.3s}:host::ng-deep .folder__action:hover{color:#000}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:W}]},e.propDecorators={folder:[{type:t.Input}]},e}();var Se=function(){function e(){this.loading=!1,this.unsubscribe$=new B.Subject,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.globalLoading})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.loading=t}))},e.decorators=[{type:t.Component,args:[{selector:"lib-folder-list",template:'<div class="folder-container">\n <h6>Folders</h6>\n <div class="folder-list custom-scrollbar">\n <lib-folder-item\n *ngFor="let folder of folders"\n [folder]="folder"\n ></lib-folder-item>\n </div>\n <div class="folder-empty" *ngIf="folders && !folders.length">\n <span>This folder is empty.</span>\n </div>\n</div>\n',styles:[":host::ng-deep .folder-container h6{color:#979797}:host::ng-deep .folder-container .folder-list{display:flex;flex-wrap:nowrap;overflow:auto;padding-bottom:10px}:host::ng-deep .folder-container .folder-empty{text-align:center;color:#979797;font-size:14px}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={folders:[{type:t.Input}]},e}();var Fe=function(){function e(e,t){this.assetService=e,this.svc=t,this.backgroundProcessingNum=P,this.unsubscribe$=new B.Subject,this.selectedAssets=[]}return e.prototype.ngOnInit=function(){this.bindSubscriber()},e.prototype.ngOnChanges=function(e){var t=this;e.assets&&(this.assets&&this.assets.find((function(e){return e.BackgroudProcessingStatus===t.backgroundProcessingNum.InProcessing}))&&this._resetUploadingAssets(),this.paginator.pageIndex=this.assetService.pageIndex,this.paginator.pageSize=this.assetService.pageSize,this.paginator.length=this.assetService.fileTotal)},e.prototype.onSelectAsset=function(e){var t=this.selectedAssets.findIndex((function(t){return t.AssetId===e.AssetId})),n=t>-1?this.selectedAssets.filter((function(e,n){return t!==n})):N(this.selectedAssets,[e]);this.svc.dispatch({type:q,payload:n})},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.deletedAssetId})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){if(e.selectedAssets&&e.selectedAssets.length){var n=e.selectedAssets.filter((function(e){return e.AssetId!==t}));e.svc.dispatch({type:q,payload:n})}})),se((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.currentFolderId=t,e.svc.dispatch({type:q,payload:[]})})),se((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.selectedAssets=t})),se((function(e){return e.reloadCurrentAssets})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return w.of(e)}))).subscribe((function(){e.fetchChildrenAssets()}))},e.prototype.pageChange=function(e){this.assetService.pageSize=e.pageSize,this.assetService.pageIndex=e.pageIndex,this.fetchChildrenAssets()},e.prototype.fetchChildrenAssets=function(){var e=this;this.currentFolderId&&(this.svc.dispatch({type:V,payload:!0}),this.assetService.getChildrenAssets({assetId:this.currentFolderId}).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assetService.setAssetList(t.Data.Children,t.Meta)})).add((function(){e.svc.dispatch({type:V,payload:!1})})))},e.prototype._resetUploadingAssets=function(){var e=this,t=setInterval((function(){e.fetchChildrenAssets(),e.assets.find((function(t){return t.BackgroudProcessingStatus===e.backgroundProcessingNum.Processed}))&&clearInterval(t),console.log("Upload Successfully!")}),5e3)},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-list",template:'<div class="asset-container">\n <div class="asset-heading">\n <h6 class="asset-heading__title">Files</h6>\n <lib-sort-items\n [hidden]="!assets?.length"\n class="asset-heading__sort"\n ></lib-sort-items>\n </div>\n <ng-container *ngIf="assets && !assets.length; else assetsTemplate">\n <div class="asset-empty">\n <span>This asset is empty.</span>\n </div>\n </ng-container>\n <ng-template #assetsTemplate>\n <div class="asset-list">\n <lib-asset-item\n class="asset-list__item"\n *ngFor="let asset of assets"\n [asset]="asset"\n (selectAsset)="onSelectAsset($event)"\n >\n </lib-asset-item>\n </div>\n </ng-template>\n <div [hidden]="!assets?.length">\n <mat-paginator\n #paginator\n [pageSizeOptions]="[12, 24, 60, 120]"\n (page)="pageChange($event)"\n [showFirstLastButtons]="true"\n >\n </mat-paginator>\n </div>\n</div>\n',styles:[":host::ng-deep .asset-container .asset-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}:host::ng-deep .asset-container .asset-heading__title{margin-bottom:0;color:#979797}:host::ng-deep .asset-container .asset-list{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;margin:0 -5px}:host::ng-deep .asset-container .asset-list__item{width:25%}@media only screen and (max-width:1200px){:host::ng-deep .asset-container .asset-list__item{width:calc(100% / 3)}}@media only screen and (max-width:960px){:host::ng-deep .asset-container .asset-list__item{width:50%}}:host::ng-deep .asset-container .asset-empty{text-align:center;color:#979797;font-size:14px}"]}]}],e.ctorParameters=function(){return[{type:X},{type:W}]},e.propDecorators={paginator:[{type:t.ViewChild,args:[d.MatPaginator,{static:!0}]}],assets:[{type:t.Input}]},e}();var Me=function(){function e(){this.units=["bytes","KB","MB","GB","TB","PB"]}return e.prototype.transform=function(e,t){if(void 0===e&&(e=0),void 0===t&&(t=2),isNaN(parseFloat(String(e)))||!isFinite(e))return"?";for(var n=0;e>=1024;)e/=1024,n++;return e.toFixed(+t)+" "+this.units[n]},e.decorators=[{type:t.Pipe,args:[{name:"fileSize"}]}],e}();var Oe=function(){function e(e,t,n,i,s,A,o,a,r,l){this._env=e,this.dialog=t,this.data=n,this.dialogRef=i,this.fileSize=s,this.uploadAssetsService=A,this.assetsService=o,this.fileService=a,this.domSanitizer=r,this.svc=l,this.fileName="",this.description="",this.linkDownload="",this.isCopied=!1,this.errorMessage="",this.patternError=!1,this.replaceMessage="",this.destroy$=new b.Subject,this.base64PNG={pdf:this.domSanitizer.bypassSecurityTrustUrl(fe),zip:this.domSanitizer.bypassSecurityTrustUrl(me),csv:this.domSanitizer.bypassSecurityTrustUrl(be),default:this.domSanitizer.bypassSecurityTrustUrl(ve)},this.isLoading=!0,this.isUpdating=!1,this.fileType=L}return e.prototype.ngOnInit=function(){this.uploadAssetsService.supportedSize=1024*this.assetsService.maxSize*1024,this.linkDownload=this._env.asset2Url+"/File/Download/"+this.data.assetId,this.getAssetDetail()},Object.defineProperty(e.prototype,"disabled",{get:function(){return!this.fileName.length||this.fileName.length+this.assetDetails.Extension.length>199||!!this.errorMessage||this.patternError||this.isUpdating},enumerable:!0,configurable:!0}),e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.getAssetDetail=function(){var e=this;this.fileService.getFileDetail(this.data.assetId).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){t&&(e.isLoading=!1,e.assetDetails=t.Data,e.fileName=e.assetDetails.OriginalFileNameWithoutExtension,e.description=e.assetDetails.Description,e.acceptTypes=["."+e.assetDetails.Extension.toLowerCase()])}))},e.prototype.updateAsset=function(){var e=this;this.isUpdating=!0,this.fileService.updateFile({assetId:this.assetDetails.AssetId,fileName:this.fileName.trim(),description:this.description&&this.description.trim()}).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.isUpdating=!1,e.closeDialog(!0)}),(function(t){e.errorMessage=t.ResponseMessage,e.isUpdating=!1}))},e.prototype.deleteAsset=function(){var e=this;this.dialog.open(Qe,{data:{type:"file",ids:[this.assetDetails.AssetId],name:this.assetDetails.OriginalFileNameWithoutExtension},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&(e.closeDialog(!0),e.svc.dispatch({type:Z,payload:e.assetDetails.AssetId}))}))},e.prototype.replaceAsset=function(e){var t=this;this.validateFile(e[0])&&(this.isLoading=!0,this.fileService.replaceAsset(this.assetDetails.AssetId,e[0]).pipe(y.takeUntil(this.destroy$)).subscribe((function(e){t.svc.dispatch({type:K}),t.getAssetDetail()}),(function(e){t.isLoading=!1,t.replaceMessage=e.ResponseMessage})))},e.prototype.validateFile=function(e){if(this.replaceMessage="",e){var t=this.matchExt(e.type),n=[];if(this.acceptTypes.indexOf(t)<0){var i=this.uploadAssetsService.messageErrors.replace+" "+this.acceptTypes.join(", ");n.push(i)}if(this.uploadAssetsService.supportedSize<e.size){var s=this.fileSize.transform(this.uploadAssetsService.supportedSize,0);n.push(this.uploadAssetsService.messageErrors.size+" "+s)}return n.length&&(this.replaceMessage=n.join("<br/>")),!n.length}},e.prototype.matchExt=function(e){var t="."+e.split("/")[1].toLowerCase();switch(t){case".jpeg":return".jpg";case".svg+xml":return".svg";default:return t}},e.prototype.onChangeName=function(e){this.fileName=e.target.value,this.errorMessage="",this.patternError=this.fileName&&!this.fileName.match(/.*\S+.*/)},e.prototype.onChangeDescription=function(e){this.description=e.target.value},e.prototype.copyText=function(e){var t=this,n=document.createElement("textarea");n.style.position="fixed",n.style.left="0",n.style.top="0",n.style.opacity="0",n.value=e,document.body.appendChild(n),n.focus(),n.select(),document.execCommand("copy"),document.body.removeChild(n),this.isCopied=!0,this.timer=setTimeout((function(){t.isCopied=!1}),1e3)},e.prototype.ngOnDestroy=function(){clearTimeout(this.timer),this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-dialog",template:'<lib-modal\n [heading]="assetDetails?.OriginalFileNameWithoutExtension || data?.name"\n>\n <ng-container content>\n <div *ngIf="isLoading; else contentAsset" class="file-details__loading">\n <div>\n <mat-spinner></mat-spinner>\n </div>\n </div>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n class="update__action"\n [class.loading]="isUpdating"\n mat-raised-button\n color="primary"\n (click)="updateAsset()"\n [disabled]="disabled"\n >\n <ng-container *ngIf="isUpdating">\n <mat-spinner [diameter]="20"></mat-spinner>\n </ng-container>\n <span>Update</span>\n </button>\n </ng-container>\n</lib-modal>\n<ng-template #contentAsset>\n <div class="file-details__item">\n <div class="file-details__image">\n <div class="file-details__image--heading">\n <mat-error\n *ngIf="replaceMessage"\n [innerHTML]="replaceMessage"\n ></mat-error>\n <div class="file-details__action">\n <lib-input-file\n matTooltip="Replace"\n [acceptTypes]="acceptTypes.join(\', \')"\n (onFileChange)="replaceAsset($event)"\n [multiple]="false"\n >\n <mat-icon class="icon-sync">sync</mat-icon>\n </lib-input-file>\n <a [href]="linkDownload" matTooltip="Download" mat-raised-button>\n <mat-icon class="icon-download">get_app</mat-icon>\n </a>\n <button matTooltip="Delete" mat-raised-button (click)="deleteAsset()">\n <mat-icon class="icon-delete">delete_outline</mat-icon>\n </button>\n </div>\n </div>\n <div class="file-details__img">\n <ng-container\n *ngIf="\n assetDetails?.FileType === fileType.DOCUMENT ||\n assetDetails?.FileType === fileType.IMAGE;\n else defaultFile\n "\n >\n <img\n [class.image]="assetDetails?.FileType === fileType.IMAGE"\n [src]="\n assetDetails?.FileType === fileType.IMAGE\n ? assetDetails?.UrlDetail\n : ( base64PNG[assetDetails?.Extension] || base64PNG.default )\n "\n [alt]="assetDetails?.FilePath"\n />\n </ng-container>\n <ng-template #defaultFile>\n <mat-icon>attach_file</mat-icon>\n </ng-template>\n </div>\n </div>\n </div>\n <div class="file-details__item">\n <div class="file-details__info">\n <div class="file-details__info--name">\n <div class="file-details__label">File name</div>\n <input\n class="file-details__input"\n matInput\n placeholder="Enter your folder name"\n [value]="fileName"\n required\n (input)="onChangeName($event)"\n />\n <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n <mat-error *ngIf="patternError">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf="fileName?.length + assetDetails.Extension.length > 199">\n The character limit is 200 characters\n </mat-error>\n </div>\n <div class="file-details__info--description">\n <div class="file-details__label">Description</div>\n <textarea\n class="file-details__textarea custom-scrollbar"\n matInput\n placeholder="Enter description"\n [value]="description"\n (input)="onChangeDescription($event)"\n maxlength="200"\n rows="3"\n >\n </textarea>\n </div>\n\n <div class="file-details__info--details">\n <div class="file-details__info--size">\n <div class="file-details__label">Size</div>\n <div>{{ assetDetails?.Size }}</div>\n </div>\n <div class="file-details__info--ext">\n <div class="file-details__label">Extension</div>\n <div>{{ assetDetails?.Extension }}</div>\n </div>\n <div class="file-details__info--date">\n <div class="file-details__label">Created date</div>\n <div>{{ assetDetails?.CreatedDate | localDate }}</div>\n </div>\n <div class="file-details__info--date">\n <div class="file-details__label">Updated date</div>\n <div>\n {{ assetDetails?.ModifiedDate | localDate }}\n </div>\n </div>\n <div\n *ngIf="\n assetDetails?.FileType === fileType.IMAGE &&\n assetDetails?.Extension !== \'svg\'\n "\n class="file-details__info--dimension"\n >\n <div class="file-details__label">Dimensions</div>\n <div>{{ assetDetails?.Width }}x{{ assetDetails?.Height }}</div>\n </div>\n </div>\n <div class="file-details__link">\n <div class="file-details__label">Public Url</div>\n <div class="break-word">\n <span>{{ assetDetails?.CloudUrl }}&nbsp;&nbsp;</span>\n <mat-icon matTooltip="Copy" (click)="copyText(assetDetails?.CloudUrl)"\n >content_copy</mat-icon\n >\n </div>\n </div>\n <span class="file-details__copy" [class.visible]="isCopied">Copied!</span>\n </div>\n </div>\n</ng-template>\n',providers:[Me],styles:[":host::ng-deep .mat-dialog-content{position:relative;display:flex;flex:1;justify-content:space-between;align-items:flex-start;font-size:14px;line-height:24px;color:#000;min-height:400px}:host::ng-deep .file-details__loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1}:host::ng-deep .file-details__item{width:50%;padding:20px 10px;position:relative}:host::ng-deep .file-details__image{padding:20px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:10px}:host::ng-deep .file-details__image--heading{display:flex;justify-content:flex-end}:host::ng-deep .file-details__image--heading .mat-error{flex:1;margin-top:0}:host::ng-deep .file-details__action{margin-bottom:20px}:host::ng-deep .file-details__action>*{margin-left:10px}:host::ng-deep .file-details__action .mat-button-base{padding:0;min-width:40px}:host::ng-deep .file-details__action .icon-download,:host::ng-deep .file-details__action .icon-sync{color:#979797}:host::ng-deep .file-details__action .icon-delete{color:#f44336}:host::ng-deep .file-details__img{position:relative;padding-bottom:66.66%;text-align:center}:host::ng-deep .file-details__img img{max-width:100%;max-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host::ng-deep .file-details__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-details__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-details__info{position:relative}:host::ng-deep .file-details__info--name{padding-bottom:20px;position:relative}:host::ng-deep .file-details__info--name .mat-error{margin-top:0;position:absolute;left:0;bottom:0;font-size:13px;line-height:20px}:host::ng-deep .file-details__info--description{padding-bottom:10px}:host::ng-deep .file-details__info--details{display:flex;flex-wrap:wrap;flex:1}:host::ng-deep .file-details__info--details>*{width:50%;margin-top:10px}:host::ng-deep .file-details__input,:host::ng-deep .file-details__textarea{margin-top:7px}:host::ng-deep .file-details__link{margin-top:15px}:host::ng-deep .file-details__link .mat-icon{font-size:16px;cursor:pointer}:host::ng-deep .file-details__label{color:#979797}:host::ng-deep .file-details__copy{opacity:0;position:absolute;top:50%;left:50%;background-color:rgba(0,0,0,.5);color:#fff;padding:15px;border-radius:5px;transform:translate(-50%,-50%)}:host::ng-deep .file-details__copy.visible{opacity:1}:host::ng-deep .update__action{min-width:100px}:host::ng-deep .update__action.loading{padding:0 5px}:host::ng-deep .update__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .update__action.loading .mat-spinner{margin-right:10px}:host::ng-deep .break-word{word-break:break-word}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[U]}]},{type:s.MatDialog},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:Me},{type:oe},{type:X},{type:ae},{type:I.DomSanitizer},{type:W}]},e}();var ze=function(){function e(e,n,i,s,A){this.dialog=e,this.domSanitizer=n,this.assetService=i,this.svc=s,this.changeDetectorRef=A,this.selectAsset=new t.EventEmitter,this.base64PNG={pdf:this.domSanitizer.bypassSecurityTrustUrl(fe),zip:this.domSanitizer.bypassSecurityTrustUrl(me),csv:this.domSanitizer.bypassSecurityTrustUrl(be),default:this.domSanitizer.bypassSecurityTrustUrl(ve)},this.selectedAssets=[],this.fileType=L,this.backgroundProcessingNum=P,this.destroy$=new b.Subject,this._bindSubscriber()}return e.prototype.ngOnInit=function(){var e=this;this.assetService.getFolderList().pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.currentFolder=t,e.changeDetectorRef.detectChanges()}))},Object.defineProperty(e.prototype,"checkSelectedAsset",{get:function(){var e=this;return this.selectedAssets&&this.selectedAssets.some((function(t){return t.AssetId===e.asset.AssetId}))},enumerable:!0,configurable:!0}),e.prototype.onChange=function(){this.selectAsset.emit(this.asset)},e.prototype.editAsset=function(){var e=this,t=this.dialog.open(Oe,{autoFocus:!1,data:{assetId:this.asset.AssetId,name:this.asset.OriginalFileNameWithoutExtension},panelClass:"lib-dialog--medium"});t&&t.afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:K})}))},e.prototype.onUploadAgain=function(e){var t=this,n=[];n.push(e.AssetId),this.dialog.open(Qe,{data:{type:"file",ids:n},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(e){e&&(t.svc.dispatch({type:K}),t.svc.dispatch({type:$}),t.svc.dispatch({type:q,payload:[]}),t._openUploadDialog())}))},e.prototype.onDelete=function(e){var t=this,n=[];n.push(e.AssetId),this.dialog.open(Qe,{data:{type:"file",ids:n},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(e){e&&(t.svc.dispatch({type:K}),t.svc.dispatch({type:$}),t.svc.dispatch({type:q,payload:[]}))}))},e.prototype._bindSubscriber=function(){var e=this;se((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){e.selectedAssets=t}))},e.prototype._openUploadDialog=function(){var e=this;this.dialog.open(De,{data:{currentAssetId:this.currentFolder.AssetId,fileType:this.assetService.dialogConfig.allowedType,maxSize:this.assetService.maxSize},panelClass:"lib-dialog--medium"}).afterClosed().subscribe((function(t){t&&(e.svc.dispatch({type:K}),e.svc.dispatch({type:$}))}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-item",template:'<div class="asset-wrapper">\n <div class="asset-content">\n <div class="asset-content__header" *ngIf="asset?.BackgroudProcessingStatus === backgroundProcessingNum.Processed">\n <button class="asset-content__header--button" mat-raised-button (click)="onChange()">\n <mat-checkbox\n class="checkbox"\n [checked]="checkSelectedAsset"\n ></mat-checkbox>\n </button>\n <button\n class="asset-content__header--button edit-button"\n mat-raised-button\n (click)="editAsset()"\n >\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div class="asset-content__body">\n <ng-container [ngSwitch]="asset.FileType">\n <ng-container *ngSwitchCase="fileType.IMAGE">\n <img\n class="image"\n [src]="asset.UrlThumbnail"\n [alt]="asset.OriginalFileName"\n *ngIf="asset.BackgroudProcessingStatus === backgroundProcessingNum.Processed"\n />\n \x3c!-- In Processing --\x3e\n <div class="processing" *ngIf="asset?.BackgroudProcessingStatus === backgroundProcessingNum.InProcessing">\n <mat-icon class="icon">pending</mat-icon>\n <span class="processing-txt">Uploading...</span>\n </div>\n \x3c!-- Failed --\x3e\n <div class="processing" *ngIf="asset.BackgroudProcessingStatus === backgroundProcessingNum.Failed">\n <mat-icon class="icon-img">error_outline</mat-icon>\n <div class="failed-group">\n <span style="color: #f44336; font-weight: 300; font-size: 12px;">Failed to upload the file</span>\n </div>\n <div class="btn-failed-group">\n <button class="btn-custom-upload" (click)="onUploadAgain(asset)">Delete and update again</button>\n <span class="failed-txt mx-1">or</span>\n <button class="btn-custom-failed" (click)="onDelete(asset)">Delete</button>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase="fileType.DOCUMENT">\n <img [src]="base64PNG[asset.Extension] || base64PNG.default" [alt]="asset.OriginalFileName" class="file" *ngIf="asset.BackgroudProcessingStatus === backgroundProcessingNum.Processed"/>\n \x3c!-- In Processing --\x3e\n <div class="processing" *ngIf="asset.BackgroudProcessingStatus === backgroundProcessingNum.InProcessing">\n <mat-icon class="icon">pending</mat-icon>\n <span class="processing-txt">Loading...</span>\n </div>\n \x3c!-- Failed --\x3e\n <div class="processing" *ngIf="asset.BackgroudProcessingStatus === backgroundProcessingNum.Failed">\n <mat-icon class="icon-doc">error_outline</mat-icon>\n <div class="failed-group">\n <span style="color: #f44336; font-weight: 300; font-size: 12px;">Failed to upload the file</span>\n </div>\n <div class="btn-failed-group">\n <button class="btn-custom-upload" (click)="onUploadAgain(asset)">Delete and update again</button>\n <span class="failed-txt mx-1">or</span>\n <button class="btn-custom-failed" (click)="onDelete(asset)">Delete</button>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n <div class="asset-content__footer">\n <div\n class="asset-content__footer--info"\n [ngClass]="{\n \'file-type__document\': asset.FileType === fileType.DOCUMENT\n }"\n >\n <p\n class="name"\n [matTooltip]="asset.OriginalFileNameWithoutExtension"\n matTooltipClass="width-auto"\n >\n {{ asset.OriginalFileNameWithoutExtension }}\n </p>\n <p class="info">\n <span class="extension">{{ asset.Extension }}</span>\n <span\n *ngIf="\n asset.FileType === fileType.IMAGE && asset?.Extension !== \'svg\'\n "\n >\n - {{ asset.Width }}x{{ asset.Height }}</span\n >\n <span *ngIf="asset.Size"> - {{ asset.Size }}</span>\n </p>\n </div>\n <div class="asset-content__footer--file-type">\n <span>{{ asset.FileType }}</span>\n </div>\n </div>\n </div>\n</div>\n',styles:[":host::ng-deep .asset-wrapper{padding:5px}:host::ng-deep .asset-wrapper .asset-content{overflow:hidden;position:relative;border-radius:10px;border:1px solid #d8d8d8;font-size:14px;transition:.3s cubic-bezier(.25,.8,.25,1)}:host::ng-deep .asset-wrapper .asset-content:hover{box-shadow:0 0 8px rgba(0,0,0,.17),0 0 0 rgba(0,0,0,.06)}:host::ng-deep .asset-wrapper .asset-content__header{position:absolute;z-index:1;top:0;left:0;width:100%;display:flex;justify-content:space-between;padding:14px}:host::ng-deep .asset-wrapper .asset-content__header--button{width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;text-align:center;color:rgba(0,0,0,.65);background:rgba(255,255,255,.6)}:host::ng-deep .asset-wrapper .asset-content__header--button:hover{background:#fff}:host::ng-deep .asset-wrapper .asset-content__header--button.edit-button{transition:.3s cubic-bezier(.25,.8,.25,1);opacity:0}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-icon{font-size:22px}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox{pointer-events:none;display:flex;align-items:center}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox .mat-checkbox-layout{display:block;margin:0}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox .mat-checkbox-layout .mat-checkbox-frame{color:#767676}:host::ng-deep .asset-wrapper .asset-content__body{padding-bottom:66.66%;background:#f1f1f1;position:relative}:host::ng-deep .asset-wrapper .asset-content__body img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host::ng-deep .asset-wrapper .asset-content__body img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .asset-wrapper .asset-content__body img.file{width:75%;height:75%}:host::ng-deep .asset-wrapper .asset-content__body .processing{background-color:#f1f1f1;width:100%;height:100%}:host::ng-deep .asset-wrapper .asset-content__body .processing .icon{position:absolute;top:30%;left:42%;font-size:35px}:host::ng-deep .asset-wrapper .asset-content__body .processing .icon-img{position:absolute;top:30%;left:42%;font-size:35px;color:#f44336}:host::ng-deep .asset-wrapper .asset-content__body .processing .icon-doc{position:absolute;top:30%;left:42%;font-size:35px;color:#f44336}:host::ng-deep .asset-wrapper .asset-content__body .processing .processing-txt{position:absolute;top:55%;left:37%}:host::ng-deep .asset-wrapper .asset-content__body .processing .failed-image{width:27px;height:27px;-o-object-fit:contain;object-fit:contain}:host::ng-deep .asset-wrapper .asset-content__body .processing .failed-group{position:absolute;top:55%;left:20%}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group{position:absolute;top:70%;left:10%;font-size:12px}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .failed-txt{color:#f44336}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-custom-upload{font-size:9px;border:0;color:#fff;background-color:#ffc107;border-radius:3px}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-custom-failed{font-size:9px;border:0;color:#fff;background-color:#f44336;border-radius:3px}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-custom-failed:hover,:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-custom-upload:hover{opacity:.8}:host::ng-deep .asset-wrapper .asset-content__footer{display:flex;align-items:center;justify-content:space-between;padding:5px 8px}:host::ng-deep .asset-wrapper .asset-content__footer--info{max-width:calc(100% - 50px)}:host::ng-deep .asset-wrapper .asset-content__footer--info p{margin:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .asset-wrapper .asset-content__footer--info .info{font-size:12px;color:#979797}:host::ng-deep .asset-wrapper .asset-content__footer--info .info .extension{text-transform:uppercase}:host::ng-deep .asset-wrapper .asset-content__footer--info.file-type__document{max-width:calc(100% - 70px)}:host::ng-deep .asset-wrapper .asset-content__footer--file-type{border-radius:5px;background-color:#d8d8d8;padding:2px 6px;font-size:12px}:host::ng-deep .asset-wrapper .asset-content:hover .edit-button{opacity:1!important}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:I.DomSanitizer},{type:X},{type:W},{type:t.ChangeDetectorRef}]},e.propDecorators={asset:[{type:t.Input}],selectAsset:[{type:t.Output}]},e}();var Ne=function(){function e(e,t){this._treeControl=e,this._database=t,this.dataChange=new b.BehaviorSubject([])}return Object.defineProperty(e.prototype,"data",{get:function(){return this.dataChange.value},set:function(e){this._treeControl.dataNodes=e,this.dataChange.next(e)},enumerable:!0,configurable:!0}),e.prototype.connect=function(e){var t=this;return this._treeControl.expansionModel.changed.subscribe((function(e){(e.added||e.removed)&&t.handleTreeControl(e)})),b.merge(e.viewChange,this.dataChange).pipe(y.map((function(){return t.data})))},e.prototype.disconnect=function(e){},e.prototype.handleTreeControl=function(e){var t=this;e.added&&e.added.forEach((function(e){return M(t,void 0,void 0,(function(){return O(this,(function(t){switch(t.label){case 0:return[4,this.toggleNode(e,!0)];case 1:return[2,t.sent()]}}))}))})),e.removed&&e.removed.slice().reverse().forEach((function(e){return M(t,void 0,void 0,(function(){return O(this,(function(t){switch(t.label){case 0:return[4,this.toggleNode(e,!1)];case 1:return[2,t.sent()]}}))}))}))},e.prototype.toggleNode=function(e,t){return M(this,void 0,void 0,(function(){var n,i,s,A,o,a,r=this;return O(this,(function(l){switch(l.label){case 0:return e?(e.isLoading=!0,(i=this.data.indexOf(e))<0?[2]:t?[4,this._database.getChildren(e.item)]:[3,2]):[2];case 1:return(s=l.sent())?(A=s.Children.map((function(t){return r._database.addNode(t,e.item.AssetId),new H(t,e.level+1,r._database.isExpandable(t))})),(n=this.data).splice.apply(n,N([i+1,0],A)),[3,3]):[2];case 2:for(o=0,a=i+1;a<this.data.length&&this.data[a].level>e.level;a++,o++);this.data.splice(i+1,o),l.label=3;case 3:return e.isLoading=!1,this.dataChange.next(this.data),[2]}}))}))},e.prototype.reloadNode=function(e){return M(this,void 0,void 0,(function(){var t,n,i,s,A,o,a=this;return O(this,(function(r){switch(r.label){case 0:return e?[4,this._database.getChildren(e.item)]:[2];case 1:if(n=r.sent(),i=this.data.indexOf(e),!n||i<0)return[2];for(s=0,A=i+1;A<this.data.length&&this.data[A].level>e.level;A++,s++);return this.data.splice(i+1,s),o=n.Children.map((function(t){return new H(t,e.level+1,a._database.isExpandable(t))})),(t=this.data).splice.apply(t,N([i+1,0],o)),this.dataChange.next(this.data),[2]}}))}))},e}();var Te=function(){function e(e,t,n){this.nodeTreeService=e,this.svc=t,this.changeDetectorRef=n,this.isRoot=!1,this.homeLoading=!1,this.loading=!1,this.unsubscribe$=new b.Subject,this.getLevel=function(e){return e.level},this.isExpandable=function(e){return e.expandable},this.hasChild=function(e,t){return t.expandable},this.treeControl=new E.FlatTreeControl(this.getLevel,this.isExpandable),this.dataSource=new Ne(this.treeControl,e)}return e.prototype.ngOnInit=function(){this.bindSubscriber(),this.initialData()},e.prototype.initialData=function(){return M(this,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.nodeTreeService.initialData({dispatchRootId:!0})];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.prototype.bindSubscriber=function(){var e=this;this.nodeTreeService.loading$.pipe(y.takeUntil(this.unsubscribe$),y.distinctUntilChanged()).subscribe((function(t){e.homeLoading=t,e.changeDetectorRef.detectChanges()})),this.nodeTreeService.initialData$.pipe(y.takeUntil(this.unsubscribe$),y.distinctUntilChanged()).subscribe((function(t){var n=(e.nodeTreeService.rootFolder||{AssetId:null}).AssetId;e.isRoot=n&&e.currentFolderId===n,e.dataSource.data=t,t.forEach((function(t){return e.nodeTreeService.addNode(t.item,null)})),e.changeDetectorRef.detectChanges()})),this.dataSource.dataChange.pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){t&&t.length&&e.changeDetectorRef.detectChanges()})),se((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){return M(e,void 0,void 0,(function(){var e;return O(this,(function(n){switch(n.label){case 0:return t?(e=(this.nodeTreeService.rootFolder||{AssetId:null}).AssetId,this.isRoot=e&&t===e,this.currentFolderId=t,[4,this.nodeTreeService.updateBreadcrumb(t)]):[3,2];case 1:n.sent(),this.changeDetectorRef.detectChanges(),n.label=2;case 2:return[2]}}))}))})),se((function(e){return e.reloadCurrentFolder})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(){return M(e,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.handleReloadFolder(this.currentFolderId)];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))}))},e.prototype.selectNode=function(e){return M(this,void 0,void 0,(function(){var t;return O(this,(function(n){switch(n.label){case 0:return(t=e.item.AssetId)===this.currentFolderId?this.svc.dispatch({type:te}):this.svc.dispatch({type:J,payload:t}),[4,this.handleReloadFolder(t)];case 1:return n.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.prototype.backToHome=function(){this.initialData();var e=this.nodeTreeService.rootFolder.AssetId;this.currentFolderId===e&&this.svc.dispatch({type:te})},e.prototype.checked=function(e){return this.currentFolderId&&this.currentFolderId===e.item.AssetId},e.prototype.disabled=function(e){return e.expandable},e.prototype.getParent=function(e){var t=this.getLevel(e);if(t<1)return null;for(var n=this.dataSource.data.indexOf(e)-1;n>=0;n--){var i=this.dataSource.data[n];if(this.getLevel(i)<t)return i}},e.prototype.getNodeById=function(e){return this.treeControl.dataNodes.find((function(t){return t.item.AssetId===e}))},e.prototype.handleReloadFolder=function(e){return M(this,void 0,void 0,(function(){var t,n,i;return O(this,(function(s){switch(s.label){case 0:return!e||this.loading?[2]:(this.loading=!0,(t=this.getNodeById(e))?(n=this.getParent(t))?[4,this.dataSource.reloadNode(n)]:[3,4]:[3,8]);case 1:return s.sent(),(i=this.getNodeById(e))?[4,this.treeControl.expand(i)]:[3,3];case 2:s.sent(),s.label=3;case 3:return[3,7];case 4:return[4,this.nodeTreeService.initialData({dispatchRootId:!1})];case 5:return s.sent(),(i=this.getNodeById(e))?[4,this.treeControl.expand(i)]:[3,7];case 6:s.sent(),s.label=7;case 7:return[3,10];case 8:return[4,this.nodeTreeService.initialData({dispatchRootId:!1})];case 9:s.sent(),s.label=10;case 10:return this.loading=!1,[2]}}))}))},e.prototype.ngOnDestroy=function(){this.dataSource.data=[],this.nodeTreeService.data=[],this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-node-tree",template:'<div class="node custom-scrollbar node-tree">\n <div class="node__home" (click)="backToHome()" [ngClass]="{ active: isRoot,\n disabled: loading || homeLoading}">\n <mat-icon *ngIf="!homeLoading">home</mat-icon>\n <mat-spinner *ngIf="homeLoading" [diameter]="20"\n class="node__home--loading"></mat-spinner>\n <span>Home</span>\n </div>\n <mat-tree [dataSource]="dataSource" [treeControl]="treeControl"\n class="node__item">\n <mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding\n [ngClass]="{ active: checked(node),disabled: loading || node.isLoading }"\n (click)="selectNode(node)">\n <button mat-icon-button disabled class="node__item--pading"></button>\n <div class="node__item--info" [style.maxWidth.px]="width -50">\n <mat-icon class="folder-icon">folder</mat-icon>\n <div class="node-name">\n <span>\n {{ node.item.OriginalFileName }}\n </span>\n <span class="node-summary" *ngIf="node.item?.TotalFolder ||\n node.item?.TotalFile">\n <small *ngIf="node.item?.TotalFolder">{{ node.item?.TotalFolder}}\n {{node.item?.TotalFolder> 1 ?\n \'folders\':\'folder\'}}</small>\n <small *ngIf="node.item?.TotalFolder && node.item?.TotalFile">,\n </small>\n <small *ngIf="node.item?.TotalFile">{{ node.item?.TotalFile}}\n {{node.item?.TotalFile> 1 ?\n \'files\':\'file\'}}</small>\n </span>\n </div>\n </div>\n </mat-tree-node>\n <mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding\n (click)="selectNode(node)"\n [ngClass]="{ active: checked(node), disabled: loading || node.isLoading\n }">\n <button mat-icon-button [attr.aria-label]="\'Toggle \' +\n node.item.OriginalFileName" matTreeNodeToggle\n [disabled]="node.isLoading">\n <mat-icon *ngIf="!node.isLoading" class="mat-icon-rtl-mirror">\n {{ treeControl.isExpanded(node) ? \'expand_more\' : \'chevron_right\' }}\n </mat-icon>\n <mat-spinner *ngIf="node.isLoading" [diameter]="20"\n class="node__item--loading"></mat-spinner>\n </button>\n <div class="node__item--info" [style.maxWidth.px]="width -50">\n <mat-icon class="folder-icon">folder</mat-icon>\n <div class="node-name">\n <span>\n {{ node.item.OriginalFileName }}\n </span>\n <span class="node-summary">\n <small *ngIf="node.item?.TotalFolder">{{ node.item?.TotalFolder}}\n {{node.item?.TotalFolder> 1 ?\n \'folders\':\'folder\'}}</small>\n <small *ngIf="node.item?.TotalFolder && node.item?.TotalFile">,\n </small>\n <small *ngIf="node.item?.TotalFile">{{ node.item?.TotalFile}}\n {{node.item?.TotalFile> 1 ?\n \'files\':\'file\'}}</small>\n </span>\n </div>\n </div>\n </mat-tree-node>\n </mat-tree>\n</div>',styles:[":host::ng-deep .node{overflow-x:hidden;height:100%;display:-ms-grid;display:grid;grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content}:host::ng-deep .node__home{padding:8px 10px;display:flex;align-items:center;height:44px}:host::ng-deep .node__home .mat-icon{color:#979797;margin-right:15px;margin-bottom:10px;font-size:32px}:host::ng-deep .node__home .node__home--loading{margin-right:19px}:host::ng-deep .node__item--loading{margin-left:10px}:host::ng-deep .node__item--info{display:flex;align-items:center}:host::ng-deep .node__item--info .folder-icon{display:flex;align-items:center;color:#6fc0ff;font-size:32px;margin-right:20px}:host::ng-deep .node__item--info .node-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name .node-summary{margin-top:-5px;color:#979797}:host::ng-deep .node .mat-tree{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:100%}:host::ng-deep .node .mat-tree .mat-tree-node{padding:5px 0;min-height:44px}:host::ng-deep .node .mat-tree .mat-tree-node .node__item--pading{height:20px}:host::ng-deep .node .mat-tree-node:hover,:host::ng-deep .node .node__home{transition:.3s;cursor:pointer}:host::ng-deep .node .mat-tree-node:hover:hover,:host::ng-deep .node .node__home:hover{background-color:#e8e8e8}:host::ng-deep .node .active{background-color:#f0f0f0}:host::ng-deep .node .disabled{pointer-events:none}"]}]}],e.ctorParameters=function(){return[{type:Ae},{type:W},{type:t.ChangeDetectorRef}]},e.propDecorators={width:[{type:t.Input}]},e}();var ke=function(){function e(e,t,n){this.nodeTreeService=e,this.svc=t,this.changeDetectorRef=n,this.unsubscribe$=new B.Subject,this.currentFolderHierarchy=[],this.maximumShownLevel=3,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.currentFolderHierarchy})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return w.of(e)}))).subscribe((function(t){e.currentFolderHierarchy=t}))},e.prototype.navigateToFolder=function(e){this.svc.dispatch({type:J,payload:e.AssetId})},e.prototype.backToHome=function(){return M(this,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.nodeTreeService.initialData({dispatchRootId:!0})];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.decorators=[{type:t.Component,args:[{selector:"lib-breadcrumb",template:'<nav class="breadcrumb-wrapper">\n <ul class="lib-breadcrumb">\n <li class="lib-breadcrumb__item">\n <span class="lib-breadcrumb__item--name" (click)="backToHome()">Home</span>\n </li>\n <ng-container *ngIf="currentFolderHierarchy.length <= maximumShownLevel">\n <li *ngFor="let folder of currentFolderHierarchy; let last = last" class="lib-breadcrumb__item">\n <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n <span class="lib-breadcrumb__item--name" (click)="navigateToFolder(folder)" [ngClass]="{ \'current-item\' : last }">\n {{folder.OriginalFileName}}\n </span>\n </li>\n </ng-container>\n <ng-container *ngIf="currentFolderHierarchy.length> maximumShownLevel">\n <div class="lib-breadcrumb__item">\n <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n <span class="lib-breadcrumb__item--name" [matMenuTriggerFor]="menu">\n <mat-icon>more_horiz</mat-icon>\n </span>\n </div>\n\n <li *ngFor="let folder of currentFolderHierarchy; let index= index; let last = last" class="lib-breadcrumb__item">\n <ng-container *ngIf="index> currentFolderHierarchy.length -\n maximumShownLevel">\n <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n <span class="lib-breadcrumb__item--name" (click)="navigateToFolder(folder)" [ngClass]="{ \'current-item\' : last }">\n {{folder.OriginalFileName}}\n </span>\n </ng-container>\n </li>\n </ng-container>\n\n </ul>\n</nav>\n\n<mat-menu #menu="matMenu">\n <ng-container *ngFor="let folder of currentFolderHierarchy; let index=\n index;">\n <button mat-menu-item *ngIf="index<= currentFolderHierarchy.length -\n maximumShownLevel" (click)="navigateToFolder(folder)">\n <mat-icon>navigate_next</mat-icon>\n <span>{{folder.OriginalFileName}}</span>\n </button>\n </ng-container>\n</mat-menu>',styles:[":host::ng-deep .breadcrumb-wrapper{color:#979797;background-color:#fff}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb{display:flex;align-items:center;margin:0;padding:0}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item{height:20px;display:flex;align-items:center;list-style:none}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--icon{color:#c8c8c8;cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:14px;padding:0;font-weight:400;cursor:pointer;transition:.3s;height:20px;line-height:20px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon{color:#979797;height:16px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item{cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item:hover{color:#979797}"]}]}],e.ctorParameters=function(){return[{type:Ae},{type:W},{type:t.ChangeDetectorRef}]},e}();var Pe=function(){function e(e,t){this.assetService=e,this.svc=t,this.destroy$=new B.Subject,this.value="",this.folderId="",this.bindingSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.bindingSubscriber=function(){var e=this;se((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.destroy$),y.switchMap((function(e){return w.of(e)}))).subscribe((function(t){return e.folderId=t}))},e.prototype.onChange=function(e){this.value=e.target.value},e.prototype.onSubmit=function(){(this.value||this.assetService.keyword)&&(this.assetService.keyword=this.value,this.searchByName())},e.prototype.clearSearch=function(){this.assetService.keyword?(this.value="",this.assetService.keyword="",this.searchByName(),this.assetService.setFolderList(null),this.assetService.setAssetList(null)):this.value=""},e.prototype.searchByName=function(){var e=this;this.svc.dispatch({type:V,payload:!0}),Q.combineLatest([this.assetService.getChildrenFolders({assetId:this.folderId}),this.assetService.getChildrenAssets({assetId:this.folderId,pageIndex:"0"})]).pipe(y.takeUntil(this.destroy$)).subscribe((function(t){var n=z(t,2),i=n[0],s=n[1];e.assetService.setFolderList(i.Data,i.Meta.Total),e.assetService.setAssetList(s.Data.Children,s.Meta)})).add((function(){e.svc.dispatch({type:V,payload:!1})}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-search-box",template:'<form (ngSubmit)="onSubmit()">\n <label for="search-assets">\n <mat-icon>search</mat-icon>\n </label>\n <input\n class="search-input"\n id="search-assets"\n [value]="value"\n (input)="onChange($event)"\n matInput\n placeholder="Search assets..."\n autocomplete="off"\n required\n />\n <mat-icon\n [class.visible]="value || assetService.keyword"\n (click)="clearSearch()"\n matTooltip="Clear search"\n >close</mat-icon\n >\n</form>\n',styles:[":host::ng-deep{display:flex;align-items:center;width:300px;height:40px}:host::ng-deep form{width:100%;position:relative}:host::ng-deep label{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:rgba(0,0,0,.38);display:flex;align-items:center}:host::ng-deep input.search-input{width:100%;padding:10px 40px;border:1px solid #d8d8d8;border-radius:5px;color:#000;font-size:14px}:host::ng-deep input.search-input+.mat-icon{display:none;position:absolute;right:10px;top:50%;transform:translateY(-50%);color:rgba(0,0,0,.38);font-size:20px;cursor:pointer;align-items:center}:host::ng-deep input.search-input+.mat-icon.visible{display:flex}"]}]}],e.ctorParameters=function(){return[{type:X},{type:W}]},e}();var He=function(){function e(e,t){this.assetService=e,this.svc=t,this.typeSort=R,this.sortOrder=R.DESC,this.sortBy=j.MODIFIED_DATE,this.sortList=[{value:j.NAME,label:"Sort by name"},{value:j.CREATED_DATE,label:"Sort by created date"},{value:j.MODIFIED_DATE,label:"Sort by modified date"}]}return e.prototype.ngOnInit=function(){this.sortBy=this.assetService.sortBy,this.sortOrder=this.assetService.sortOrder},e.prototype.onSortBy=function(e){this.sortBy=e.value,this.assetService.sortBy=this.sortBy,this.svc.dispatch({type:K})},e.prototype.toggleSortOrder=function(){this.sortOrder=this.sortOrder===R.ASC?R.DESC:R.ASC,this.assetService.sortOrder=this.sortOrder,this.svc.dispatch({type:K})},e.decorators=[{type:t.Component,args:[{selector:"lib-sort-items",template:'<mat-icon\n [ngClass]="{\n sort__icon: true,\n asc: sortOrder === typeSort.ASC,\n desc: sortOrder === typeSort.DESC\n }"\n matTooltip="Sort direction"\n (click)="toggleSortOrder()"\n >sort</mat-icon\n>\n<mat-form-field class="sort__dropdown" appearance="none">\n <mat-select [(value)]="sortBy" (selectionChange)="onSortBy($event)">\n <mat-option *ngFor="let option of sortList" [value]="option.value">\n {{ option.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n',styles:[":host::ng-deep{display:flex;align-items:center}:host::ng-deep .sort__icon{cursor:pointer;transition:transform .3s ease-in-out}:host::ng-deep .sort__icon.asc{transform:scaleY(-1)}:host::ng-deep .sort__dropdown{padding:5px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .sort__dropdown .mat-form-field-wrapper{padding-bottom:0}:host::ng-deep .sort__dropdown .mat-form-field-infix{border-top:0;padding:0}:host::ng-deep .sort__dropdown .mat-select{font-size:14px}:host::ng-deep .sort__dropdown .mat-select-arrow{border:none}"]}]}],e.ctorParameters=function(){return[{type:X},{type:W}]},e}();var Le=function(){function e(e){this.assetService=e,this.header=!0,this.assets=new t.EventEmitter,this.unsubscribe$=new B.Subject,this.nodeTreeMinWidth=250,this.nodeTreeMaxWidth=700}return e.prototype.ngOnInit=function(){var e=this;this.nodeTreeWidth=this.nodeTreeMinWidth,se((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assets.emit(t)}))},e.prototype.onResize=function(e){var t=e.width;this.nodeTreeWidth=t},Object.defineProperty(e.prototype,"nodeDetailsWidth",{get:function(){return"calc(100% - "+this.nodeTreeWidth+"px)"},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.assetService.resetAsset(),this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-wrapper",template:'<div class="asset-wrapper">\n <div class="asset-header" *ngIf="header">\n <div class="asset-header__left asset-header__title" #title>\n <lib-breadcrumb></lib-breadcrumb>\n </div>\n <div class="asset-header__right asset-header__actions" #actions>\n <lib-search-box></lib-search-box>\n </div>\n </div>\n <div class="asset-body">\n <lib-drag-to-resize (resizeCompleted)="onResize($event)" class="asset-body__node-tree" [minWidth]="nodeTreeMinWidth" [maxWidth]="nodeTreeMaxWidth">\n <lib-node-tree [width]="nodeTreeWidth"></lib-node-tree>\n </lib-drag-to-resize>\n <lib-node-details class="asset-body__node-details" [style.maxWidth]="nodeDetailsWidth"></lib-node-details>\n </div>\n</div>',styles:[":host::ng-deep .mat-dialog-title{padding:24px}:host::ng-deep .mat-dialog-title .lib-modal--close{padding:10px;position:absolute;top:10px;right:10px;z-index:1}:host::ng-deep .mat-dialog-actions{padding-left:24px;padding-right:24px}:host::ng-deep .asset-wrapper{display:flex;flex-direction:column;height:100%;width:100%;overflow-x:hidden}:host::ng-deep .asset-wrapper .asset-header{display:flex;padding:20px 15px;border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:center}:host::ng-deep .asset-wrapper .asset-body{display:flex;align-items:stretch}:host::ng-deep .asset-wrapper .asset-body__node-tree{border-right:1px solid #d8d8d8}:host::ng-deep .asset-wrapper .asset-body__node-details{flex:1}@media screen and (max-width:768px){:host::ng-deep .asset-wrapper .asset-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}:host::ng-deep .asset-wrapper .asset-body{flex-direction:column;justify-content:flex-start}:host::ng-deep .asset-wrapper .asset-body__node-tree{width:100%}:host::ng-deep .asset-wrapper .asset-body__node-details{max-width:100%!important}}::ng-deep .mat-tooltip.width-auto{max-width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:X}]},e.propDecorators={header:[{type:t.Input}],assets:[{type:t.Output}]},e}();var je=function(){function e(e,t,n,i,s){this.dialog=e,this.assetService=t,this.nodeTreeService=n,this.svc=i,this.changeDetectorRef=s,this.unsubscribe$=new B.Subject,this.selectedAssets=[],this.loading$=new v.BehaviorSubject(!1),this.bindSubscriber()}return e.prototype.ngOnInit=function(){var e=this;this.assetService.getFolderList().pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.currentFolder=t,e.changeDetectorRef.detectChanges()})),this.assetService.getAssetList().pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assets=t,e.changeDetectorRef.detectChanges()}))},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.globalLoading})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(t){e.loading$.next(t)})),se((function(e){return e.selectedAssets})).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(t){t&&(e.selectedAssets=t)})),se((function(e){return e.currentFolderId})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(t){t&&(e.assetService.pageIndex=0,e.fetchNodeDetails(t))})),se((function(e){return e.reloadCurrentFolder})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(){e.currentFolder&&e.fetchFolder(e.currentFolder.AssetId)})),se((function(e){return e.reloadCurrentNode})).pipe(y.takeUntil(this.unsubscribe$),y.switchMap((function(e){return b.of(e)}))).subscribe((function(){e.currentFolder&&(e.assetService.pageIndex=0,e.fetchNodeDetails(e.currentFolder.AssetId))}))},e.prototype.openUploadDialog=function(){var e=this;this.dialog.open(De,{data:{currentAssetId:this.currentFolder.AssetId,fileType:this.assetService.dialogConfig.allowedType,maxSize:this.assetService.maxSize},panelClass:"lib-dialog--medium"}).afterClosed().subscribe((function(t){t&&(e.svc.dispatch({type:K}),e.svc.dispatch({type:$}))}))},e.prototype.addFolder=function(){var e=this;this.dialog.open(we,{data:{currentAssetId:this.currentFolder.AssetId},panelClass:"lib-dialog--small"}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:$})}))},e.prototype.deleteAssets=function(){var e=this,t=this.selectedAssets.map((function(e){return e.AssetId}));this.dialog.open(Qe,{data:{type:"files",ids:t},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&(e.svc.dispatch({type:K}),e.svc.dispatch({type:$}),e.svc.dispatch({type:q,payload:[]}))}))},e.prototype.fetchFolder=function(e){var t=this;this.svc.dispatch({type:V,payload:!0}),this.assetService.getChildrenFolders({assetId:e}).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(e){t.assetService.setFolderList(e.Data,e.Meta.Total),e.Data&&e.Data.Children&&e.Data.Children.forEach((function(e){return t.nodeTreeService.addNode(e,t.currentFolder.AssetId)}))})).add((function(){t.svc.dispatch({type:V,payload:!1})}))},e.prototype.fetchNodeDetails=function(e){var t=this;this.svc.dispatch({type:V,payload:!0}),Q.combineLatest([this.assetService.getChildrenFolders({assetId:e}),this.assetService.getChildrenAssets({assetId:e})]).pipe(y.takeUntil(this.unsubscribe$)).subscribe((function(e){var n=z(e,2),i=n[0],s=n[1];t.assetService.setFolderList(i.Data,i.Meta.Total),t.assetService.setAssetList(s.Data.Children,s.Meta),i.Data&&i.Data.Children&&i.Data.Children.forEach((function(e){return t.nodeTreeService.addNode(e,t.currentFolder.AssetId)}))})).add((function(){t.svc.dispatch({type:V,payload:!1})}))},Object.defineProperty(e.prototype,"noResults",{get:function(){return this.assetService.keyword&&!this.currentFolder.Children.length&&!this.assets.length},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.svc.dispatch({type:J,payload:null}),this.svc.dispatch({type:q,payload:[]}),this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-node-details",template:'<div class="node-details custom-scrollbar">\n <div class="node-header">\n <mat-progress-bar [style.visibility]="(loading$ | async) ? \'visible\' : \'hidden\'" mode="indeterminate">\n </mat-progress-bar>\n <div class="node-header-content">\n <div class="node-header-content__left">\n <H5 class="node-header-content__left--title">\n <ng-container *ngIf="assetService?.keyword">\n Search results for <span>{{ assetService?.keyword }}</span> in\n </ng-container>\n {{ currentFolder?.OriginalFileName }}\n </H5>\n <p *ngIf="!noResults" class="node-header-content__left--subtitle">\n {{ assetService?.folderTotal }}\n {{ assetService?.folderTotal > 1 ? \'folders\' : \'folder\' }},\n {{ assetService?.fileTotal }}\n {{ assetService?.fileTotal > 1 ? \'files\': \'file\' }}\n </p>\n </div>\n <div class="node-header-content__right">\n <div class="button-wrapper">\n <button mat-raised-button [disabled]="!selectedAssets?.length" (click)="deleteAssets()" color="warn">\n <span>{{selectedAssets?.length > 1 ? \'Delete assets\' : \'Delete asset\'}}</span>\n <span *ngIf="selectedAssets?.length" class="count">({{ selectedAssets.length }})</span>\n </button>\n <button mat-raised-button color="primary" (click)="openUploadDialog()" [disabled]="!currentFolder?.AssetId">\n Upload asset\n </button>\n <button mat-raised-button color="primary" (click)="addFolder()" [disabled]="!currentFolder?.AssetId">\n Add folder\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class="node-body">\n <lib-search-not-found *ngIf="noResults; else contentAsset"></lib-search-not-found>\n <ng-template #contentAsset>\n <lib-folder-list class="node-body__section" [folders]="currentFolder?.Children"></lib-folder-list>\n <lib-asset-list [assets]="assets"></lib-asset-list>\n </ng-template>\n </div>\n</div>',styles:[":host::ng-deep .node-details{max-height:100%;overflow-y:auto}:host::ng-deep .node-details .node-header{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;z-index:20}:host::ng-deep .node-details .node-header-content{padding:10px 20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}:host::ng-deep .node-details .node-header-content__left--title{margin-bottom:5px}:host::ng-deep .node-details .node-header-content__left--title span{color:#fb3458}:host::ng-deep .node-details .node-header-content__left--subtitle{margin:0;color:#979797;font-size:14px}:host::ng-deep .node-details .node-header-content__right{flex:1}:host::ng-deep .node-details .node-header-content__right .button-wrapper{display:flex;gap:15px;justify-content:flex-end}:host::ng-deep .node-details .node-header-content__right .button-wrapper .count{margin-left:3px}:host::ng-deep .node-details .node-body{padding:0 20px}:host::ng-deep .node-details .node-body__section{display:block;margin-bottom:15px}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:X},{type:Ae},{type:W},{type:t.ChangeDetectorRef}]},e}();var Re=function(){function e(){this.resizeCompleted=new t.EventEmitter,this.grabber=!1,this.oldX=0}return e.prototype.ngOnInit=function(){this.width=this.minWidth},e.prototype.onMouseMove=function(e){this.grabber&&(this.resizer(e.clientX-this.oldX),this.oldX=e.clientX)},e.prototype.onMouseUp=function(e){this.grabber&&(this.grabber=!1)},e.prototype.onMouseDown=function(e){this.grabber=!0,this.oldX=e.clientX},e.prototype.resizer=function(e){this.width+e>this.maxWidth?this.width=this.maxWidth:this.width+e<this.minWidth?this.width=this.minWidth:this.width+=e,this.resizeCompleted.emit({width:this.width})},e.decorators=[{type:t.Component,args:[{selector:"lib-drag-to-resize",template:"<div class=\"drag-reszie__wrapper\" [ngStyle]=\"{\n 'width': width+'px',\n 'user-select': grabber? 'none' : 'auto'}\">\n <ng-content></ng-content>\n <div class=\"drag-reszie__wrapper--resizer\" (mousedown)=\"onMouseDown($event)\">\n </div>\n</div>",styles:[':host::ng-deep .drag-reszie__wrapper{position:relative;height:100%}:host::ng-deep .drag-reszie__wrapper--resizer{content:"";position:absolute;top:0;right:-15px;z-index:99;cursor:ew-resize;height:100%;width:15px;border-left:3px solid transparent;transition:.3s ease-in-out}:host::ng-deep .drag-reszie__wrapper--resizer:hover{border-left-color:#6fc0ff}']}]}],e.ctorParameters=function(){return[]},e.propDecorators={minWidth:[{type:t.Input}],maxWidth:[{type:t.Input}],resizeCompleted:[{type:t.Output}],onMouseMove:[{type:t.HostListener,args:["document:mousemove",["$event"]]}],onMouseUp:[{type:t.HostListener,args:["document:mouseup",["$event"]]}]},e}();var Ue={date:"MM/DD/YYYY",dayMonth:"MMM DD",dateTime:"MM/DD/YYYY HH:mm",fullDateTime:"MM/DD/YYYY HH:mm:ss",dateTimeAM:"MM/DD/YYYY hh:mm A",apiDate:"YYYY/MM/DD",apiDateTime:"YYYY-MM-DD[T]HH:mm:ssZ",apiDateTimeNoZ:"YYYY-MM-DD[T]HH:mm:ss",apiDateMonthYear:"MMM DD YYYY",urlParam:"YYYY-MM-DD"},Ge=D,Xe=function(){function e(){this.transform=function(e,t){var n=t||{format:Ue.dateTimeAM,timeZone:"America/Chicago"},i=n.format;n.timeZone;if(!e)return"-";if(-1!==e.indexOf("Z"))return Ge(e).format(i);var s=Ge.utc(e).toISOString();return Ge(s).format(i)}}return e.decorators=[{type:t.Pipe,args:[{name:"localDatetime"}]}],e}();var Ye=function(){function e(){this.transform=function(e,t){var n=t||{format:Ue.date,timeZone:"America/Chicago"},i=n.format;n.timeZone;if(!e)return"-";if(-1!==e.indexOf("Z"))return Ge(e).format(i);var s=Ge.utc(e).toISOString();return Ge(s).format(i)}}return e.decorators=[{type:t.Pipe,args:[{name:"localDate"}]}],e}();var We=[oe,X,ae,Ae,G],Ve=[ue,he,ye,Re,Ce,Be,Ie,De,we,Ee,Qe,Oe,Se,je,xe,Fe,ze,Te,ke,Pe,He,Le,re],qe=[he,De,we,Ee,Qe,Oe,re];function Ke(e){return function(){return new Promise((function(t){return setTimeout((function(){return t(e)}))}))}}var Ze=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:N(Ve,[le,Me,Ye,Xe]),imports:[ge,n.CommonModule,i.FormsModule,i.ReactiveFormsModule,s.MatDialogModule,A.MatButtonModule,o.MatInputModule,a.MatIconModule,s.MatDialogModule,A.MatButtonModule,o.MatInputModule,a.MatIconModule,r.MatTooltipModule,d.MatPaginatorModule,c.MatTableModule,p.MatProgressBarModule,g.MatMenuModule,u.MatCheckboxModule,l.MatTreeModule,h.MatSelectModule,f.MatProgressSpinnerModule],exports:N(Ve,[le,ge,Me,Ye,Xe]),providers:N(We,[{provide:t.APP_INITIALIZER,useFactory:Ke,deps:We,multi:!0}]),entryComponents:N(qe)}]}],e.ctorParameters=function(){return[]},e}();e.AMFactory=Ke,e.AM_CONFIG=U,e.AddFolderDialogComponent=we,e.AssetDialogComponent=Oe,e.AssetItemComponent=ze,e.AssetListComponent=Fe,e.AssetManagementComponent=le,e.AssetManagementDialogComponent=re,e.AssetManagementModule=Ze,e.AssetService=X,e.AssetWrapperComponent=Le,e.BaseHttpClient=G,e.BreadcrumbComponent=ke,e.DeleteDialogComponent=Qe,e.DialogTriggerDirective=de,e.EditFolderDialogComponent=Ee,e.FileItemComponent=Be,e.FileListComponent=Ie,e.FileService=ae,e.FolderItemComponent=xe,e.FolderListComponent=Se,e.InputFileComponent=ue,e.ModalComponent=he,e.NodeDetailsComponent=je,e.NodeTreeComponent=Te,e.NodeTreeService=Ae,e.SearchBoxComponent=Pe,e.SearchNotFoundComponent=ye,e.UploadAssetsService=oe,e.UploadDialogComponent=De,e.UploadFileComponent=Ce,e.ɵa=Re,e.ɵb=Me,e.ɵc=W,e.ɵd=He,e.ɵe=k,e.ɵf=Xe,e.ɵg=Ye,e.ɵh=pe,e.ɵi=ge,e.ɵj=ce,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=rs-pk-asset-management.umd.min.js.map