@rs-pk/asset-management 1.0.27 → 1.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/rs-pk-asset-management.umd.js +475 -89
- package/bundles/rs-pk-asset-management.umd.js.map +1 -1
- package/bundles/rs-pk-asset-management.umd.min.js +2 -2
- package/bundles/rs-pk-asset-management.umd.min.js.map +1 -1
- package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +1 -2
- package/esm2015/lib/components/partial/asset-item/asset-item.component.js +6 -3
- package/esm2015/lib/components/partial/asset-list/asset-list.component.js +14 -6
- package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +2 -3
- package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +6 -10
- package/esm2015/lib/components/partial/file-list/file-list.component.js +1 -1
- package/esm2015/lib/components/partial/folder-item/folder-item.component.js +2 -2
- package/esm2015/lib/components/partial/folder-list/folder-list.component.js +33 -5
- package/esm2015/lib/components/partial/node-details/node-details.component.js +74 -13
- package/esm2015/lib/components/partial/node-tree/node-tree.component.js +164 -24
- package/esm2015/lib/components/partial/search-box/search-box.component.js +11 -6
- package/esm2015/lib/components/ui/modal/modal.component.js +1 -1
- package/esm2015/lib/datasources/node-tree.datasource.js +4 -3
- package/esm2015/lib/models/asset.model.js +15 -1
- package/esm2015/lib/models/index.js +2 -2
- package/esm2015/lib/services/asset.service.js +53 -11
- package/esm2015/lib/services/env-config.service.js +3 -1
- package/esm2015/lib/services/node-tree.service.js +27 -15
- package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +1 -2
- package/esm5/lib/components/partial/asset-item/asset-item.component.js +6 -3
- package/esm5/lib/components/partial/asset-list/asset-list.component.js +14 -6
- package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +2 -3
- package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +6 -13
- package/esm5/lib/components/partial/file-list/file-list.component.js +1 -1
- package/esm5/lib/components/partial/folder-item/folder-item.component.js +2 -2
- package/esm5/lib/components/partial/folder-list/folder-list.component.js +40 -5
- package/esm5/lib/components/partial/node-details/node-details.component.js +92 -16
- package/esm5/lib/components/partial/node-tree/node-tree.component.js +202 -26
- package/esm5/lib/components/partial/search-box/search-box.component.js +11 -6
- package/esm5/lib/components/ui/modal/modal.component.js +1 -1
- package/esm5/lib/datasources/node-tree.datasource.js +5 -3
- package/esm5/lib/models/asset.model.js +15 -1
- package/esm5/lib/models/index.js +2 -2
- package/esm5/lib/services/asset.service.js +69 -12
- package/esm5/lib/services/env-config.service.js +3 -1
- package/esm5/lib/services/node-tree.service.js +38 -18
- package/fesm2015/rs-pk-asset-management.js +386 -79
- package/fesm2015/rs-pk-asset-management.js.map +1 -1
- package/fesm5/rs-pk-asset-management.js +477 -91
- package/fesm5/rs-pk-asset-management.js.map +1 -1
- package/lib/components/partial/asset-item/asset-item.component.d.ts +1 -0
- package/lib/components/partial/asset-list/asset-list.component.d.ts +1 -0
- package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +1 -1
- package/lib/components/partial/folder-list/folder-list.component.d.ts +8 -2
- package/lib/components/partial/node-details/node-details.component.d.ts +11 -0
- package/lib/components/partial/node-tree/node-tree.component.d.ts +21 -7
- package/lib/datasources/node-tree.datasource.d.ts +1 -1
- package/lib/models/asset.model.d.ts +7 -0
- package/lib/services/asset.service.d.ts +10 -3
- package/lib/services/env-config.service.d.ts +1 -0
- package/lib/services/node-tree.service.d.ts +7 -6
- package/package.json +3 -4
- package/rs-pk-asset-management.metadata.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(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')) :
|
|
3
3
|
typeof define === 'function' && 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'], factory) :
|
|
4
|
-
(global = global || self, factory((global['rs-pk'] = global['rs-pk'] || {}, global['rs-pk']['asset-management'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.material.dialog, global.ng.material.button, global.ng.material.input, global.ng.material.icon, global.ng.material.tooltip, global.ng.material.tree, global.ng.material.paginator, global.ng.material.table, global.ng.material
|
|
4
|
+
(global = global || self, factory((global['rs-pk'] = global['rs-pk'] || {}, global['rs-pk']['asset-management'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.material.dialog, global.ng.material.button, global.ng.material.input, global.ng.material.icon, global.ng.material.tooltip, global.ng.material.tree, global.ng.material.paginator, global.ng.material.table, global.ng.material.progressBar, global.ng.material.menu, global.ng.material.checkbox, global.ng.material.select, global.ng.material.progressSpinner, global.ng.common.http, global.rxjs, global.rxjs['internal/BehaviorSubject'], global.rxjs.operators, global.rxjs['internal/Subject'], global.ng.platformBrowser, global.ng.material, global.rxjs['internal/observable/of'], global.ng.cdk.tree, global.rxjs['internal/observable/combineLatest'], global.moment_));
|
|
5
5
|
}(this, (function (exports, core, common, forms, dialog, button, input, icon, tooltip, tree, paginator, table, progressBar, menu, checkbox, select$1, progressSpinner, http, rxjs, BehaviorSubject, operators, Subject, platformBrowser, material, of, tree$1, combineLatest, moment_) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
@@ -268,6 +268,10 @@
|
|
|
268
268
|
IAssetByIdPayload.prototype.assetId;
|
|
269
269
|
/** @type {?|undefined} */
|
|
270
270
|
IAssetByIdPayload.prototype.isFilter;
|
|
271
|
+
/** @type {?|undefined} */
|
|
272
|
+
IAssetByIdPayload.prototype.pageIndex;
|
|
273
|
+
/** @type {?|undefined} */
|
|
274
|
+
IAssetByIdPayload.prototype.pageSize;
|
|
271
275
|
}
|
|
272
276
|
/**
|
|
273
277
|
* @record
|
|
@@ -276,6 +280,8 @@
|
|
|
276
280
|
if (false) {
|
|
277
281
|
/** @type {?|undefined} */
|
|
278
282
|
IInitialFolderTreeOptions.prototype.dispatchRootId;
|
|
283
|
+
/** @type {?|undefined} */
|
|
284
|
+
IInitialFolderTreeOptions.prototype.pageSize;
|
|
279
285
|
}
|
|
280
286
|
var AssetModel = /** @class */ (function () {
|
|
281
287
|
function AssetModel() {
|
|
@@ -337,6 +343,8 @@
|
|
|
337
343
|
AssetModel.prototype.HaveChildren;
|
|
338
344
|
/** @type {?} */
|
|
339
345
|
AssetModel.prototype.ParentId;
|
|
346
|
+
/** @type {?} */
|
|
347
|
+
AssetModel.prototype.Children;
|
|
340
348
|
}
|
|
341
349
|
var FolderTreeModel = /** @class */ (function (_super) {
|
|
342
350
|
__extends(FolderTreeModel, _super);
|
|
@@ -386,6 +394,12 @@
|
|
|
386
394
|
BackgroudProcessingStatus[BackgroudProcessingStatus.InProcessing] = 'InProcessing';
|
|
387
395
|
BackgroudProcessingStatus[BackgroudProcessingStatus.Processed] = 'Processed';
|
|
388
396
|
BackgroudProcessingStatus[BackgroudProcessingStatus.Failed] = 'Failed';
|
|
397
|
+
/** @type {?} */
|
|
398
|
+
var MAX_FOLDER_TREE_SIZE = 10;
|
|
399
|
+
/** @type {?} */
|
|
400
|
+
var DEFAULT_FOLDER_TREE_INDEX = 0;
|
|
401
|
+
/** @type {?} */
|
|
402
|
+
var ROOT_ASSET_ID = 'ROOT';
|
|
389
403
|
|
|
390
404
|
/**
|
|
391
405
|
* @fileoverview added by tsickle
|
|
@@ -632,6 +646,8 @@
|
|
|
632
646
|
AMConfig.prototype.asset2Url;
|
|
633
647
|
/** @type {?|undefined} */
|
|
634
648
|
AMConfig.prototype.requestHeader;
|
|
649
|
+
/** @type {?|undefined} */
|
|
650
|
+
AMConfig.prototype.pageFolderSize;
|
|
635
651
|
}
|
|
636
652
|
/** @type {?} */
|
|
637
653
|
var AM_CONFIG = new core.InjectionToken('asset.man.config.angular');
|
|
@@ -704,6 +720,18 @@
|
|
|
704
720
|
this.baseUrl = this._env.asset2Url;
|
|
705
721
|
this.initOptionFiles();
|
|
706
722
|
}
|
|
723
|
+
Object.defineProperty(AssetService.prototype, "AMConfig", {
|
|
724
|
+
get: /**
|
|
725
|
+
* @return {?}
|
|
726
|
+
*/
|
|
727
|
+
function () {
|
|
728
|
+
return {
|
|
729
|
+
pageFolderSize: this._env.pageFolderSize
|
|
730
|
+
};
|
|
731
|
+
},
|
|
732
|
+
enumerable: true,
|
|
733
|
+
configurable: true
|
|
734
|
+
});
|
|
707
735
|
/**
|
|
708
736
|
* @private
|
|
709
737
|
* @return {?}
|
|
@@ -716,6 +744,8 @@
|
|
|
716
744
|
this.keyword = '';
|
|
717
745
|
this.pageSize = 12;
|
|
718
746
|
this.pageIndex = 0;
|
|
747
|
+
this.pageFolderSize = this._env.pageFolderSize || MAX_FOLDER_TREE_SIZE;
|
|
748
|
+
this.pageFolderIndex = 0;
|
|
719
749
|
this.folderTotal = 0;
|
|
720
750
|
this.fileTotal = 0;
|
|
721
751
|
this.sortBy = SortFilesBy.MODIFIED_DATE;
|
|
@@ -754,16 +784,17 @@
|
|
|
754
784
|
};
|
|
755
785
|
/**
|
|
756
786
|
* @param {?} folders
|
|
757
|
-
* @param {?=}
|
|
787
|
+
* @param {?=} pagination
|
|
758
788
|
* @return {?}
|
|
759
789
|
*/
|
|
760
790
|
AssetService.prototype.setFolderList = /**
|
|
761
791
|
* @param {?} folders
|
|
762
|
-
* @param {?=}
|
|
792
|
+
* @param {?=} pagination
|
|
763
793
|
* @return {?}
|
|
764
794
|
*/
|
|
765
|
-
function (folders,
|
|
766
|
-
this.
|
|
795
|
+
function (folders, pagination) {
|
|
796
|
+
this.setFolderTreePagination(pagination);
|
|
797
|
+
this.setFolderPagination(pagination);
|
|
767
798
|
this.folderList$.next(folders);
|
|
768
799
|
};
|
|
769
800
|
/**
|
|
@@ -778,15 +809,17 @@
|
|
|
778
809
|
/**
|
|
779
810
|
* @param {?} assets
|
|
780
811
|
* @param {?=} pagination
|
|
812
|
+
* @param {?=} totalFile
|
|
781
813
|
* @return {?}
|
|
782
814
|
*/
|
|
783
815
|
AssetService.prototype.setAssetList = /**
|
|
784
816
|
* @param {?} assets
|
|
785
817
|
* @param {?=} pagination
|
|
818
|
+
* @param {?=} totalFile
|
|
786
819
|
* @return {?}
|
|
787
820
|
*/
|
|
788
|
-
function (assets, pagination) {
|
|
789
|
-
this.setPagination(pagination);
|
|
821
|
+
function (assets, pagination, totalFile) {
|
|
822
|
+
this.setPagination(pagination, totalFile);
|
|
790
823
|
this.assetList$.next(assets);
|
|
791
824
|
};
|
|
792
825
|
/**
|
|
@@ -812,20 +845,52 @@
|
|
|
812
845
|
/**
|
|
813
846
|
* @private
|
|
814
847
|
* @param {?} pagination
|
|
848
|
+
* @param {?} totalFile
|
|
815
849
|
* @return {?}
|
|
816
850
|
*/
|
|
817
851
|
AssetService.prototype.setPagination = /**
|
|
818
852
|
* @private
|
|
819
853
|
* @param {?} pagination
|
|
854
|
+
* @param {?} totalFile
|
|
820
855
|
* @return {?}
|
|
821
856
|
*/
|
|
822
|
-
function (pagination) {
|
|
857
|
+
function (pagination, totalFile) {
|
|
823
858
|
if (pagination) {
|
|
824
|
-
this.fileTotal =
|
|
859
|
+
this.fileTotal = totalFile || 0;
|
|
825
860
|
this.pageIndex = pagination.PageIndex;
|
|
826
861
|
this.pageSize = pagination.PageSize;
|
|
827
862
|
}
|
|
828
863
|
};
|
|
864
|
+
/**
|
|
865
|
+
* @private
|
|
866
|
+
* @param {?} pagination
|
|
867
|
+
* @return {?}
|
|
868
|
+
*/
|
|
869
|
+
AssetService.prototype.setFolderPagination = /**
|
|
870
|
+
* @private
|
|
871
|
+
* @param {?} pagination
|
|
872
|
+
* @return {?}
|
|
873
|
+
*/
|
|
874
|
+
function (pagination) {
|
|
875
|
+
if (pagination) {
|
|
876
|
+
this.folderTotal = pagination.Total;
|
|
877
|
+
this.pageFolderIndex = pagination.PageIndex;
|
|
878
|
+
this.pageFolderSize = pagination.PageSize;
|
|
879
|
+
}
|
|
880
|
+
};
|
|
881
|
+
/**
|
|
882
|
+
* @param {?} pagination
|
|
883
|
+
* @return {?}
|
|
884
|
+
*/
|
|
885
|
+
AssetService.prototype.setFolderTreePagination = /**
|
|
886
|
+
* @param {?} pagination
|
|
887
|
+
* @return {?}
|
|
888
|
+
*/
|
|
889
|
+
function (pagination) {
|
|
890
|
+
if (pagination) {
|
|
891
|
+
this.folderTotal = pagination.Total;
|
|
892
|
+
}
|
|
893
|
+
};
|
|
829
894
|
/**
|
|
830
895
|
* @param {?} assetId
|
|
831
896
|
* @return {?}
|
|
@@ -848,11 +913,15 @@
|
|
|
848
913
|
* @return {?}
|
|
849
914
|
*/
|
|
850
915
|
function (_a) {
|
|
851
|
-
var assetId = _a.assetId, _b = _a.isFilter, isFilter = _b === void 0 ? true : _b;
|
|
916
|
+
var assetId = _a.assetId, _b = _a.isFilter, isFilter = _b === void 0 ? true : _b, _c = _a.pageIndex, pageIndex = _c === void 0 ? DEFAULT_FOLDER_TREE_INDEX : _c, _d = _a.pageSize, pageSize = _d === void 0 ? this._env.pageFolderSize || MAX_FOLDER_TREE_SIZE : _d;
|
|
852
917
|
/** @type {?} */
|
|
853
918
|
var url = this.baseUrl + "/File/GetChildren";
|
|
854
919
|
/** @type {?} */
|
|
855
|
-
var params = new http.HttpParams()
|
|
920
|
+
var params = new http.HttpParams()
|
|
921
|
+
.set('getAll', 'true')
|
|
922
|
+
.set('isFolder', 'true')
|
|
923
|
+
.set('pageSize', "" + pageSize)
|
|
924
|
+
.set('pageIndex', "" + pageIndex);
|
|
856
925
|
if (assetId) {
|
|
857
926
|
params = params.set('assetId', assetId);
|
|
858
927
|
}
|
|
@@ -929,6 +998,10 @@
|
|
|
929
998
|
/** @type {?} */
|
|
930
999
|
AssetService.prototype.pageIndex;
|
|
931
1000
|
/** @type {?} */
|
|
1001
|
+
AssetService.prototype.pageFolderSize;
|
|
1002
|
+
/** @type {?} */
|
|
1003
|
+
AssetService.prototype.pageFolderIndex;
|
|
1004
|
+
/** @type {?} */
|
|
932
1005
|
AssetService.prototype.folderTotal;
|
|
933
1006
|
/** @type {?} */
|
|
934
1007
|
AssetService.prototype.fileTotal;
|
|
@@ -1291,21 +1364,25 @@
|
|
|
1291
1364
|
/**
|
|
1292
1365
|
* @private
|
|
1293
1366
|
* @param {?} id
|
|
1367
|
+
* @param {?=} pageSize
|
|
1294
1368
|
* @return {?}
|
|
1295
1369
|
*/
|
|
1296
1370
|
NodeTreeService.prototype.fetchChildrenFolder = /**
|
|
1297
1371
|
* @private
|
|
1298
1372
|
* @param {?} id
|
|
1373
|
+
* @param {?=} pageSize
|
|
1299
1374
|
* @return {?}
|
|
1300
1375
|
*/
|
|
1301
|
-
function (id) {
|
|
1376
|
+
function (id, pageSize) {
|
|
1302
1377
|
return __awaiter(this, void 0, void 0, function () {
|
|
1303
1378
|
var result, err_1;
|
|
1304
1379
|
return __generator(this, function (_a) {
|
|
1305
1380
|
switch (_a.label) {
|
|
1306
1381
|
case 0:
|
|
1307
1382
|
_a.trys.push([0, 2, , 3]);
|
|
1308
|
-
return [4 /*yield*/, this.assetService
|
|
1383
|
+
return [4 /*yield*/, this.assetService
|
|
1384
|
+
.getChildrenFolders({ assetId: id, isFilter: false, pageSize: pageSize || this.assetService.AMConfig.pageFolderSize || MAX_FOLDER_TREE_SIZE })
|
|
1385
|
+
.toPromise()];
|
|
1309
1386
|
case 1:
|
|
1310
1387
|
result = _a.sent();
|
|
1311
1388
|
if (result) {
|
|
@@ -1332,19 +1409,19 @@
|
|
|
1332
1409
|
* @return {?}
|
|
1333
1410
|
*/
|
|
1334
1411
|
function (_a) {
|
|
1335
|
-
var dispatchRootId = _a.dispatchRootId;
|
|
1412
|
+
var dispatchRootId = _a.dispatchRootId, _b = _a.pageSize, pageSize = _b === void 0 ? this.assetService.AMConfig.pageFolderSize || MAX_FOLDER_TREE_SIZE : _b;
|
|
1336
1413
|
return __awaiter(this, void 0, void 0, function () {
|
|
1337
1414
|
var result, initData;
|
|
1338
1415
|
var _this = this;
|
|
1339
|
-
return __generator(this, function (
|
|
1340
|
-
switch (
|
|
1416
|
+
return __generator(this, function (_c) {
|
|
1417
|
+
switch (_c.label) {
|
|
1341
1418
|
case 0:
|
|
1342
1419
|
if (dispatchRootId) {
|
|
1343
1420
|
this.loading$.next(true);
|
|
1344
1421
|
}
|
|
1345
|
-
return [4 /*yield*/, this.assetService.getChildrenFolders({ isFilter: false }).toPromise()];
|
|
1422
|
+
return [4 /*yield*/, this.assetService.getChildrenFolders({ isFilter: false, pageIndex: 0, pageSize: pageSize }).toPromise()];
|
|
1346
1423
|
case 1:
|
|
1347
|
-
result =
|
|
1424
|
+
result = _c.sent();
|
|
1348
1425
|
if (!result) {
|
|
1349
1426
|
return [2 /*return*/];
|
|
1350
1427
|
}
|
|
@@ -1363,7 +1440,7 @@
|
|
|
1363
1440
|
* @param {?} folder
|
|
1364
1441
|
* @return {?}
|
|
1365
1442
|
*/
|
|
1366
|
-
function (folder) { return
|
|
1443
|
+
function (folder) { return _this.getDynamicFlatNode(folder, 0); }));
|
|
1367
1444
|
this.initialData$.next(initData);
|
|
1368
1445
|
if (dispatchRootId) {
|
|
1369
1446
|
this.loading$.next(false);
|
|
@@ -1375,17 +1452,33 @@
|
|
|
1375
1452
|
};
|
|
1376
1453
|
/**
|
|
1377
1454
|
* @param {?} node
|
|
1455
|
+
* @param {?=} level
|
|
1456
|
+
* @return {?}
|
|
1457
|
+
*/
|
|
1458
|
+
NodeTreeService.prototype.getDynamicFlatNode = /**
|
|
1459
|
+
* @param {?} node
|
|
1460
|
+
* @param {?=} level
|
|
1461
|
+
* @return {?}
|
|
1462
|
+
*/
|
|
1463
|
+
function (node, level) {
|
|
1464
|
+
if (level === void 0) { level = 0; }
|
|
1465
|
+
return new DynamicFlatNode(node, level, this.isExpandable(node));
|
|
1466
|
+
};
|
|
1467
|
+
/**
|
|
1468
|
+
* @param {?} node
|
|
1469
|
+
* @param {?=} pageSize
|
|
1378
1470
|
* @return {?}
|
|
1379
1471
|
*/
|
|
1380
1472
|
NodeTreeService.prototype.getChildren = /**
|
|
1381
1473
|
* @param {?} node
|
|
1474
|
+
* @param {?=} pageSize
|
|
1382
1475
|
* @return {?}
|
|
1383
1476
|
*/
|
|
1384
|
-
function (node) {
|
|
1477
|
+
function (node, pageSize) {
|
|
1385
1478
|
return __awaiter(this, void 0, void 0, function () {
|
|
1386
1479
|
return __generator(this, function (_a) {
|
|
1387
1480
|
switch (_a.label) {
|
|
1388
|
-
case 0: return [4 /*yield*/, this.fetchChildrenFolder(node.AssetId)];
|
|
1481
|
+
case 0: return [4 /*yield*/, this.fetchChildrenFolder(node.AssetId, pageSize)];
|
|
1389
1482
|
case 1: return [2 /*return*/, _a.sent()];
|
|
1390
1483
|
}
|
|
1391
1484
|
});
|
|
@@ -1400,7 +1493,7 @@
|
|
|
1400
1493
|
* @return {?}
|
|
1401
1494
|
*/
|
|
1402
1495
|
function (node) {
|
|
1403
|
-
return node.HaveChildren;
|
|
1496
|
+
return Boolean(node.HaveChildren);
|
|
1404
1497
|
};
|
|
1405
1498
|
/** Add asset to stored data */
|
|
1406
1499
|
/**
|
|
@@ -1876,7 +1969,6 @@
|
|
|
1876
1969
|
*/
|
|
1877
1970
|
function () {
|
|
1878
1971
|
var _this = this;
|
|
1879
|
-
console.log('Assest Management Dialog', this.data);
|
|
1880
1972
|
this.initDialogConfig(this.data);
|
|
1881
1973
|
select((/**
|
|
1882
1974
|
* @param {?} state
|
|
@@ -1942,7 +2034,7 @@
|
|
|
1942
2034
|
AssetManagementDialogComponent.decorators = [
|
|
1943
2035
|
{ type: core.Component, args: [{
|
|
1944
2036
|
selector: 'lib-asset-management-dialog',
|
|
1945
|
-
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
|
|
2037
|
+
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\n [header]=\"false\"\n [isDialog]=\"true\"\n [hasModifyPermission]=\"data.permission.modify\"\n [hasAccessPermission]=\"data.permission.access\"\n [hasArchivePermission]=\"data.permission.archive\"\n ></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 </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>",
|
|
1946
2038
|
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}"]
|
|
1947
2039
|
}] }
|
|
1948
2040
|
];
|
|
@@ -2367,7 +2459,7 @@
|
|
|
2367
2459
|
{ type: core.Component, args: [{
|
|
2368
2460
|
selector: 'lib-modal',
|
|
2369
2461
|
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",
|
|
2370
|
-
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:-
|
|
2462
|
+
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:-moz-max-content!important;height:max-content!important}}::ng-deep .lib-dialog--large .mat-dialog-actions{padding:12px 0;margin-bottom:-24px!important}"]
|
|
2371
2463
|
}] }
|
|
2372
2464
|
];
|
|
2373
2465
|
/** @nocollapse */
|
|
@@ -2720,7 +2812,7 @@
|
|
|
2720
2812
|
{ type: core.Component, args: [{
|
|
2721
2813
|
selector: 'lib-file-list',
|
|
2722
2814
|
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",
|
|
2723
|
-
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
|
|
2815
|
+
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: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}"]
|
|
2724
2816
|
}] }
|
|
2725
2817
|
];
|
|
2726
2818
|
/** @nocollapse */
|
|
@@ -3541,7 +3633,7 @@
|
|
|
3541
3633
|
FolderItemComponent.decorators = [
|
|
3542
3634
|
{ type: core.Component, args: [{
|
|
3543
3635
|
selector: 'lib-folder-item',
|
|
3544
|
-
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()\" [disabled]=\"!hasModifyPermission\">\n <mat-icon>edit_outline</mat-icon> <span>Rename</span>\n </button>\n <button mat-menu-item (click)=\"deleteFolder()\" [disabled]=\"!hasArchivePermission\">\n <mat-icon color=\"warn\">delete_outline</mat-icon> <span>Delete</span>\n </button>\n</mat-menu
|
|
3636
|
+
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()\" [disabled]=\"!hasModifyPermission\">\n <mat-icon>edit_outline</mat-icon> <span>Rename</span>\n </button>\n <button mat-menu-item (click)=\"deleteFolder()\" [disabled]=\"!hasArchivePermission\">\n <mat-icon color=\"warn\">delete_outline</mat-icon> <span>Delete</span>\n </button>\n</mat-menu>",
|
|
3545
3637
|
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}"]
|
|
3546
3638
|
}] }
|
|
3547
3639
|
];
|
|
@@ -3588,10 +3680,24 @@
|
|
|
3588
3680
|
this.hasModifyPermission = true;
|
|
3589
3681
|
this.hasAccessPermission = true;
|
|
3590
3682
|
this.hasArchivePermission = true;
|
|
3683
|
+
this.onPageChange = new core.EventEmitter();
|
|
3591
3684
|
this.loading = false;
|
|
3592
3685
|
this.unsubscribe$ = new Subject.Subject();
|
|
3593
3686
|
this.bindSubscriber();
|
|
3594
3687
|
}
|
|
3688
|
+
/**
|
|
3689
|
+
* @return {?}
|
|
3690
|
+
*/
|
|
3691
|
+
FolderListComponent.prototype.ngOnChanges = /**
|
|
3692
|
+
* @return {?}
|
|
3693
|
+
*/
|
|
3694
|
+
function () {
|
|
3695
|
+
if (this.paginator && this.pagination) {
|
|
3696
|
+
this.paginator.pageIndex = this.pagination.pageIndex;
|
|
3697
|
+
this.paginator.pageSize = this.pagination.pageSize;
|
|
3698
|
+
this.paginator.length = this.pagination.length;
|
|
3699
|
+
}
|
|
3700
|
+
};
|
|
3595
3701
|
/**
|
|
3596
3702
|
* @return {?}
|
|
3597
3703
|
*/
|
|
@@ -3609,6 +3715,17 @@
|
|
|
3609
3715
|
this.unsubscribe$.next();
|
|
3610
3716
|
this.unsubscribe$.complete();
|
|
3611
3717
|
};
|
|
3718
|
+
/**
|
|
3719
|
+
* @param {?=} event
|
|
3720
|
+
* @return {?}
|
|
3721
|
+
*/
|
|
3722
|
+
FolderListComponent.prototype.pageChange = /**
|
|
3723
|
+
* @param {?=} event
|
|
3724
|
+
* @return {?}
|
|
3725
|
+
*/
|
|
3726
|
+
function (event) {
|
|
3727
|
+
this.onPageChange.emit(event);
|
|
3728
|
+
};
|
|
3612
3729
|
/**
|
|
3613
3730
|
* @private
|
|
3614
3731
|
* @return {?}
|
|
@@ -3636,8 +3753,8 @@
|
|
|
3636
3753
|
FolderListComponent.decorators = [
|
|
3637
3754
|
{ type: core.Component, args: [{
|
|
3638
3755
|
selector: 'lib-folder-list',
|
|
3639
|
-
template: "<div
|
|
3640
|
-
styles: [":host::ng-deep .folder-container h6{color:#979797}:host::ng-deep .folder-container .folder-list{display:flex;flex-wrap:
|
|
3756
|
+
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 [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\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 [hidden]=\"!folders?.length\">\n <mat-paginator\n #paginator\n [pageSizeOptions]=\"[10, 20, 50, 100]\"\n (page)=\"pageChange($event)\"\n [showFirstLastButtons]=\"true\"\n >\n </mat-paginator>\n </div>\n</div>",
|
|
3757
|
+
styles: [":host::ng-deep .folder-container h6{color:#979797}:host::ng-deep .folder-container .folder-list{display:flex;flex-wrap:wrap;overflow:auto;padding-bottom:10px;max-height:320px}:host::ng-deep .folder-container .folder-empty{text-align:center;color:#979797;font-size:14px}"]
|
|
3641
3758
|
}] }
|
|
3642
3759
|
];
|
|
3643
3760
|
/** @nocollapse */
|
|
@@ -3646,7 +3763,10 @@
|
|
|
3646
3763
|
hasModifyPermission: [{ type: core.Input }],
|
|
3647
3764
|
hasAccessPermission: [{ type: core.Input }],
|
|
3648
3765
|
hasArchivePermission: [{ type: core.Input }],
|
|
3649
|
-
|
|
3766
|
+
paginator: [{ type: core.ViewChild, args: [material.MatPaginator, { static: true },] }],
|
|
3767
|
+
folders: [{ type: core.Input }],
|
|
3768
|
+
pagination: [{ type: core.Input }],
|
|
3769
|
+
onPageChange: [{ type: core.Output }]
|
|
3650
3770
|
};
|
|
3651
3771
|
return FolderListComponent;
|
|
3652
3772
|
}());
|
|
@@ -3658,8 +3778,14 @@
|
|
|
3658
3778
|
/** @type {?} */
|
|
3659
3779
|
FolderListComponent.prototype.hasArchivePermission;
|
|
3660
3780
|
/** @type {?} */
|
|
3781
|
+
FolderListComponent.prototype.paginator;
|
|
3782
|
+
/** @type {?} */
|
|
3661
3783
|
FolderListComponent.prototype.folders;
|
|
3662
3784
|
/** @type {?} */
|
|
3785
|
+
FolderListComponent.prototype.pagination;
|
|
3786
|
+
/** @type {?} */
|
|
3787
|
+
FolderListComponent.prototype.onPageChange;
|
|
3788
|
+
/** @type {?} */
|
|
3663
3789
|
FolderListComponent.prototype.loading;
|
|
3664
3790
|
/**
|
|
3665
3791
|
* @type {?}
|
|
@@ -3865,9 +3991,14 @@
|
|
|
3865
3991
|
* @return {?}
|
|
3866
3992
|
*/
|
|
3867
3993
|
function (res) {
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3994
|
+
/** @type {?} */
|
|
3995
|
+
var pagination = res && res.Meta || {};
|
|
3996
|
+
/** @type {?} */
|
|
3997
|
+
var assets = res && res.Data && res.Data.Children || [];
|
|
3998
|
+
/** @type {?} */
|
|
3999
|
+
var totalFile = res && res.Data && res.Data.TotalFile || 0;
|
|
4000
|
+
_this.assetService.setAssetList(assets, pagination, totalFile);
|
|
4001
|
+
})).add((/**
|
|
3871
4002
|
* @return {?}
|
|
3872
4003
|
*/
|
|
3873
4004
|
function () {
|
|
@@ -3916,8 +4047,8 @@
|
|
|
3916
4047
|
AssetListComponent.decorators = [
|
|
3917
4048
|
{ type: core.Component, args: [{
|
|
3918
4049
|
selector: 'lib-asset-list',
|
|
3919
|
-
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 [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\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",
|
|
3920
|
-
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:
|
|
4050
|
+
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 [isDialog]=\"isDialog\"\n (selectAsset)=\"onSelectAsset($event)\"\n [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\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",
|
|
4051
|
+
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:33.3333333333%}}@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}"]
|
|
3921
4052
|
}] }
|
|
3922
4053
|
];
|
|
3923
4054
|
/** @nocollapse */
|
|
@@ -3926,6 +4057,7 @@
|
|
|
3926
4057
|
{ type: AssetManagementService }
|
|
3927
4058
|
]; };
|
|
3928
4059
|
AssetListComponent.propDecorators = {
|
|
4060
|
+
isDialog: [{ type: core.Input }],
|
|
3929
4061
|
hasModifyPermission: [{ type: core.Input }],
|
|
3930
4062
|
hasAccessPermission: [{ type: core.Input }],
|
|
3931
4063
|
hasArchivePermission: [{ type: core.Input }],
|
|
@@ -3935,6 +4067,8 @@
|
|
|
3935
4067
|
return AssetListComponent;
|
|
3936
4068
|
}());
|
|
3937
4069
|
if (false) {
|
|
4070
|
+
/** @type {?} */
|
|
4071
|
+
AssetListComponent.prototype.isDialog;
|
|
3938
4072
|
/** @type {?} */
|
|
3939
4073
|
AssetListComponent.prototype.hasModifyPermission;
|
|
3940
4074
|
/** @type {?} */
|
|
@@ -4088,7 +4222,6 @@
|
|
|
4088
4222
|
* @return {?}
|
|
4089
4223
|
*/
|
|
4090
4224
|
function () {
|
|
4091
|
-
console.log('data test', this.data.permission);
|
|
4092
4225
|
this.uploadAssetsService.supportedSize = this.assetsService.maxSize * 1024 * 1024;
|
|
4093
4226
|
this.linkDownload = this._env.asset2Url + "/File/Download/" + this.data.assetId;
|
|
4094
4227
|
this.getAssetDetail();
|
|
@@ -4722,8 +4855,8 @@
|
|
|
4722
4855
|
AssetItemComponent.decorators = [
|
|
4723
4856
|
{ type: core.Component, args: [{
|
|
4724
4857
|
selector: 'lib-asset-item',
|
|
4725
|
-
template: "<div class=\"asset-wrapper\">\n <div class=\"asset-content\">\n <div class=\"asset-content__header\" *ngIf=\"asset?.BackgroudProcessingStatus === backgroundProcessingNum.Processed
|
|
4726
|
-
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{
|
|
4858
|
+
template: "<div class=\"asset-wrapper\">\n <div class=\"asset-content\">\n <div class=\"asset-content__header\">\n <button class=\"asset-content__header--button\"\n *ngIf=\"(asset?.BackgroudProcessingStatus === backgroundProcessingNum.Processed) || (asset?.BackgroudProcessingStatus === backgroundProcessingNum.InProcessing)\"\n mat-raised-button (click)=\"onChange()\">\n <mat-checkbox class=\"checkbox\" [checked]=\"checkSelectedAsset\"></mat-checkbox>\n </button>\n <button class=\"asset-content__header--button edit-button\"\n *ngIf=\"asset?.BackgroudProcessingStatus === backgroundProcessingNum.Processed\" mat-raised-button\n (click)=\"editAsset()\">\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 class=\"image\" [src]=\"asset.UrlThumbnail\" [alt]=\"asset.OriginalFileName\"\n *ngIf=\"asset.BackgroudProcessingStatus === backgroundProcessingNum.Processed\" />\n <!-- In Processing -->\n <div class=\"processing\" *ngIf=\"asset?.BackgroudProcessingStatus === backgroundProcessingNum.InProcessing\">\n <div class=\"upload-group\">\n <div>\n <mat-icon class=\"processing-icon\"\n [ngClass]=\"{ 'processing-icon-dialog': isDialog }\">cloud_upload</mat-icon>\n </div>\n <div>\n <span class=\"{{ isDialog ? 'processing-txt-dialog' : 'processing-txt' }}\">Uploading...</span>\n </div>\n </div>\n </div>\n\n <!-- Failed -->\n <div class=\"processing\" *ngIf=\"asset.BackgroudProcessingStatus === backgroundProcessingNum.Failed\">\n <div class=\"failed-group\">\n <div>\n <mat-icon class=\"processing-icon\"\n [ngClass]=\"{ 'processing-icon-dialog': isDialog }\">error_outline</mat-icon>\n </div>\n <div>\n <span class=\"{{ isDialog ? 'processing-txt-dialog' : 'processing-txt' }}\">Failed to upload the\n file</span>\n </div>\n <div class=\"btn-failed-group\">\n <button class=\"{{ isDialog ? 'btn-upload-dialog' : 'btn-upload' }}\"\n (click)=\"onUploadAgain(asset)\">Delete and update again</button>\n <span class=\"{{ isDialog ? 'processing-txt-dialog' : 'processing-txt' }} mx-1\">or</span>\n <button class=\"{{ isDialog ? 'btn-failed-dialog' : 'btn-failed' }}\"\n (click)=\"onDelete(asset)\">Delete</button>\n </div>\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\"\n *ngIf=\"asset.BackgroudProcessingStatus === backgroundProcessingNum.Processed\" />\n <!-- In Processing -->\n <div class=\"processing\" *ngIf=\"asset?.BackgroudProcessingStatus === backgroundProcessingNum.InProcessing\">\n <div class=\"upload-group\">\n <div>\n <mat-icon class=\"processing-icon\"\n [ngClass]=\"{ 'processing-icon-dialog': isDialog }\">cloud_upload</mat-icon>\n </div>\n <div>\n <span class=\"{{ isDialog ? 'processing-txt-dialog' : 'processing-txt' }}\">Uploading...</span>\n </div>\n </div>\n </div>\n\n <!-- Failed -->\n <div class=\"processing\" *ngIf=\"asset.BackgroudProcessingStatus === backgroundProcessingNum.Failed\">\n <div class=\"failed-group\">\n <mat-icon class=\"processing-icon\"\n [ngClass]=\"{ 'processing-icon-dialog': isDialog }\">error_outline</mat-icon>\n <div>\n <span class=\"{{ isDialog ? 'processing-txt-dialog' : 'processing-txt' }}\">Failed to upload the\n file</span>\n </div>\n <div class=\"btn-failed-group\">\n <button class=\"{{ isDialog ? 'btn-upload-dialog' : 'btn-upload' }}\"\n (click)=\"onUploadAgain(asset)\">Delete and update again</button>\n <span class=\"{{ isDialog ? 'processing-txt-dialog' : 'processing-txt' }} mx-1\">or</span>\n <button class=\"{{ isDialog ? 'btn-failed-dialog' : 'btn-failed' }}\"\n (click)=\"onDelete(asset)\">Delete</button>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"asset-content__footer\">\n <div class=\"asset-content__footer--info\" [ngClass]=\"{\n 'file-type__document': asset.FileType === fileType.DOCUMENT\n }\">\n <p class=\"name\" [matTooltip]=\"asset.OriginalFileNameWithoutExtension\" matTooltipClass=\"width-auto\">\n {{ asset.OriginalFileNameWithoutExtension }}\n </p>\n <p class=\"info\">\n <span class=\"extension\">{{ asset.Extension }}</span>\n <span *ngIf=\"\n asset.FileType === fileType.IMAGE && asset?.Extension !== 'svg'\n \">\n - {{ asset.Width }}x{{ asset.Height }}</span>\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>",
|
|
4859
|
+
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%;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 .processing .processing-icon{font-size:35px;height:35px;width:35px}:host::ng-deep .asset-wrapper .asset-content__body .processing .processing-txt{font-size:17px}:host::ng-deep .asset-wrapper .asset-content__body .processing .processing-icon-dialog{font-size:24px;height:24px;width:24px}:host::ng-deep .asset-wrapper .asset-content__body .processing .processing-txt-dialog{font-size:13px}:host::ng-deep .asset-wrapper .asset-content__body .processing .upload-group{text-align:center}:host::ng-deep .asset-wrapper .asset-content__body .processing .failed-group{text-align:center;color:#f44336}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group{margin-top:7px}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-upload{font-size:13px;padding:5px;border:0;color:#fff;background-color:#ffc107;border-radius:3px}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-failed{font-size:13px;padding:5px;border:0;color:#fff;background-color:#f44336;border-radius:3px}:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-upload-dialog{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-failed-dialog{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-failed-dialog:hover,:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-failed:hover,:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-upload-dialog:hover,:host::ng-deep .asset-wrapper .asset-content__body .processing .btn-failed-group .btn-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}"]
|
|
4727
4860
|
}] }
|
|
4728
4861
|
];
|
|
4729
4862
|
/** @nocollapse */
|
|
@@ -4735,6 +4868,7 @@
|
|
|
4735
4868
|
{ type: core.ChangeDetectorRef }
|
|
4736
4869
|
]; };
|
|
4737
4870
|
AssetItemComponent.propDecorators = {
|
|
4871
|
+
isDialog: [{ type: core.Input }],
|
|
4738
4872
|
hasModifyPermission: [{ type: core.Input }],
|
|
4739
4873
|
hasAccessPermission: [{ type: core.Input }],
|
|
4740
4874
|
hasArchivePermission: [{ type: core.Input }],
|
|
@@ -4744,6 +4878,8 @@
|
|
|
4744
4878
|
return AssetItemComponent;
|
|
4745
4879
|
}());
|
|
4746
4880
|
if (false) {
|
|
4881
|
+
/** @type {?} */
|
|
4882
|
+
AssetItemComponent.prototype.isDialog;
|
|
4747
4883
|
/** @type {?} */
|
|
4748
4884
|
AssetItemComponent.prototype.hasModifyPermission;
|
|
4749
4885
|
/** @type {?} */
|
|
@@ -4967,14 +5103,16 @@
|
|
|
4967
5103
|
/**
|
|
4968
5104
|
* Reload the node, remove from display list
|
|
4969
5105
|
* @param {?} node
|
|
5106
|
+
* @param {?=} pageSize
|
|
4970
5107
|
* @return {?}
|
|
4971
5108
|
*/
|
|
4972
5109
|
NodeTreeDataSource.prototype.reloadNode = /**
|
|
4973
5110
|
* Reload the node, remove from display list
|
|
4974
5111
|
* @param {?} node
|
|
5112
|
+
* @param {?=} pageSize
|
|
4975
5113
|
* @return {?}
|
|
4976
5114
|
*/
|
|
4977
|
-
function (node) {
|
|
5115
|
+
function (node, pageSize) {
|
|
4978
5116
|
return __awaiter(this, void 0, void 0, function () {
|
|
4979
5117
|
var _a, newNode, index, count, i, nodes;
|
|
4980
5118
|
var _this = this;
|
|
@@ -4984,7 +5122,7 @@
|
|
|
4984
5122
|
if (!node) {
|
|
4985
5123
|
return [2 /*return*/];
|
|
4986
5124
|
}
|
|
4987
|
-
return [4 /*yield*/, this._database.getChildren(node.item)];
|
|
5125
|
+
return [4 /*yield*/, this._database.getChildren(node.item, pageSize)];
|
|
4988
5126
|
case 1:
|
|
4989
5127
|
newNode = _b.sent();
|
|
4990
5128
|
index = this.data.indexOf(node);
|
|
@@ -5039,13 +5177,17 @@
|
|
|
5039
5177
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5040
5178
|
*/
|
|
5041
5179
|
var NodeTreeComponent = /** @class */ (function () {
|
|
5042
|
-
function NodeTreeComponent(nodeTreeService, svc, changeDetectorRef) {
|
|
5180
|
+
function NodeTreeComponent(assetService, nodeTreeService, svc, changeDetectorRef) {
|
|
5181
|
+
this.assetService = assetService;
|
|
5043
5182
|
this.nodeTreeService = nodeTreeService;
|
|
5044
5183
|
this.svc = svc;
|
|
5045
5184
|
this.changeDetectorRef = changeDetectorRef;
|
|
5185
|
+
this.ROOT_ASSET_ID = ROOT_ASSET_ID;
|
|
5046
5186
|
this.isRoot = false;
|
|
5047
5187
|
this.homeLoading = false;
|
|
5048
5188
|
this.loading = false;
|
|
5189
|
+
this.loadingMoreList = {};
|
|
5190
|
+
this.folderChildrenMap = new Map();
|
|
5049
5191
|
this.unsubscribe$ = new rxjs.Subject();
|
|
5050
5192
|
this.getLevel = (/**
|
|
5051
5193
|
* @param {?} node
|
|
@@ -5066,6 +5208,21 @@
|
|
|
5066
5208
|
this.treeControl = new tree$1.FlatTreeControl(this.getLevel, this.isExpandable);
|
|
5067
5209
|
this.dataSource = new NodeTreeDataSource(this.treeControl, nodeTreeService);
|
|
5068
5210
|
}
|
|
5211
|
+
Object.defineProperty(NodeTreeComponent.prototype, "folderTreeMeta", {
|
|
5212
|
+
get: /**
|
|
5213
|
+
* @return {?}
|
|
5214
|
+
*/
|
|
5215
|
+
function () {
|
|
5216
|
+
/** @type {?} */
|
|
5217
|
+
var rootFolder = this.folderChildrenMap.get(ROOT_ASSET_ID);
|
|
5218
|
+
return {
|
|
5219
|
+
length: rootFolder ? rootFolder.size : 0,
|
|
5220
|
+
total: this.nodeTreeService.rootFolder ? this.nodeTreeService.rootFolder.TotalFolder || "0" : 0,
|
|
5221
|
+
};
|
|
5222
|
+
},
|
|
5223
|
+
enumerable: true,
|
|
5224
|
+
configurable: true
|
|
5225
|
+
});
|
|
5069
5226
|
/**
|
|
5070
5227
|
* @return {?}
|
|
5071
5228
|
*/
|
|
@@ -5097,6 +5254,32 @@
|
|
|
5097
5254
|
});
|
|
5098
5255
|
});
|
|
5099
5256
|
};
|
|
5257
|
+
/**
|
|
5258
|
+
* @param {?} id
|
|
5259
|
+
* @return {?}
|
|
5260
|
+
*/
|
|
5261
|
+
NodeTreeComponent.prototype.getFolderChildrenSize = /**
|
|
5262
|
+
* @param {?} id
|
|
5263
|
+
* @return {?}
|
|
5264
|
+
*/
|
|
5265
|
+
function (id) {
|
|
5266
|
+
/** @type {?} */
|
|
5267
|
+
var children = this.folderChildrenMap.get(id);
|
|
5268
|
+
return children ? children.size : 0;
|
|
5269
|
+
};
|
|
5270
|
+
/**
|
|
5271
|
+
* @param {?} node
|
|
5272
|
+
* @return {?}
|
|
5273
|
+
*/
|
|
5274
|
+
NodeTreeComponent.prototype.canLoadMore = /**
|
|
5275
|
+
* @param {?} node
|
|
5276
|
+
* @return {?}
|
|
5277
|
+
*/
|
|
5278
|
+
function (node) {
|
|
5279
|
+
/** @type {?} */
|
|
5280
|
+
var size = this.getFolderChildrenSize(node.item.AssetId);
|
|
5281
|
+
return size < node.item.TotalFolder;
|
|
5282
|
+
};
|
|
5100
5283
|
/**
|
|
5101
5284
|
* @private
|
|
5102
5285
|
* @return {?}
|
|
@@ -5107,9 +5290,7 @@
|
|
|
5107
5290
|
*/
|
|
5108
5291
|
function () {
|
|
5109
5292
|
var _this = this;
|
|
5110
|
-
this.nodeTreeService.loading$
|
|
5111
|
-
.pipe(operators.takeUntil(this.unsubscribe$), operators.distinctUntilChanged())
|
|
5112
|
-
.subscribe((/**
|
|
5293
|
+
this.nodeTreeService.loading$.pipe(operators.takeUntil(this.unsubscribe$), operators.distinctUntilChanged()).subscribe((/**
|
|
5113
5294
|
* @param {?} loading
|
|
5114
5295
|
* @return {?}
|
|
5115
5296
|
*/
|
|
@@ -5117,9 +5298,7 @@
|
|
|
5117
5298
|
_this.homeLoading = loading;
|
|
5118
5299
|
_this.changeDetectorRef.detectChanges();
|
|
5119
5300
|
}));
|
|
5120
|
-
this.nodeTreeService.initialData$
|
|
5121
|
-
.pipe(operators.takeUntil(this.unsubscribe$), operators.distinctUntilChanged())
|
|
5122
|
-
.subscribe((/**
|
|
5301
|
+
this.nodeTreeService.initialData$.pipe(operators.takeUntil(this.unsubscribe$), operators.distinctUntilChanged()).subscribe((/**
|
|
5123
5302
|
* @param {?} data
|
|
5124
5303
|
* @return {?}
|
|
5125
5304
|
*/
|
|
@@ -5134,14 +5313,13 @@
|
|
|
5134
5313
|
function (node) { return _this.nodeTreeService.addNode(node.item, null); }));
|
|
5135
5314
|
_this.changeDetectorRef.detectChanges();
|
|
5136
5315
|
}));
|
|
5137
|
-
this.dataSource.dataChange
|
|
5138
|
-
.pipe(operators.takeUntil(this.unsubscribe$))
|
|
5139
|
-
.subscribe((/**
|
|
5316
|
+
this.dataSource.dataChange.pipe(operators.takeUntil(this.unsubscribe$)).subscribe((/**
|
|
5140
5317
|
* @param {?} data
|
|
5141
5318
|
* @return {?}
|
|
5142
5319
|
*/
|
|
5143
5320
|
function (data) {
|
|
5144
5321
|
if (data && data.length) {
|
|
5322
|
+
_this.handleDatasourceChange(data);
|
|
5145
5323
|
_this.changeDetectorRef.detectChanges();
|
|
5146
5324
|
}
|
|
5147
5325
|
}));
|
|
@@ -5198,6 +5376,42 @@
|
|
|
5198
5376
|
});
|
|
5199
5377
|
}); }));
|
|
5200
5378
|
};
|
|
5379
|
+
/**
|
|
5380
|
+
* @private
|
|
5381
|
+
* @param {?=} data
|
|
5382
|
+
* @return {?}
|
|
5383
|
+
*/
|
|
5384
|
+
NodeTreeComponent.prototype.handleDatasourceChange = /**
|
|
5385
|
+
* @private
|
|
5386
|
+
* @param {?=} data
|
|
5387
|
+
* @return {?}
|
|
5388
|
+
*/
|
|
5389
|
+
function (data) {
|
|
5390
|
+
var _this = this;
|
|
5391
|
+
if (data === void 0) { data = []; }
|
|
5392
|
+
if (!data || !data.length)
|
|
5393
|
+
return;
|
|
5394
|
+
/** @type {?} */
|
|
5395
|
+
var maps = new Map();
|
|
5396
|
+
maps.set(ROOT_ASSET_ID, new Map());
|
|
5397
|
+
data.forEach((/**
|
|
5398
|
+
* @param {?} node
|
|
5399
|
+
* @return {?}
|
|
5400
|
+
*/
|
|
5401
|
+
function (node) {
|
|
5402
|
+
/** @type {?} */
|
|
5403
|
+
var nodeId = node.item.AssetId;
|
|
5404
|
+
/** @type {?} */
|
|
5405
|
+
var parent = _this.getParent(node);
|
|
5406
|
+
/** @type {?} */
|
|
5407
|
+
var parentId = parent ? parent.item.AssetId : ROOT_ASSET_ID;
|
|
5408
|
+
if (!maps.has(parentId)) {
|
|
5409
|
+
maps.set(parentId, new Map());
|
|
5410
|
+
}
|
|
5411
|
+
maps.get(parentId).set(nodeId, node);
|
|
5412
|
+
}));
|
|
5413
|
+
this.folderChildrenMap = maps;
|
|
5414
|
+
};
|
|
5201
5415
|
/**
|
|
5202
5416
|
* @param {?} node
|
|
5203
5417
|
* @return {?}
|
|
@@ -5248,6 +5462,69 @@
|
|
|
5248
5462
|
});
|
|
5249
5463
|
}
|
|
5250
5464
|
};
|
|
5465
|
+
/**
|
|
5466
|
+
* @param {?=} node
|
|
5467
|
+
* @return {?}
|
|
5468
|
+
*/
|
|
5469
|
+
NodeTreeComponent.prototype.loadMoreFolder = /**
|
|
5470
|
+
* @param {?=} node
|
|
5471
|
+
* @return {?}
|
|
5472
|
+
*/
|
|
5473
|
+
function (node) {
|
|
5474
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
5475
|
+
var id, children, itemsPerPage, result, assetChildren, index, nodes, updatedData, error_1;
|
|
5476
|
+
var _this = this;
|
|
5477
|
+
return __generator(this, function (_a) {
|
|
5478
|
+
switch (_a.label) {
|
|
5479
|
+
case 0:
|
|
5480
|
+
id = node ? node.item.AssetId : ROOT_ASSET_ID;
|
|
5481
|
+
_a.label = 1;
|
|
5482
|
+
case 1:
|
|
5483
|
+
_a.trys.push([1, 3, , 4]);
|
|
5484
|
+
this.setLoadingMore(id, true);
|
|
5485
|
+
children = this.folderChildrenMap.get(id);
|
|
5486
|
+
itemsPerPage = this.assetService.AMConfig.pageFolderSize || MAX_FOLDER_TREE_SIZE;
|
|
5487
|
+
return [4 /*yield*/, this.assetService
|
|
5488
|
+
.getChildrenFolders({
|
|
5489
|
+
assetId: id === ROOT_ASSET_ID ? null : id,
|
|
5490
|
+
isFilter: false,
|
|
5491
|
+
pageIndex: Math.round((children ? children.size : 0) / itemsPerPage),
|
|
5492
|
+
})
|
|
5493
|
+
.toPromise()];
|
|
5494
|
+
case 2:
|
|
5495
|
+
result = _a.sent();
|
|
5496
|
+
assetChildren = result.Data.Children || [];
|
|
5497
|
+
// Handle datasource
|
|
5498
|
+
index = this.dataSource.data.indexOf(node);
|
|
5499
|
+
nodes = assetChildren.map((/**
|
|
5500
|
+
* @param {?} folder
|
|
5501
|
+
* @return {?}
|
|
5502
|
+
*/
|
|
5503
|
+
function (folder) {
|
|
5504
|
+
_this.nodeTreeService.addNode(folder, id);
|
|
5505
|
+
return _this.nodeTreeService.getDynamicFlatNode(folder, node ? node.level + 1 : 0);
|
|
5506
|
+
}));
|
|
5507
|
+
if (id !== ROOT_ASSET_ID) {
|
|
5508
|
+
updatedData = this.dataSource.data.slice();
|
|
5509
|
+
updatedData.splice.apply(updatedData, __spread([index + 1, 0], nodes));
|
|
5510
|
+
this.dataSource.data = updatedData;
|
|
5511
|
+
}
|
|
5512
|
+
else {
|
|
5513
|
+
this.dataSource.data = __spread(this.dataSource.data, nodes);
|
|
5514
|
+
}
|
|
5515
|
+
this.setLoadingMore(id, false);
|
|
5516
|
+
this.changeDetectorRef.detectChanges();
|
|
5517
|
+
return [3 /*break*/, 4];
|
|
5518
|
+
case 3:
|
|
5519
|
+
error_1 = _a.sent();
|
|
5520
|
+
console.log("Load more folder error", error_1);
|
|
5521
|
+
this.setLoadingMore(id, false);
|
|
5522
|
+
return [3 /*break*/, 4];
|
|
5523
|
+
case 4: return [2 /*return*/];
|
|
5524
|
+
}
|
|
5525
|
+
});
|
|
5526
|
+
});
|
|
5527
|
+
};
|
|
5251
5528
|
/**
|
|
5252
5529
|
* @param {?} node
|
|
5253
5530
|
* @return {?}
|
|
@@ -5321,7 +5598,7 @@
|
|
|
5321
5598
|
*/
|
|
5322
5599
|
function (id) {
|
|
5323
5600
|
return __awaiter(this, void 0, void 0, function () {
|
|
5324
|
-
var node, parent_1, updatedNode, updatedNode;
|
|
5601
|
+
var node, parent_1, children, updatedNode, rootFolder, updatedNode;
|
|
5325
5602
|
return __generator(this, function (_a) {
|
|
5326
5603
|
switch (_a.label) {
|
|
5327
5604
|
case 0:
|
|
@@ -5333,28 +5610,39 @@
|
|
|
5333
5610
|
if (!node) return [3 /*break*/, 8];
|
|
5334
5611
|
parent_1 = this.getParent(node);
|
|
5335
5612
|
if (!parent_1) return [3 /*break*/, 4];
|
|
5336
|
-
|
|
5613
|
+
// Reload parent folder (get children and expand it again)
|
|
5614
|
+
children = this.folderChildrenMap.get(parent_1.item.AssetId);
|
|
5615
|
+
return [4 /*yield*/, this.dataSource.reloadNode(parent_1, children.size)];
|
|
5337
5616
|
case 1:
|
|
5338
5617
|
_a.sent();
|
|
5339
5618
|
updatedNode = this.getNodeById(id);
|
|
5340
5619
|
if (!updatedNode) return [3 /*break*/, 3];
|
|
5620
|
+
// TODO
|
|
5341
5621
|
return [4 /*yield*/, this.treeControl.expand(updatedNode)];
|
|
5342
5622
|
case 2:
|
|
5623
|
+
// TODO
|
|
5343
5624
|
_a.sent();
|
|
5344
5625
|
_a.label = 3;
|
|
5345
5626
|
case 3: return [3 /*break*/, 7];
|
|
5346
|
-
case 4:
|
|
5627
|
+
case 4:
|
|
5628
|
+
rootFolder = this.folderChildrenMap.get(ROOT_ASSET_ID);
|
|
5629
|
+
return [4 /*yield*/, this.nodeTreeService.initialData({ dispatchRootId: false, pageSize: rootFolder.size })];
|
|
5347
5630
|
case 5:
|
|
5348
5631
|
_a.sent();
|
|
5349
5632
|
updatedNode = this.getNodeById(id);
|
|
5350
5633
|
if (!updatedNode) return [3 /*break*/, 7];
|
|
5634
|
+
// TODO
|
|
5351
5635
|
return [4 /*yield*/, this.treeControl.expand(updatedNode)];
|
|
5352
5636
|
case 6:
|
|
5637
|
+
// TODO
|
|
5353
5638
|
_a.sent();
|
|
5354
5639
|
_a.label = 7;
|
|
5355
5640
|
case 7: return [3 /*break*/, 10];
|
|
5356
|
-
case 8:
|
|
5641
|
+
case 8:
|
|
5642
|
+
// Reload root folder
|
|
5643
|
+
return [4 /*yield*/, this.nodeTreeService.initialData({ dispatchRootId: false })];
|
|
5357
5644
|
case 9:
|
|
5645
|
+
// Reload root folder
|
|
5358
5646
|
_a.sent();
|
|
5359
5647
|
_a.label = 10;
|
|
5360
5648
|
case 10:
|
|
@@ -5364,6 +5652,21 @@
|
|
|
5364
5652
|
});
|
|
5365
5653
|
});
|
|
5366
5654
|
};
|
|
5655
|
+
/**
|
|
5656
|
+
* @private
|
|
5657
|
+
* @param {?} id
|
|
5658
|
+
* @param {?} value
|
|
5659
|
+
* @return {?}
|
|
5660
|
+
*/
|
|
5661
|
+
NodeTreeComponent.prototype.setLoadingMore = /**
|
|
5662
|
+
* @private
|
|
5663
|
+
* @param {?} id
|
|
5664
|
+
* @param {?} value
|
|
5665
|
+
* @return {?}
|
|
5666
|
+
*/
|
|
5667
|
+
function (id, value) {
|
|
5668
|
+
this.loadingMoreList[id] = value;
|
|
5669
|
+
};
|
|
5367
5670
|
/**
|
|
5368
5671
|
* @return {?}
|
|
5369
5672
|
*/
|
|
@@ -5378,13 +5681,14 @@
|
|
|
5378
5681
|
};
|
|
5379
5682
|
NodeTreeComponent.decorators = [
|
|
5380
5683
|
{ type: core.Component, args: [{
|
|
5381
|
-
selector:
|
|
5382
|
-
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
|
|
5383
|
-
styles: [":host::ng-deep .node{overflow-x:hidden;height:100%;display
|
|
5684
|
+
selector: "lib-node-tree",
|
|
5685
|
+
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 [ngClass]=\"{ active: checked(node), disabled: loading || node.isLoading\n }\">\n <div class=\"d-flex align-items-center\" (click)=\"selectNode(node)\">\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\"><ng-container *ngIf=\"treeControl.isExpanded(node)\"><b>{{getFolderChildrenSize(node.item.AssetId)}}</b>/</ng-container>{{ 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 </div>\n <ng-container *ngIf=\"treeControl.isExpanded(node)\"> \n <div *ngIf=\"!!loadingMoreList[node.item.AssetId]\" class=\"mx-2\" [style.minWidth.px]=\"40\">\n <mat-spinner [diameter]=\"20\"\n class=\"node__item--loading\"></mat-spinner>\n </div>\n <button *ngIf=\"!loadingMoreList[node.item.AssetId] && canLoadMore(node)\" matTooltip=\"Load More\" class=\"mx-2\" mat-icon-button (click)=\"loadMoreFolder(node)\" [disabled]=\"loadingMoreList[node.item.AssetId] || homeLoading || loading\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\"><path d=\"m482-200 114-113-114-113-42 42 43 43q-28 1-54.5-9T381-381q-20-20-30.5-46T340-479q0-17 4.5-34t12.5-33l-44-44q-17 25-25 53t-8 57q0 38 15 75t44 66q29 29 65 43.5t74 15.5l-38 38 42 42Zm165-170q17-25 25-53t8-57q0-38-14.5-75.5T622-622q-29-29-65.5-43T482-679l38-39-42-42-114 113 114 113 42-42-44-44q27 0 55 10.5t48 30.5q20 20 30.5 46t10.5 52q0 17-4.5 34T603-414l44 44ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"/></svg>\n </button>\n </ng-container>\n </mat-tree-node>\n </mat-tree>\n <div class=\"p-2 d-flex flex-column align-items-center justify-content-center\" *ngIf=\"folderTreeMeta.length\">\n <button mat-raised-button *ngIf=\"folderTreeMeta.length !== folderTreeMeta.total\" (click)=\"loadMoreFolder()\" [disabled]=\"loadingMoreList[ROOT_ASSET_ID] || loading || homeLoading\">\n <div class=\"d-flex align-items-center\">\n <mat-spinner [diameter]=\"20\" *ngIf=\"loadingMoreList[ROOT_ASSET_ID]\"></mat-spinner>\n <mat-icon *ngIf=\"!loadingMoreList[ROOT_ASSET_ID]\">expand_more</mat-icon>\n <div class=\"ml-2\">Load More</div>\n </div>\n </button>\n <div class=\"mt-2\" [style.fontSize.px]=\"13\"><b>{{ folderTreeMeta.length }}</b> of <b>{{ folderTreeMeta.total }} folders</b></div>\n </div>\n</div>",
|
|
5686
|
+
styles: [":host::ng-deep .node{overflow-x:hidden;height:100%;display:grid;grid-auto-rows:max-content}:host::ng-deep .node-tree{max-height:max(800px,90vh);overflow-y:auto}: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:-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}"]
|
|
5384
5687
|
}] }
|
|
5385
5688
|
];
|
|
5386
5689
|
/** @nocollapse */
|
|
5387
5690
|
NodeTreeComponent.ctorParameters = function () { return [
|
|
5691
|
+
{ type: AssetService },
|
|
5388
5692
|
{ type: NodeTreeService },
|
|
5389
5693
|
{ type: AssetManagementService },
|
|
5390
5694
|
{ type: core.ChangeDetectorRef }
|
|
@@ -5398,6 +5702,8 @@
|
|
|
5398
5702
|
/** @type {?} */
|
|
5399
5703
|
NodeTreeComponent.prototype.width;
|
|
5400
5704
|
/** @type {?} */
|
|
5705
|
+
NodeTreeComponent.prototype.ROOT_ASSET_ID;
|
|
5706
|
+
/** @type {?} */
|
|
5401
5707
|
NodeTreeComponent.prototype.currentFolderId;
|
|
5402
5708
|
/** @type {?} */
|
|
5403
5709
|
NodeTreeComponent.prototype.isRoot;
|
|
@@ -5406,9 +5712,13 @@
|
|
|
5406
5712
|
/** @type {?} */
|
|
5407
5713
|
NodeTreeComponent.prototype.loading;
|
|
5408
5714
|
/** @type {?} */
|
|
5715
|
+
NodeTreeComponent.prototype.loadingMoreList;
|
|
5716
|
+
/** @type {?} */
|
|
5409
5717
|
NodeTreeComponent.prototype.treeControl;
|
|
5410
5718
|
/** @type {?} */
|
|
5411
5719
|
NodeTreeComponent.prototype.dataSource;
|
|
5720
|
+
/** @type {?} */
|
|
5721
|
+
NodeTreeComponent.prototype.folderChildrenMap;
|
|
5412
5722
|
/**
|
|
5413
5723
|
* @type {?}
|
|
5414
5724
|
* @private
|
|
@@ -5420,6 +5730,8 @@
|
|
|
5420
5730
|
NodeTreeComponent.prototype.isExpandable;
|
|
5421
5731
|
/** @type {?} */
|
|
5422
5732
|
NodeTreeComponent.prototype.hasChild;
|
|
5733
|
+
/** @type {?} */
|
|
5734
|
+
NodeTreeComponent.prototype.assetService;
|
|
5423
5735
|
/**
|
|
5424
5736
|
* @type {?}
|
|
5425
5737
|
* @private
|
|
@@ -5685,11 +5997,16 @@
|
|
|
5685
5997
|
* @return {?}
|
|
5686
5998
|
*/
|
|
5687
5999
|
function (_a) {
|
|
5688
|
-
var _b = __read(_a, 2), folders = _b[0],
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
.
|
|
6000
|
+
var _b = __read(_a, 2), folders = _b[0], assetsRes = _b[1];
|
|
6001
|
+
/** @type {?} */
|
|
6002
|
+
var pagination = assetsRes && assetsRes.Meta || {};
|
|
6003
|
+
/** @type {?} */
|
|
6004
|
+
var assets = assetsRes && assetsRes.Data && assetsRes.Data.Children || [];
|
|
6005
|
+
/** @type {?} */
|
|
6006
|
+
var totalFile = assetsRes && assetsRes.Data && assetsRes.Data.TotalFile || 0;
|
|
6007
|
+
_this.assetService.setFolderList(folders.Data, { Total: folders.Data.TotalFolder });
|
|
6008
|
+
_this.assetService.setAssetList(assets, pagination, totalFile);
|
|
6009
|
+
})).add((/**
|
|
5693
6010
|
* @return {?}
|
|
5694
6011
|
*/
|
|
5695
6012
|
function () {
|
|
@@ -5859,19 +6176,9 @@
|
|
|
5859
6176
|
this.hasArchivePermission = true;
|
|
5860
6177
|
this.assets = new core.EventEmitter();
|
|
5861
6178
|
this.unsubscribe$ = new Subject.Subject();
|
|
5862
|
-
this.nodeTreeMinWidth =
|
|
6179
|
+
this.nodeTreeMinWidth = 300;
|
|
5863
6180
|
this.nodeTreeMaxWidth = 700;
|
|
5864
6181
|
}
|
|
5865
|
-
/**
|
|
5866
|
-
* @return {?}
|
|
5867
|
-
*/
|
|
5868
|
-
AssetWrapperComponent.prototype.ngOnChanges = /**
|
|
5869
|
-
* @return {?}
|
|
5870
|
-
*/
|
|
5871
|
-
function () {
|
|
5872
|
-
console.log('modify', this.hasModifyPermission);
|
|
5873
|
-
console.log('archive', this.hasArchivePermission);
|
|
5874
|
-
};
|
|
5875
6182
|
/**
|
|
5876
6183
|
* @return {?}
|
|
5877
6184
|
*/
|
|
@@ -5931,7 +6238,7 @@
|
|
|
5931
6238
|
AssetWrapperComponent.decorators = [
|
|
5932
6239
|
{ type: core.Component, args: [{
|
|
5933
6240
|
selector: 'lib-asset-wrapper',
|
|
5934
|
-
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 \n class=\"asset-body__node-details\"
|
|
6241
|
+
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 \n class=\"asset-body__node-details\"\n [isDialog]=\"isDialog\"\n [style.maxWidth]=\"nodeDetailsWidth\"\n [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\n ></lib-node-details>\n </div>\n</div>",
|
|
5935
6242
|
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}"]
|
|
5936
6243
|
}] }
|
|
5937
6244
|
];
|
|
@@ -5941,6 +6248,7 @@
|
|
|
5941
6248
|
]; };
|
|
5942
6249
|
AssetWrapperComponent.propDecorators = {
|
|
5943
6250
|
header: [{ type: core.Input }],
|
|
6251
|
+
isDialog: [{ type: core.Input }],
|
|
5944
6252
|
hasModifyPermission: [{ type: core.Input }],
|
|
5945
6253
|
hasAccessPermission: [{ type: core.Input }],
|
|
5946
6254
|
hasArchivePermission: [{ type: core.Input }],
|
|
@@ -5952,6 +6260,8 @@
|
|
|
5952
6260
|
/** @type {?} */
|
|
5953
6261
|
AssetWrapperComponent.prototype.header;
|
|
5954
6262
|
/** @type {?} */
|
|
6263
|
+
AssetWrapperComponent.prototype.isDialog;
|
|
6264
|
+
/** @type {?} */
|
|
5955
6265
|
AssetWrapperComponent.prototype.hasModifyPermission;
|
|
5956
6266
|
/** @type {?} */
|
|
5957
6267
|
AssetWrapperComponent.prototype.hasAccessPermission;
|
|
@@ -6246,23 +6556,24 @@
|
|
|
6246
6556
|
type: ActionTypes.SET_GLOBAL_LOADING,
|
|
6247
6557
|
payload: true,
|
|
6248
6558
|
});
|
|
6559
|
+
var _a = this.getFolderPagePagination(), pageIndex = _a.pageIndex, pageSize = _a.pageSize;
|
|
6249
6560
|
this.assetService
|
|
6250
|
-
.getChildrenFolders({ assetId: id })
|
|
6561
|
+
.getChildrenFolders({ assetId: id, pageIndex: pageIndex, pageSize: pageSize })
|
|
6251
6562
|
.pipe(operators.takeUntil(this.unsubscribe$))
|
|
6252
6563
|
.subscribe((/**
|
|
6253
6564
|
* @param {?} res
|
|
6254
6565
|
* @return {?}
|
|
6255
6566
|
*/
|
|
6256
6567
|
function (res) {
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
|
|
6568
|
+
var Data = res.Data;
|
|
6569
|
+
var Children = Data.Children;
|
|
6570
|
+
_this.setFolderList(res);
|
|
6571
|
+
if (Children) {
|
|
6572
|
+
Children.forEach((/**
|
|
6260
6573
|
* @param {?} node
|
|
6261
6574
|
* @return {?}
|
|
6262
6575
|
*/
|
|
6263
|
-
function (node) {
|
|
6264
|
-
return _this.nodeTreeService.addNode(node, _this.currentFolder.AssetId);
|
|
6265
|
-
}));
|
|
6576
|
+
function (node) { return _this.nodeTreeService.addNode(node, _this.currentFolder.AssetId); }));
|
|
6266
6577
|
}
|
|
6267
6578
|
}))
|
|
6268
6579
|
.add((/**
|
|
@@ -6275,6 +6586,23 @@
|
|
|
6275
6586
|
});
|
|
6276
6587
|
}));
|
|
6277
6588
|
};
|
|
6589
|
+
/**
|
|
6590
|
+
* @private
|
|
6591
|
+
* @param {?} res
|
|
6592
|
+
* @return {?}
|
|
6593
|
+
*/
|
|
6594
|
+
NodeDetailsComponent.prototype.setFolderList = /**
|
|
6595
|
+
* @private
|
|
6596
|
+
* @param {?} res
|
|
6597
|
+
* @return {?}
|
|
6598
|
+
*/
|
|
6599
|
+
function (res) {
|
|
6600
|
+
var Data = res.Data, Meta = res.Meta;
|
|
6601
|
+
var TotalFolder = Data.TotalFolder;
|
|
6602
|
+
var PageIndex = Meta.PageIndex, PageSize = Meta.PageSize;
|
|
6603
|
+
this.assetService.setFolderList(Data, { Total: TotalFolder, PageIndex: PageIndex, PageSize: PageSize });
|
|
6604
|
+
this.setFolderPagination({ length: TotalFolder, pageIndex: PageIndex, pageSize: PageSize });
|
|
6605
|
+
};
|
|
6278
6606
|
/**
|
|
6279
6607
|
* @private
|
|
6280
6608
|
* @param {?} id
|
|
@@ -6291,8 +6619,9 @@
|
|
|
6291
6619
|
type: ActionTypes.SET_GLOBAL_LOADING,
|
|
6292
6620
|
payload: true,
|
|
6293
6621
|
});
|
|
6622
|
+
var _a = this.getFolderPagePagination(), pageIndex = _a.pageIndex, pageSize = _a.pageSize;
|
|
6294
6623
|
combineLatest.combineLatest([
|
|
6295
|
-
this.assetService.getChildrenFolders({ assetId: id }),
|
|
6624
|
+
this.assetService.getChildrenFolders({ assetId: id, pageIndex: pageIndex, pageSize: pageSize }),
|
|
6296
6625
|
this.assetService.getChildrenAssets({
|
|
6297
6626
|
assetId: id,
|
|
6298
6627
|
}),
|
|
@@ -6303,11 +6632,17 @@
|
|
|
6303
6632
|
* @return {?}
|
|
6304
6633
|
*/
|
|
6305
6634
|
function (_a) {
|
|
6306
|
-
var _b = __read(_a, 2),
|
|
6307
|
-
|
|
6308
|
-
|
|
6309
|
-
|
|
6310
|
-
|
|
6635
|
+
var _b = __read(_a, 2), foldersRes = _b[0], assetsRes = _b[1];
|
|
6636
|
+
/** @type {?} */
|
|
6637
|
+
var pagination = assetsRes && assetsRes.Meta || {};
|
|
6638
|
+
/** @type {?} */
|
|
6639
|
+
var assets = assetsRes && assetsRes.Data && assetsRes.Data.Children || [];
|
|
6640
|
+
/** @type {?} */
|
|
6641
|
+
var totalFile = assetsRes && assetsRes.Data && assetsRes.Data.TotalFile || 0;
|
|
6642
|
+
_this.setFolderList(foldersRes);
|
|
6643
|
+
_this.assetService.setAssetList(assets, pagination, totalFile);
|
|
6644
|
+
if (foldersRes.Data && foldersRes.Data.Children) {
|
|
6645
|
+
foldersRes.Data.Children.forEach((/**
|
|
6311
6646
|
* @param {?} node
|
|
6312
6647
|
* @return {?}
|
|
6313
6648
|
*/
|
|
@@ -6326,6 +6661,52 @@
|
|
|
6326
6661
|
});
|
|
6327
6662
|
}));
|
|
6328
6663
|
};
|
|
6664
|
+
/**
|
|
6665
|
+
* @return {?}
|
|
6666
|
+
*/
|
|
6667
|
+
NodeDetailsComponent.prototype.getFolderPagePagination = /**
|
|
6668
|
+
* @return {?}
|
|
6669
|
+
*/
|
|
6670
|
+
function () {
|
|
6671
|
+
return {
|
|
6672
|
+
pageIndex: this.assetService.pageFolderIndex,
|
|
6673
|
+
pageSize: this.assetService.pageFolderSize,
|
|
6674
|
+
length: this.assetService.folderTotal,
|
|
6675
|
+
};
|
|
6676
|
+
};
|
|
6677
|
+
/**
|
|
6678
|
+
* @param {?} event
|
|
6679
|
+
* @return {?}
|
|
6680
|
+
*/
|
|
6681
|
+
NodeDetailsComponent.prototype.onFolderPageChange = /**
|
|
6682
|
+
* @param {?} event
|
|
6683
|
+
* @return {?}
|
|
6684
|
+
*/
|
|
6685
|
+
function (event) {
|
|
6686
|
+
this.assetService.pageFolderIndex = event.pageIndex;
|
|
6687
|
+
this.assetService.pageFolderSize = event.pageSize;
|
|
6688
|
+
this.fetchFolder(this.currentFolder.AssetId);
|
|
6689
|
+
};
|
|
6690
|
+
/**
|
|
6691
|
+
* @private
|
|
6692
|
+
* @param {?} pagination
|
|
6693
|
+
* @return {?}
|
|
6694
|
+
*/
|
|
6695
|
+
NodeDetailsComponent.prototype.setFolderPagination = /**
|
|
6696
|
+
* @private
|
|
6697
|
+
* @param {?} pagination
|
|
6698
|
+
* @return {?}
|
|
6699
|
+
*/
|
|
6700
|
+
function (pagination) {
|
|
6701
|
+
if (!pagination)
|
|
6702
|
+
return;
|
|
6703
|
+
var length = pagination.length, pageIndex = pagination.pageIndex, pageSize = pagination.pageSize;
|
|
6704
|
+
this.folderPagination = {
|
|
6705
|
+
pageIndex: pageIndex,
|
|
6706
|
+
pageSize: pageSize,
|
|
6707
|
+
length: length
|
|
6708
|
+
};
|
|
6709
|
+
};
|
|
6329
6710
|
Object.defineProperty(NodeDetailsComponent.prototype, "noResults", {
|
|
6330
6711
|
get: /**
|
|
6331
6712
|
* @return {?}
|
|
@@ -6359,8 +6740,8 @@
|
|
|
6359
6740
|
NodeDetailsComponent.decorators = [
|
|
6360
6741
|
{ type: core.Component, args: [{
|
|
6361
6742
|
selector: 'lib-node-details',
|
|
6362
|
-
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 || !hasArchivePermission\" (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 || !hasModifyPermission\">\n Upload asset\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"addFolder()\" [disabled]=\"!currentFolder?.AssetId || !hasModifyPermission\">\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\n class=\"node-body__section\"\n [folders]=\"currentFolder?.Children\"\n [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\n ></lib-folder-list>\n <lib-asset-list\n [assets]=\"assets\"\n [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\n ></lib-asset-list>\n </ng-template>\n </div>\n</div>",
|
|
6363
|
-
styles: [":host::ng-deep .node-details{max-height:100%;overflow-y:auto}:host::ng-deep .node-details .node-header{position
|
|
6743
|
+
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 || !hasArchivePermission\" (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 || !hasModifyPermission\">\n Upload asset\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"addFolder()\" [disabled]=\"!currentFolder?.AssetId || !hasModifyPermission\">\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\n class=\"node-body__section\"\n [folders]=\"currentFolder?.Children\"\n [pagination]=\"folderPagination\"\n [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\n (onPageChange)=\"onFolderPageChange($event)\"\n ></lib-folder-list>\n <lib-asset-list\n [assets]=\"assets\"\n [isDialog]=\"isDialog\"\n [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\n ></lib-asset-list>\n </ng-template>\n </div>\n</div>",
|
|
6744
|
+
styles: [":host::ng-deep .node-details{max-height:100%;overflow-y:auto}:host::ng-deep .node-details .node-header{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}"]
|
|
6364
6745
|
}] }
|
|
6365
6746
|
];
|
|
6366
6747
|
/** @nocollapse */
|
|
@@ -6372,6 +6753,7 @@
|
|
|
6372
6753
|
{ type: core.ChangeDetectorRef }
|
|
6373
6754
|
]; };
|
|
6374
6755
|
NodeDetailsComponent.propDecorators = {
|
|
6756
|
+
isDialog: [{ type: core.Input }],
|
|
6375
6757
|
hasModifyPermission: [{ type: core.Input }],
|
|
6376
6758
|
hasAccessPermission: [{ type: core.Input }],
|
|
6377
6759
|
hasArchivePermission: [{ type: core.Input }]
|
|
@@ -6379,6 +6761,8 @@
|
|
|
6379
6761
|
return NodeDetailsComponent;
|
|
6380
6762
|
}());
|
|
6381
6763
|
if (false) {
|
|
6764
|
+
/** @type {?} */
|
|
6765
|
+
NodeDetailsComponent.prototype.isDialog;
|
|
6382
6766
|
/** @type {?} */
|
|
6383
6767
|
NodeDetailsComponent.prototype.hasModifyPermission;
|
|
6384
6768
|
/** @type {?} */
|
|
@@ -6391,6 +6775,8 @@
|
|
|
6391
6775
|
*/
|
|
6392
6776
|
NodeDetailsComponent.prototype.unsubscribe$;
|
|
6393
6777
|
/** @type {?} */
|
|
6778
|
+
NodeDetailsComponent.prototype.folderPagination;
|
|
6779
|
+
/** @type {?} */
|
|
6394
6780
|
NodeDetailsComponent.prototype.selectedAssets;
|
|
6395
6781
|
/** @type {?} */
|
|
6396
6782
|
NodeDetailsComponent.prototype.loading$;
|