@rs-pk/asset-management 1.0.25 → 1.0.26
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/README.md +24 -24
- package/bundles/rs-pk-asset-management.umd.js +6436 -6436
- 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/asset-management.component.js +169 -169
- package/esm2015/lib/asset-management.module.js +178 -178
- package/esm2015/lib/asset-management.service.js +45 -45
- package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +146 -146
- package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +398 -398
- package/esm2015/lib/components/partial/asset-item/asset-item.component.js +316 -316
- package/esm2015/lib/components/partial/asset-list/asset-list.component.js +285 -285
- package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +110 -110
- package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +119 -119
- package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +121 -121
- package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -139
- package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +151 -151
- package/esm2015/lib/components/partial/file-item/file-item.component.js +181 -181
- package/esm2015/lib/components/partial/file-list/file-list.component.js +73 -73
- package/esm2015/lib/components/partial/folder-item/folder-item.component.js +126 -126
- package/esm2015/lib/components/partial/folder-list/folder-list.component.js +81 -81
- package/esm2015/lib/components/partial/node-details/node-details.component.js +417 -417
- package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -330
- package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -158
- package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -99
- package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +141 -141
- package/esm2015/lib/components/partial/upload-file/upload-file.component.js +85 -85
- package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -96
- package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -49
- package/esm2015/lib/components/ui/modal/modal.component.js +34 -34
- package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -41
- package/esm2015/lib/configs/admin.config.js +22 -22
- package/esm2015/lib/contanst/data-image.js +20 -20
- package/esm2015/lib/contanst/index.js +6 -6
- package/esm2015/lib/datasources/index.js +6 -6
- package/esm2015/lib/datasources/node-tree.datasource.js +179 -179
- package/esm2015/lib/directives/dialogTrigger.directive.js +47 -47
- package/esm2015/lib/directives/directives.module.js +20 -20
- package/esm2015/lib/directives/dnd.directive.js +57 -57
- package/esm2015/lib/models/asset-file.model.js +57 -57
- package/esm2015/lib/models/asset.model.js +151 -151
- package/esm2015/lib/models/file-type.enum.js +11 -11
- package/esm2015/lib/models/file.model.js +91 -91
- package/esm2015/lib/models/index.js +12 -12
- package/esm2015/lib/models/node-tree.model.js +32 -32
- package/esm2015/lib/models/sort.enum.js +23 -23
- package/esm2015/lib/pipes/datetime.pipe.js +79 -79
- package/esm2015/lib/pipes/file-size.pipe.js +54 -54
- package/esm2015/lib/services/asset.service.js +229 -229
- package/esm2015/lib/services/base.service.js +49 -49
- package/esm2015/lib/services/env-config.service.js +18 -18
- package/esm2015/lib/services/file.service.js +106 -106
- package/esm2015/lib/services/index.js +11 -11
- package/esm2015/lib/services/node-tree.service.js +212 -212
- package/esm2015/lib/services/upload-assets.service.js +178 -178
- package/esm2015/lib/store/actions.action.js +125 -125
- package/esm2015/lib/store/index.js +7 -7
- package/esm2015/lib/store/reducer.js +115 -115
- package/esm2015/public-api.js +34 -34
- package/esm2015/rs-pk-asset-management.js +16 -16
- package/esm5/lib/asset-management.component.js +184 -184
- package/esm5/lib/asset-management.module.js +179 -179
- package/esm5/lib/asset-management.service.js +54 -54
- package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +164 -164
- package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +440 -440
- package/esm5/lib/components/partial/asset-item/asset-item.component.js +350 -350
- package/esm5/lib/components/partial/asset-list/asset-list.component.js +318 -318
- package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +125 -125
- package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +137 -137
- package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +143 -143
- package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -154
- package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +169 -169
- package/esm5/lib/components/partial/file-item/file-item.component.js +206 -206
- package/esm5/lib/components/partial/file-list/file-list.component.js +93 -93
- package/esm5/lib/components/partial/folder-item/folder-item.component.js +138 -138
- package/esm5/lib/components/partial/folder-list/folder-list.component.js +94 -94
- package/esm5/lib/components/partial/node-details/node-details.component.js +458 -458
- package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -413
- package/esm5/lib/components/partial/search-box/search-box.component.js +184 -184
- package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -107
- package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +156 -156
- package/esm5/lib/components/partial/upload-file/upload-file.component.js +102 -102
- package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -117
- package/esm5/lib/components/ui/input-file/input-file.component.js +55 -55
- package/esm5/lib/components/ui/modal/modal.component.js +39 -39
- package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -43
- package/esm5/lib/configs/admin.config.js +22 -22
- package/esm5/lib/contanst/data-image.js +20 -20
- package/esm5/lib/contanst/index.js +6 -6
- package/esm5/lib/datasources/index.js +6 -6
- package/esm5/lib/datasources/node-tree.datasource.js +239 -239
- package/esm5/lib/directives/dialogTrigger.directive.js +53 -53
- package/esm5/lib/directives/directives.module.js +25 -25
- package/esm5/lib/directives/dnd.directive.js +80 -80
- package/esm5/lib/models/asset-file.model.js +69 -69
- package/esm5/lib/models/asset.model.js +170 -170
- package/esm5/lib/models/file-type.enum.js +11 -11
- package/esm5/lib/models/file.model.js +99 -99
- package/esm5/lib/models/index.js +12 -12
- package/esm5/lib/models/node-tree.model.js +37 -37
- package/esm5/lib/models/sort.enum.js +23 -23
- package/esm5/lib/pipes/datetime.pipe.js +83 -83
- package/esm5/lib/pipes/file-size.pipe.js +63 -63
- package/esm5/lib/services/asset.service.js +279 -279
- package/esm5/lib/services/base.service.js +57 -57
- package/esm5/lib/services/env-config.service.js +18 -18
- package/esm5/lib/services/file.service.js +127 -127
- package/esm5/lib/services/index.js +11 -11
- package/esm5/lib/services/node-tree.service.js +278 -278
- package/esm5/lib/services/upload-assets.service.js +207 -207
- package/esm5/lib/store/actions.action.js +143 -143
- package/esm5/lib/store/index.js +7 -7
- package/esm5/lib/store/reducer.js +116 -116
- package/esm5/public-api.js +34 -34
- package/esm5/rs-pk-asset-management.js +16 -16
- package/fesm2015/rs-pk-asset-management.js +5635 -5635
- package/fesm2015/rs-pk-asset-management.js.map +1 -1
- package/fesm5/rs-pk-asset-management.js +6441 -6441
- package/fesm5/rs-pk-asset-management.js.map +1 -1
- package/lib/asset-management.component.d.ts +25 -25
- package/lib/asset-management.module.d.ts +5 -5
- package/lib/asset-management.service.d.ts +7 -7
- package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -27
- package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +65 -65
- package/lib/components/partial/asset-item/asset-item.component.d.ts +40 -40
- package/lib/components/partial/asset-list/asset-list.component.d.ts +27 -27
- package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +17 -17
- package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +23 -23
- package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +18 -18
- package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -24
- package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -28
- package/lib/components/partial/file-item/file-item.component.d.ts +36 -36
- package/lib/components/partial/file-list/file-list.component.d.ts +15 -15
- package/lib/components/partial/folder-item/folder-item.component.d.ts +17 -17
- package/lib/components/partial/folder-list/folder-list.component.d.ts +14 -14
- package/lib/components/partial/node-details/node-details.component.d.ts +32 -32
- package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -34
- package/lib/components/partial/search-box/search-box.component.d.ts +18 -18
- package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -21
- package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +25 -25
- package/lib/components/partial/upload-file/upload-file.component.d.ts +16 -16
- package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -15
- package/lib/components/ui/input-file/input-file.component.d.ts +9 -9
- package/lib/components/ui/modal/modal.component.d.ts +7 -7
- package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -8
- package/lib/configs/admin.config.d.ts +3 -3
- package/lib/contanst/data-image.d.ts +6 -6
- package/lib/contanst/index.d.ts +1 -1
- package/lib/datasources/index.d.ts +1 -1
- package/lib/datasources/node-tree.datasource.d.ts +24 -24
- package/lib/directives/dialogTrigger.directive.d.ts +7 -7
- package/lib/directives/directives.module.d.ts +5 -5
- package/lib/directives/dnd.directive.d.ts +7 -7
- package/lib/models/asset-file.model.d.ts +26 -26
- package/lib/models/asset.model.d.ts +73 -73
- package/lib/models/file-type.enum.d.ts +4 -4
- package/lib/models/file.model.d.ts +41 -41
- package/lib/models/index.d.ts +7 -7
- package/lib/models/node-tree.model.d.ts +9 -9
- package/lib/models/sort.enum.d.ts +9 -9
- package/lib/pipes/datetime.pipe.d.ts +13 -13
- package/lib/pipes/file-size.pipe.d.ts +5 -5
- package/lib/services/asset.service.d.ts +36 -36
- package/lib/services/base.service.d.ts +20 -20
- package/lib/services/env-config.service.d.ts +7 -7
- package/lib/services/file.service.d.ts +13 -13
- package/lib/services/index.d.ts +6 -6
- package/lib/services/node-tree.service.d.ts +24 -24
- package/lib/services/upload-assets.service.d.ts +34 -34
- package/lib/store/actions.action.d.ts +51 -51
- package/lib/store/index.d.ts +2 -2
- package/lib/store/reducer.d.ts +18 -18
- package/package.json +1 -2
- package/public-api.d.ts +26 -26
- package/rs-pk-asset-management.d.ts +12 -12
- package/rs-pk-asset-management.metadata.json +1 -1
|
@@ -1,278 +1,278 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
|
|
8
|
-
import { AssetManagementService } from '../asset-management.service';
|
|
9
|
-
import { DynamicFlatNode } from '../models';
|
|
10
|
-
import { ActionTypes } from '../store';
|
|
11
|
-
import { AssetService } from './asset.service';
|
|
12
|
-
var NodeTreeService = /** @class */ (function () {
|
|
13
|
-
function NodeTreeService(assetService, svc) {
|
|
14
|
-
this.assetService = assetService;
|
|
15
|
-
this.svc = svc;
|
|
16
|
-
this.storedData$ = new BehaviorSubject([]);
|
|
17
|
-
this.loading$ = new BehaviorSubject(false);
|
|
18
|
-
this.initialData$ = new BehaviorSubject([]);
|
|
19
|
-
}
|
|
20
|
-
Object.defineProperty(NodeTreeService.prototype, "data", {
|
|
21
|
-
get: /**
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
function () {
|
|
25
|
-
return this.storedData$.getValue();
|
|
26
|
-
},
|
|
27
|
-
set: /**
|
|
28
|
-
* @param {?} values
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
function (values) {
|
|
32
|
-
this.storedData$.next(values);
|
|
33
|
-
},
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true
|
|
36
|
-
});
|
|
37
|
-
/**
|
|
38
|
-
* @private
|
|
39
|
-
* @param {?} id
|
|
40
|
-
* @return {?}
|
|
41
|
-
*/
|
|
42
|
-
NodeTreeService.prototype.fetchChildrenFolder = /**
|
|
43
|
-
* @private
|
|
44
|
-
* @param {?} id
|
|
45
|
-
* @return {?}
|
|
46
|
-
*/
|
|
47
|
-
function (id) {
|
|
48
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
49
|
-
var result, err_1;
|
|
50
|
-
return tslib_1.__generator(this, function (_a) {
|
|
51
|
-
switch (_a.label) {
|
|
52
|
-
case 0:
|
|
53
|
-
_a.trys.push([0, 2, , 3]);
|
|
54
|
-
return [4 /*yield*/, this.assetService.getChildrenFolders({ assetId: id, isFilter: false }).toPromise()];
|
|
55
|
-
case 1:
|
|
56
|
-
result = _a.sent();
|
|
57
|
-
if (result) {
|
|
58
|
-
return [2 /*return*/, result.Data];
|
|
59
|
-
}
|
|
60
|
-
return [3 /*break*/, 3];
|
|
61
|
-
case 2:
|
|
62
|
-
err_1 = _a.sent();
|
|
63
|
-
return [3 /*break*/, 3];
|
|
64
|
-
case 3: return [2 /*return*/];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
};
|
|
69
|
-
/** Initial data from database */
|
|
70
|
-
/**
|
|
71
|
-
* Initial data from database
|
|
72
|
-
* @param {?} __0
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
NodeTreeService.prototype.initialData = /**
|
|
76
|
-
* Initial data from database
|
|
77
|
-
* @param {?} __0
|
|
78
|
-
* @return {?}
|
|
79
|
-
*/
|
|
80
|
-
function (_a) {
|
|
81
|
-
var dispatchRootId = _a.dispatchRootId;
|
|
82
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
83
|
-
var result, initData;
|
|
84
|
-
var _this = this;
|
|
85
|
-
return tslib_1.__generator(this, function (_b) {
|
|
86
|
-
switch (_b.label) {
|
|
87
|
-
case 0:
|
|
88
|
-
if (dispatchRootId) {
|
|
89
|
-
this.loading$.next(true);
|
|
90
|
-
}
|
|
91
|
-
return [4 /*yield*/, this.assetService.getChildrenFolders({ isFilter: false }).toPromise()];
|
|
92
|
-
case 1:
|
|
93
|
-
result = _b.sent();
|
|
94
|
-
if (!result) {
|
|
95
|
-
return [2 /*return*/];
|
|
96
|
-
}
|
|
97
|
-
if (dispatchRootId) {
|
|
98
|
-
this.svc.dispatch({
|
|
99
|
-
type: ActionTypes.SET_CURRENT_FOLDER_ID,
|
|
100
|
-
payload: result.Data.AssetId,
|
|
101
|
-
});
|
|
102
|
-
this.svc.dispatch({
|
|
103
|
-
type: ActionTypes.SET_CURRENT_FOLDER_HIERARCHY,
|
|
104
|
-
payload: [],
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
this.rootFolder = result.Data;
|
|
108
|
-
initData = result.Data.Children.map((/**
|
|
109
|
-
* @param {?} folder
|
|
110
|
-
* @return {?}
|
|
111
|
-
*/
|
|
112
|
-
function (folder) { return new DynamicFlatNode(folder, 0, _this.isExpandable(folder)); }));
|
|
113
|
-
this.initialData$.next(initData);
|
|
114
|
-
if (dispatchRootId) {
|
|
115
|
-
this.loading$.next(false);
|
|
116
|
-
}
|
|
117
|
-
return [2 /*return*/, this.initialData$.getValue()];
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* @param {?} node
|
|
124
|
-
* @return {?}
|
|
125
|
-
*/
|
|
126
|
-
NodeTreeService.prototype.getChildren = /**
|
|
127
|
-
* @param {?} node
|
|
128
|
-
* @return {?}
|
|
129
|
-
*/
|
|
130
|
-
function (node) {
|
|
131
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
132
|
-
return tslib_1.__generator(this, function (_a) {
|
|
133
|
-
switch (_a.label) {
|
|
134
|
-
case 0: return [4 /*yield*/, this.fetchChildrenFolder(node.AssetId)];
|
|
135
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
};
|
|
140
|
-
/**
|
|
141
|
-
* @param {?} node
|
|
142
|
-
* @return {?}
|
|
143
|
-
*/
|
|
144
|
-
NodeTreeService.prototype.isExpandable = /**
|
|
145
|
-
* @param {?} node
|
|
146
|
-
* @return {?}
|
|
147
|
-
*/
|
|
148
|
-
function (node) {
|
|
149
|
-
return node.HaveChildren;
|
|
150
|
-
};
|
|
151
|
-
/** Add asset to stored data */
|
|
152
|
-
/**
|
|
153
|
-
* Add asset to stored data
|
|
154
|
-
* @param {?} asset
|
|
155
|
-
* @param {?=} parentId
|
|
156
|
-
* @return {?}
|
|
157
|
-
*/
|
|
158
|
-
NodeTreeService.prototype.addNode = /**
|
|
159
|
-
* Add asset to stored data
|
|
160
|
-
* @param {?} asset
|
|
161
|
-
* @param {?=} parentId
|
|
162
|
-
* @return {?}
|
|
163
|
-
*/
|
|
164
|
-
function (asset, parentId) {
|
|
165
|
-
/** @type {?} */
|
|
166
|
-
var data = tslib_1.__spread(this.data);
|
|
167
|
-
/** @type {?} */
|
|
168
|
-
var index = data.findIndex((/**
|
|
169
|
-
* @param {?} node
|
|
170
|
-
* @return {?}
|
|
171
|
-
*/
|
|
172
|
-
function (node) { return node.AssetId === asset.AssetId; }));
|
|
173
|
-
if (index < 0) {
|
|
174
|
-
data = tslib_1.__spread(data, [tslib_1.__assign({}, asset, { ParentId: parentId ? parentId : null })]);
|
|
175
|
-
}
|
|
176
|
-
this.data = data;
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* @param {?} id
|
|
180
|
-
* @return {?}
|
|
181
|
-
*/
|
|
182
|
-
NodeTreeService.prototype.updateBreadcrumb = /**
|
|
183
|
-
* @param {?} id
|
|
184
|
-
* @return {?}
|
|
185
|
-
*/
|
|
186
|
-
function (id) {
|
|
187
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
188
|
-
var folder, hierarchy;
|
|
189
|
-
return tslib_1.__generator(this, function (_a) {
|
|
190
|
-
folder = this.data.find((/**
|
|
191
|
-
* @param {?} n
|
|
192
|
-
* @return {?}
|
|
193
|
-
*/
|
|
194
|
-
function (n) { return n.AssetId === id; }));
|
|
195
|
-
if (folder) {
|
|
196
|
-
hierarchy = this.getFolderHierarchy(folder);
|
|
197
|
-
this.svc.dispatch({
|
|
198
|
-
type: ActionTypes.SET_CURRENT_FOLDER_HIERARCHY,
|
|
199
|
-
payload: hierarchy,
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
return [2 /*return*/];
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
};
|
|
206
|
-
/**
|
|
207
|
-
* @private
|
|
208
|
-
* @param {?} node
|
|
209
|
-
* @return {?}
|
|
210
|
-
*/
|
|
211
|
-
NodeTreeService.prototype.getAssetParent = /**
|
|
212
|
-
* @private
|
|
213
|
-
* @param {?} node
|
|
214
|
-
* @return {?}
|
|
215
|
-
*/
|
|
216
|
-
function (node) {
|
|
217
|
-
return this.data.find((/**
|
|
218
|
-
* @param {?} n
|
|
219
|
-
* @return {?}
|
|
220
|
-
*/
|
|
221
|
-
function (n) { return n.AssetId === node.ParentId; }));
|
|
222
|
-
};
|
|
223
|
-
/**
|
|
224
|
-
* @private
|
|
225
|
-
* @param {?} node
|
|
226
|
-
* @return {?}
|
|
227
|
-
*/
|
|
228
|
-
NodeTreeService.prototype.getFolderHierarchy = /**
|
|
229
|
-
* @private
|
|
230
|
-
* @param {?} node
|
|
231
|
-
* @return {?}
|
|
232
|
-
*/
|
|
233
|
-
function (node) {
|
|
234
|
-
if (!node) {
|
|
235
|
-
return [];
|
|
236
|
-
}
|
|
237
|
-
/** @type {?} */
|
|
238
|
-
var parentHierarchy = [];
|
|
239
|
-
/** @type {?} */
|
|
240
|
-
var parent = this.getAssetParent(node);
|
|
241
|
-
while (parent) {
|
|
242
|
-
parentHierarchy = tslib_1.__spread([parent], parentHierarchy);
|
|
243
|
-
parent = this.getAssetParent(parent);
|
|
244
|
-
}
|
|
245
|
-
return tslib_1.__spread(parentHierarchy, [node]);
|
|
246
|
-
};
|
|
247
|
-
NodeTreeService.decorators = [
|
|
248
|
-
{ type: Injectable }
|
|
249
|
-
];
|
|
250
|
-
/** @nocollapse */
|
|
251
|
-
NodeTreeService.ctorParameters = function () { return [
|
|
252
|
-
{ type: AssetService },
|
|
253
|
-
{ type: AssetManagementService }
|
|
254
|
-
]; };
|
|
255
|
-
return NodeTreeService;
|
|
256
|
-
}());
|
|
257
|
-
export { NodeTreeService };
|
|
258
|
-
if (false) {
|
|
259
|
-
/** @type {?} */
|
|
260
|
-
NodeTreeService.prototype.storedData$;
|
|
261
|
-
/** @type {?} */
|
|
262
|
-
NodeTreeService.prototype.loading$;
|
|
263
|
-
/** @type {?} */
|
|
264
|
-
NodeTreeService.prototype.initialData$;
|
|
265
|
-
/** @type {?} */
|
|
266
|
-
NodeTreeService.prototype.rootFolder;
|
|
267
|
-
/**
|
|
268
|
-
* @type {?}
|
|
269
|
-
* @private
|
|
270
|
-
*/
|
|
271
|
-
NodeTreeService.prototype.assetService;
|
|
272
|
-
/**
|
|
273
|
-
* @type {?}
|
|
274
|
-
* @private
|
|
275
|
-
*/
|
|
276
|
-
NodeTreeService.prototype.svc;
|
|
277
|
-
}
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10cmVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9ub2RlLXRyZWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBYyxlQUFlLEVBQThDLE1BQU0sV0FBVyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DO0lBRUUseUJBQW9CLFlBQTBCLEVBQVUsR0FBMkI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUU1RSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMvQyxpQkFBWSxHQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUpLLENBQUM7SUFPeEYsc0JBQUksaUNBQUk7Ozs7UUFBUjtZQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxDQUFDOzs7OztRQUNELFVBQVMsTUFBb0I7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsQ0FBQzs7O09BSEE7Ozs7OztJQUthLDZDQUFtQjs7Ozs7SUFBakMsVUFBa0MsRUFBVTs7Ozs7Ozt3QkFFekIscUJBQU0sSUFBSSxDQUFDLFlBQVks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Ozs7SUFHMUIsc0NBQTJEOztJQUMzRCxtQ0FBc0Q7O0lBQ3RELHVDQUFrRjs7SUFDbEYscUNBQThCOzs7OztJQUxsQix1Q0FBa0M7Ozs7O0lBQUUsOEJBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XHJcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3NldE1vZGVsLCBEeW5hbWljRmxhdE5vZGUsIEZvbGRlclRyZWVNb2RlbCwgSUluaXRpYWxGb2xkZXJUcmVlT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEFjdGlvblR5cGVzIH0gZnJvbSAnLi4vc3RvcmUnO1xyXG5pbXBvcnQgeyBBc3NldFNlcnZpY2UgfSBmcm9tICcuL2Fzc2V0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTm9kZVRyZWVTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLCBwcml2YXRlIHN2YzogQXNzZXRNYW5hZ2VtZW50U2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZWREYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXNzZXRNb2RlbFtdPihbXSk7XHJcbiAgcHVibGljIGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHVibGljIGluaXRpYWxEYXRhJDogQmVoYXZpb3JTdWJqZWN0PER5bmFtaWNGbGF0Tm9kZVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gIHB1YmxpYyByb290Rm9sZGVyOiBBc3NldE1vZGVsO1xyXG5cclxuICBnZXQgZGF0YSgpOiBBc3NldE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkRGF0YSQuZ2V0VmFsdWUoKTtcclxuICB9XHJcbiAgc2V0IGRhdGEodmFsdWVzOiBBc3NldE1vZGVsW10pIHtcclxuICAgIHRoaXMuc3RvcmVkRGF0YSQubmV4dCh2YWx1ZXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBmZXRjaENoaWxkcmVuRm9sZGVyKGlkOiBzdHJpbmcpOiBQcm9taXNlPEZvbGRlclRyZWVNb2RlbD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5hc3NldFNlcnZpY2UuZ2V0Q2hpbGRyZW5Gb2xkZXJzKHsgYXNzZXRJZDogaWQsIGlzRmlsdGVyOiBmYWxzZSB9KS50b1Byb21pc2UoKTtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHJldHVybiByZXN1bHQuRGF0YTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7IH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsIGRhdGEgZnJvbSBkYXRhYmFzZSAqL1xyXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsRGF0YShcclxuICAgIHsgZGlzcGF0Y2hSb290SWQgfTogSUluaXRpYWxGb2xkZXJUcmVlT3B0aW9uc1xyXG4gICk6IFByb21pc2U8RHluYW1pY0ZsYXROb2RlW10+IHtcclxuICAgIGlmIChkaXNwYXRjaFJvb3RJZCkgeyB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7IH1cclxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYXNzZXRTZXJ2aWNlLmdldENoaWxkcmVuRm9sZGVycyh7IGlzRmlsdGVyOiBmYWxzZSB9KS50b1Byb21pc2UoKTtcclxuICAgIGlmICghcmVzdWx0KSB7IHJldHVybjsgfVxyXG4gICAgaWYgKGRpc3BhdGNoUm9vdElkKSB7XHJcbiAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcclxuICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfQ1VSUkVOVF9GT0xERVJfSUQsXHJcbiAgICAgICAgcGF5bG9hZDogcmVzdWx0LkRhdGEuQXNzZXRJZCxcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcclxuICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfQ1VSUkVOVF9GT0xERVJfSElFUkFSQ0hZLFxyXG4gICAgICAgIHBheWxvYWQ6IFtdLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucm9vdEZvbGRlciA9IHJlc3VsdC5EYXRhO1xyXG4gICAgY29uc3QgaW5pdERhdGEgPSByZXN1bHQuRGF0YS5DaGlsZHJlbi5tYXAoXHJcbiAgICAgIChmb2xkZXIpID0+IG5ldyBEeW5hbWljRmxhdE5vZGUoZm9sZGVyLCAwLCB0aGlzLmlzRXhwYW5kYWJsZShmb2xkZXIpKVxyXG4gICAgKTtcclxuICAgIHRoaXMuaW5pdGlhbERhdGEkLm5leHQoaW5pdERhdGEpO1xyXG5cclxuICAgIGlmIChkaXNwYXRjaFJvb3RJZCkgeyB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpOyB9XHJcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsRGF0YSQuZ2V0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDaGlsZHJlbihub2RlOiBGb2xkZXJUcmVlTW9kZWwpOiBQcm9taXNlPEZvbGRlclRyZWVNb2RlbD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZmV0Y2hDaGlsZHJlbkZvbGRlcihub2RlLkFzc2V0SWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRXhwYW5kYWJsZShub2RlOiBGb2xkZXJUcmVlTW9kZWwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBub2RlLkhhdmVDaGlsZHJlbjtcclxuICB9XHJcblxyXG4gIC8qKiBBZGQgYXNzZXQgdG8gc3RvcmVkIGRhdGEgKi9cclxuICBwdWJsaWMgYWRkTm9kZShhc3NldDogQXNzZXRNb2RlbCwgcGFyZW50SWQ/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBkYXRhID0gWy4uLnRoaXMuZGF0YV07XHJcbiAgICBjb25zdCBpbmRleCA9IGRhdGEuZmluZEluZGV4KChub2RlKSA9PiBub2RlLkFzc2V0SWQgPT09IGFzc2V0LkFzc2V0SWQpO1xyXG4gICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICBkYXRhID0gWy4uLmRhdGEsIHsgLi4uYXNzZXQsIFBhcmVudElkOiBwYXJlbnRJZCA/IHBhcmVudElkIDogbnVsbCB9XTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlQnJlYWRjcnVtYihpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBmb2xkZXIgPSB0aGlzLmRhdGEuZmluZCgobikgPT4gbi5Bc3NldElkID09PSBpZCk7XHJcbiAgICBpZiAoZm9sZGVyKSB7XHJcbiAgICAgIGNvbnN0IGhpZXJhcmNoeSA9IHRoaXMuZ2V0Rm9sZGVySGllcmFyY2h5KGZvbGRlcik7XHJcbiAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcclxuICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfQ1VSUkVOVF9GT0xERVJfSElFUkFSQ0hZLFxyXG4gICAgICAgIHBheWxvYWQ6IGhpZXJhcmNoeSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFzc2V0UGFyZW50KG5vZGU6IEFzc2V0TW9kZWwpOiBBc3NldE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGEuZmluZCgobikgPT4gbi5Bc3NldElkID09PSBub2RlLlBhcmVudElkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9sZGVySGllcmFyY2h5KG5vZGU6IEZvbGRlclRyZWVNb2RlbCk6IEFycmF5PEZvbGRlclRyZWVNb2RlbD4ge1xyXG4gICAgaWYgKCFub2RlKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGxldCBwYXJlbnRIaWVyYXJjaHk6IEFycmF5PEZvbGRlclRyZWVNb2RlbD4gPSBbXTtcclxuICAgIGxldCBwYXJlbnQgPSB0aGlzLmdldEFzc2V0UGFyZW50KG5vZGUpO1xyXG4gICAgd2hpbGUgKHBhcmVudCkge1xyXG4gICAgICBwYXJlbnRIaWVyYXJjaHkgPSBbcGFyZW50LCAuLi5wYXJlbnRIaWVyYXJjaHldO1xyXG4gICAgICBwYXJlbnQgPSB0aGlzLmdldEFzc2V0UGFyZW50KHBhcmVudCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gWy4uLnBhcmVudEhpZXJhcmNoeSwgbm9kZV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Injectable } from '@angular/core';
|
|
7
|
+
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
|
|
8
|
+
import { AssetManagementService } from '../asset-management.service';
|
|
9
|
+
import { DynamicFlatNode } from '../models';
|
|
10
|
+
import { ActionTypes } from '../store';
|
|
11
|
+
import { AssetService } from './asset.service';
|
|
12
|
+
var NodeTreeService = /** @class */ (function () {
|
|
13
|
+
function NodeTreeService(assetService, svc) {
|
|
14
|
+
this.assetService = assetService;
|
|
15
|
+
this.svc = svc;
|
|
16
|
+
this.storedData$ = new BehaviorSubject([]);
|
|
17
|
+
this.loading$ = new BehaviorSubject(false);
|
|
18
|
+
this.initialData$ = new BehaviorSubject([]);
|
|
19
|
+
}
|
|
20
|
+
Object.defineProperty(NodeTreeService.prototype, "data", {
|
|
21
|
+
get: /**
|
|
22
|
+
* @return {?}
|
|
23
|
+
*/
|
|
24
|
+
function () {
|
|
25
|
+
return this.storedData$.getValue();
|
|
26
|
+
},
|
|
27
|
+
set: /**
|
|
28
|
+
* @param {?} values
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
function (values) {
|
|
32
|
+
this.storedData$.next(values);
|
|
33
|
+
},
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* @private
|
|
39
|
+
* @param {?} id
|
|
40
|
+
* @return {?}
|
|
41
|
+
*/
|
|
42
|
+
NodeTreeService.prototype.fetchChildrenFolder = /**
|
|
43
|
+
* @private
|
|
44
|
+
* @param {?} id
|
|
45
|
+
* @return {?}
|
|
46
|
+
*/
|
|
47
|
+
function (id) {
|
|
48
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
49
|
+
var result, err_1;
|
|
50
|
+
return tslib_1.__generator(this, function (_a) {
|
|
51
|
+
switch (_a.label) {
|
|
52
|
+
case 0:
|
|
53
|
+
_a.trys.push([0, 2, , 3]);
|
|
54
|
+
return [4 /*yield*/, this.assetService.getChildrenFolders({ assetId: id, isFilter: false }).toPromise()];
|
|
55
|
+
case 1:
|
|
56
|
+
result = _a.sent();
|
|
57
|
+
if (result) {
|
|
58
|
+
return [2 /*return*/, result.Data];
|
|
59
|
+
}
|
|
60
|
+
return [3 /*break*/, 3];
|
|
61
|
+
case 2:
|
|
62
|
+
err_1 = _a.sent();
|
|
63
|
+
return [3 /*break*/, 3];
|
|
64
|
+
case 3: return [2 /*return*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
/** Initial data from database */
|
|
70
|
+
/**
|
|
71
|
+
* Initial data from database
|
|
72
|
+
* @param {?} __0
|
|
73
|
+
* @return {?}
|
|
74
|
+
*/
|
|
75
|
+
NodeTreeService.prototype.initialData = /**
|
|
76
|
+
* Initial data from database
|
|
77
|
+
* @param {?} __0
|
|
78
|
+
* @return {?}
|
|
79
|
+
*/
|
|
80
|
+
function (_a) {
|
|
81
|
+
var dispatchRootId = _a.dispatchRootId;
|
|
82
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
83
|
+
var result, initData;
|
|
84
|
+
var _this = this;
|
|
85
|
+
return tslib_1.__generator(this, function (_b) {
|
|
86
|
+
switch (_b.label) {
|
|
87
|
+
case 0:
|
|
88
|
+
if (dispatchRootId) {
|
|
89
|
+
this.loading$.next(true);
|
|
90
|
+
}
|
|
91
|
+
return [4 /*yield*/, this.assetService.getChildrenFolders({ isFilter: false }).toPromise()];
|
|
92
|
+
case 1:
|
|
93
|
+
result = _b.sent();
|
|
94
|
+
if (!result) {
|
|
95
|
+
return [2 /*return*/];
|
|
96
|
+
}
|
|
97
|
+
if (dispatchRootId) {
|
|
98
|
+
this.svc.dispatch({
|
|
99
|
+
type: ActionTypes.SET_CURRENT_FOLDER_ID,
|
|
100
|
+
payload: result.Data.AssetId,
|
|
101
|
+
});
|
|
102
|
+
this.svc.dispatch({
|
|
103
|
+
type: ActionTypes.SET_CURRENT_FOLDER_HIERARCHY,
|
|
104
|
+
payload: [],
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
this.rootFolder = result.Data;
|
|
108
|
+
initData = result.Data.Children.map((/**
|
|
109
|
+
* @param {?} folder
|
|
110
|
+
* @return {?}
|
|
111
|
+
*/
|
|
112
|
+
function (folder) { return new DynamicFlatNode(folder, 0, _this.isExpandable(folder)); }));
|
|
113
|
+
this.initialData$.next(initData);
|
|
114
|
+
if (dispatchRootId) {
|
|
115
|
+
this.loading$.next(false);
|
|
116
|
+
}
|
|
117
|
+
return [2 /*return*/, this.initialData$.getValue()];
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* @param {?} node
|
|
124
|
+
* @return {?}
|
|
125
|
+
*/
|
|
126
|
+
NodeTreeService.prototype.getChildren = /**
|
|
127
|
+
* @param {?} node
|
|
128
|
+
* @return {?}
|
|
129
|
+
*/
|
|
130
|
+
function (node) {
|
|
131
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
132
|
+
return tslib_1.__generator(this, function (_a) {
|
|
133
|
+
switch (_a.label) {
|
|
134
|
+
case 0: return [4 /*yield*/, this.fetchChildrenFolder(node.AssetId)];
|
|
135
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* @param {?} node
|
|
142
|
+
* @return {?}
|
|
143
|
+
*/
|
|
144
|
+
NodeTreeService.prototype.isExpandable = /**
|
|
145
|
+
* @param {?} node
|
|
146
|
+
* @return {?}
|
|
147
|
+
*/
|
|
148
|
+
function (node) {
|
|
149
|
+
return node.HaveChildren;
|
|
150
|
+
};
|
|
151
|
+
/** Add asset to stored data */
|
|
152
|
+
/**
|
|
153
|
+
* Add asset to stored data
|
|
154
|
+
* @param {?} asset
|
|
155
|
+
* @param {?=} parentId
|
|
156
|
+
* @return {?}
|
|
157
|
+
*/
|
|
158
|
+
NodeTreeService.prototype.addNode = /**
|
|
159
|
+
* Add asset to stored data
|
|
160
|
+
* @param {?} asset
|
|
161
|
+
* @param {?=} parentId
|
|
162
|
+
* @return {?}
|
|
163
|
+
*/
|
|
164
|
+
function (asset, parentId) {
|
|
165
|
+
/** @type {?} */
|
|
166
|
+
var data = tslib_1.__spread(this.data);
|
|
167
|
+
/** @type {?} */
|
|
168
|
+
var index = data.findIndex((/**
|
|
169
|
+
* @param {?} node
|
|
170
|
+
* @return {?}
|
|
171
|
+
*/
|
|
172
|
+
function (node) { return node.AssetId === asset.AssetId; }));
|
|
173
|
+
if (index < 0) {
|
|
174
|
+
data = tslib_1.__spread(data, [tslib_1.__assign({}, asset, { ParentId: parentId ? parentId : null })]);
|
|
175
|
+
}
|
|
176
|
+
this.data = data;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* @param {?} id
|
|
180
|
+
* @return {?}
|
|
181
|
+
*/
|
|
182
|
+
NodeTreeService.prototype.updateBreadcrumb = /**
|
|
183
|
+
* @param {?} id
|
|
184
|
+
* @return {?}
|
|
185
|
+
*/
|
|
186
|
+
function (id) {
|
|
187
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
188
|
+
var folder, hierarchy;
|
|
189
|
+
return tslib_1.__generator(this, function (_a) {
|
|
190
|
+
folder = this.data.find((/**
|
|
191
|
+
* @param {?} n
|
|
192
|
+
* @return {?}
|
|
193
|
+
*/
|
|
194
|
+
function (n) { return n.AssetId === id; }));
|
|
195
|
+
if (folder) {
|
|
196
|
+
hierarchy = this.getFolderHierarchy(folder);
|
|
197
|
+
this.svc.dispatch({
|
|
198
|
+
type: ActionTypes.SET_CURRENT_FOLDER_HIERARCHY,
|
|
199
|
+
payload: hierarchy,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return [2 /*return*/];
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* @private
|
|
208
|
+
* @param {?} node
|
|
209
|
+
* @return {?}
|
|
210
|
+
*/
|
|
211
|
+
NodeTreeService.prototype.getAssetParent = /**
|
|
212
|
+
* @private
|
|
213
|
+
* @param {?} node
|
|
214
|
+
* @return {?}
|
|
215
|
+
*/
|
|
216
|
+
function (node) {
|
|
217
|
+
return this.data.find((/**
|
|
218
|
+
* @param {?} n
|
|
219
|
+
* @return {?}
|
|
220
|
+
*/
|
|
221
|
+
function (n) { return n.AssetId === node.ParentId; }));
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* @private
|
|
225
|
+
* @param {?} node
|
|
226
|
+
* @return {?}
|
|
227
|
+
*/
|
|
228
|
+
NodeTreeService.prototype.getFolderHierarchy = /**
|
|
229
|
+
* @private
|
|
230
|
+
* @param {?} node
|
|
231
|
+
* @return {?}
|
|
232
|
+
*/
|
|
233
|
+
function (node) {
|
|
234
|
+
if (!node) {
|
|
235
|
+
return [];
|
|
236
|
+
}
|
|
237
|
+
/** @type {?} */
|
|
238
|
+
var parentHierarchy = [];
|
|
239
|
+
/** @type {?} */
|
|
240
|
+
var parent = this.getAssetParent(node);
|
|
241
|
+
while (parent) {
|
|
242
|
+
parentHierarchy = tslib_1.__spread([parent], parentHierarchy);
|
|
243
|
+
parent = this.getAssetParent(parent);
|
|
244
|
+
}
|
|
245
|
+
return tslib_1.__spread(parentHierarchy, [node]);
|
|
246
|
+
};
|
|
247
|
+
NodeTreeService.decorators = [
|
|
248
|
+
{ type: Injectable }
|
|
249
|
+
];
|
|
250
|
+
/** @nocollapse */
|
|
251
|
+
NodeTreeService.ctorParameters = function () { return [
|
|
252
|
+
{ type: AssetService },
|
|
253
|
+
{ type: AssetManagementService }
|
|
254
|
+
]; };
|
|
255
|
+
return NodeTreeService;
|
|
256
|
+
}());
|
|
257
|
+
export { NodeTreeService };
|
|
258
|
+
if (false) {
|
|
259
|
+
/** @type {?} */
|
|
260
|
+
NodeTreeService.prototype.storedData$;
|
|
261
|
+
/** @type {?} */
|
|
262
|
+
NodeTreeService.prototype.loading$;
|
|
263
|
+
/** @type {?} */
|
|
264
|
+
NodeTreeService.prototype.initialData$;
|
|
265
|
+
/** @type {?} */
|
|
266
|
+
NodeTreeService.prototype.rootFolder;
|
|
267
|
+
/**
|
|
268
|
+
* @type {?}
|
|
269
|
+
* @private
|
|
270
|
+
*/
|
|
271
|
+
NodeTreeService.prototype.assetService;
|
|
272
|
+
/**
|
|
273
|
+
* @type {?}
|
|
274
|
+
* @private
|
|
275
|
+
*/
|
|
276
|
+
NodeTreeService.prototype.svc;
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10cmVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9ub2RlLXRyZWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBYyxlQUFlLEVBQThDLE1BQU0sV0FBVyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DO0lBRUUseUJBQW9CLFlBQTBCLEVBQVUsR0FBMkI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUU1RSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMvQyxpQkFBWSxHQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUpLLENBQUM7SUFPeEYsc0JBQUksaUNBQUk7Ozs7UUFBUjtZQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxDQUFDOzs7OztRQUNELFVBQVMsTUFBb0I7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsQ0FBQzs7O09BSEE7Ozs7OztJQUthLDZDQUFtQjs7Ozs7SUFBakMsVUFBa0MsRUFBVTs7Ozs7Ozt3QkFFekIscUJBQU0sSUFBSSxDQUFDLFlBQVks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Ozs7SUFHMUIsc0NBQTJEOztJQUMzRCxtQ0FBc0Q7O0lBQ3RELHVDQUFrRjs7SUFDbEYscUNBQThCOzs7OztJQUxsQix1Q0FBa0M7Ozs7O0lBQUUsOEJBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcy9pbnRlcm5hbC9CZWhhdmlvclN1YmplY3QnO1xuaW1wb3J0IHsgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL2Fzc2V0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBc3NldE1vZGVsLCBEeW5hbWljRmxhdE5vZGUsIEZvbGRlclRyZWVNb2RlbCwgSUluaXRpYWxGb2xkZXJUcmVlT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlcyB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4vYXNzZXQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb2RlVHJlZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLCBwcml2YXRlIHN2YzogQXNzZXRNYW5hZ2VtZW50U2VydmljZSkgeyB9XG5cbiAgcHVibGljIHN0b3JlZERhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBc3NldE1vZGVsW10+KFtdKTtcbiAgcHVibGljIGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBpbml0aWFsRGF0YSQ6IEJlaGF2aW9yU3ViamVjdDxEeW5hbWljRmxhdE5vZGVbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgcHVibGljIHJvb3RGb2xkZXI6IEFzc2V0TW9kZWw7XG5cbiAgZ2V0IGRhdGEoKTogQXNzZXRNb2RlbFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZWREYXRhJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHNldCBkYXRhKHZhbHVlczogQXNzZXRNb2RlbFtdKSB7XG4gICAgdGhpcy5zdG9yZWREYXRhJC5uZXh0KHZhbHVlcyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQ2hpbGRyZW5Gb2xkZXIoaWQ6IHN0cmluZyk6IFByb21pc2U8Rm9sZGVyVHJlZU1vZGVsPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYXNzZXRTZXJ2aWNlLmdldENoaWxkcmVuRm9sZGVycyh7IGFzc2V0SWQ6IGlkLCBpc0ZpbHRlcjogZmFsc2UgfSkudG9Qcm9taXNlKCk7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJldHVybiByZXN1bHQuRGF0YTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHsgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKiBJbml0aWFsIGRhdGEgZnJvbSBkYXRhYmFzZSAqL1xuICBwdWJsaWMgYXN5bmMgaW5pdGlhbERhdGEoXG4gICAgeyBkaXNwYXRjaFJvb3RJZCB9OiBJSW5pdGlhbEZvbGRlclRyZWVPcHRpb25zXG4gICk6IFByb21pc2U8RHluYW1pY0ZsYXROb2RlW10+IHtcbiAgICBpZiAoZGlzcGF0Y2hSb290SWQpIHsgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpOyB9XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5hc3NldFNlcnZpY2UuZ2V0Q2hpbGRyZW5Gb2xkZXJzKHsgaXNGaWx0ZXI6IGZhbHNlIH0pLnRvUHJvbWlzZSgpO1xuICAgIGlmICghcmVzdWx0KSB7IHJldHVybjsgfVxuICAgIGlmIChkaXNwYXRjaFJvb3RJZCkge1xuICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfQ1VSUkVOVF9GT0xERVJfSUQsXG4gICAgICAgIHBheWxvYWQ6IHJlc3VsdC5EYXRhLkFzc2V0SWQsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0NVUlJFTlRfRk9MREVSX0hJRVJBUkNIWSxcbiAgICAgICAgcGF5bG9hZDogW10sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yb290Rm9sZGVyID0gcmVzdWx0LkRhdGE7XG4gICAgY29uc3QgaW5pdERhdGEgPSByZXN1bHQuRGF0YS5DaGlsZHJlbi5tYXAoXG4gICAgICAoZm9sZGVyKSA9PiBuZXcgRHluYW1pY0ZsYXROb2RlKGZvbGRlciwgMCwgdGhpcy5pc0V4cGFuZGFibGUoZm9sZGVyKSlcbiAgICApO1xuICAgIHRoaXMuaW5pdGlhbERhdGEkLm5leHQoaW5pdERhdGEpO1xuXG4gICAgaWYgKGRpc3BhdGNoUm9vdElkKSB7IHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7IH1cbiAgICByZXR1cm4gdGhpcy5pbml0aWFsRGF0YSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDaGlsZHJlbihub2RlOiBGb2xkZXJUcmVlTW9kZWwpOiBQcm9taXNlPEZvbGRlclRyZWVNb2RlbD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZldGNoQ2hpbGRyZW5Gb2xkZXIobm9kZS5Bc3NldElkKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0V4cGFuZGFibGUobm9kZTogRm9sZGVyVHJlZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5vZGUuSGF2ZUNoaWxkcmVuO1xuICB9XG5cbiAgLyoqIEFkZCBhc3NldCB0byBzdG9yZWQgZGF0YSAqL1xuICBwdWJsaWMgYWRkTm9kZShhc3NldDogQXNzZXRNb2RlbCwgcGFyZW50SWQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgZGF0YSA9IFsuLi50aGlzLmRhdGFdO1xuICAgIGNvbnN0IGluZGV4ID0gZGF0YS5maW5kSW5kZXgoKG5vZGUpID0+IG5vZGUuQXNzZXRJZCA9PT0gYXNzZXQuQXNzZXRJZCk7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgZGF0YSA9IFsuLi5kYXRhLCB7IC4uLmFzc2V0LCBQYXJlbnRJZDogcGFyZW50SWQgPyBwYXJlbnRJZCA6IG51bGwgfV07XG4gICAgfVxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdXBkYXRlQnJlYWRjcnVtYihpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgZm9sZGVyID0gdGhpcy5kYXRhLmZpbmQoKG4pID0+IG4uQXNzZXRJZCA9PT0gaWQpO1xuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgIGNvbnN0IGhpZXJhcmNoeSA9IHRoaXMuZ2V0Rm9sZGVySGllcmFyY2h5KGZvbGRlcik7XG4gICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9DVVJSRU5UX0ZPTERFUl9ISUVSQVJDSFksXG4gICAgICAgIHBheWxvYWQ6IGhpZXJhcmNoeSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXNzZXRQYXJlbnQobm9kZTogQXNzZXRNb2RlbCk6IEFzc2V0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmRhdGEuZmluZCgobikgPT4gbi5Bc3NldElkID09PSBub2RlLlBhcmVudElkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9sZGVySGllcmFyY2h5KG5vZGU6IEZvbGRlclRyZWVNb2RlbCk6IEFycmF5PEZvbGRlclRyZWVNb2RlbD4ge1xuICAgIGlmICghbm9kZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBsZXQgcGFyZW50SGllcmFyY2h5OiBBcnJheTxGb2xkZXJUcmVlTW9kZWw+ID0gW107XG4gICAgbGV0IHBhcmVudCA9IHRoaXMuZ2V0QXNzZXRQYXJlbnQobm9kZSk7XG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgcGFyZW50SGllcmFyY2h5ID0gW3BhcmVudCwgLi4ucGFyZW50SGllcmFyY2h5XTtcbiAgICAgIHBhcmVudCA9IHRoaXMuZ2V0QXNzZXRQYXJlbnQocGFyZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIFsuLi5wYXJlbnRIaWVyYXJjaHksIG5vZGVdO1xuICB9XG59XG4iXX0=
|