@hmcts/ccd-case-ui-toolkit 5.0.25-case-file-view-all-document-count → 5.0.27-angular11-upgrade

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +156 -708
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +24 -45
  7. package/esm2015/lib/shared/components/palette/index.js +1 -2
  8. package/esm2015/lib/shared/components/palette/palette.module.js +9 -24
  9. package/esm2015/lib/shared/components/palette/palette.service.js +1 -18
  10. package/esm2015/lib/shared/components/search-result/search-result.component.js +10 -12
  11. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  12. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +2 -2
  13. package/esm2015/lib/shared/services/index.js +1 -2
  14. package/esm2015/public-api.js +1 -3
  15. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +133 -640
  16. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  17. package/lib/app.config.d.ts +0 -4
  18. package/lib/app.config.d.ts.map +1 -1
  19. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +0 -7
  20. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  21. package/lib/shared/components/palette/index.d.ts +0 -1
  22. package/lib/shared/components/palette/index.d.ts.map +1 -1
  23. package/lib/shared/components/palette/palette.module.d.ts +21 -24
  24. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  25. package/lib/shared/components/palette/palette.service.d.ts +0 -2
  26. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  27. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  28. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  29. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  30. package/lib/shared/services/index.d.ts +0 -1
  31. package/lib/shared/services/index.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/public-api.d.ts +0 -2
  34. package/public-api.d.ts.map +1 -1
  35. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +0 -70
  36. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +0 -320
  37. package/esm2015/lib/shared/components/palette/case-file-view/components/index.js +0 -2
  38. package/esm2015/lib/shared/components/palette/case-file-view/index.js +0 -3
  39. package/esm2015/lib/shared/domain/case-file-view/case-file-view-category.model.js +0 -3
  40. package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +0 -3
  41. package/esm2015/lib/shared/domain/case-file-view/categories-and-documents.model.js +0 -7
  42. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +0 -28
  43. package/esm2015/lib/shared/domain/case-file-view/index.js +0 -5
  44. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +0 -47
  45. package/esm2015/lib/shared/services/case-file-view/index.js +0 -2
  46. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +0 -19
  47. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +0 -1
  48. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +0 -26
  49. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +0 -1
  50. package/lib/shared/components/palette/case-file-view/components/index.d.ts +0 -2
  51. package/lib/shared/components/palette/case-file-view/components/index.d.ts.map +0 -1
  52. package/lib/shared/components/palette/case-file-view/index.d.ts +0 -3
  53. package/lib/shared/components/palette/case-file-view/index.d.ts.map +0 -1
  54. package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts +0 -9
  55. package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts.map +0 -1
  56. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +0 -8
  57. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +0 -1
  58. package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts +0 -12
  59. package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts.map +0 -1
  60. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +0 -7
  61. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +0 -1
  62. package/lib/shared/domain/case-file-view/index.d.ts +0 -5
  63. package/lib/shared/domain/case-file-view/index.d.ts.map +0 -1
  64. package/lib/shared/services/case-file-view/case-file-view.service.d.ts +0 -22
  65. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +0 -1
  66. package/lib/shared/services/case-file-view/index.d.ts +0 -2
  67. package/lib/shared/services/case-file-view/index.d.ts.map +0 -1
@@ -1,320 +0,0 @@
1
- import { NestedTreeControl } from '@angular/cdk/tree';
2
- import { Component, Input } from '@angular/core';
3
- import { Observable, of } from 'rxjs';
4
- import { DocumentTreeNode } from '../../../../../domain/case-file-view';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/tree";
7
- function CaseFileViewFolderComponent_cdk_nested_tree_node_6_Template(rf, ctx) { if (rf & 1) {
8
- i0.ɵɵelementStart(0, "cdk-nested-tree-node", 7);
9
- i0.ɵɵelementStart(1, "div", 8);
10
- i0.ɵɵelementStart(2, "button", 9);
11
- i0.ɵɵelement(3, "img", 10);
12
- i0.ɵɵelementEnd();
13
- i0.ɵɵelementStart(4, "span", 11);
14
- i0.ɵɵtext(5);
15
- i0.ɵɵelementEnd();
16
- i0.ɵɵelementEnd();
17
- i0.ɵɵelementEnd();
18
- } if (rf & 2) {
19
- const node_r2 = ctx.$implicit;
20
- i0.ɵɵadvance(5);
21
- i0.ɵɵtextInterpolate(node_r2.name);
22
- } }
23
- function CaseFileViewFolderComponent_cdk_nested_tree_node_7_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelementStart(0, "cdk-nested-tree-node", 7);
25
- i0.ɵɵelementStart(1, "div", 12);
26
- i0.ɵɵelementStart(2, "button", 13);
27
- i0.ɵɵelement(3, "img", 14);
28
- i0.ɵɵelementStart(4, "span", 15);
29
- i0.ɵɵtext(5);
30
- i0.ɵɵelementEnd();
31
- i0.ɵɵelementEnd();
32
- i0.ɵɵelementStart(6, "span", 16);
33
- i0.ɵɵtext(7);
34
- i0.ɵɵelementEnd();
35
- i0.ɵɵelementEnd();
36
- i0.ɵɵelementStart(8, "div");
37
- i0.ɵɵelementContainer(9, 17);
38
- i0.ɵɵelementEnd();
39
- i0.ɵɵelementEnd();
40
- } if (rf & 2) {
41
- const node_r3 = ctx.$implicit;
42
- const ctx_r1 = i0.ɵɵnextContext();
43
- i0.ɵɵadvance(2);
44
- i0.ɵɵattribute("aria-label", "toggle " + node_r3.name);
45
- i0.ɵɵadvance(3);
46
- i0.ɵɵtextInterpolate(node_r3.childDocumentCount);
47
- i0.ɵɵadvance(2);
48
- i0.ɵɵtextInterpolate(node_r3.name);
49
- i0.ɵɵadvance(1);
50
- i0.ɵɵclassProp("document-tree-invisible", !ctx_r1.nestedTreeControl.isExpanded(node_r3));
51
- } }
52
- export class CaseFileViewFolderComponent {
53
- constructor() {
54
- this.categories = [];
55
- this.getChildren = (node) => of(node.children);
56
- this.nestedChildren = (_, nodeData) => nodeData.children;
57
- this.nestedTreeControl = new NestedTreeControl(this.getChildren);
58
- }
59
- get documentCount() {
60
- var _a;
61
- if ((_a = this.nestedDataSource) === null || _a === void 0 ? void 0 : _a.length) {
62
- return this.nestedDataSource.reduce((acc, item) => {
63
- return acc + item.childDocumentCount;
64
- }, 0);
65
- }
66
- else {
67
- return 0;
68
- }
69
- }
70
- ngOnInit() {
71
- this.categoriesAndDocumentsSubscription = this.categoriesAndDocuments.subscribe(categoriesAndDocuments => {
72
- // Using the mock data for now as we have to display the documents as well for demo purpose
73
- const categories = this.loadCategories(); // categoriesAndDocuments.categories;
74
- // Generate document tree data from categories
75
- const treeData = this.generateTreeData(categories);
76
- // Append uncategorised documents
77
- if (categoriesAndDocuments.uncategorised_documents && categoriesAndDocuments.uncategorised_documents.length > 0) {
78
- const uncategorisedDocuments = this.getUncategorisedDocuments(categoriesAndDocuments.uncategorised_documents);
79
- treeData.push(uncategorisedDocuments);
80
- }
81
- // Initialise cdk tree with generated data
82
- this.nestedDataSource = treeData;
83
- });
84
- }
85
- generateTreeData(categories) {
86
- return categories.reduce((tree, node) => {
87
- const newDocumentTreeNode = new DocumentTreeNode();
88
- newDocumentTreeNode.name = node.category_name;
89
- newDocumentTreeNode.type = 'category';
90
- newDocumentTreeNode.children = [...this.generateTreeData(node.sub_categories), ...this.getDocuments(node.documents)];
91
- return [
92
- ...tree,
93
- newDocumentTreeNode,
94
- ];
95
- }, []);
96
- }
97
- getDocuments(documents) {
98
- const documentsToReturn = [];
99
- documents.forEach(document => {
100
- const documentTreeNode = new DocumentTreeNode();
101
- documentTreeNode.name = document.document_filename;
102
- documentTreeNode.type = 'document';
103
- documentsToReturn.push(documentTreeNode);
104
- });
105
- return documentsToReturn;
106
- }
107
- getUncategorisedDocuments(uncategorisedDocuments) {
108
- const documents = [];
109
- uncategorisedDocuments.forEach(document => {
110
- const documentTreeNode = new DocumentTreeNode();
111
- documentTreeNode.name = document.document_filename;
112
- documentTreeNode.type = 'document';
113
- documents.push(documentTreeNode);
114
- });
115
- const uncategorisedNode = new DocumentTreeNode();
116
- uncategorisedNode.name = CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE;
117
- uncategorisedNode.type = 'category';
118
- uncategorisedNode.children = documents;
119
- return uncategorisedNode;
120
- }
121
- ngOnDestroy() {
122
- if (this.categoriesAndDocumentsSubscription) {
123
- this.categoriesAndDocumentsSubscription.unsubscribe();
124
- }
125
- }
126
- loadCategories() {
127
- return [
128
- {
129
- category_id: 'Beers',
130
- category_name: 'Beers',
131
- category_order: 1,
132
- documents: [
133
- {
134
- document_url: '/test',
135
- document_filename: 'Beers encyclopedia',
136
- document_binary_url: '/test/binary',
137
- attribute_path: '',
138
- upload_timestamp: ''
139
- }
140
- ],
141
- sub_categories: [
142
- {
143
- category_id: 'BeersBitters',
144
- category_name: 'Bitters',
145
- category_order: 1,
146
- documents: [],
147
- sub_categories: []
148
- },
149
- {
150
- category_id: 'BeersAmerican',
151
- category_name: 'American',
152
- category_order: 2,
153
- documents: [],
154
- sub_categories: []
155
- },
156
- {
157
- category_id: 'BeersAsian',
158
- category_name: 'Asian',
159
- category_order: 3,
160
- documents: [],
161
- sub_categories: []
162
- }
163
- ]
164
- },
165
- {
166
- category_id: 'Wines',
167
- category_name: 'Wines',
168
- category_order: 2,
169
- documents: [],
170
- sub_categories: [
171
- {
172
- category_id: 'WinesFrench',
173
- category_name: 'French',
174
- category_order: 1,
175
- documents: [],
176
- sub_categories: []
177
- },
178
- {
179
- category_id: 'WinesItalian',
180
- category_name: 'Italian',
181
- category_order: 2,
182
- documents: [],
183
- sub_categories: []
184
- }
185
- ]
186
- },
187
- {
188
- category_id: 'Spirits',
189
- category_name: 'Spirits',
190
- category_order: 3,
191
- documents: [],
192
- sub_categories: [
193
- {
194
- category_id: 'SpiritsWhisky',
195
- category_name: 'Scotch whisky',
196
- category_order: 1,
197
- documents: [],
198
- sub_categories: [
199
- {
200
- category_id: 'WhiskyHighland',
201
- category_name: 'Highland',
202
- category_order: 1,
203
- documents: [],
204
- sub_categories: [
205
- {
206
- category_id: 'WhiskyHighland1',
207
- category_name: 'Highland 1',
208
- category_order: 1,
209
- documents: [],
210
- sub_categories: []
211
- }
212
- ]
213
- },
214
- {
215
- category_id: 'WhiskyLowland',
216
- category_name: 'Lowland',
217
- category_order: 2,
218
- documents: [],
219
- sub_categories: [
220
- {
221
- category_id: 'WhiskyLowland1',
222
- category_name: 'Lowland 1',
223
- category_order: 1,
224
- documents: [
225
- {
226
- document_url: '/test',
227
- document_filename: 'Details about Whisky Lowland 1',
228
- document_binary_url: '/test/binary',
229
- attribute_path: '',
230
- upload_timestamp: ''
231
- }
232
- ],
233
- sub_categories: []
234
- },
235
- {
236
- category_id: 'WhiskyLowland2',
237
- category_name: 'Lowland 2',
238
- category_order: 2,
239
- documents: [],
240
- sub_categories: []
241
- }
242
- ]
243
- },
244
- {
245
- category_id: 'WhiskyIslay',
246
- category_name: 'Islay',
247
- category_order: 3,
248
- documents: [
249
- {
250
- document_url: '/test',
251
- document_filename: 'Details about Whisky Islay',
252
- document_binary_url: '/test/binary',
253
- attribute_path: '',
254
- upload_timestamp: ''
255
- },
256
- {
257
- document_url: '/test',
258
- document_filename: 'More information about Whisky Islay',
259
- document_binary_url: '/test/binary',
260
- attribute_path: '',
261
- upload_timestamp: ''
262
- }
263
- ],
264
- sub_categories: []
265
- },
266
- {
267
- category_id: 'WhiskySpeyside',
268
- category_name: 'Speyside',
269
- category_order: 4,
270
- documents: [],
271
- sub_categories: []
272
- },
273
- {
274
- category_id: 'WhiskyCampbeltown',
275
- category_name: 'Campbeltown',
276
- category_order: 5,
277
- documents: [],
278
- sub_categories: []
279
- }
280
- ]
281
- }
282
- ]
283
- }
284
- ];
285
- }
286
- }
287
- CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised documents';
288
- CaseFileViewFolderComponent.ɵfac = function CaseFileViewFolderComponent_Factory(t) { return new (t || CaseFileViewFolderComponent)(); };
289
- CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments" }, decls: 8, vars: 4, consts: [[1, "document-filter-container"], [1, "document-filter"], [1, "documents-title"], [1, "document-tree-container"], [3, "dataSource", "treeControl"], ["class", "document-tree-node", 4, "cdkTreeNodeDef"], ["class", "document-tree-node", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-node"], [1, "node"], ["mat-icon-button", "", "disabled", "", 1, "node__icon"], ["src", "/assets/images/document.png", "alt", "Document icon", 1, "node__iconImg"], [1, "node-name", "node-name-document"], ["cdkTreeNodeToggle", "", 1, "node"], ["mat-icon-button", "", 1, "node__icon"], ["src", "/assets/images/folder.png", "alt", "Folder icon", 1, "node__iconImg"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
290
- i0.ɵɵelementStart(0, "div", 0);
291
- i0.ɵɵelement(1, "div", 1);
292
- i0.ɵɵelementStart(2, "div", 2);
293
- i0.ɵɵtext(3);
294
- i0.ɵɵelementEnd();
295
- i0.ɵɵelementEnd();
296
- i0.ɵɵelementStart(4, "div", 3);
297
- i0.ɵɵelementStart(5, "cdk-tree", 4);
298
- i0.ɵɵtemplate(6, CaseFileViewFolderComponent_cdk_nested_tree_node_6_Template, 6, 1, "cdk-nested-tree-node", 5);
299
- i0.ɵɵtemplate(7, CaseFileViewFolderComponent_cdk_nested_tree_node_7_Template, 10, 5, "cdk-nested-tree-node", 6);
300
- i0.ɵɵelementEnd();
301
- i0.ɵɵelementEnd();
302
- } if (rf & 2) {
303
- i0.ɵɵadvance(3);
304
- i0.ɵɵtextInterpolate1("Documents (", ctx.documentCount, ")");
305
- i0.ɵɵadvance(2);
306
- i0.ɵɵproperty("dataSource", ctx.nestedDataSource)("treeControl", ctx.nestedTreeControl);
307
- i0.ɵɵadvance(2);
308
- i0.ɵɵproperty("cdkTreeNodeDefWhen", ctx.nestedChildren);
309
- } }, directives: [i1.CdkTree, i1.CdkTreeNodeDef, i1.CdkNestedTreeNode, i1.CdkTreeNodeToggle, i1.CdkTreeNodeOutlet], styles: [".document-filter-container[_ngcontent-%COMP%]{height:60px;border-bottom:2px solid #c9c9c9;padding-bottom:4px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{height:70%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{margin:4px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%] .document-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .document-tree-container[_ngcontent-%COMP%] .document-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.document-tree-container[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%]{display:block}.document-tree-container[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%]{padding-left:40px}.node[_ngcontent-%COMP%]{display:flex;align-items:center;padding:6px 0}.node__icon[_ngcontent-%COMP%]{position:relative;background:none;border:0}.node__iconImg[_ngcontent-%COMP%]{height:24px}.node__count[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}.node__name[_ngcontent-%COMP%]{margin-left:6px}"] });
310
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
311
- type: Component,
312
- args: [{
313
- selector: 'ccd-case-file-view-folder',
314
- styleUrls: ['./case-file-view-folder.component.scss'],
315
- templateUrl: './case-file-view-folder.component.html'
316
- }]
317
- }], function () { return []; }, { categoriesAndDocuments: [{
318
- type: Input
319
- }] }); })();
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBSUwsZ0JBQWdCLEVBQ2pCLE1BQU0sc0NBQXNDLENBQUM7Ozs7SUNEMUMsK0NBQTRFO0lBQzFFLDhCQUFrQjtJQUNoQixpQ0FBb0Q7SUFDbEQsMEJBQWlGO0lBQ25GLGlCQUFTO0lBQ1QsZ0NBQTJDO0lBQUEsWUFBYTtJQUFBLGlCQUFPO0lBQ2pFLGlCQUFNO0lBQ1IsaUJBQXVCOzs7SUFGd0IsZUFBYTtJQUFiLGtDQUFhOzs7SUFJNUQsK0NBQWtHO0lBQ2hHLCtCQUFvQztJQUNsQyxrQ0FBc0Y7SUFDcEYsMEJBQTZFO0lBQzdFLGdDQUEwQjtJQUFBLFlBQTJCO0lBQUEsaUJBQU87SUFD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cEUsaUJBQU07UUFDTiw4QkFBcUM7UUFDbkMsbUNBQTRFO1FBRTFFLDhHQU91QjtRQUV2QiwrR0FXdUI7UUFDekIsaUJBQVc7UUFDYixpQkFBTTs7UUEzQnlCLGVBQStCO1FBQS9CLDREQUErQjtRQUdsRCxlQUErQjtRQUEvQixpREFBK0Isc0NBQUE7UUFXVSxlQUFvQjtRQUFwQix1REFBb0I7O3VGREQ1RCwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2dCQUNyRCxXQUFXLEVBQUUsd0NBQXdDO2FBQ3REO3NDQUlpQixzQkFBc0I7a0JBQXJDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXN0ZWRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdDYXRlZ29yeSxcbiAgQ2FzZUZpbGVWaWV3RG9jdW1lbnQsXG4gIENhdGVnb3JpZXNBbmREb2N1bWVudHMsXG4gIERvY3VtZW50VHJlZU5vZGVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlcicsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFVOQ0FURUdPUklTRURfRE9DVU1FTlRTX1RJVExFID0gJ1VuY2F0ZWdvcmlzZWQgZG9jdW1lbnRzJztcblxuICBASW5wdXQoKSBwdWJsaWMgY2F0ZWdvcmllc0FuZERvY3VtZW50czogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPjtcblxuICBwdWJsaWMgbmVzdGVkVHJlZUNvbnRyb2w6IE5lc3RlZFRyZWVDb250cm9sPERvY3VtZW50VHJlZU5vZGU+O1xuICBwdWJsaWMgbmVzdGVkRGF0YVNvdXJjZTogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSA9IFtdO1xuICBwdWJsaWMgY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW4gPSAobm9kZTogRG9jdW1lbnRUcmVlTm9kZSkgPT4gb2Yobm9kZS5jaGlsZHJlbik7XG4gIHB1YmxpYyBuZXN0ZWRDaGlsZHJlbiA9IChfOiBudW1iZXIsIG5vZGVEYXRhOiBEb2N1bWVudFRyZWVOb2RlKSA9PiBub2RlRGF0YS5jaGlsZHJlbjtcbiAgcHVibGljIGdldCBkb2N1bWVudENvdW50KCkge1xuICAgIGlmICh0aGlzLm5lc3RlZERhdGFTb3VyY2U/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMubmVzdGVkRGF0YVNvdXJjZS5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gYWNjICsgaXRlbS5jaGlsZERvY3VtZW50Q291bnQ7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5uZXN0ZWRUcmVlQ29udHJvbCA9IG5ldyBOZXN0ZWRUcmVlQ29udHJvbDxEb2N1bWVudFRyZWVOb2RlPih0aGlzLmdldENoaWxkcmVuKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb24gPSB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHMuc3Vic2NyaWJlKGNhdGVnb3JpZXNBbmREb2N1bWVudHMgPT4ge1xuICAgICAgLy8gVXNpbmcgdGhlIG1vY2sgZGF0YSBmb3Igbm93IGFzIHdlIGhhdmUgdG8gZGlzcGxheSB0aGUgZG9jdW1lbnRzIGFzIHdlbGwgZm9yIGRlbW8gcHVycG9zZVxuICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMubG9hZENhdGVnb3JpZXMoKTsgLy8gY2F0ZWdvcmllc0FuZERvY3VtZW50cy5jYXRlZ29yaWVzO1xuICAgICAgLy8gR2VuZXJhdGUgZG9jdW1lbnQgdHJlZSBkYXRhIGZyb20gY2F0ZWdvcmllc1xuICAgICAgY29uc3QgdHJlZURhdGEgPSB0aGlzLmdlbmVyYXRlVHJlZURhdGEoY2F0ZWdvcmllcyk7XG4gICAgICAvLyBBcHBlbmQgdW5jYXRlZ29yaXNlZCBkb2N1bWVudHNcbiAgICAgIGlmIChjYXRlZ29yaWVzQW5kRG9jdW1lbnRzLnVuY2F0ZWdvcmlzZWRfZG9jdW1lbnRzICYmIGNhdGVnb3JpZXNBbmREb2N1bWVudHMudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCB1bmNhdGVnb3Jpc2VkRG9jdW1lbnRzID0gdGhpcy5nZXRVbmNhdGVnb3Jpc2VkRG9jdW1lbnRzKGNhdGVnb3JpZXNBbmREb2N1bWVudHMudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMpO1xuICAgICAgICB0cmVlRGF0YS5wdXNoKHVuY2F0ZWdvcmlzZWREb2N1bWVudHMpO1xuICAgICAgfVxuICAgICAgLy8gSW5pdGlhbGlzZSBjZGsgdHJlZSB3aXRoIGdlbmVyYXRlZCBkYXRhXG4gICAgICB0aGlzLm5lc3RlZERhdGFTb3VyY2UgPSB0cmVlRGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZVRyZWVEYXRhKGNhdGVnb3JpZXM6IENhc2VGaWxlVmlld0NhdGVnb3J5W10pOiBEb2N1bWVudFRyZWVOb2RlW10ge1xuICAgIHJldHVybiBjYXRlZ29yaWVzLnJlZHVjZSgodHJlZSwgbm9kZSkgPT4ge1xuICAgICAgY29uc3QgbmV3RG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLm5hbWUgPSBub2RlLmNhdGVnb3J5X25hbWU7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLnR5cGUgPSAnY2F0ZWdvcnknO1xuICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZS5jaGlsZHJlbiA9IFsuLi50aGlzLmdlbmVyYXRlVHJlZURhdGEobm9kZS5zdWJfY2F0ZWdvcmllcyksIC4uLnRoaXMuZ2V0RG9jdW1lbnRzKG5vZGUuZG9jdW1lbnRzKV07XG5cbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnRyZWUsXG4gICAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUsXG4gICAgICBdO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREb2N1bWVudHMoZG9jdW1lbnRzOiBDYXNlRmlsZVZpZXdEb2N1bWVudFtdKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICBjb25zdCBkb2N1bWVudHNUb1JldHVybjogRG9jdW1lbnRUcmVlTm9kZVtdID0gW107XG4gICAgZG9jdW1lbnRzLmZvckVhY2goZG9jdW1lbnQgPT4ge1xuICAgICAgY29uc3QgZG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLm5hbWUgPSBkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUudHlwZSA9ICdkb2N1bWVudCc7XG5cbiAgICAgIGRvY3VtZW50c1RvUmV0dXJuLnB1c2goZG9jdW1lbnRUcmVlTm9kZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZG9jdW1lbnRzVG9SZXR1cm47XG4gIH1cblxuICBwdWJsaWMgZ2V0VW5jYXRlZ29yaXNlZERvY3VtZW50cyh1bmNhdGVnb3Jpc2VkRG9jdW1lbnRzOiBDYXNlRmlsZVZpZXdEb2N1bWVudFtdKTogRG9jdW1lbnRUcmVlTm9kZSB7XG4gICAgY29uc3QgZG9jdW1lbnRzOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICB1bmNhdGVnb3Jpc2VkRG9jdW1lbnRzLmZvckVhY2goZG9jdW1lbnQgPT4ge1xuICAgICAgY29uc3QgZG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLm5hbWUgPSBkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUudHlwZSA9ICdkb2N1bWVudCc7XG5cbiAgICAgIGRvY3VtZW50cy5wdXNoKGRvY3VtZW50VHJlZU5vZGUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdW5jYXRlZ29yaXNlZE5vZGUgPSBuZXcgRG9jdW1lbnRUcmVlTm9kZSgpO1xuICAgIHVuY2F0ZWdvcmlzZWROb2RlLm5hbWUgPSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEU7XG4gICAgdW5jYXRlZ29yaXNlZE5vZGUudHlwZSA9ICdjYXRlZ29yeSc7XG4gICAgdW5jYXRlZ29yaXNlZE5vZGUuY2hpbGRyZW4gPSBkb2N1bWVudHM7XG5cbiAgICByZXR1cm4gdW5jYXRlZ29yaXNlZE5vZGU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvYWRDYXRlZ29yaWVzKCk6IENhc2VGaWxlVmlld0NhdGVnb3J5W10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnMnLFxuICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQmVlcnMnLFxuICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdCZWVycyBlbmN5Y2xvcGVkaWEnLFxuICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQml0dGVycycsXG4gICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQml0dGVycycsXG4gICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnNBbWVyaWNhbicsXG4gICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQW1lcmljYW4nLFxuICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDIsXG4gICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQXNpYW4nLFxuICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0FzaWFuJyxcbiAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAzLFxuICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaW5lcycsXG4gICAgICAgIGNhdGVnb3J5X25hbWU6ICdXaW5lcycsXG4gICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXNGcmVuY2gnLFxuICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0ZyZW5jaCcsXG4gICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXNJdGFsaWFuJyxcbiAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdJdGFsaWFuJyxcbiAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2F0ZWdvcnlfaWQ6ICdTcGlyaXRzJyxcbiAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwaXJpdHMnLFxuICAgICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1NwaXJpdHNXaGlza3knLFxuICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1Njb3RjaCB3aGlza3knLFxuICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5SGlnaGxhbmQnLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCcsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUhpZ2hsYW5kMScsXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCAxJyxcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5TG93bGFuZCcsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQnLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lMb3dsYW5kMScsXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdMb3dsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IFdoaXNreSBMb3dsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUxvd2xhbmQyJyxcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQgMicsXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUlzbGF5JyxcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnSXNsYXknLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAzLFxuICAgICAgICAgICAgICAgIGRvY3VtZW50czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF91cmw6ICcvdGVzdCcsXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBXaGlza3kgSXNsYXknLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiAnJ1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ01vcmUgaW5mb3JtYXRpb24gYWJvdXQgV2hpc2t5IElzbGF5JyxcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogJydcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lTcGV5c2lkZScsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwZXlzaWRlJyxcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogNCxcbiAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0NhbXBiZWx0b3duJyxcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogNSxcbiAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LWZpbHRlci1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50LWZpbHRlclwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRzLXRpdGxlXCI+RG9jdW1lbnRzICh7eyBkb2N1bWVudENvdW50IH19KTwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1jb250YWluZXJcIj5cbiAgPGNkay10cmVlIFtkYXRhU291cmNlXT1cIm5lc3RlZERhdGFTb3VyY2VcIiBbdHJlZUNvbnRyb2xdPVwibmVzdGVkVHJlZUNvbnRyb2xcIj5cbiAgICA8IS0tIGRvY3VtZW50IC0tPlxuICAgIDxjZGstbmVzdGVkLXRyZWUtbm9kZSAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiIGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1ub2RlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibm9kZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibm9kZV9faWNvblwiIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZD5cbiAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvaW1hZ2VzL2RvY3VtZW50LnBuZ1wiIGNsYXNzPVwibm9kZV9faWNvbkltZ1wiIGFsdD1cIkRvY3VtZW50IGljb25cIj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZS1uYW1lIG5vZGUtbmFtZS1kb2N1bWVudFwiPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Nkay1uZXN0ZWQtdHJlZS1ub2RlPlxuICAgIDwhLS0gZm9sZGVyLS0+XG4gICAgPGNkay1uZXN0ZWQtdHJlZS1ub2RlICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBuZXN0ZWRDaGlsZHJlblwiIGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1ub2RlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibm9kZVwiIGNka1RyZWVOb2RlVG9nZ2xlPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibm9kZV9faWNvblwiIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIid0b2dnbGUgJyArIG5vZGUubmFtZVwiID5cbiAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvaW1hZ2VzL2ZvbGRlci5wbmdcIiBjbGFzcz1cIm5vZGVfX2ljb25JbWdcIiBhbHQ9XCJGb2xkZXIgaWNvblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fY291bnRcIj57e25vZGUuY2hpbGREb2N1bWVudENvdW50fX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGVfX25hbWUgbm9kZV9fbmFtZS0tZm9sZGVyXCI+e3tub2RlLm5hbWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbY2xhc3MuZG9jdW1lbnQtdHJlZS1pbnZpc2libGVdPVwiIW5lc3RlZFRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBjZGtUcmVlTm9kZU91dGxldD48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG4gIDwvY2RrLXRyZWU+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './case-file-view-folder/case-file-view-folder.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseURBQXlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50JztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './case-file-view-field.component';
2
- export * from './components';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export class CaseFileViewCategory {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctY2F0ZWdvcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1jYXRlZ29yeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sb0JBQW9CO0NBTWhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FzZUZpbGVWaWV3RG9jdW1lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWRvY3VtZW50Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0NhdGVnb3J5IHtcbiAgcHVibGljIGNhdGVnb3J5X2lkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXRlZ29yeV9uYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXRlZ29yeV9vcmRlcjogbnVtYmVyO1xuICBwdWJsaWMgZG9jdW1lbnRzOiBDYXNlRmlsZVZpZXdEb2N1bWVudFtdO1xuICBwdWJsaWMgc3ViX2NhdGVnb3JpZXM6IENhc2VGaWxlVmlld0NhdGVnb3J5W107XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export class CaseFileViewDocument {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZG9jdW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXNlLWZpbGUtdmlldy1kb2N1bWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0NBTWhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0RvY3VtZW50IHtcbiAgcHVibGljIGRvY3VtZW50X3VybDogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnRfZmlsZW5hbWU6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50X2JpbmFyeV91cmw6IHN0cmluZztcbiAgcHVibGljIGF0dHJpYnV0ZV9wYXRoOiBzdHJpbmc7XG4gIHB1YmxpYyB1cGxvYWRfdGltZXN0YW1wOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- /**
2
- * DTO to provide typing of the response from the CCD Data Store API for Categories and Documents data.
3
- * @see {@link https://tools.hmcts.net/confluence/x/0KSDX#CaseFileViewDocumentDataendpointLLD-SuccessResponsePayload} for full details
4
- */
5
- export class CategoriesAndDocuments {
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1maWxlLXZpZXcvY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7Q0FJbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXNlRmlsZVZpZXdDYXRlZ29yeSB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXctY2F0ZWdvcnkubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3RG9jdW1lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWRvY3VtZW50Lm1vZGVsJztcblxuLyoqXG4gKiBEVE8gdG8gcHJvdmlkZSB0eXBpbmcgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIENDRCBEYXRhIFN0b3JlIEFQSSBmb3IgQ2F0ZWdvcmllcyBhbmQgRG9jdW1lbnRzIGRhdGEuXG4gKiBAc2VlIHtAbGluayBodHRwczovL3Rvb2xzLmhtY3RzLm5ldC9jb25mbHVlbmNlL3gvMEtTRFgjQ2FzZUZpbGVWaWV3RG9jdW1lbnREYXRhZW5kcG9pbnRMTEQtU3VjY2Vzc1Jlc3BvbnNlUGF5bG9hZH0gZm9yIGZ1bGwgZGV0YWlsc1xuICovXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcmllc0FuZERvY3VtZW50cyB7XG4gIHB1YmxpYyBjYXNlX3ZlcnNpb246IG51bWJlcjtcbiAgcHVibGljIGNhdGVnb3JpZXM6IENhc2VGaWxlVmlld0NhdGVnb3J5W107XG4gIHB1YmxpYyB1bmNhdGVnb3Jpc2VkX2RvY3VtZW50czogQ2FzZUZpbGVWaWV3RG9jdW1lbnRbXTtcbn1cbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Expose, Type } from 'class-transformer';
3
- export class DocumentTreeNode {
4
- get childDocumentCount() {
5
- const countChildren = (childNodes) => {
6
- let count = 0;
7
- if (childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) {
8
- const documents = childNodes.filter(item => item.type === 'document');
9
- count += documents.length;
10
- childNodes.forEach((children) => {
11
- count += countChildren(children.children);
12
- });
13
- }
14
- return count;
15
- };
16
- return countChildren(this.children);
17
- }
18
- }
19
- __decorate([
20
- Type(() => DocumentTreeNode),
21
- __metadata("design:type", Array)
22
- ], DocumentTreeNode.prototype, "children", void 0);
23
- __decorate([
24
- Expose(),
25
- __metadata("design:type", Object),
26
- __metadata("design:paramtypes", [])
27
- ], DocumentTreeNode.prototype, "childDocumentCount", null);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLElBQVcsa0JBQWtCO1FBQzNCLE1BQU0sYUFBYSxHQUFHLENBQUMsVUFBMEMsRUFBRSxFQUFFO1lBQ25FLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNkLElBQUksVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLE1BQU0sRUFBRTtnQkFDdEIsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ3RFLEtBQUssSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUMxQixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQzlCLEtBQUssSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDLENBQUMsQ0FBQzthQUNKO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFRixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBbkJDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOztrREFDUTtBQUdyQztJQURDLE1BQU0sRUFBRTs7OzBEQWdCUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9zZSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuZXhwb3J0IGNsYXNzIERvY3VtZW50VHJlZU5vZGUge1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgdHlwZTogJ2RvY3VtZW50JyB8ICdjYXRlZ29yeSc7XG4gIEBUeXBlKCgpID0+IERvY3VtZW50VHJlZU5vZGUpXG4gIHB1YmxpYyBjaGlsZHJlbj86IERvY3VtZW50VHJlZU5vZGVbXTtcblxuICBARXhwb3NlKClcbiAgcHVibGljIGdldCBjaGlsZERvY3VtZW50Q291bnQoKSB7XG4gICAgY29uc3QgY291bnRDaGlsZHJlbiA9IChjaGlsZE5vZGVzOiBEb2N1bWVudFRyZWVOb2RlW10gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICBpZiAoY2hpbGROb2Rlcz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50cyA9IGNoaWxkTm9kZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnZG9jdW1lbnQnKTtcbiAgICAgICAgY291bnQgKz0gZG9jdW1lbnRzLmxlbmd0aDtcbiAgICAgICAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZHJlbikgPT4ge1xuICAgICAgICAgIGNvdW50ICs9IGNvdW50Q2hpbGRyZW4oY2hpbGRyZW4uY2hpbGRyZW4pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH07XG5cbiAgICByZXR1cm4gY291bnRDaGlsZHJlbih0aGlzLmNoaWxkcmVuKTtcbiAgfVxufVxuIl19
@@ -1,5 +0,0 @@
1
- export * from './case-file-view-category.model';
2
- export * from './case-file-view-document.model';
3
- export * from './categories-and-documents.model';
4
- export * from './document-tree-node/document-tree-node.model';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1jYXRlZ29yeS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWRvY3VtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtdHJlZS1ub2RlL2RvY3VtZW50LXRyZWUtbm9kZS5tb2RlbCc7XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { AbstractAppConfig } from '../../../app.config';
4
- import { HttpErrorService, HttpService } from '../http';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../http";
7
- import * as i2 from "../../../app.config";
8
- export class CaseFileViewService {
9
- constructor(http, appConfig, errorService) {
10
- this.http = http;
11
- this.appConfig = appConfig;
12
- this.errorService = errorService;
13
- }
14
- /**
15
- * Retrieves the categories and documents for a case.
16
- *
17
- * @param caseRef 16-digit Case Reference number of the case
18
- * @returns An `Observable` of the `CategoriesAndDocuments` for the case
19
- */
20
- getCategoriesAndDocuments(caseRef) {
21
- let url = this.appConfig.getCategoriesAndDocumentsUrl();
22
- if (url) {
23
- url += `/${caseRef}`;
24
- return this.http.get(url, { observe: 'body' });
25
- }
26
- return of(null);
27
- }
28
- updateDocumentCategory(caseRef, caseVersion, attributePath, categoryId) {
29
- let url = this.appConfig.getDocumentDataUrl();
30
- if (url) {
31
- url += `/${caseRef}`;
32
- const body = {
33
- case_version: caseVersion,
34
- attribute_path: attributePath,
35
- category_id: categoryId
36
- };
37
- return this.http.put(url, body, { observe: 'body' });
38
- }
39
- return of(null);
40
- }
41
- }
42
- CaseFileViewService.ɵfac = function CaseFileViewService_Factory(t) { return new (t || CaseFileViewService)(i0.ɵɵinject(i1.HttpService), i0.ɵɵinject(i2.AbstractAppConfig), i0.ɵɵinject(i1.HttpErrorService)); };
43
- CaseFileViewService.ɵprov = i0.ɵɵdefineInjectable({ token: CaseFileViewService, factory: CaseFileViewService.ɵfac });
44
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewService, [{
45
- type: Injectable
46
- }], function () { return [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }, { type: i1.HttpErrorService }]; }, null); })();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQUd4RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ21CLElBQWlCLEVBQ2pCLFNBQTRCLEVBQzVCLFlBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWtCO0lBQzdDLENBQUM7SUFFTDs7Ozs7T0FLRztJQUNJLHlCQUF5QixDQUFDLE9BQWU7UUFDOUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBRXhELElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFFckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztTQUM5QztRQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsYUFBcUIsRUFDckIsVUFBa0I7UUFDOUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTlDLElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsWUFBWSxFQUFFLFdBQVc7Z0JBQ3pCLGNBQWMsRUFBRSxhQUFhO2dCQUM3QixXQUFXLEVBQUUsVUFBVTthQUN4QixDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDOztzRkEzQ1UsbUJBQW1COzJEQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2F0ZWdvcmllc0FuZERvY3VtZW50cyB9IGZyb20gJy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JTZXJ2aWNlLCBIdHRwU2VydmljZSB9IGZyb20gJy4uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FzZUZpbGVWaWV3U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JTZXJ2aWNlOiBIdHRwRXJyb3JTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgY2F0ZWdvcmllcyBhbmQgZG9jdW1lbnRzIGZvciBhIGNhc2UuXG4gICAqXG4gICAqIEBwYXJhbSBjYXNlUmVmIDE2LWRpZ2l0IENhc2UgUmVmZXJlbmNlIG51bWJlciBvZiB0aGUgY2FzZVxuICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgb2YgdGhlIGBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzYCBmb3IgdGhlIGNhc2VcbiAgICovXG4gIHB1YmxpYyBnZXRDYXRlZ29yaWVzQW5kRG9jdW1lbnRzKGNhc2VSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8Q2F0ZWdvcmllc0FuZERvY3VtZW50cz4ge1xuICAgIGxldCB1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRDYXRlZ29yaWVzQW5kRG9jdW1lbnRzVXJsKCk7XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICB1cmwgKz0gYC8ke2Nhc2VSZWZ9YDtcblxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7b2JzZXJ2ZTogJ2JvZHknfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKG51bGwpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURvY3VtZW50Q2F0ZWdvcnkoY2FzZVJlZjogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlVmVyc2lvbjogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVQYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2F0ZWdvcmllc0FuZERvY3VtZW50cz4ge1xuICAgIGxldCB1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXREb2N1bWVudERhdGFVcmwoKTtcblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHVybCArPSBgLyR7Y2FzZVJlZn1gO1xuICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgY2FzZV92ZXJzaW9uOiBjYXNlVmVyc2lvbixcbiAgICAgICAgYXR0cmlidXRlX3BhdGg6IGF0dHJpYnV0ZVBhdGgsXG4gICAgICAgIGNhdGVnb3J5X2lkOiBjYXRlZ29yeUlkXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh1cmwsIGJvZHksIHtvYnNlcnZlOiAnYm9keSd9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2YobnVsbCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './case-file-view.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Nhc2UtZmlsZS12aWV3L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LnNlcnZpY2UnO1xuIl19
@@ -1,19 +0,0 @@
1
- import { AfterViewInit, ElementRef, OnInit } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
3
- import { Observable } from 'rxjs';
4
- import { CategoriesAndDocuments } from '../../../domain/case-file-view';
5
- import { CaseFileViewService } from '../../../services';
6
- import * as i0 from "@angular/core";
7
- export declare class CaseFileViewFieldComponent implements OnInit, AfterViewInit {
8
- private readonly elementRef;
9
- private readonly route;
10
- private caseFileViewService;
11
- static readonly PARAM_CASE_ID = "cid";
12
- categoriesAndDocuments$: Observable<CategoriesAndDocuments>;
13
- constructor(elementRef: ElementRef, route: ActivatedRoute, caseFileViewService: CaseFileViewService);
14
- ngOnInit(): void;
15
- ngAfterViewInit(): void;
16
- static ɵfac: i0.ɵɵFactoryDef<CaseFileViewFieldComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDefWithMeta<CaseFileViewFieldComponent, "ccd-case-file-view-field", never, {}, {}, never, never>;
18
- }
19
- //# sourceMappingURL=case-file-view-field.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"case-file-view-field.component.d.ts","sourceRoot":"","sources":["../../../../../../../projects/ccd-case-ui-toolkit/src/lib/shared/components/palette/case-file-view/case-file-view-field.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAa,UAAU,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;;AAExD,qBAKa,0BAA2B,YAAW,MAAM,EAAE,aAAa;IAI1D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,mBAAmB;IALvC,gBAAuB,aAAa,SAAS;IACtC,uBAAuB,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;gBAEtC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB;IAGrD,QAAQ,IAAI,IAAI;IAKhB,eAAe,IAAI,IAAI;iCAdnB,0BAA0B;2CAA1B,0BAA0B;CA2CtC"}
@@ -1,26 +0,0 @@
1
- import { NestedTreeControl } from '@angular/cdk/tree';
2
- import { OnDestroy, OnInit } from '@angular/core';
3
- import { Observable, Subscription } from 'rxjs';
4
- import { CaseFileViewCategory, CaseFileViewDocument, CategoriesAndDocuments, DocumentTreeNode } from '../../../../../domain/case-file-view';
5
- import * as i0 from "@angular/core";
6
- export declare class CaseFileViewFolderComponent implements OnInit, OnDestroy {
7
- private static readonly UNCATEGORISED_DOCUMENTS_TITLE;
8
- categoriesAndDocuments: Observable<CategoriesAndDocuments>;
9
- nestedTreeControl: NestedTreeControl<DocumentTreeNode>;
10
- nestedDataSource: DocumentTreeNode[];
11
- categories: CaseFileViewCategory[];
12
- categoriesAndDocumentsSubscription: Subscription;
13
- private getChildren;
14
- nestedChildren: (_: number, nodeData: DocumentTreeNode) => DocumentTreeNode[];
15
- get documentCount(): number;
16
- constructor();
17
- ngOnInit(): void;
18
- generateTreeData(categories: CaseFileViewCategory[]): DocumentTreeNode[];
19
- getDocuments(documents: CaseFileViewDocument[]): DocumentTreeNode[];
20
- getUncategorisedDocuments(uncategorisedDocuments: CaseFileViewDocument[]): DocumentTreeNode;
21
- ngOnDestroy(): void;
22
- loadCategories(): CaseFileViewCategory[];
23
- static ɵfac: i0.ɵɵFactoryDef<CaseFileViewFolderComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDefWithMeta<CaseFileViewFolderComponent, "ccd-case-file-view-folder", never, { "categoriesAndDocuments": "categoriesAndDocuments"; }, {}, never, never>;
25
- }
26
- //# sourceMappingURL=case-file-view-folder.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"case-file-view-folder.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../projects/ccd-case-ui-toolkit/src/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAM,YAAY,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;;AAE9C,qBAKa,2BAA4B,YAAW,MAAM,EAAE,SAAS;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAA6B;IAElE,sBAAsB,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAEpE,iBAAiB,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACvD,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,UAAU,EAAE,oBAAoB,EAAE,CAAM;IACxC,kCAAkC,EAAE,YAAY,CAAC;IAExD,OAAO,CAAC,WAAW,CAAiD;IAC7D,cAAc,MAAO,MAAM,YAAY,gBAAgB,wBAAuB;IACrF,IAAW,aAAa,WAQvB;;IAMM,QAAQ,IAAI,IAAI;IAgBhB,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,EAAE,GAAG,gBAAgB,EAAE;IAcxE,YAAY,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,gBAAgB,EAAE;IAanE,yBAAyB,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,GAAG,gBAAgB;IAkB3F,WAAW,IAAI,IAAI;IAMnB,cAAc,IAAI,oBAAoB,EAAE;iCA7FpC,2BAA2B;2CAA3B,2BAA2B;CA6PvC"}
@@ -1,2 +0,0 @@
1
- export * from './case-file-view-folder/case-file-view-folder.component';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../projects/ccd-case-ui-toolkit/src/lib/shared/components/palette/case-file-view/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,yDAAyD,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './case-file-view-field.component';
2
- export * from './components';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../projects/ccd-case-ui-toolkit/src/lib/shared/components/palette/case-file-view/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,cAAc,CAAC"}
@@ -1,9 +0,0 @@
1
- import { CaseFileViewDocument } from './case-file-view-document.model';
2
- export declare class CaseFileViewCategory {
3
- category_id: string;
4
- category_name: string;
5
- category_order: number;
6
- documents: CaseFileViewDocument[];
7
- sub_categories: CaseFileViewCategory[];
8
- }
9
- //# sourceMappingURL=case-file-view-category.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"case-file-view-category.model.d.ts","sourceRoot":"","sources":["../../../../../../projects/ccd-case-ui-toolkit/src/lib/shared/domain/case-file-view/case-file-view-category.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,qBAAa,oBAAoB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,cAAc,EAAE,oBAAoB,EAAE,CAAC;CAC/C"}
@@ -1,8 +0,0 @@
1
- export declare class CaseFileViewDocument {
2
- document_url: string;
3
- document_filename: string;
4
- document_binary_url: string;
5
- attribute_path: string;
6
- upload_timestamp: string;
7
- }
8
- //# sourceMappingURL=case-file-view-document.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"case-file-view-document.model.d.ts","sourceRoot":"","sources":["../../../../../../projects/ccd-case-ui-toolkit/src/lib/shared/domain/case-file-view/case-file-view-document.model.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CACjC"}
@@ -1,12 +0,0 @@
1
- import { CaseFileViewCategory } from './case-file-view-category.model';
2
- import { CaseFileViewDocument } from './case-file-view-document.model';
3
- /**
4
- * DTO to provide typing of the response from the CCD Data Store API for Categories and Documents data.
5
- * @see {@link https://tools.hmcts.net/confluence/x/0KSDX#CaseFileViewDocumentDataendpointLLD-SuccessResponsePayload} for full details
6
- */
7
- export declare class CategoriesAndDocuments {
8
- case_version: number;
9
- categories: CaseFileViewCategory[];
10
- uncategorised_documents: CaseFileViewDocument[];
11
- }
12
- //# sourceMappingURL=categories-and-documents.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"categories-and-documents.model.d.ts","sourceRoot":"","sources":["../../../../../../projects/ccd-case-ui-toolkit/src/lib/shared/domain/case-file-view/categories-and-documents.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;GAGG;AACH,qBAAa,sBAAsB;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;CACxD"}