@rs-pk/asset-management 1.0.0
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 -0
- package/bundles/rs-pk-asset-management.umd.js +6474 -0
- package/bundles/rs-pk-asset-management.umd.js.map +1 -0
- package/bundles/rs-pk-asset-management.umd.min.js +16 -0
- package/bundles/rs-pk-asset-management.umd.min.js.map +1 -0
- package/esm2015/lib/asset-management.component.js +147 -0
- package/esm2015/lib/asset-management.module.js +179 -0
- package/esm2015/lib/asset-management.service.js +45 -0
- package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +143 -0
- package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +373 -0
- package/esm2015/lib/components/partial/asset-item/asset-item.component.js +165 -0
- package/esm2015/lib/components/partial/asset-list/asset-list.component.js +239 -0
- package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +108 -0
- package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +100 -0
- package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +115 -0
- package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -0
- package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +148 -0
- package/esm2015/lib/components/partial/file-item/file-item.component.js +136 -0
- package/esm2015/lib/components/partial/file-list/file-list.component.js +72 -0
- package/esm2015/lib/components/partial/folder-item/folder-item.component.js +114 -0
- package/esm2015/lib/components/partial/folder-list/folder-list.component.js +69 -0
- package/esm2015/lib/components/partial/node-details/node-details.component.js +402 -0
- package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -0
- package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -0
- package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -0
- package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +136 -0
- package/esm2015/lib/components/partial/upload-file/upload-file.component.js +102 -0
- package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -0
- package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -0
- package/esm2015/lib/components/ui/modal/modal.component.js +34 -0
- package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -0
- package/esm2015/lib/configs/admin.config.js +22 -0
- package/esm2015/lib/contanst/data-image.js +12 -0
- package/esm2015/lib/contanst/index.js +6 -0
- package/esm2015/lib/datasources/index.js +6 -0
- package/esm2015/lib/datasources/node-tree.datasource.js +179 -0
- package/esm2015/lib/directives/dialogTrigger.directive.js +47 -0
- package/esm2015/lib/directives/directives.module.js +20 -0
- package/esm2015/lib/directives/dnd.directive.js +57 -0
- package/esm2015/lib/models/asset-file.model.js +57 -0
- package/esm2015/lib/models/asset.model.js +135 -0
- package/esm2015/lib/models/file-type.enum.js +11 -0
- package/esm2015/lib/models/file.model.js +91 -0
- package/esm2015/lib/models/index.js +12 -0
- package/esm2015/lib/models/node-tree.model.js +32 -0
- package/esm2015/lib/models/sort.enum.js +23 -0
- package/esm2015/lib/pipes/datetime.pipe.js +79 -0
- package/esm2015/lib/pipes/file-size.pipe.js +54 -0
- package/esm2015/lib/services/asset.service.js +224 -0
- package/esm2015/lib/services/base.service.js +49 -0
- package/esm2015/lib/services/env-config.service.js +18 -0
- package/esm2015/lib/services/file.service.js +106 -0
- package/esm2015/lib/services/index.js +11 -0
- package/esm2015/lib/services/node-tree.service.js +212 -0
- package/esm2015/lib/services/upload-assets.service.js +203 -0
- package/esm2015/lib/store/actions.action.js +125 -0
- package/esm2015/lib/store/index.js +7 -0
- package/esm2015/lib/store/reducer.js +115 -0
- package/esm2015/public-api.js +34 -0
- package/esm2015/rs-pk-asset-management.js +17 -0
- package/esm5/lib/asset-management.component.js +162 -0
- package/esm5/lib/asset-management.module.js +180 -0
- package/esm5/lib/asset-management.service.js +54 -0
- package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +161 -0
- package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +417 -0
- package/esm5/lib/components/partial/asset-item/asset-item.component.js +184 -0
- package/esm5/lib/components/partial/asset-list/asset-list.component.js +266 -0
- package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +123 -0
- package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +115 -0
- package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +138 -0
- package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -0
- package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +166 -0
- package/esm5/lib/components/partial/file-item/file-item.component.js +151 -0
- package/esm5/lib/components/partial/file-list/file-list.component.js +93 -0
- package/esm5/lib/components/partial/folder-item/folder-item.component.js +126 -0
- package/esm5/lib/components/partial/folder-list/folder-list.component.js +82 -0
- package/esm5/lib/components/partial/node-details/node-details.component.js +443 -0
- package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -0
- package/esm5/lib/components/partial/search-box/search-box.component.js +184 -0
- package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -0
- package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +151 -0
- package/esm5/lib/components/partial/upload-file/upload-file.component.js +130 -0
- package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -0
- package/esm5/lib/components/ui/input-file/input-file.component.js +55 -0
- package/esm5/lib/components/ui/modal/modal.component.js +39 -0
- package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -0
- package/esm5/lib/configs/admin.config.js +22 -0
- package/esm5/lib/contanst/data-image.js +12 -0
- package/esm5/lib/contanst/index.js +6 -0
- package/esm5/lib/datasources/index.js +6 -0
- package/esm5/lib/datasources/node-tree.datasource.js +239 -0
- package/esm5/lib/directives/dialogTrigger.directive.js +53 -0
- package/esm5/lib/directives/directives.module.js +25 -0
- package/esm5/lib/directives/dnd.directive.js +80 -0
- package/esm5/lib/models/asset-file.model.js +69 -0
- package/esm5/lib/models/asset.model.js +154 -0
- package/esm5/lib/models/file-type.enum.js +11 -0
- package/esm5/lib/models/file.model.js +99 -0
- package/esm5/lib/models/index.js +12 -0
- package/esm5/lib/models/node-tree.model.js +37 -0
- package/esm5/lib/models/sort.enum.js +23 -0
- package/esm5/lib/pipes/datetime.pipe.js +83 -0
- package/esm5/lib/pipes/file-size.pipe.js +63 -0
- package/esm5/lib/services/asset.service.js +274 -0
- package/esm5/lib/services/base.service.js +57 -0
- package/esm5/lib/services/env-config.service.js +18 -0
- package/esm5/lib/services/file.service.js +127 -0
- package/esm5/lib/services/index.js +11 -0
- package/esm5/lib/services/node-tree.service.js +278 -0
- package/esm5/lib/services/upload-assets.service.js +260 -0
- package/esm5/lib/store/actions.action.js +143 -0
- package/esm5/lib/store/index.js +7 -0
- package/esm5/lib/store/reducer.js +116 -0
- package/esm5/public-api.js +34 -0
- package/esm5/rs-pk-asset-management.js +17 -0
- package/fesm2015/rs-pk-asset-management.js +5429 -0
- package/fesm2015/rs-pk-asset-management.js.map +1 -0
- package/fesm5/rs-pk-asset-management.js +6244 -0
- package/fesm5/rs-pk-asset-management.js.map +1 -0
- package/lib/asset-management.component.d.ts +21 -0
- package/lib/asset-management.module.d.ts +5 -0
- package/lib/asset-management.service.d.ts +7 -0
- package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -0
- package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +52 -0
- package/lib/components/partial/asset-item/asset-item.component.d.ts +25 -0
- package/lib/components/partial/asset-list/asset-list.component.d.ts +22 -0
- package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +17 -0
- package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +19 -0
- package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +17 -0
- package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -0
- package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -0
- package/lib/components/partial/file-item/file-item.component.d.ts +27 -0
- package/lib/components/partial/file-list/file-list.component.d.ts +12 -0
- package/lib/components/partial/folder-item/folder-item.component.d.ts +14 -0
- package/lib/components/partial/folder-list/folder-list.component.d.ts +11 -0
- package/lib/components/partial/node-details/node-details.component.d.ts +29 -0
- package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -0
- package/lib/components/partial/search-box/search-box.component.d.ts +18 -0
- package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -0
- package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +24 -0
- package/lib/components/partial/upload-file/upload-file.component.d.ts +18 -0
- package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -0
- package/lib/components/ui/input-file/input-file.component.d.ts +9 -0
- package/lib/components/ui/modal/modal.component.d.ts +7 -0
- package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -0
- package/lib/configs/admin.config.d.ts +3 -0
- package/lib/contanst/data-image.d.ts +3 -0
- package/lib/contanst/index.d.ts +1 -0
- package/lib/datasources/index.d.ts +1 -0
- package/lib/datasources/node-tree.datasource.d.ts +24 -0
- package/lib/directives/dialogTrigger.directive.d.ts +7 -0
- package/lib/directives/directives.module.d.ts +5 -0
- package/lib/directives/dnd.directive.d.ts +7 -0
- package/lib/models/asset-file.model.d.ts +26 -0
- package/lib/models/asset.model.d.ts +61 -0
- package/lib/models/file-type.enum.d.ts +4 -0
- package/lib/models/file.model.d.ts +41 -0
- package/lib/models/index.d.ts +7 -0
- package/lib/models/node-tree.model.d.ts +9 -0
- package/lib/models/sort.enum.d.ts +9 -0
- package/lib/pipes/datetime.pipe.d.ts +13 -0
- package/lib/pipes/file-size.pipe.d.ts +5 -0
- package/lib/services/asset.service.d.ts +35 -0
- package/lib/services/base.service.d.ts +20 -0
- package/lib/services/env-config.service.d.ts +7 -0
- package/lib/services/file.service.d.ts +13 -0
- package/lib/services/index.d.ts +6 -0
- package/lib/services/node-tree.service.d.ts +24 -0
- package/lib/services/upload-assets.service.d.ts +42 -0
- package/lib/store/actions.action.d.ts +51 -0
- package/lib/store/index.d.ts +2 -0
- package/lib/store/reducer.d.ts +18 -0
- package/package.json +28 -0
- package/public-api.d.ts +26 -0
- package/rs-pk-asset-management.d.ts +12 -0
- package/rs-pk-asset-management.metadata.json +1 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { Component, Input, ViewChild, } from '@angular/core';
|
|
6
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
7
|
+
import { of } from 'rxjs/internal/observable/of';
|
|
8
|
+
import { Subject } from 'rxjs/internal/Subject';
|
|
9
|
+
import { switchMap, takeUntil } from 'rxjs/operators';
|
|
10
|
+
import { AssetManagementService } from '../../../asset-management.service';
|
|
11
|
+
import { AssetService } from '../../../services/asset.service';
|
|
12
|
+
import { ActionTypes } from '../../../store/actions.action';
|
|
13
|
+
import { select } from '../../../store/reducer';
|
|
14
|
+
export class AssetListComponent {
|
|
15
|
+
/**
|
|
16
|
+
* @param {?} assetService
|
|
17
|
+
* @param {?} svc
|
|
18
|
+
*/
|
|
19
|
+
constructor(assetService, svc) {
|
|
20
|
+
this.assetService = assetService;
|
|
21
|
+
this.svc = svc;
|
|
22
|
+
this.unsubscribe$ = new Subject();
|
|
23
|
+
this.selectedAssets = [];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @return {?}
|
|
27
|
+
*/
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.bindSubscriber();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @param {?} changes
|
|
33
|
+
* @return {?}
|
|
34
|
+
*/
|
|
35
|
+
ngOnChanges(changes) {
|
|
36
|
+
if (changes.assets) {
|
|
37
|
+
this.paginator.pageIndex = this.assetService.pageIndex;
|
|
38
|
+
this.paginator.pageSize = this.assetService.pageSize;
|
|
39
|
+
this.paginator.length = this.assetService.fileTotal;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @param {?} event
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
onSelectAsset(event) {
|
|
47
|
+
/** @type {?} */
|
|
48
|
+
const index = this.selectedAssets.findIndex((/**
|
|
49
|
+
* @param {?} asset
|
|
50
|
+
* @return {?}
|
|
51
|
+
*/
|
|
52
|
+
(asset) => asset.AssetId === event.AssetId));
|
|
53
|
+
/** @type {?} */
|
|
54
|
+
const newSelectedAssets = index > -1
|
|
55
|
+
? this.selectedAssets.filter((/**
|
|
56
|
+
* @param {?} asset
|
|
57
|
+
* @param {?} i
|
|
58
|
+
* @return {?}
|
|
59
|
+
*/
|
|
60
|
+
(asset, i) => index !== i))
|
|
61
|
+
: [...this.selectedAssets, event];
|
|
62
|
+
this.svc.dispatch({
|
|
63
|
+
type: ActionTypes.SET_SELECTED_ASSETS,
|
|
64
|
+
payload: newSelectedAssets,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @private
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
bindSubscriber() {
|
|
72
|
+
select((/**
|
|
73
|
+
* @param {?} state
|
|
74
|
+
* @return {?}
|
|
75
|
+
*/
|
|
76
|
+
(state) => state.deletedAssetId))
|
|
77
|
+
.pipe(takeUntil(this.unsubscribe$))
|
|
78
|
+
.subscribe((/**
|
|
79
|
+
* @param {?} id
|
|
80
|
+
* @return {?}
|
|
81
|
+
*/
|
|
82
|
+
(id) => {
|
|
83
|
+
if (this.selectedAssets && this.selectedAssets.length) {
|
|
84
|
+
/** @type {?} */
|
|
85
|
+
const newSelectedAssets = this.selectedAssets.filter((/**
|
|
86
|
+
* @param {?} asset
|
|
87
|
+
* @return {?}
|
|
88
|
+
*/
|
|
89
|
+
(asset) => asset.AssetId !== id));
|
|
90
|
+
this.svc.dispatch({
|
|
91
|
+
type: ActionTypes.SET_SELECTED_ASSETS,
|
|
92
|
+
payload: newSelectedAssets,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}));
|
|
96
|
+
select((/**
|
|
97
|
+
* @param {?} state
|
|
98
|
+
* @return {?}
|
|
99
|
+
*/
|
|
100
|
+
(state) => state.currentFolderId))
|
|
101
|
+
.pipe(takeUntil(this.unsubscribe$))
|
|
102
|
+
.subscribe((/**
|
|
103
|
+
* @param {?} currentFolderId
|
|
104
|
+
* @return {?}
|
|
105
|
+
*/
|
|
106
|
+
(currentFolderId) => {
|
|
107
|
+
this.currentFolderId = currentFolderId;
|
|
108
|
+
this.svc.dispatch({
|
|
109
|
+
type: ActionTypes.SET_SELECTED_ASSETS,
|
|
110
|
+
payload: [],
|
|
111
|
+
});
|
|
112
|
+
}));
|
|
113
|
+
select((/**
|
|
114
|
+
* @param {?} state
|
|
115
|
+
* @return {?}
|
|
116
|
+
*/
|
|
117
|
+
(state) => state.selectedAssets))
|
|
118
|
+
.pipe(takeUntil(this.unsubscribe$))
|
|
119
|
+
.subscribe((/**
|
|
120
|
+
* @param {?} selectedAssets
|
|
121
|
+
* @return {?}
|
|
122
|
+
*/
|
|
123
|
+
(selectedAssets) => {
|
|
124
|
+
this.selectedAssets = selectedAssets;
|
|
125
|
+
}));
|
|
126
|
+
select((/**
|
|
127
|
+
* @param {?} state
|
|
128
|
+
* @return {?}
|
|
129
|
+
*/
|
|
130
|
+
(state) => state.reloadCurrentAssets))
|
|
131
|
+
.pipe(takeUntil(this.unsubscribe$), switchMap((/**
|
|
132
|
+
* @param {?} res
|
|
133
|
+
* @return {?}
|
|
134
|
+
*/
|
|
135
|
+
(res) => of(res))))
|
|
136
|
+
.subscribe((/**
|
|
137
|
+
* @return {?}
|
|
138
|
+
*/
|
|
139
|
+
() => {
|
|
140
|
+
this.fetchChildrenAssets();
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @param {?=} event
|
|
145
|
+
* @return {?}
|
|
146
|
+
*/
|
|
147
|
+
pageChange(event) {
|
|
148
|
+
this.assetService.pageSize = event.pageSize;
|
|
149
|
+
this.assetService.pageIndex = event.pageIndex;
|
|
150
|
+
this.fetchChildrenAssets();
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* @private
|
|
154
|
+
* @return {?}
|
|
155
|
+
*/
|
|
156
|
+
fetchChildrenAssets() {
|
|
157
|
+
if (!this.currentFolderId) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
this.svc.dispatch({
|
|
161
|
+
type: ActionTypes.SET_GLOBAL_LOADING,
|
|
162
|
+
payload: true,
|
|
163
|
+
});
|
|
164
|
+
this.assetService
|
|
165
|
+
.getChildrenAssets({ assetId: this.currentFolderId })
|
|
166
|
+
.pipe(takeUntil(this.unsubscribe$))
|
|
167
|
+
.subscribe((/**
|
|
168
|
+
* @param {?} res
|
|
169
|
+
* @return {?}
|
|
170
|
+
*/
|
|
171
|
+
(res) => {
|
|
172
|
+
this.assetService.setAssetList(res.Data.Children, res.Meta);
|
|
173
|
+
}))
|
|
174
|
+
.add((/**
|
|
175
|
+
* @return {?}
|
|
176
|
+
*/
|
|
177
|
+
() => {
|
|
178
|
+
this.svc.dispatch({
|
|
179
|
+
type: ActionTypes.SET_GLOBAL_LOADING,
|
|
180
|
+
payload: false,
|
|
181
|
+
});
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @return {?}
|
|
186
|
+
*/
|
|
187
|
+
ngOnDestroy() {
|
|
188
|
+
this.unsubscribe$.next();
|
|
189
|
+
this.unsubscribe$.complete();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
AssetListComponent.decorators = [
|
|
193
|
+
{ type: Component, args: [{
|
|
194
|
+
selector: 'lib-asset-list',
|
|
195
|
+
template: "<div class=\"asset-container\">\n <div class=\"asset-heading\">\n <h6 class=\"asset-heading__title\">Files</h6>\n <lib-sort-items\n [hidden]=\"!assets?.length\"\n class=\"asset-heading__sort\"\n ></lib-sort-items>\n </div>\n <ng-container *ngIf=\"assets && !assets.length; else assetsTemplate\">\n <div class=\"asset-empty\">\n <span>This asset is empty.</span>\n </div>\n </ng-container>\n <ng-template #assetsTemplate>\n <div class=\"asset-list\">\n <lib-asset-item\n class=\"asset-list__item\"\n *ngFor=\"let asset of assets\"\n [asset]=\"asset\"\n (selectAsset)=\"onSelectAsset($event)\"\n >\n </lib-asset-item>\n </div>\n </ng-template>\n <div [hidden]=\"!assets?.length\">\n <mat-paginator\n #paginator\n [pageSizeOptions]=\"[12, 24, 60, 120]\"\n (page)=\"pageChange($event)\"\n [showFirstLastButtons]=\"true\"\n >\n </mat-paginator>\n </div>\n</div>\n",
|
|
196
|
+
styles: [":host::ng-deep .asset-container .asset-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}:host::ng-deep .asset-container .asset-heading__title{margin-bottom:0;color:#979797}:host::ng-deep .asset-container .asset-list{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;margin:0 -5px}:host::ng-deep .asset-container .asset-list__item{width:25%}@media only screen and (max-width:1200px){:host::ng-deep .asset-container .asset-list__item{width:calc(100% / 3)}}@media only screen and (max-width:960px){:host::ng-deep .asset-container .asset-list__item{width:50%}}:host::ng-deep .asset-container .asset-empty{text-align:center;color:#979797;font-size:14px}"]
|
|
197
|
+
}] }
|
|
198
|
+
];
|
|
199
|
+
/** @nocollapse */
|
|
200
|
+
AssetListComponent.ctorParameters = () => [
|
|
201
|
+
{ type: AssetService },
|
|
202
|
+
{ type: AssetManagementService }
|
|
203
|
+
];
|
|
204
|
+
AssetListComponent.propDecorators = {
|
|
205
|
+
paginator: [{ type: ViewChild, args: [MatPaginator, { static: true },] }],
|
|
206
|
+
assets: [{ type: Input }]
|
|
207
|
+
};
|
|
208
|
+
if (false) {
|
|
209
|
+
/** @type {?} */
|
|
210
|
+
AssetListComponent.prototype.paginator;
|
|
211
|
+
/** @type {?} */
|
|
212
|
+
AssetListComponent.prototype.assets;
|
|
213
|
+
/**
|
|
214
|
+
* @type {?}
|
|
215
|
+
* @private
|
|
216
|
+
*/
|
|
217
|
+
AssetListComponent.prototype.unsubscribe$;
|
|
218
|
+
/**
|
|
219
|
+
* @type {?}
|
|
220
|
+
* @private
|
|
221
|
+
*/
|
|
222
|
+
AssetListComponent.prototype.currentFolderId;
|
|
223
|
+
/**
|
|
224
|
+
* @type {?}
|
|
225
|
+
* @private
|
|
226
|
+
*/
|
|
227
|
+
AssetListComponent.prototype.selectedAssets;
|
|
228
|
+
/**
|
|
229
|
+
* @type {?}
|
|
230
|
+
* @private
|
|
231
|
+
*/
|
|
232
|
+
AssetListComponent.prototype.assetService;
|
|
233
|
+
/**
|
|
234
|
+
* @type {?}
|
|
235
|
+
* @private
|
|
236
|
+
*/
|
|
237
|
+
AssetListComponent.prototype.svc;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtbGlzdC9hc3NldC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPaEQsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFDN0IsWUFDVSxZQUEwQixFQUMxQixHQUEyQjtRQUQzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQU03QixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbkMsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO0lBUDVDLENBQUM7Ozs7SUFTSixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFB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Q2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7WUF0SEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLDA5QkFBMEM7O2FBRTNDOzs7O1lBUlEsWUFBWTtZQUZaLHNCQUFzQjs7O3dCQWlCNUIsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7cUJBQ3hDLEtBQUs7Ozs7SUFETix1Q0FBbUU7O0lBQ25FLG9DQUE4Qjs7Ozs7SUFFOUIsMENBQTJDOzs7OztJQUMzQyw2Q0FBZ0M7Ozs7O0lBQ2hDLDRDQUErQzs7Ozs7SUFUN0MsMENBQWtDOzs7OztJQUNsQyxpQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzL2ludGVybmFsL29ic2VydmFibGUvb2YnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBc3NldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hc3NldC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvblR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWN0aW9ucy5hY3Rpb24nO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcmVkdWNlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hc3NldC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2V0LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NldC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBJbnB1dCgpIGFzc2V0czogQXNzZXRNb2RlbFtdO1xuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBjdXJyZW50Rm9sZGVySWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzZWxlY3RlZEFzc2V0czogQXJyYXk8QXNzZXRNb2RlbD4gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJpbmRTdWJzY3JpYmVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYXNzZXRzKSB7XG4gICAgICB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXggPSB0aGlzLmFzc2V0U2VydmljZS5wYWdlSW5kZXg7XG4gICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSA9IHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VTaXplO1xuICAgICAgdGhpcy5wYWdpbmF0b3IubGVuZ3RoID0gdGhpcy5hc3NldFNlcnZpY2UuZmlsZVRvdGFsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFzc2V0KGV2ZW50OiBBc3NldE1vZGVsKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkQXNzZXRzLmZpbmRJbmRleChcbiAgICAgIChhc3NldCkgPT4gYXNzZXQuQXNzZXRJZCA9PT0gZXZlbnQuQXNzZXRJZFxuICAgICk7XG4gICAgY29uc3QgbmV3U2VsZWN0ZWRBc3NldHM6IEFzc2V0TW9kZWxbXSA9XG4gICAgICBpbmRleCA+IC0xXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZEFzc2V0cy5maWx0ZXIoKGFzc2V0LCBpKSA9PiBpbmRleCAhPT0gaSlcbiAgICAgICAgOiBbLi4udGhpcy5zZWxlY3RlZEFzc2V0cywgZXZlbnRdO1xuXG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0FTU0VUUyxcbiAgICAgIHBheWxvYWQ6IG5ld1NlbGVjdGVkQXNzZXRzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kU3Vic2NyaWJlcigpIHtcbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5kZWxldGVkQXNzZXRJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChpZCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEFzc2V0cyAmJiB0aGlzLnNlbGVjdGVkQXNzZXRzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IG5ld1NlbGVjdGVkQXNzZXRzID0gdGhpcy5zZWxlY3RlZEFzc2V0cy5maWx0ZXIoXG4gICAgICAgICAgICAoYXNzZXQpID0+IGFzc2V0LkFzc2V0SWQgIT09IGlkXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfQVNTRVRTLFxuICAgICAgICAgICAgcGF5bG9hZDogbmV3U2VsZWN0ZWRBc3NldHMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuY3VycmVudEZvbGRlcklkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGN1cnJlbnRGb2xkZXJJZCkgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRGb2xkZXJJZCA9IGN1cnJlbnRGb2xkZXJJZDtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9TRUxFQ1RFRF9BU1NFVFMsXG4gICAgICAgICAgcGF5bG9hZDogW10sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFzc2V0cylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZEFzc2V0cykgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXRzID0gc2VsZWN0ZWRBc3NldHM7XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnJlbG9hZEN1cnJlbnRBc3NldHMpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5mZXRjaENoaWxkcmVuQXNzZXRzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwYWdlQ2hhbmdlKGV2ZW50PzogUGFnZUV2ZW50KSB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UucGFnZVNpemUgPSBldmVudC5wYWdlU2l6ZTtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5wYWdlSW5kZXggPSBldmVudC5wYWdlSW5kZXg7XG4gICAgdGhpcy5mZXRjaENoaWxkcmVuQXNzZXRzKCk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoQ2hpbGRyZW5Bc3NldHMoKSB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRGb2xkZXJJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfR0xPQkFMX0xPQURJTkcsXG4gICAgICBwYXlsb2FkOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXRDaGlsZHJlbkFzc2V0cyh7IGFzc2V0SWQ6IHRoaXMuY3VycmVudEZvbGRlcklkIH0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnNldEFzc2V0TGlzdChyZXMuRGF0YS5DaGlsZHJlbiwgcmVzLk1ldGEpO1xuICAgICAgfSlcbiAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgICAgIHBheWxvYWQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { Component, Inject } from '@angular/core';
|
|
6
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
7
|
+
import { Subject } from 'rxjs/internal/Subject';
|
|
8
|
+
import { takeUntil } from 'rxjs/operators';
|
|
9
|
+
import { DialogConfig } from '../../../models';
|
|
10
|
+
import { AssetService } from '../../../services/asset.service';
|
|
11
|
+
import { select } from '../../../store';
|
|
12
|
+
export class AssetManagementDialogComponent {
|
|
13
|
+
/**
|
|
14
|
+
* @param {?} data
|
|
15
|
+
* @param {?} dialogRef
|
|
16
|
+
* @param {?} assetService
|
|
17
|
+
*/
|
|
18
|
+
constructor(data, dialogRef, assetService) {
|
|
19
|
+
this.data = data;
|
|
20
|
+
this.dialogRef = dialogRef;
|
|
21
|
+
this.assetService = assetService;
|
|
22
|
+
this.destroy$ = new Subject();
|
|
23
|
+
this.selectedAssets = [];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @return {?}
|
|
27
|
+
*/
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.initDialogConfig(this.data);
|
|
30
|
+
select((/**
|
|
31
|
+
* @param {?} state
|
|
32
|
+
* @return {?}
|
|
33
|
+
*/
|
|
34
|
+
(state) => state.selectedAssets))
|
|
35
|
+
.pipe(takeUntil(this.destroy$))
|
|
36
|
+
.subscribe((/**
|
|
37
|
+
* @param {?} selectedAssets
|
|
38
|
+
* @return {?}
|
|
39
|
+
*/
|
|
40
|
+
(selectedAssets) => {
|
|
41
|
+
this.selectedAssets = selectedAssets;
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @return {?}
|
|
46
|
+
*/
|
|
47
|
+
get disabled() {
|
|
48
|
+
const { limit } = this.data;
|
|
49
|
+
return ((!this.selectedAssets || !this.selectedAssets.length) ||
|
|
50
|
+
(limit && this.selectedAssets.length > limit));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @return {?}
|
|
54
|
+
*/
|
|
55
|
+
selectAssets() {
|
|
56
|
+
this.dialogRef.close(this.selectedAssets);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @param {?} data
|
|
60
|
+
* @return {?}
|
|
61
|
+
*/
|
|
62
|
+
initDialogConfig(data) {
|
|
63
|
+
if (!data) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.assetService.dialogConfig = data;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
ngOnDestroy() {
|
|
72
|
+
this.assetService.dialogConfig = new DialogConfig();
|
|
73
|
+
this.destroy$.next(true);
|
|
74
|
+
this.destroy$.complete();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
AssetManagementDialogComponent.decorators = [
|
|
78
|
+
{ type: Component, args: [{
|
|
79
|
+
selector: 'lib-asset-management-dialog',
|
|
80
|
+
template: "<lib-modal heading=\"Asset management\" [customHeader]=\"true\">\n <ng-container subtitle>\n <lib-breadcrumb></lib-breadcrumb>\n </ng-container>\n <ng-container headerActions>\n <lib-search-box></lib-search-box>\n </ng-container>\n <ng-container content>\n <lib-asset-wrapper [header]=\"false\"></lib-asset-wrapper>\n </ng-container>\n <ng-container actions>\n <div class=\"asset-management-dialog__footer\">\n <div class=\"selected-assets\">\n <ng-container *ngIf=\"data?.limit\">\n <span>Selected{{' '}}</span>\n <span class=\"count\" [ngClass]=\"{'error': selectedAssets?.length && disabled}\">\n {{selectedAssets?.length}}/{{data?.limit}}\n </span>\n <span>\n {{data?.limit > 1 ? \"assets\": \"asset\"}}\n </span>\n </ng-container>\n\n </div>\n <div>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"selectAssets()\" [disabled]=\"disabled\">Done</button>\n </div>\n </div>\n </ng-container>\n</lib-modal>",
|
|
81
|
+
styles: [":host::ng-deep .asset-management-dialog__footer{display:flex;width:100%;align-items:center;justify-content:space-between}:host::ng-deep .asset-management-dialog__footer .selected-assets{font-size:14px;color:#979797}:host::ng-deep .asset-management-dialog__footer .selected-assets .count{color:#000}:host::ng-deep .asset-management-dialog__footer .selected-assets .error{color:#f44336}"]
|
|
82
|
+
}] }
|
|
83
|
+
];
|
|
84
|
+
/** @nocollapse */
|
|
85
|
+
AssetManagementDialogComponent.ctorParameters = () => [
|
|
86
|
+
{ type: DialogConfig, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
|
87
|
+
{ type: MatDialogRef },
|
|
88
|
+
{ type: AssetService }
|
|
89
|
+
];
|
|
90
|
+
if (false) {
|
|
91
|
+
/**
|
|
92
|
+
* @type {?}
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
AssetManagementDialogComponent.prototype.destroy$;
|
|
96
|
+
/** @type {?} */
|
|
97
|
+
AssetManagementDialogComponent.prototype.selectedAssets;
|
|
98
|
+
/** @type {?} */
|
|
99
|
+
AssetManagementDialogComponent.prototype.data;
|
|
100
|
+
/** @type {?} */
|
|
101
|
+
AssetManagementDialogComponent.prototype.dialogRef;
|
|
102
|
+
/**
|
|
103
|
+
* @type {?}
|
|
104
|
+
* @private
|
|
105
|
+
*/
|
|
106
|
+
AssetManagementDialogComponent.prototype.assetService;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU94QyxNQUFNLE9BQU8sOEJBQThCOzs7Ozs7SUFDekMsWUFDa0MsSUFBa0IsRUFDM0MsU0FBdUQsRUFDdEQsWUFBMEI7UUFGRixTQUFJLEdBQUosSUFBSSxDQUFjO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQ3RELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRTVCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM1QyxtQkFBYyxHQUFzQixFQUFFLENBQUM7SUFGMUMsQ0FBQzs7OztJQUlMLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU07Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBQzthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTOzs7O1FBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUN2QyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxJQUFJLFFBQVE7Y0FDSixFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBQzNCLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3JELENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQzs7OztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFrQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3hDLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQTlDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsc21DQUF1RDs7YUFFeEQ7Ozs7WUFSb0IsWUFBWSx1QkFXNUIsTUFBTSxTQUFDLGVBQWU7WUFkbEIsWUFBWTtZQUlaLFlBQVk7Ozs7Ozs7SUFjbkIsa0RBQW1EOztJQUNuRCx3REFBOEM7O0lBTDVDLDhDQUFrRDs7SUFDbEQsbURBQThEOzs7OztJQUM5RCxzREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL1N1YmplY3QnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXNzZXRNb2RlbCwgRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRGlhbG9nQ29uZmlnLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgYXNzZXRTZXJ2aWNlOiBBc3NldFNlcnZpY2VcbiAgKSB7IH1cbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBzZWxlY3RlZEFzc2V0czogQXJyYXk8QXNzZXRNb2RlbD4gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXREaWFsb2dDb25maWcodGhpcy5kYXRhKTtcbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFzc2V0cylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkQXNzZXRzKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3NldHMgPSBzZWxlY3RlZEFzc2V0cztcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHsgbGltaXQgfSA9IHRoaXMuZGF0YTtcbiAgICByZXR1cm4gKFxuICAgICAgKCF0aGlzLnNlbGVjdGVkQXNzZXRzIHx8ICF0aGlzLnNlbGVjdGVkQXNzZXRzLmxlbmd0aCkgfHxcbiAgICAgIChsaW1pdCAmJiB0aGlzLnNlbGVjdGVkQXNzZXRzLmxlbmd0aCA+IGxpbWl0KVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RBc3NldHMoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5zZWxlY3RlZEFzc2V0cyk7XG4gIH1cblxuICBpbml0RGlhbG9nQ29uZmlnKGRhdGE6IERpYWxvZ0NvbmZpZykge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFzc2V0U2VydmljZS5kaWFsb2dDb25maWcgPSBkYXRhO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UuZGlhbG9nQ29uZmlnID0gbmV3IERpYWxvZ0NvbmZpZygpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
6
|
+
import { Subject } from 'rxjs/internal/Subject';
|
|
7
|
+
import { takeUntil } from 'rxjs/operators';
|
|
8
|
+
import { AssetService } from '../../../services/asset.service';
|
|
9
|
+
import { select } from '../../../store';
|
|
10
|
+
export class AssetWrapperComponent {
|
|
11
|
+
/**
|
|
12
|
+
* @param {?} assetService
|
|
13
|
+
*/
|
|
14
|
+
constructor(assetService) {
|
|
15
|
+
this.assetService = assetService;
|
|
16
|
+
this.header = true;
|
|
17
|
+
this.assets = new EventEmitter();
|
|
18
|
+
this.unsubscribe$ = new Subject();
|
|
19
|
+
this.nodeTreeMinWidth = 250;
|
|
20
|
+
this.nodeTreeMaxWidth = 700;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @return {?}
|
|
24
|
+
*/
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.nodeTreeWidth = this.nodeTreeMinWidth;
|
|
27
|
+
select((/**
|
|
28
|
+
* @param {?} state
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
(state) => state.selectedAssets))
|
|
32
|
+
.pipe(takeUntil(this.unsubscribe$))
|
|
33
|
+
.subscribe((/**
|
|
34
|
+
* @param {?} selectedAssets
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
(selectedAssets) => {
|
|
38
|
+
this.assets.emit(selectedAssets);
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @param {?} __0
|
|
43
|
+
* @return {?}
|
|
44
|
+
*/
|
|
45
|
+
onResize({ width }) {
|
|
46
|
+
this.nodeTreeWidth = width;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @return {?}
|
|
50
|
+
*/
|
|
51
|
+
get nodeDetailsWidth() {
|
|
52
|
+
return `calc(100% - ${this.nodeTreeWidth}px)`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @return {?}
|
|
56
|
+
*/
|
|
57
|
+
ngOnDestroy() {
|
|
58
|
+
this.assetService.resetAsset();
|
|
59
|
+
this.unsubscribe$.next();
|
|
60
|
+
this.unsubscribe$.complete();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
AssetWrapperComponent.decorators = [
|
|
64
|
+
{ type: Component, args: [{
|
|
65
|
+
selector: 'lib-asset-wrapper',
|
|
66
|
+
template: "<div class=\"asset-wrapper\">\n <div class=\"asset-header\" *ngIf=\"header\">\n <div class=\"asset-header__left asset-header__title\" #title>\n <lib-breadcrumb></lib-breadcrumb>\n </div>\n <div class=\"asset-header__right asset-header__actions\" #actions>\n <lib-search-box></lib-search-box>\n </div>\n </div>\n <div class=\"asset-body\">\n <lib-drag-to-resize (resizeCompleted)=\"onResize($event)\" class=\"asset-body__node-tree\" [minWidth]=\"nodeTreeMinWidth\" [maxWidth]=\"nodeTreeMaxWidth\">\n <lib-node-tree [width]=\"nodeTreeWidth\"></lib-node-tree>\n </lib-drag-to-resize>\n <lib-node-details class=\"asset-body__node-details\" [style.maxWidth]=\"nodeDetailsWidth\"></lib-node-details>\n </div>\n</div>",
|
|
67
|
+
styles: [":host::ng-deep .mat-dialog-title{padding:24px}:host::ng-deep .mat-dialog-title .lib-modal--close{padding:10px;position:absolute;top:10px;right:10px;z-index:1}:host::ng-deep .mat-dialog-actions{padding-left:24px;padding-right:24px}:host::ng-deep .asset-wrapper{display:flex;flex-direction:column;height:100%;width:100%;overflow-x:hidden}:host::ng-deep .asset-wrapper .asset-header{display:flex;padding:20px 15px;border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:center}:host::ng-deep .asset-wrapper .asset-body{display:flex;align-items:stretch}:host::ng-deep .asset-wrapper .asset-body__node-tree{border-right:1px solid #d8d8d8}:host::ng-deep .asset-wrapper .asset-body__node-details{flex:1}@media screen and (max-width:768px){:host::ng-deep .asset-wrapper .asset-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}:host::ng-deep .asset-wrapper .asset-body{flex-direction:column;justify-content:flex-start}:host::ng-deep .asset-wrapper .asset-body__node-tree{width:100%}:host::ng-deep .asset-wrapper .asset-body__node-details{max-width:100%!important}}::ng-deep .mat-tooltip.width-auto{max-width:100%!important}"]
|
|
68
|
+
}] }
|
|
69
|
+
];
|
|
70
|
+
/** @nocollapse */
|
|
71
|
+
AssetWrapperComponent.ctorParameters = () => [
|
|
72
|
+
{ type: AssetService }
|
|
73
|
+
];
|
|
74
|
+
AssetWrapperComponent.propDecorators = {
|
|
75
|
+
header: [{ type: Input }],
|
|
76
|
+
assets: [{ type: Output }]
|
|
77
|
+
};
|
|
78
|
+
if (false) {
|
|
79
|
+
/** @type {?} */
|
|
80
|
+
AssetWrapperComponent.prototype.header;
|
|
81
|
+
/** @type {?} */
|
|
82
|
+
AssetWrapperComponent.prototype.assets;
|
|
83
|
+
/**
|
|
84
|
+
* @type {?}
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
AssetWrapperComponent.prototype.unsubscribe$;
|
|
88
|
+
/** @type {?} */
|
|
89
|
+
AssetWrapperComponent.prototype.nodeTreeMinWidth;
|
|
90
|
+
/** @type {?} */
|
|
91
|
+
AssetWrapperComponent.prototype.nodeTreeMaxWidth;
|
|
92
|
+
/** @type {?} */
|
|
93
|
+
AssetWrapperComponent.prototype.nodeTreeWidth;
|
|
94
|
+
/**
|
|
95
|
+
* @type {?}
|
|
96
|
+
* @private
|
|
97
|
+
*/
|
|
98
|
+
AssetWrapperComponent.prototype.assetService;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtd3JhcHBlci9hc3NldC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEMsTUFBTSxPQUFPLHFCQUFxQjs7OztJQVNoQyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVJyQyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRTVDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDdkIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO0lBR21CLENBQUM7Ozs7SUFFbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzNDLE1BQU07Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBQzthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTOzs7O1FBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLGVBQWUsSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDO0lBQ2hELENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwwdkJBQTZDOzthQUU5Qzs7OztZQVBRLFlBQVk7OztxQkFTbEIsS0FBSztxQkFDTCxNQUFNOzs7O0lBRFAsdUNBQXVCOztJQUN2Qix1Q0FBb0Q7Ozs7O0lBRXBELDZDQUEyQzs7SUFDM0MsaURBQThCOztJQUM5QixpREFBOEI7O0lBQzlCLDhDQUFxQjs7Ozs7SUFFVCw2Q0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtd3JhcHBlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldFdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGhlYWRlciA9IHRydWU7XG4gIEBPdXRwdXQoKSBhc3NldHMgPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0TW9kZWxbXT4oKTtcblxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyBub2RlVHJlZU1pbldpZHRoID0gMjUwO1xuICBwdWJsaWMgbm9kZVRyZWVNYXhXaWR0aCA9IDcwMDtcbiAgcHVibGljIG5vZGVUcmVlV2lkdGg7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm5vZGVUcmVlV2lkdGggPSB0aGlzLm5vZGVUcmVlTWluV2lkdGg7XG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRBc3NldHMpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRBc3NldHMpID0+IHtcbiAgICAgICAgdGhpcy5hc3NldHMuZW1pdChzZWxlY3RlZEFzc2V0cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUmVzaXplKHsgd2lkdGggfSkge1xuICAgIHRoaXMubm9kZVRyZWVXaWR0aCA9IHdpZHRoO1xuICB9XG5cbiAgZ2V0IG5vZGVEZXRhaWxzV2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7dGhpcy5ub2RlVHJlZVdpZHRofXB4KWA7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5yZXNldEFzc2V0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
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 { Component } from '@angular/core';
|
|
7
|
+
import { of } from 'rxjs/internal/observable/of';
|
|
8
|
+
import { Subject } from 'rxjs/internal/Subject';
|
|
9
|
+
import { switchMap, takeUntil } from 'rxjs/operators';
|
|
10
|
+
import { AssetManagementService } from '../../../asset-management.service';
|
|
11
|
+
import { NodeTreeService } from '../../../services/node-tree.service';
|
|
12
|
+
import { ActionTypes, select } from '../../../store';
|
|
13
|
+
export class BreadcrumbComponent {
|
|
14
|
+
/**
|
|
15
|
+
* @param {?} nodeTreeService
|
|
16
|
+
* @param {?} svc
|
|
17
|
+
*/
|
|
18
|
+
constructor(nodeTreeService, svc) {
|
|
19
|
+
this.nodeTreeService = nodeTreeService;
|
|
20
|
+
this.svc = svc;
|
|
21
|
+
this.unsubscribe$ = new Subject();
|
|
22
|
+
this.currentFolderHierarchy = [];
|
|
23
|
+
this.maximumShownLevel = 3;
|
|
24
|
+
this.bindSubscriber();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @return {?}
|
|
28
|
+
*/
|
|
29
|
+
ngOnInit() { }
|
|
30
|
+
/**
|
|
31
|
+
* @return {?}
|
|
32
|
+
*/
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.unsubscribe$.next();
|
|
35
|
+
this.unsubscribe$.complete();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @private
|
|
39
|
+
* @return {?}
|
|
40
|
+
*/
|
|
41
|
+
bindSubscriber() {
|
|
42
|
+
select((/**
|
|
43
|
+
* @param {?} state
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
(state) => state.currentFolderHierarchy))
|
|
47
|
+
.pipe(takeUntil(this.unsubscribe$), switchMap((/**
|
|
48
|
+
* @param {?} res
|
|
49
|
+
* @return {?}
|
|
50
|
+
*/
|
|
51
|
+
(res) => of(res))))
|
|
52
|
+
.subscribe((/**
|
|
53
|
+
* @param {?} currentFolderHierarchy
|
|
54
|
+
* @return {?}
|
|
55
|
+
*/
|
|
56
|
+
(currentFolderHierarchy) => {
|
|
57
|
+
this.currentFolderHierarchy = currentFolderHierarchy;
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* @param {?} folder
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
navigateToFolder(folder) {
|
|
65
|
+
this.svc.dispatch({
|
|
66
|
+
type: ActionTypes.SET_CURRENT_FOLDER_ID,
|
|
67
|
+
payload: folder.AssetId,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @return {?}
|
|
72
|
+
*/
|
|
73
|
+
backToHome() {
|
|
74
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
yield this.nodeTreeService.initialData({ dispatchRootId: true });
|
|
76
|
+
this.svc.dispatch({
|
|
77
|
+
type: ActionTypes.RELOAD_CURRENT_NODE,
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
BreadcrumbComponent.decorators = [
|
|
83
|
+
{ type: Component, args: [{
|
|
84
|
+
selector: 'lib-breadcrumb',
|
|
85
|
+
template: "<nav class=\"breadcrumb-wrapper\">\n <ul class=\"lib-breadcrumb\">\n <li class=\"lib-breadcrumb__item\">\n <span class=\"lib-breadcrumb__item--name\" (click)=\"backToHome()\">Home</span>\n </li>\n <ng-container *ngIf=\"currentFolderHierarchy.length <= maximumShownLevel\">\n <li *ngFor=\"let folder of currentFolderHierarchy; let last = last\" class=\"lib-breadcrumb__item\">\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\n <span class=\"lib-breadcrumb__item--name\" (click)=\"navigateToFolder(folder)\" [ngClass]=\"{ 'current-item' : last }\">\n {{folder.OriginalFileName}}\n </span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"currentFolderHierarchy.length> maximumShownLevel\">\n <div class=\"lib-breadcrumb__item\">\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\n <span class=\"lib-breadcrumb__item--name\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_horiz</mat-icon>\n </span>\n </div>\n\n <li *ngFor=\"let folder of currentFolderHierarchy; let index= index; let last = last\" class=\"lib-breadcrumb__item\">\n <ng-container *ngIf=\"index> currentFolderHierarchy.length -\n maximumShownLevel\">\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\n <span class=\"lib-breadcrumb__item--name\" (click)=\"navigateToFolder(folder)\" [ngClass]=\"{ 'current-item' : last }\">\n {{folder.OriginalFileName}}\n </span>\n </ng-container>\n </li>\n </ng-container>\n\n </ul>\n</nav>\n\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let folder of currentFolderHierarchy; let index=\n index;\">\n <button mat-menu-item *ngIf=\"index<= currentFolderHierarchy.length -\n maximumShownLevel\" (click)=\"navigateToFolder(folder)\">\n <mat-icon>navigate_next</mat-icon>\n <span>{{folder.OriginalFileName}}</span>\n </button>\n </ng-container>\n</mat-menu>",
|
|
86
|
+
styles: [":host::ng-deep .breadcrumb-wrapper{color:#979797;background-color:#fff}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb{display:flex;align-items:center;margin:0;padding:0}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item{height:20px;display:flex;align-items:center;list-style:none}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--icon{color:#c8c8c8;cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:14px;padding:0;font-weight:400;cursor:pointer;transition:.3s;height:20px;line-height:20px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon{color:#979797;height:16px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item{cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item:hover{color:#979797}"]
|
|
87
|
+
}] }
|
|
88
|
+
];
|
|
89
|
+
/** @nocollapse */
|
|
90
|
+
BreadcrumbComponent.ctorParameters = () => [
|
|
91
|
+
{ type: NodeTreeService },
|
|
92
|
+
{ type: AssetManagementService }
|
|
93
|
+
];
|
|
94
|
+
if (false) {
|
|
95
|
+
/**
|
|
96
|
+
* @type {?}
|
|
97
|
+
* @private
|
|
98
|
+
*/
|
|
99
|
+
BreadcrumbComponent.prototype.unsubscribe$;
|
|
100
|
+
/** @type {?} */
|
|
101
|
+
BreadcrumbComponent.prototype.currentFolderHierarchy;
|
|
102
|
+
/** @type {?} */
|
|
103
|
+
BreadcrumbComponent.prototype.maximumShownLevel;
|
|
104
|
+
/**
|
|
105
|
+
* @type {?}
|
|
106
|
+
* @private
|
|
107
|
+
*/
|
|
108
|
+
BreadcrumbComponent.prototype.nodeTreeService;
|
|
109
|
+
/**
|
|
110
|
+
* @type {?}
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
113
|
+
BreadcrumbComponent.prototype.svc;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yRCxNQUFNLE9BQU8sbUJBQW1COzs7OztJQUM5QixZQUFvQixlQUFnQyxFQUFVLEdBQTJCO1FBQXJFLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQXdCO1FBR2pGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQywyQkFBc0IsR0FBMkIsRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUozQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OztJQUtELFFBQVEsS0FBSyxDQUFDOzs7O0lBRWQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7OztJQUVPLGNBQWM7UUFDcEIsTUFBTTs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUM7YUFDNUMsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQzVCLFNBQVM7Ozs7UUFBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQzVCO2FBQ0EsU0FBUzs7OztRQUFDLENBQUMsc0JBQXNCLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDdkQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVNLGdCQUFnQixDQUFDLE1BQXVCO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2hCLElBQUksRUFBRSxXQUFXLENBQUMscUJBQXFCO1lBQ3ZDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRVksVUFBVTs7WUFDckIsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLG1CQUFtQjthQUN0QyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsa3ZFQUEwQzs7YUFFM0M7Ozs7WUFQUSxlQUFlO1lBRmYsc0JBQXNCOzs7Ozs7O0lBYzdCLDJDQUEyQzs7SUFDM0MscURBQTJEOztJQUMzRCxnREFBNkI7Ozs7O0lBTGpCLDhDQUF3Qzs7Ozs7SUFBRSxrQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9vZic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcy9pbnRlcm5hbC9TdWJqZWN0JztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Fzc2V0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2xkZXJUcmVlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTm9kZVRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbm9kZS10cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub2RlVHJlZVNlcnZpY2U6IE5vZGVUcmVlU2VydmljZSwgcHJpdmF0ZSBzdmM6IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UpIHtcbiAgICB0aGlzLmJpbmRTdWJzY3JpYmVyKCk7XG4gIH1cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgY3VycmVudEZvbGRlckhpZXJhcmNoeTogQXJyYXk8Rm9sZGVyVHJlZU1vZGVsPiA9IFtdO1xuICBwdWJsaWMgbWF4aW11bVNob3duTGV2ZWwgPSAzO1xuXG4gIG5nT25Jbml0KCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRTdWJzY3JpYmVyKCkge1xuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmN1cnJlbnRGb2xkZXJIaWVyYXJjaHkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Rm9sZGVySGllcmFyY2h5KSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEZvbGRlckhpZXJhcmNoeSA9IGN1cnJlbnRGb2xkZXJIaWVyYXJjaHk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRm9sZGVyKGZvbGRlcjogRm9sZGVyVHJlZU1vZGVsKSB7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0NVUlJFTlRfRk9MREVSX0lELFxuICAgICAgcGF5bG9hZDogZm9sZGVyLkFzc2V0SWQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYmFja1RvSG9tZSgpIHtcbiAgICBhd2FpdCB0aGlzLm5vZGVUcmVlU2VydmljZS5pbml0aWFsRGF0YSh7IGRpc3BhdGNoUm9vdElkOiB0cnVlIH0pO1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX05PREUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|