@rs-pk/asset-management 1.0.26 → 1.0.28
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 +398 -63
- 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-management-dialog/asset-management-dialog.component.js +1 -2
- package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +2 -9
- 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 +64 -12
- package/esm2015/lib/components/partial/node-tree/node-tree.component.js +148 -10
- package/esm2015/lib/components/partial/search-box/search-box.component.js +2 -2
- package/esm2015/lib/models/asset.model.js +15 -1
- package/esm2015/lib/models/index.js +2 -2
- package/esm2015/lib/services/asset.service.js +47 -7
- package/esm2015/lib/services/env-config.service.js +3 -1
- package/esm2015/lib/services/node-tree.service.js +14 -6
- package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +1 -2
- package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +1 -2
- package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +2 -12
- 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 +82 -15
- package/esm5/lib/components/partial/node-tree/node-tree.component.js +184 -19
- package/esm5/lib/components/partial/search-box/search-box.component.js +2 -2
- package/esm5/lib/models/asset.model.js +15 -1
- package/esm5/lib/models/index.js +2 -2
- package/esm5/lib/services/asset.service.js +61 -8
- package/esm5/lib/services/env-config.service.js +3 -1
- package/esm5/lib/services/node-tree.service.js +23 -9
- package/fesm2015/rs-pk-asset-management.js +317 -47
- package/fesm2015/rs-pk-asset-management.js.map +1 -1
- package/fesm5/rs-pk-asset-management.js +401 -66
- package/fesm5/rs-pk-asset-management.js.map +1 -1
- package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +0 -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 +10 -0
- package/lib/components/partial/node-tree/node-tree.component.d.ts +15 -1
- package/lib/models/asset.model.d.ts +7 -0
- package/lib/services/asset.service.d.ts +9 -2
- package/lib/services/env-config.service.d.ts +1 -0
- package/lib/services/node-tree.service.d.ts +2 -1
- package/package.json +1 -1
- package/rs-pk-asset-management.metadata.json +1 -1
|
@@ -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
|
/**
|
|
@@ -826,6 +857,36 @@
|
|
|
826
857
|
this.pageSize = pagination.PageSize;
|
|
827
858
|
}
|
|
828
859
|
};
|
|
860
|
+
/**
|
|
861
|
+
* @private
|
|
862
|
+
* @param {?} pagination
|
|
863
|
+
* @return {?}
|
|
864
|
+
*/
|
|
865
|
+
AssetService.prototype.setFolderPagination = /**
|
|
866
|
+
* @private
|
|
867
|
+
* @param {?} pagination
|
|
868
|
+
* @return {?}
|
|
869
|
+
*/
|
|
870
|
+
function (pagination) {
|
|
871
|
+
if (pagination) {
|
|
872
|
+
this.folderTotal = pagination.Total;
|
|
873
|
+
this.pageFolderIndex = pagination.PageIndex;
|
|
874
|
+
this.pageFolderSize = pagination.PageSize;
|
|
875
|
+
}
|
|
876
|
+
};
|
|
877
|
+
/**
|
|
878
|
+
* @param {?} pagination
|
|
879
|
+
* @return {?}
|
|
880
|
+
*/
|
|
881
|
+
AssetService.prototype.setFolderTreePagination = /**
|
|
882
|
+
* @param {?} pagination
|
|
883
|
+
* @return {?}
|
|
884
|
+
*/
|
|
885
|
+
function (pagination) {
|
|
886
|
+
if (pagination) {
|
|
887
|
+
this.folderTotal = pagination.Total;
|
|
888
|
+
}
|
|
889
|
+
};
|
|
829
890
|
/**
|
|
830
891
|
* @param {?} assetId
|
|
831
892
|
* @return {?}
|
|
@@ -848,11 +909,15 @@
|
|
|
848
909
|
* @return {?}
|
|
849
910
|
*/
|
|
850
911
|
function (_a) {
|
|
851
|
-
var assetId = _a.assetId, _b = _a.isFilter, isFilter = _b === void 0 ? true : _b;
|
|
912
|
+
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
913
|
/** @type {?} */
|
|
853
914
|
var url = this.baseUrl + "/File/GetChildren";
|
|
854
915
|
/** @type {?} */
|
|
855
|
-
var params = new http.HttpParams()
|
|
916
|
+
var params = new http.HttpParams()
|
|
917
|
+
.set('getAll', 'true')
|
|
918
|
+
.set('isFolder', 'true')
|
|
919
|
+
.set('pageSize', "" + pageSize)
|
|
920
|
+
.set('pageIndex', "" + pageIndex);
|
|
856
921
|
if (assetId) {
|
|
857
922
|
params = params.set('assetId', assetId);
|
|
858
923
|
}
|
|
@@ -929,6 +994,10 @@
|
|
|
929
994
|
/** @type {?} */
|
|
930
995
|
AssetService.prototype.pageIndex;
|
|
931
996
|
/** @type {?} */
|
|
997
|
+
AssetService.prototype.pageFolderSize;
|
|
998
|
+
/** @type {?} */
|
|
999
|
+
AssetService.prototype.pageFolderIndex;
|
|
1000
|
+
/** @type {?} */
|
|
932
1001
|
AssetService.prototype.folderTotal;
|
|
933
1002
|
/** @type {?} */
|
|
934
1003
|
AssetService.prototype.fileTotal;
|
|
@@ -1332,19 +1401,19 @@
|
|
|
1332
1401
|
* @return {?}
|
|
1333
1402
|
*/
|
|
1334
1403
|
function (_a) {
|
|
1335
|
-
var dispatchRootId = _a.dispatchRootId;
|
|
1404
|
+
var dispatchRootId = _a.dispatchRootId, _b = _a.pageSize, pageSize = _b === void 0 ? this.assetService.AMConfig.pageFolderSize || MAX_FOLDER_TREE_SIZE : _b;
|
|
1336
1405
|
return __awaiter(this, void 0, void 0, function () {
|
|
1337
1406
|
var result, initData;
|
|
1338
1407
|
var _this = this;
|
|
1339
|
-
return __generator(this, function (
|
|
1340
|
-
switch (
|
|
1408
|
+
return __generator(this, function (_c) {
|
|
1409
|
+
switch (_c.label) {
|
|
1341
1410
|
case 0:
|
|
1342
1411
|
if (dispatchRootId) {
|
|
1343
1412
|
this.loading$.next(true);
|
|
1344
1413
|
}
|
|
1345
|
-
return [4 /*yield*/, this.assetService.getChildrenFolders({ isFilter: false }).toPromise()];
|
|
1414
|
+
return [4 /*yield*/, this.assetService.getChildrenFolders({ isFilter: false, pageIndex: 0, pageSize: pageSize }).toPromise()];
|
|
1346
1415
|
case 1:
|
|
1347
|
-
result =
|
|
1416
|
+
result = _c.sent();
|
|
1348
1417
|
if (!result) {
|
|
1349
1418
|
return [2 /*return*/];
|
|
1350
1419
|
}
|
|
@@ -1363,7 +1432,7 @@
|
|
|
1363
1432
|
* @param {?} folder
|
|
1364
1433
|
* @return {?}
|
|
1365
1434
|
*/
|
|
1366
|
-
function (folder) { return
|
|
1435
|
+
function (folder) { return _this.getDynamicFlatNode(folder, 0); }));
|
|
1367
1436
|
this.initialData$.next(initData);
|
|
1368
1437
|
if (dispatchRootId) {
|
|
1369
1438
|
this.loading$.next(false);
|
|
@@ -1373,6 +1442,20 @@
|
|
|
1373
1442
|
});
|
|
1374
1443
|
});
|
|
1375
1444
|
};
|
|
1445
|
+
/**
|
|
1446
|
+
* @param {?} node
|
|
1447
|
+
* @param {?=} level
|
|
1448
|
+
* @return {?}
|
|
1449
|
+
*/
|
|
1450
|
+
NodeTreeService.prototype.getDynamicFlatNode = /**
|
|
1451
|
+
* @param {?} node
|
|
1452
|
+
* @param {?=} level
|
|
1453
|
+
* @return {?}
|
|
1454
|
+
*/
|
|
1455
|
+
function (node, level) {
|
|
1456
|
+
if (level === void 0) { level = 0; }
|
|
1457
|
+
return new DynamicFlatNode(node, level, this.isExpandable(node));
|
|
1458
|
+
};
|
|
1376
1459
|
/**
|
|
1377
1460
|
* @param {?} node
|
|
1378
1461
|
* @return {?}
|
|
@@ -1400,7 +1483,7 @@
|
|
|
1400
1483
|
* @return {?}
|
|
1401
1484
|
*/
|
|
1402
1485
|
function (node) {
|
|
1403
|
-
return node.HaveChildren;
|
|
1486
|
+
return Boolean(node.HaveChildren);
|
|
1404
1487
|
};
|
|
1405
1488
|
/** Add asset to stored data */
|
|
1406
1489
|
/**
|
|
@@ -1876,7 +1959,6 @@
|
|
|
1876
1959
|
*/
|
|
1877
1960
|
function () {
|
|
1878
1961
|
var _this = this;
|
|
1879
|
-
console.log('Assest Management Dialog', this.data);
|
|
1880
1962
|
this.initDialogConfig(this.data);
|
|
1881
1963
|
select((/**
|
|
1882
1964
|
* @param {?} state
|
|
@@ -3541,7 +3623,7 @@
|
|
|
3541
3623
|
FolderItemComponent.decorators = [
|
|
3542
3624
|
{ type: core.Component, args: [{
|
|
3543
3625
|
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
|
|
3626
|
+
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
3627
|
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
3628
|
}] }
|
|
3547
3629
|
];
|
|
@@ -3588,10 +3670,24 @@
|
|
|
3588
3670
|
this.hasModifyPermission = true;
|
|
3589
3671
|
this.hasAccessPermission = true;
|
|
3590
3672
|
this.hasArchivePermission = true;
|
|
3673
|
+
this.onPageChange = new core.EventEmitter();
|
|
3591
3674
|
this.loading = false;
|
|
3592
3675
|
this.unsubscribe$ = new Subject.Subject();
|
|
3593
3676
|
this.bindSubscriber();
|
|
3594
3677
|
}
|
|
3678
|
+
/**
|
|
3679
|
+
* @return {?}
|
|
3680
|
+
*/
|
|
3681
|
+
FolderListComponent.prototype.ngOnChanges = /**
|
|
3682
|
+
* @return {?}
|
|
3683
|
+
*/
|
|
3684
|
+
function () {
|
|
3685
|
+
if (this.paginator && this.pagination) {
|
|
3686
|
+
this.paginator.pageIndex = this.pagination.pageIndex;
|
|
3687
|
+
this.paginator.pageSize = this.pagination.pageSize;
|
|
3688
|
+
this.paginator.length = this.pagination.length;
|
|
3689
|
+
}
|
|
3690
|
+
};
|
|
3595
3691
|
/**
|
|
3596
3692
|
* @return {?}
|
|
3597
3693
|
*/
|
|
@@ -3609,6 +3705,17 @@
|
|
|
3609
3705
|
this.unsubscribe$.next();
|
|
3610
3706
|
this.unsubscribe$.complete();
|
|
3611
3707
|
};
|
|
3708
|
+
/**
|
|
3709
|
+
* @param {?=} event
|
|
3710
|
+
* @return {?}
|
|
3711
|
+
*/
|
|
3712
|
+
FolderListComponent.prototype.pageChange = /**
|
|
3713
|
+
* @param {?=} event
|
|
3714
|
+
* @return {?}
|
|
3715
|
+
*/
|
|
3716
|
+
function (event) {
|
|
3717
|
+
this.onPageChange.emit(event);
|
|
3718
|
+
};
|
|
3612
3719
|
/**
|
|
3613
3720
|
* @private
|
|
3614
3721
|
* @return {?}
|
|
@@ -3636,8 +3743,8 @@
|
|
|
3636
3743
|
FolderListComponent.decorators = [
|
|
3637
3744
|
{ type: core.Component, args: [{
|
|
3638
3745
|
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:
|
|
3746
|
+
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>",
|
|
3747
|
+
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
3748
|
}] }
|
|
3642
3749
|
];
|
|
3643
3750
|
/** @nocollapse */
|
|
@@ -3646,7 +3753,10 @@
|
|
|
3646
3753
|
hasModifyPermission: [{ type: core.Input }],
|
|
3647
3754
|
hasAccessPermission: [{ type: core.Input }],
|
|
3648
3755
|
hasArchivePermission: [{ type: core.Input }],
|
|
3649
|
-
|
|
3756
|
+
paginator: [{ type: core.ViewChild, args: [material.MatPaginator, { static: true },] }],
|
|
3757
|
+
folders: [{ type: core.Input }],
|
|
3758
|
+
pagination: [{ type: core.Input }],
|
|
3759
|
+
onPageChange: [{ type: core.Output }]
|
|
3650
3760
|
};
|
|
3651
3761
|
return FolderListComponent;
|
|
3652
3762
|
}());
|
|
@@ -3658,8 +3768,14 @@
|
|
|
3658
3768
|
/** @type {?} */
|
|
3659
3769
|
FolderListComponent.prototype.hasArchivePermission;
|
|
3660
3770
|
/** @type {?} */
|
|
3771
|
+
FolderListComponent.prototype.paginator;
|
|
3772
|
+
/** @type {?} */
|
|
3661
3773
|
FolderListComponent.prototype.folders;
|
|
3662
3774
|
/** @type {?} */
|
|
3775
|
+
FolderListComponent.prototype.pagination;
|
|
3776
|
+
/** @type {?} */
|
|
3777
|
+
FolderListComponent.prototype.onPageChange;
|
|
3778
|
+
/** @type {?} */
|
|
3663
3779
|
FolderListComponent.prototype.loading;
|
|
3664
3780
|
/**
|
|
3665
3781
|
* @type {?}
|
|
@@ -4088,7 +4204,6 @@
|
|
|
4088
4204
|
* @return {?}
|
|
4089
4205
|
*/
|
|
4090
4206
|
function () {
|
|
4091
|
-
console.log('data', this.data.permission);
|
|
4092
4207
|
this.uploadAssetsService.supportedSize = this.assetsService.maxSize * 1024 * 1024;
|
|
4093
4208
|
this.linkDownload = this._env.asset2Url + "/File/Download/" + this.data.assetId;
|
|
4094
4209
|
this.getAssetDetail();
|
|
@@ -5039,13 +5154,17 @@
|
|
|
5039
5154
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5040
5155
|
*/
|
|
5041
5156
|
var NodeTreeComponent = /** @class */ (function () {
|
|
5042
|
-
function NodeTreeComponent(nodeTreeService, svc, changeDetectorRef) {
|
|
5157
|
+
function NodeTreeComponent(assetService, nodeTreeService, svc, changeDetectorRef) {
|
|
5158
|
+
this.assetService = assetService;
|
|
5043
5159
|
this.nodeTreeService = nodeTreeService;
|
|
5044
5160
|
this.svc = svc;
|
|
5045
5161
|
this.changeDetectorRef = changeDetectorRef;
|
|
5162
|
+
this.ROOT_ASSET_ID = ROOT_ASSET_ID;
|
|
5046
5163
|
this.isRoot = false;
|
|
5047
5164
|
this.homeLoading = false;
|
|
5048
5165
|
this.loading = false;
|
|
5166
|
+
this.loadingMoreList = {};
|
|
5167
|
+
this.folderChildrenMap = new Map();
|
|
5049
5168
|
this.unsubscribe$ = new rxjs.Subject();
|
|
5050
5169
|
this.getLevel = (/**
|
|
5051
5170
|
* @param {?} node
|
|
@@ -5066,6 +5185,21 @@
|
|
|
5066
5185
|
this.treeControl = new tree$1.FlatTreeControl(this.getLevel, this.isExpandable);
|
|
5067
5186
|
this.dataSource = new NodeTreeDataSource(this.treeControl, nodeTreeService);
|
|
5068
5187
|
}
|
|
5188
|
+
Object.defineProperty(NodeTreeComponent.prototype, "folderTreeMeta", {
|
|
5189
|
+
get: /**
|
|
5190
|
+
* @return {?}
|
|
5191
|
+
*/
|
|
5192
|
+
function () {
|
|
5193
|
+
/** @type {?} */
|
|
5194
|
+
var rootFolder = this.folderChildrenMap.get(ROOT_ASSET_ID);
|
|
5195
|
+
return {
|
|
5196
|
+
length: rootFolder ? rootFolder.size : 0,
|
|
5197
|
+
total: this.nodeTreeService.rootFolder ? this.nodeTreeService.rootFolder.TotalFolder || '0' : 0,
|
|
5198
|
+
};
|
|
5199
|
+
},
|
|
5200
|
+
enumerable: true,
|
|
5201
|
+
configurable: true
|
|
5202
|
+
});
|
|
5069
5203
|
/**
|
|
5070
5204
|
* @return {?}
|
|
5071
5205
|
*/
|
|
@@ -5097,6 +5231,32 @@
|
|
|
5097
5231
|
});
|
|
5098
5232
|
});
|
|
5099
5233
|
};
|
|
5234
|
+
/**
|
|
5235
|
+
* @param {?} id
|
|
5236
|
+
* @return {?}
|
|
5237
|
+
*/
|
|
5238
|
+
NodeTreeComponent.prototype.getFolderChildrenSize = /**
|
|
5239
|
+
* @param {?} id
|
|
5240
|
+
* @return {?}
|
|
5241
|
+
*/
|
|
5242
|
+
function (id) {
|
|
5243
|
+
/** @type {?} */
|
|
5244
|
+
var children = this.folderChildrenMap.get(id);
|
|
5245
|
+
return children ? children.size : 0;
|
|
5246
|
+
};
|
|
5247
|
+
/**
|
|
5248
|
+
* @param {?} node
|
|
5249
|
+
* @return {?}
|
|
5250
|
+
*/
|
|
5251
|
+
NodeTreeComponent.prototype.canLoadMore = /**
|
|
5252
|
+
* @param {?} node
|
|
5253
|
+
* @return {?}
|
|
5254
|
+
*/
|
|
5255
|
+
function (node) {
|
|
5256
|
+
/** @type {?} */
|
|
5257
|
+
var size = this.getFolderChildrenSize(node.item.AssetId);
|
|
5258
|
+
return size < node.item.TotalFolder;
|
|
5259
|
+
};
|
|
5100
5260
|
/**
|
|
5101
5261
|
* @private
|
|
5102
5262
|
* @return {?}
|
|
@@ -5142,6 +5302,7 @@
|
|
|
5142
5302
|
*/
|
|
5143
5303
|
function (data) {
|
|
5144
5304
|
if (data && data.length) {
|
|
5305
|
+
_this.handleDatasourceChange(data);
|
|
5145
5306
|
_this.changeDetectorRef.detectChanges();
|
|
5146
5307
|
}
|
|
5147
5308
|
}));
|
|
@@ -5198,6 +5359,42 @@
|
|
|
5198
5359
|
});
|
|
5199
5360
|
}); }));
|
|
5200
5361
|
};
|
|
5362
|
+
/**
|
|
5363
|
+
* @private
|
|
5364
|
+
* @param {?=} data
|
|
5365
|
+
* @return {?}
|
|
5366
|
+
*/
|
|
5367
|
+
NodeTreeComponent.prototype.handleDatasourceChange = /**
|
|
5368
|
+
* @private
|
|
5369
|
+
* @param {?=} data
|
|
5370
|
+
* @return {?}
|
|
5371
|
+
*/
|
|
5372
|
+
function (data) {
|
|
5373
|
+
var _this = this;
|
|
5374
|
+
if (data === void 0) { data = []; }
|
|
5375
|
+
if (!data || !data.length)
|
|
5376
|
+
return;
|
|
5377
|
+
/** @type {?} */
|
|
5378
|
+
var maps = new Map();
|
|
5379
|
+
maps.set(ROOT_ASSET_ID, new Map());
|
|
5380
|
+
data.forEach((/**
|
|
5381
|
+
* @param {?} node
|
|
5382
|
+
* @return {?}
|
|
5383
|
+
*/
|
|
5384
|
+
function (node) {
|
|
5385
|
+
/** @type {?} */
|
|
5386
|
+
var nodeId = node.item.AssetId;
|
|
5387
|
+
/** @type {?} */
|
|
5388
|
+
var parent = _this.getParent(node);
|
|
5389
|
+
/** @type {?} */
|
|
5390
|
+
var parentId = parent ? parent.item.AssetId : ROOT_ASSET_ID;
|
|
5391
|
+
if (!maps.has(parentId)) {
|
|
5392
|
+
maps.set(parentId, new Map());
|
|
5393
|
+
}
|
|
5394
|
+
maps.get(parentId).set(nodeId, node);
|
|
5395
|
+
}));
|
|
5396
|
+
this.folderChildrenMap = maps;
|
|
5397
|
+
};
|
|
5201
5398
|
/**
|
|
5202
5399
|
* @param {?} node
|
|
5203
5400
|
* @return {?}
|
|
@@ -5248,6 +5445,67 @@
|
|
|
5248
5445
|
});
|
|
5249
5446
|
}
|
|
5250
5447
|
};
|
|
5448
|
+
/**
|
|
5449
|
+
* @param {?=} node
|
|
5450
|
+
* @return {?}
|
|
5451
|
+
*/
|
|
5452
|
+
NodeTreeComponent.prototype.loadMoreFolder = /**
|
|
5453
|
+
* @param {?=} node
|
|
5454
|
+
* @return {?}
|
|
5455
|
+
*/
|
|
5456
|
+
function (node) {
|
|
5457
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
5458
|
+
var id, children, itemsPerPage, result, assetChildren, index, nodes, updatedData, error_1;
|
|
5459
|
+
var _this = this;
|
|
5460
|
+
return __generator(this, function (_a) {
|
|
5461
|
+
switch (_a.label) {
|
|
5462
|
+
case 0:
|
|
5463
|
+
id = node ? node.item.AssetId : ROOT_ASSET_ID;
|
|
5464
|
+
_a.label = 1;
|
|
5465
|
+
case 1:
|
|
5466
|
+
_a.trys.push([1, 3, , 4]);
|
|
5467
|
+
this.setLoadingMore(id, true);
|
|
5468
|
+
children = this.folderChildrenMap.get(id);
|
|
5469
|
+
itemsPerPage = this.assetService.AMConfig.pageFolderSize || MAX_FOLDER_TREE_SIZE;
|
|
5470
|
+
return [4 /*yield*/, this.assetService.getChildrenFolders({
|
|
5471
|
+
assetId: id === ROOT_ASSET_ID ? null : id,
|
|
5472
|
+
isFilter: false,
|
|
5473
|
+
pageIndex: Math.round((children ? children.size : 0) / itemsPerPage)
|
|
5474
|
+
}).toPromise()];
|
|
5475
|
+
case 2:
|
|
5476
|
+
result = _a.sent();
|
|
5477
|
+
assetChildren = result.Data.Children || [];
|
|
5478
|
+
// Handle datasource
|
|
5479
|
+
index = this.dataSource.data.indexOf(node);
|
|
5480
|
+
nodes = assetChildren.map((/**
|
|
5481
|
+
* @param {?} folder
|
|
5482
|
+
* @return {?}
|
|
5483
|
+
*/
|
|
5484
|
+
function (folder) {
|
|
5485
|
+
_this.nodeTreeService.addNode(folder, id);
|
|
5486
|
+
return _this.nodeTreeService.getDynamicFlatNode(folder, node ? node.level + 1 : 0);
|
|
5487
|
+
}));
|
|
5488
|
+
if (id !== ROOT_ASSET_ID) {
|
|
5489
|
+
updatedData = this.dataSource.data.slice();
|
|
5490
|
+
updatedData.splice.apply(updatedData, __spread([index + 1, 0], nodes));
|
|
5491
|
+
this.dataSource.data = updatedData;
|
|
5492
|
+
}
|
|
5493
|
+
else {
|
|
5494
|
+
this.dataSource.data = __spread(this.dataSource.data, nodes);
|
|
5495
|
+
}
|
|
5496
|
+
this.setLoadingMore(id, false);
|
|
5497
|
+
this.changeDetectorRef.detectChanges();
|
|
5498
|
+
return [3 /*break*/, 4];
|
|
5499
|
+
case 3:
|
|
5500
|
+
error_1 = _a.sent();
|
|
5501
|
+
console.log('Load more folder error', error_1);
|
|
5502
|
+
this.setLoadingMore(id, false);
|
|
5503
|
+
return [3 /*break*/, 4];
|
|
5504
|
+
case 4: return [2 /*return*/];
|
|
5505
|
+
}
|
|
5506
|
+
});
|
|
5507
|
+
});
|
|
5508
|
+
};
|
|
5251
5509
|
/**
|
|
5252
5510
|
* @param {?} node
|
|
5253
5511
|
* @return {?}
|
|
@@ -5321,7 +5579,7 @@
|
|
|
5321
5579
|
*/
|
|
5322
5580
|
function (id) {
|
|
5323
5581
|
return __awaiter(this, void 0, void 0, function () {
|
|
5324
|
-
var node, parent_1, updatedNode
|
|
5582
|
+
var node, parent_1, updatedNode;
|
|
5325
5583
|
return __generator(this, function (_a) {
|
|
5326
5584
|
switch (_a.label) {
|
|
5327
5585
|
case 0:
|
|
@@ -5330,11 +5588,13 @@
|
|
|
5330
5588
|
}
|
|
5331
5589
|
this.loading = true;
|
|
5332
5590
|
node = this.getNodeById(id);
|
|
5333
|
-
if (!node) return [3 /*break*/,
|
|
5591
|
+
if (!node) return [3 /*break*/, 5];
|
|
5334
5592
|
parent_1 = this.getParent(node);
|
|
5335
5593
|
if (!parent_1) return [3 /*break*/, 4];
|
|
5594
|
+
// Reload parent folder (get children and expand it again)
|
|
5336
5595
|
return [4 /*yield*/, this.dataSource.reloadNode(parent_1)];
|
|
5337
5596
|
case 1:
|
|
5597
|
+
// Reload parent folder (get children and expand it again)
|
|
5338
5598
|
_a.sent();
|
|
5339
5599
|
updatedNode = this.getNodeById(id);
|
|
5340
5600
|
if (!updatedNode) return [3 /*break*/, 3];
|
|
@@ -5342,28 +5602,37 @@
|
|
|
5342
5602
|
case 2:
|
|
5343
5603
|
_a.sent();
|
|
5344
5604
|
_a.label = 3;
|
|
5345
|
-
case 3: return [3 /*break*/,
|
|
5346
|
-
case 4: return [
|
|
5347
|
-
case 5:
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
if (!updatedNode) return [3 /*break*/, 7];
|
|
5351
|
-
return [4 /*yield*/, this.treeControl.expand(updatedNode)];
|
|
5605
|
+
case 3: return [3 /*break*/, 4];
|
|
5606
|
+
case 4: return [3 /*break*/, 7];
|
|
5607
|
+
case 5:
|
|
5608
|
+
// Reload root folder
|
|
5609
|
+
return [4 /*yield*/, this.nodeTreeService.initialData({ dispatchRootId: false })];
|
|
5352
5610
|
case 6:
|
|
5611
|
+
// Reload root folder
|
|
5353
5612
|
_a.sent();
|
|
5354
5613
|
_a.label = 7;
|
|
5355
|
-
case 7:
|
|
5356
|
-
case 8: return [4 /*yield*/, this.nodeTreeService.initialData({ dispatchRootId: false })];
|
|
5357
|
-
case 9:
|
|
5358
|
-
_a.sent();
|
|
5359
|
-
_a.label = 10;
|
|
5360
|
-
case 10:
|
|
5614
|
+
case 7:
|
|
5361
5615
|
this.loading = false;
|
|
5362
5616
|
return [2 /*return*/];
|
|
5363
5617
|
}
|
|
5364
5618
|
});
|
|
5365
5619
|
});
|
|
5366
5620
|
};
|
|
5621
|
+
/**
|
|
5622
|
+
* @private
|
|
5623
|
+
* @param {?} id
|
|
5624
|
+
* @param {?} value
|
|
5625
|
+
* @return {?}
|
|
5626
|
+
*/
|
|
5627
|
+
NodeTreeComponent.prototype.setLoadingMore = /**
|
|
5628
|
+
* @private
|
|
5629
|
+
* @param {?} id
|
|
5630
|
+
* @param {?} value
|
|
5631
|
+
* @return {?}
|
|
5632
|
+
*/
|
|
5633
|
+
function (id, value) {
|
|
5634
|
+
this.loadingMoreList[id] = value;
|
|
5635
|
+
};
|
|
5367
5636
|
/**
|
|
5368
5637
|
* @return {?}
|
|
5369
5638
|
*/
|
|
@@ -5379,12 +5648,13 @@
|
|
|
5379
5648
|
NodeTreeComponent.decorators = [
|
|
5380
5649
|
{ type: core.Component, args: [{
|
|
5381
5650
|
selector: 'lib-node-tree',
|
|
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:-ms-grid;display:grid;grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content}:host::ng-deep .node__home{padding:8px 10px;display:flex;align-items:center;height:44px}:host::ng-deep .node__home .mat-icon{color:#979797;margin-right:15px;margin-bottom:10px;font-size:32px}:host::ng-deep .node__home .node__home--loading{margin-right:19px}:host::ng-deep .node__item--loading{margin-left:10px}:host::ng-deep .node__item--info{display:flex;align-items:center}:host::ng-deep .node__item--info .folder-icon{display:flex;align-items:center;color:#6fc0ff;font-size:32px;margin-right:20px}:host::ng-deep .node__item--info .node-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name .node-summary{margin-top:-5px;color:#979797}:host::ng-deep .node .mat-tree{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:100%}:host::ng-deep .node .mat-tree .mat-tree-node{padding:5px 0;min-height:44px}:host::ng-deep .node .mat-tree .mat-tree-node .node__item--pading{height:20px}:host::ng-deep .node .mat-tree-node:hover,:host::ng-deep .node .node__home{transition:.3s;cursor:pointer}:host::ng-deep .node .mat-tree-node:hover:hover,:host::ng-deep .node .node__home:hover{background-color:#e8e8e8}:host::ng-deep .node .active{background-color:#f0f0f0}:host::ng-deep .node .disabled{pointer-events:none}"]
|
|
5651
|
+
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>",
|
|
5652
|
+
styles: [":host::ng-deep .node{overflow-x:hidden;height:100%;display:-ms-grid;display:grid;grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content}:host::ng-deep .node-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:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:100%}:host::ng-deep .node .mat-tree .mat-tree-node{padding:5px 0;min-height:44px}:host::ng-deep .node .mat-tree .mat-tree-node .node__item--pading{height:20px}:host::ng-deep .node .mat-tree-node:hover,:host::ng-deep .node .node__home{transition:.3s;cursor:pointer}:host::ng-deep .node .mat-tree-node:hover:hover,:host::ng-deep .node .node__home:hover{background-color:#e8e8e8}:host::ng-deep .node .active{background-color:#f0f0f0}:host::ng-deep .node .disabled{pointer-events:none}"]
|
|
5384
5653
|
}] }
|
|
5385
5654
|
];
|
|
5386
5655
|
/** @nocollapse */
|
|
5387
5656
|
NodeTreeComponent.ctorParameters = function () { return [
|
|
5657
|
+
{ type: AssetService },
|
|
5388
5658
|
{ type: NodeTreeService },
|
|
5389
5659
|
{ type: AssetManagementService },
|
|
5390
5660
|
{ type: core.ChangeDetectorRef }
|
|
@@ -5398,6 +5668,8 @@
|
|
|
5398
5668
|
/** @type {?} */
|
|
5399
5669
|
NodeTreeComponent.prototype.width;
|
|
5400
5670
|
/** @type {?} */
|
|
5671
|
+
NodeTreeComponent.prototype.ROOT_ASSET_ID;
|
|
5672
|
+
/** @type {?} */
|
|
5401
5673
|
NodeTreeComponent.prototype.currentFolderId;
|
|
5402
5674
|
/** @type {?} */
|
|
5403
5675
|
NodeTreeComponent.prototype.isRoot;
|
|
@@ -5406,9 +5678,13 @@
|
|
|
5406
5678
|
/** @type {?} */
|
|
5407
5679
|
NodeTreeComponent.prototype.loading;
|
|
5408
5680
|
/** @type {?} */
|
|
5681
|
+
NodeTreeComponent.prototype.loadingMoreList;
|
|
5682
|
+
/** @type {?} */
|
|
5409
5683
|
NodeTreeComponent.prototype.treeControl;
|
|
5410
5684
|
/** @type {?} */
|
|
5411
5685
|
NodeTreeComponent.prototype.dataSource;
|
|
5686
|
+
/** @type {?} */
|
|
5687
|
+
NodeTreeComponent.prototype.folderChildrenMap;
|
|
5412
5688
|
/**
|
|
5413
5689
|
* @type {?}
|
|
5414
5690
|
* @private
|
|
@@ -5420,6 +5696,8 @@
|
|
|
5420
5696
|
NodeTreeComponent.prototype.isExpandable;
|
|
5421
5697
|
/** @type {?} */
|
|
5422
5698
|
NodeTreeComponent.prototype.hasChild;
|
|
5699
|
+
/** @type {?} */
|
|
5700
|
+
NodeTreeComponent.prototype.assetService;
|
|
5423
5701
|
/**
|
|
5424
5702
|
* @type {?}
|
|
5425
5703
|
* @private
|
|
@@ -5686,7 +5964,7 @@
|
|
|
5686
5964
|
*/
|
|
5687
5965
|
function (_a) {
|
|
5688
5966
|
var _b = __read(_a, 2), folders = _b[0], assets = _b[1];
|
|
5689
|
-
_this.assetService.setFolderList(folders.Data, folders.
|
|
5967
|
+
_this.assetService.setFolderList(folders.Data, { Total: folders.Data.TotalFolder });
|
|
5690
5968
|
_this.assetService.setAssetList(assets.Data.Children, assets.Meta);
|
|
5691
5969
|
}))
|
|
5692
5970
|
.add((/**
|
|
@@ -5859,19 +6137,9 @@
|
|
|
5859
6137
|
this.hasArchivePermission = true;
|
|
5860
6138
|
this.assets = new core.EventEmitter();
|
|
5861
6139
|
this.unsubscribe$ = new Subject.Subject();
|
|
5862
|
-
this.nodeTreeMinWidth =
|
|
6140
|
+
this.nodeTreeMinWidth = 300;
|
|
5863
6141
|
this.nodeTreeMaxWidth = 700;
|
|
5864
6142
|
}
|
|
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
6143
|
/**
|
|
5876
6144
|
* @return {?}
|
|
5877
6145
|
*/
|
|
@@ -6246,23 +6514,24 @@
|
|
|
6246
6514
|
type: ActionTypes.SET_GLOBAL_LOADING,
|
|
6247
6515
|
payload: true,
|
|
6248
6516
|
});
|
|
6517
|
+
var _a = this.getFolderPagePagination(), pageIndex = _a.pageIndex, pageSize = _a.pageSize;
|
|
6249
6518
|
this.assetService
|
|
6250
|
-
.getChildrenFolders({ assetId: id })
|
|
6519
|
+
.getChildrenFolders({ assetId: id, pageIndex: pageIndex, pageSize: pageSize })
|
|
6251
6520
|
.pipe(operators.takeUntil(this.unsubscribe$))
|
|
6252
6521
|
.subscribe((/**
|
|
6253
6522
|
* @param {?} res
|
|
6254
6523
|
* @return {?}
|
|
6255
6524
|
*/
|
|
6256
6525
|
function (res) {
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
|
|
6526
|
+
var Data = res.Data;
|
|
6527
|
+
var Children = Data.Children;
|
|
6528
|
+
_this.setFolderList(res);
|
|
6529
|
+
if (Children) {
|
|
6530
|
+
Children.forEach((/**
|
|
6260
6531
|
* @param {?} node
|
|
6261
6532
|
* @return {?}
|
|
6262
6533
|
*/
|
|
6263
|
-
function (node) {
|
|
6264
|
-
return _this.nodeTreeService.addNode(node, _this.currentFolder.AssetId);
|
|
6265
|
-
}));
|
|
6534
|
+
function (node) { return _this.nodeTreeService.addNode(node, _this.currentFolder.AssetId); }));
|
|
6266
6535
|
}
|
|
6267
6536
|
}))
|
|
6268
6537
|
.add((/**
|
|
@@ -6275,6 +6544,23 @@
|
|
|
6275
6544
|
});
|
|
6276
6545
|
}));
|
|
6277
6546
|
};
|
|
6547
|
+
/**
|
|
6548
|
+
* @private
|
|
6549
|
+
* @param {?} res
|
|
6550
|
+
* @return {?}
|
|
6551
|
+
*/
|
|
6552
|
+
NodeDetailsComponent.prototype.setFolderList = /**
|
|
6553
|
+
* @private
|
|
6554
|
+
* @param {?} res
|
|
6555
|
+
* @return {?}
|
|
6556
|
+
*/
|
|
6557
|
+
function (res) {
|
|
6558
|
+
var Data = res.Data, Meta = res.Meta;
|
|
6559
|
+
var TotalFolder = Data.TotalFolder;
|
|
6560
|
+
var PageIndex = Meta.PageIndex, PageSize = Meta.PageSize;
|
|
6561
|
+
this.assetService.setFolderList(Data, { Total: TotalFolder, PageIndex: PageIndex, PageSize: PageSize });
|
|
6562
|
+
this.setFolderPagination({ length: TotalFolder, pageIndex: PageIndex, pageSize: PageSize });
|
|
6563
|
+
};
|
|
6278
6564
|
/**
|
|
6279
6565
|
* @private
|
|
6280
6566
|
* @param {?} id
|
|
@@ -6291,8 +6577,9 @@
|
|
|
6291
6577
|
type: ActionTypes.SET_GLOBAL_LOADING,
|
|
6292
6578
|
payload: true,
|
|
6293
6579
|
});
|
|
6580
|
+
var _a = this.getFolderPagePagination(), pageIndex = _a.pageIndex, pageSize = _a.pageSize;
|
|
6294
6581
|
combineLatest.combineLatest([
|
|
6295
|
-
this.assetService.getChildrenFolders({ assetId: id }),
|
|
6582
|
+
this.assetService.getChildrenFolders({ assetId: id, pageIndex: pageIndex, pageSize: pageSize }),
|
|
6296
6583
|
this.assetService.getChildrenAssets({
|
|
6297
6584
|
assetId: id,
|
|
6298
6585
|
}),
|
|
@@ -6303,11 +6590,11 @@
|
|
|
6303
6590
|
* @return {?}
|
|
6304
6591
|
*/
|
|
6305
6592
|
function (_a) {
|
|
6306
|
-
var _b = __read(_a, 2),
|
|
6307
|
-
_this.
|
|
6308
|
-
_this.assetService.setAssetList(
|
|
6309
|
-
if (
|
|
6310
|
-
|
|
6593
|
+
var _b = __read(_a, 2), foldersRes = _b[0], assetsRes = _b[1];
|
|
6594
|
+
_this.setFolderList(foldersRes);
|
|
6595
|
+
_this.assetService.setAssetList(assetsRes.Data.Children, assetsRes.Meta);
|
|
6596
|
+
if (foldersRes.Data && foldersRes.Data.Children) {
|
|
6597
|
+
foldersRes.Data.Children.forEach((/**
|
|
6311
6598
|
* @param {?} node
|
|
6312
6599
|
* @return {?}
|
|
6313
6600
|
*/
|
|
@@ -6326,6 +6613,52 @@
|
|
|
6326
6613
|
});
|
|
6327
6614
|
}));
|
|
6328
6615
|
};
|
|
6616
|
+
/**
|
|
6617
|
+
* @return {?}
|
|
6618
|
+
*/
|
|
6619
|
+
NodeDetailsComponent.prototype.getFolderPagePagination = /**
|
|
6620
|
+
* @return {?}
|
|
6621
|
+
*/
|
|
6622
|
+
function () {
|
|
6623
|
+
return {
|
|
6624
|
+
pageIndex: this.assetService.pageFolderIndex,
|
|
6625
|
+
pageSize: this.assetService.pageFolderSize,
|
|
6626
|
+
length: this.assetService.folderTotal,
|
|
6627
|
+
};
|
|
6628
|
+
};
|
|
6629
|
+
/**
|
|
6630
|
+
* @param {?} event
|
|
6631
|
+
* @return {?}
|
|
6632
|
+
*/
|
|
6633
|
+
NodeDetailsComponent.prototype.onFolderPageChange = /**
|
|
6634
|
+
* @param {?} event
|
|
6635
|
+
* @return {?}
|
|
6636
|
+
*/
|
|
6637
|
+
function (event) {
|
|
6638
|
+
this.assetService.pageFolderIndex = event.pageIndex;
|
|
6639
|
+
this.assetService.pageFolderSize = event.pageSize;
|
|
6640
|
+
this.fetchFolder(this.currentFolder.AssetId);
|
|
6641
|
+
};
|
|
6642
|
+
/**
|
|
6643
|
+
* @private
|
|
6644
|
+
* @param {?} pagination
|
|
6645
|
+
* @return {?}
|
|
6646
|
+
*/
|
|
6647
|
+
NodeDetailsComponent.prototype.setFolderPagination = /**
|
|
6648
|
+
* @private
|
|
6649
|
+
* @param {?} pagination
|
|
6650
|
+
* @return {?}
|
|
6651
|
+
*/
|
|
6652
|
+
function (pagination) {
|
|
6653
|
+
if (!pagination)
|
|
6654
|
+
return;
|
|
6655
|
+
var length = pagination.length, pageIndex = pagination.pageIndex, pageSize = pagination.pageSize;
|
|
6656
|
+
this.folderPagination = {
|
|
6657
|
+
pageIndex: pageIndex,
|
|
6658
|
+
pageSize: pageSize,
|
|
6659
|
+
length: length
|
|
6660
|
+
};
|
|
6661
|
+
};
|
|
6329
6662
|
Object.defineProperty(NodeDetailsComponent.prototype, "noResults", {
|
|
6330
6663
|
get: /**
|
|
6331
6664
|
* @return {?}
|
|
@@ -6359,7 +6692,7 @@
|
|
|
6359
6692
|
NodeDetailsComponent.decorators = [
|
|
6360
6693
|
{ type: core.Component, args: [{
|
|
6361
6694
|
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>",
|
|
6695
|
+
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 [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\n ></lib-asset-list>\n </ng-template>\n </div>\n</div>",
|
|
6363
6696
|
styles: [":host::ng-deep .node-details{max-height:100%;overflow-y:auto}:host::ng-deep .node-details .node-header{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;z-index:20}:host::ng-deep .node-details .node-header-content{padding:10px 20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}:host::ng-deep .node-details .node-header-content__left--title{margin-bottom:5px}:host::ng-deep .node-details .node-header-content__left--title span{color:#fb3458}:host::ng-deep .node-details .node-header-content__left--subtitle{margin:0;color:#979797;font-size:14px}:host::ng-deep .node-details .node-header-content__right{flex:1}:host::ng-deep .node-details .node-header-content__right .button-wrapper{display:flex;gap:15px;justify-content:flex-end}:host::ng-deep .node-details .node-header-content__right .button-wrapper .count{margin-left:3px}:host::ng-deep .node-details .node-body{padding:0 20px}:host::ng-deep .node-details .node-body__section{display:block;margin-bottom:15px}"]
|
|
6364
6697
|
}] }
|
|
6365
6698
|
];
|
|
@@ -6391,6 +6724,8 @@
|
|
|
6391
6724
|
*/
|
|
6392
6725
|
NodeDetailsComponent.prototype.unsubscribe$;
|
|
6393
6726
|
/** @type {?} */
|
|
6727
|
+
NodeDetailsComponent.prototype.folderPagination;
|
|
6728
|
+
/** @type {?} */
|
|
6394
6729
|
NodeDetailsComponent.prototype.selectedAssets;
|
|
6395
6730
|
/** @type {?} */
|
|
6396
6731
|
NodeDetailsComponent.prototype.loading$;
|