nuxeo-development-framework 2.0.9 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +8683 -454
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +84 -0
- package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +35 -0
- package/esm2015/lib/components/activities-log/activities-log.module.js +30 -0
- package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +54 -0
- package/esm2015/lib/components/attachment-item/attachment-item.module.js +44 -0
- package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +40 -0
- package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +157 -0
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +30 -0
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +30 -0
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +44 -0
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +140 -0
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +24 -0
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +177 -0
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +43 -0
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +39 -0
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +34 -0
- package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +132 -0
- package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +264 -0
- package/esm2015/lib/components/file-manger/components/copy/copy.component.js +119 -0
- package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +91 -0
- package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +455 -0
- package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +26 -0
- package/esm2015/lib/components/file-manger/components/delete/delete.component.js +77 -0
- package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +114 -0
- package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +80 -0
- package/esm2015/lib/components/file-manger/components/move/move.component.js +108 -0
- package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +111 -0
- package/esm2015/lib/components/file-manger/components/rename/rename.component.js +86 -0
- package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +314 -0
- package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +294 -0
- package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +257 -0
- package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +64 -0
- package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +71 -0
- package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +358 -0
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +1031 -0
- package/esm2015/lib/components/file-manger/file-manger.module.js +295 -0
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +51 -0
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +30 -0
- package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +177 -0
- package/esm2015/lib/components/permissions/permission.service.js +118 -0
- package/esm2015/lib/components/permissions/permissions/permissions.component.js +232 -0
- package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +117 -0
- package/esm2015/lib/components/permissions/permissions.module.js +71 -0
- package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +47 -0
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +27 -0
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +116 -0
- package/esm2015/lib/components/user/user/user.component.js +29 -0
- package/esm2015/lib/components/user/user.module.js +30 -0
- package/esm2015/lib/directive/directive.module.js +9 -4
- package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +46 -0
- package/esm2015/lib/shared/libraryShared.module.js +1 -4
- package/esm2015/lib/shared-services/dialog-mangment.service.js +61 -0
- package/esm2015/lib/shared-services/dynamic-form.service.js +241 -0
- package/esm2015/lib/shared-services/file-manager.adapter.js +74 -0
- package/esm2015/lib/shared-services/file-manager.service.js +793 -0
- package/esm2015/lib/shared-services/global-pdftron.service.js +46 -0
- package/esm2015/lib/shared-services/mainfolder.service.js +160 -0
- package/esm2015/lib/shared-services/publishing-document.service.js +202 -0
- package/esm2015/lib/shared-services/recently-viewed.service.js +57 -0
- package/esm2015/lib/shared-services/shared-docs.service.js +135 -0
- package/esm2015/lib/shared-services/shared-services.module.js +20 -0
- package/esm2015/lib/shared-services/upload-file.service.js +29 -0
- package/esm2015/lib/shared-services/upload-managment.service.js +151 -0
- package/esm2015/lib/shared-services/user.service.js +54 -0
- package/esm2015/public-api.js +65 -1
- package/fesm2015/nuxeo-development-framework.js +7969 -154
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/activities-log/activities-log/activities-log.component.d.ts +23 -0
- package/lib/components/activities-log/activities-log/activities-log.service.d.ts +9 -0
- package/lib/components/activities-log/activities-log.module.d.ts +10 -0
- package/lib/components/attachment-item/attachment-item/attachment-item.component.d.ts +21 -0
- package/lib/components/attachment-item/attachment-item.module.d.ts +13 -0
- package/lib/components/attachment-modal/attachment-modal.module.d.ts +12 -0
- package/lib/components/attachment-modal/attachments/attachments.component.d.ts +50 -0
- package/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +12 -0
- package/lib/components/confirmation-dialog/confirmation-dialog.module.d.ts +10 -0
- package/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.d.ts +17 -0
- package/lib/components/display-suitable-icon/display-suitable-icon/icon.service.d.ts +8 -0
- package/lib/components/display-suitable-icon/display-suitable-icon.module.d.ts +8 -0
- package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.d.ts +137 -0
- package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.d.ts +12 -0
- package/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.d.ts +13 -0
- package/lib/components/dynamic-tabs/dynamic-tabs.module.d.ts +11 -0
- package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +31 -0
- package/lib/components/file-manger/components/clipboard/clipboard.component.d.ts +41 -0
- package/lib/components/file-manger/components/copy/copy.component.d.ts +32 -0
- package/lib/components/file-manger/components/create-directory/create-directory.component.d.ts +24 -0
- package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +108 -0
- package/lib/components/file-manger/components/creation-type/creation-type.component.d.ts +11 -0
- package/lib/components/file-manger/components/delete/delete.component.d.ts +30 -0
- package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +56 -0
- package/lib/components/file-manger/components/loan-request/loan-request.component.d.ts +23 -0
- package/lib/components/file-manger/components/move/move.component.d.ts +32 -0
- package/lib/components/file-manger/components/publish-dialog/publish-dialog.component.d.ts +32 -0
- package/lib/components/file-manger/components/rename/rename.component.d.ts +25 -0
- package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +95 -0
- package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +58 -0
- package/lib/components/file-manger/components/sidepanel/sidepanel.component.d.ts +62 -0
- package/lib/components/file-manger/components/template-modal/template-modal.component.d.ts +34 -0
- package/lib/components/file-manger/components/transfer-doc/transfer-doc.component.d.ts +24 -0
- package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +194 -0
- package/lib/components/file-manger/file-manager.abstract.d.ts +173 -0
- package/lib/components/file-manger/file-manger.module.d.ts +59 -0
- package/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.d.ts +17 -0
- package/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.d.ts +10 -0
- package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +44 -0
- package/lib/components/permissions/permission.service.d.ts +21 -0
- package/lib/components/permissions/permissions/permissions.component.d.ts +48 -0
- package/lib/components/permissions/permissions-template/permissions-template.component.d.ts +22 -0
- package/lib/components/permissions/permissions.module.d.ts +21 -0
- package/lib/components/select-users-by-department/select-users-by-department.module.d.ts +13 -0
- package/lib/components/select-users-by-department/select-users-by-departments/department-management.service.d.ts +10 -0
- package/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.d.ts +33 -0
- package/lib/components/user/user/user.component.d.ts +12 -0
- package/lib/components/user/user.module.d.ts +10 -0
- package/lib/directive/directive.module.d.ts +3 -2
- package/lib/directive/drag-and-drop/drag-and-drop.directive.d.ts +11 -0
- package/lib/shared/libraryShared.module.d.ts +1 -1
- package/lib/shared-services/dialog-mangment.service.d.ts +15 -0
- package/lib/shared-services/dynamic-form.service.d.ts +24 -0
- package/lib/shared-services/file-manager.adapter.d.ts +48 -0
- package/lib/shared-services/file-manager.service.d.ts +94 -0
- package/lib/shared-services/global-pdftron.service.d.ts +10 -0
- package/lib/shared-services/mainfolder.service.d.ts +32 -0
- package/lib/shared-services/publishing-document.service.d.ts +25 -0
- package/lib/shared-services/recently-viewed.service.d.ts +17 -0
- package/lib/shared-services/shared-docs.service.d.ts +21 -0
- package/lib/shared-services/shared-services.module.d.ts +7 -0
- package/lib/shared-services/upload-file.service.d.ts +10 -0
- package/lib/shared-services/upload-managment.service.d.ts +72 -0
- package/lib/shared-services/user.service.d.ts +12 -0
- package/package.json +7 -6
- package/public-api.d.ts +62 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { from } from 'rxjs';
|
|
3
|
+
import { catchError, map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../Core/services/nuxeo/nuxeo.service";
|
|
6
|
+
import * as i2 from "../configuration/app-config.service";
|
|
7
|
+
export class DynamicFormService {
|
|
8
|
+
constructor(nuxeoService, environment, configService) {
|
|
9
|
+
this.nuxeoService = nuxeoService;
|
|
10
|
+
this.environment = environment;
|
|
11
|
+
this.configService = configService;
|
|
12
|
+
this.myPrefix = {};
|
|
13
|
+
this.excludedSchemas = ["generaldocument", "file_schema", "dublincore", "facetedTag", "common", "uid", "file", "files", "relatedtext"];
|
|
14
|
+
this.controlsTypes = ['string', 'boolean', 'string[]', 'long', 'date', 'double'];
|
|
15
|
+
this.dynamicFieldsOperations = this.configService.myConfiguration.dynamicForms.operations;
|
|
16
|
+
}
|
|
17
|
+
getSchemaComponents(type) {
|
|
18
|
+
return from(this.nuxeoService.nuxeoClient.request(`config/types/${type}`)
|
|
19
|
+
.get({
|
|
20
|
+
headers: {
|
|
21
|
+
'fetch.schema': 'fields'
|
|
22
|
+
}
|
|
23
|
+
})).pipe(map((data) => {
|
|
24
|
+
let fields = {};
|
|
25
|
+
let filteredSchemas = [];
|
|
26
|
+
if (data.schemas) {
|
|
27
|
+
// exclude some schemas from the returned schemas
|
|
28
|
+
data.schemas.filter(item => {
|
|
29
|
+
if (this.excludedSchemas.indexOf(item.name) === -1) {
|
|
30
|
+
filteredSchemas.push(item);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
filteredSchemas.map(item => {
|
|
34
|
+
if (item.fields) {
|
|
35
|
+
Object.keys(item.fields).map(key => {
|
|
36
|
+
//control type is exist in my provided controls types
|
|
37
|
+
if (this.controlsTypes.indexOf(item.fields[key]['type']) > -1) {
|
|
38
|
+
fields[key] = Object.assign({}, item.fields[key]);
|
|
39
|
+
this.myPrefix[key] = item.prefix ? item.prefix : '';
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return this.adapt(fields);
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
getSchemaComponentsFromFacets(schemaId) {
|
|
49
|
+
return from(this.nuxeoService.nuxeoClient.request(`config/facets/${schemaId}`)
|
|
50
|
+
.get({
|
|
51
|
+
headers: {
|
|
52
|
+
'fetch.schema': 'fields'
|
|
53
|
+
}
|
|
54
|
+
})).pipe(map((data) => {
|
|
55
|
+
let fields = {};
|
|
56
|
+
let filteredSchemas = [];
|
|
57
|
+
if (data.schemas) {
|
|
58
|
+
// exclude some schemas from the returned schemas
|
|
59
|
+
data.schemas.filter(item => {
|
|
60
|
+
if (this.excludedSchemas.indexOf(item.name) === -1) {
|
|
61
|
+
filteredSchemas.push(item);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
filteredSchemas.map(item => {
|
|
65
|
+
if (item.fields) {
|
|
66
|
+
Object.keys(item.fields).map(key => {
|
|
67
|
+
//control type is exist in my provided controls types
|
|
68
|
+
if (this.controlsTypes.indexOf(item.fields[key]['type']) > -1) {
|
|
69
|
+
fields[key] = Object.assign({}, item.fields[key]);
|
|
70
|
+
this.myPrefix[key] = item.prefix ? item.prefix : '';
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return this.adapt(fields);
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
getDynamicForm(type) {
|
|
80
|
+
return from(this.nuxeoService.nuxeoClient
|
|
81
|
+
.operation(this.dynamicFieldsOperations.getFormJson, {
|
|
82
|
+
url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
|
|
83
|
+
})
|
|
84
|
+
.context({
|
|
85
|
+
"schema": type
|
|
86
|
+
})
|
|
87
|
+
.execute({
|
|
88
|
+
headers: {
|
|
89
|
+
properties: '*',
|
|
90
|
+
},
|
|
91
|
+
})).pipe(map((res) => {
|
|
92
|
+
if (res.entries.length > 0) {
|
|
93
|
+
let myData = JSON.parse(res['entries'][0]['properties']['note:note']);
|
|
94
|
+
this.myPrefix = myData.prefix;
|
|
95
|
+
return myData;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
}), catchError((err) => {
|
|
101
|
+
//console.log(err);
|
|
102
|
+
throw err;
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
createFormJson(type, jsonObject) {
|
|
106
|
+
jsonObject['prefix'] = this.myPrefix;
|
|
107
|
+
return from(this.nuxeoService.nuxeoClient
|
|
108
|
+
.operation('AC_UA_DMS_DynamicForm_Create', {
|
|
109
|
+
url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
|
|
110
|
+
})
|
|
111
|
+
.context({
|
|
112
|
+
"schema": type,
|
|
113
|
+
"json": jsonObject
|
|
114
|
+
})
|
|
115
|
+
.execute()).pipe(catchError((err) => {
|
|
116
|
+
//console.log(err);
|
|
117
|
+
throw err;
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
adapt(fields) {
|
|
121
|
+
const builderComponents = {};
|
|
122
|
+
fields = Object.keys(fields).map(fieldKey => {
|
|
123
|
+
const adaptedField = {
|
|
124
|
+
title: fieldKey,
|
|
125
|
+
icon: 'terminal',
|
|
126
|
+
prefix: fields[fieldKey]['prefix'],
|
|
127
|
+
schema: {
|
|
128
|
+
// 'validate.required': constraints.filter(item => item.name === 'NotNullConstraint').length > 0,
|
|
129
|
+
label: fieldKey,
|
|
130
|
+
type: '',
|
|
131
|
+
fixedKey: fieldKey,
|
|
132
|
+
input: true
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
switch (fields[fieldKey].type) {
|
|
136
|
+
case 'string':
|
|
137
|
+
adaptedField.schema.type = 'textfield';
|
|
138
|
+
const field = fields[fieldKey];
|
|
139
|
+
const constraints = field.constraints ? field.constraints : [];
|
|
140
|
+
const vocabularySearch = constraints.filter(item => item.name === 'directoryResolver');
|
|
141
|
+
const vocabulary = vocabularySearch.length ? vocabularySearch[0].parameters.directory : null;
|
|
142
|
+
const userSelector = constraints.filter(item => item.name === 'userManagerResolver');
|
|
143
|
+
if (vocabulary) {
|
|
144
|
+
adaptedField.schema.type = 'vocabulary';
|
|
145
|
+
adaptedField.schema['customOptions.vocId'] = vocabulary;
|
|
146
|
+
}
|
|
147
|
+
else if (userSelector.length > 0) {
|
|
148
|
+
adaptedField.schema.type = 'userSelector';
|
|
149
|
+
// adaptedField.schema['customOptions.multipleMode'] = true;
|
|
150
|
+
}
|
|
151
|
+
break;
|
|
152
|
+
case 'boolean':
|
|
153
|
+
adaptedField.schema.type = 'toggle';
|
|
154
|
+
break;
|
|
155
|
+
case 'string[]':
|
|
156
|
+
adaptedField.schema.type = 'textfield';
|
|
157
|
+
// tslint:disable-next-line:no-string-literal
|
|
158
|
+
// adaptedField.schema['multiple'] = true;
|
|
159
|
+
const field1 = fields[fieldKey];
|
|
160
|
+
const itemConstraints = field1.itemConstraints ? field1.itemConstraints : [];
|
|
161
|
+
const multipleUserSelector = itemConstraints.filter(item => item.name === 'userManagerResolver');
|
|
162
|
+
if (multipleUserSelector.length > 0) {
|
|
163
|
+
adaptedField.schema.type = 'userSelector';
|
|
164
|
+
adaptedField.schema['customOptions.multipleMode'] = true;
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
167
|
+
case 'long':
|
|
168
|
+
adaptedField.schema.type = 'number';
|
|
169
|
+
break;
|
|
170
|
+
case 'double':
|
|
171
|
+
adaptedField.schema.type = 'number';
|
|
172
|
+
break;
|
|
173
|
+
case 'date':
|
|
174
|
+
adaptedField.schema.type = 'customdate';
|
|
175
|
+
}
|
|
176
|
+
return adaptedField;
|
|
177
|
+
});
|
|
178
|
+
fields.forEach(field => {
|
|
179
|
+
builderComponents[field.schema.fixedKey] = field;
|
|
180
|
+
});
|
|
181
|
+
return builderComponents;
|
|
182
|
+
}
|
|
183
|
+
constructDynamicFormPayload(data, dynamicForm) {
|
|
184
|
+
let updatedDynamicValues = {};
|
|
185
|
+
Object.keys(data).map(key => {
|
|
186
|
+
let updatedKey = key.replace(':', '');
|
|
187
|
+
let prefix = dynamicForm.prefix[updatedKey];
|
|
188
|
+
if (prefix) {
|
|
189
|
+
// check if component is user selector to map its data from object to username or id only
|
|
190
|
+
if (data[key] && data[key]['userSelector'] && data[key]['userSelector'] === true) {
|
|
191
|
+
updatedDynamicValues[prefix + ':' + updatedKey] = this.getUserSelectorValue(data[key]['value']);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
updatedDynamicValues[prefix + ':' + updatedKey] = data[key];
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
if (data[key]['userSelector'] && data[key]['userSelector'] === true) {
|
|
199
|
+
updatedDynamicValues[updatedKey] = this.getUserSelectorValue(data[key]['value']);
|
|
200
|
+
;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
updatedDynamicValues[updatedKey] = data[key];
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
this.removeNullValues(updatedDynamicValues);
|
|
208
|
+
return updatedDynamicValues;
|
|
209
|
+
}
|
|
210
|
+
getUserSelectorValue(value) {
|
|
211
|
+
if (!Array.isArray(value)) {
|
|
212
|
+
return value.id ? value.id : value.properties.username;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
let usersNames = [];
|
|
216
|
+
value.map(item => {
|
|
217
|
+
usersNames.push((item.id ? item.id : item.properties.username));
|
|
218
|
+
});
|
|
219
|
+
return usersNames;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
removeNullValues(data) {
|
|
223
|
+
Object.keys(data).map(key => {
|
|
224
|
+
if (data[key] === null) {
|
|
225
|
+
delete data[key];
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
DynamicFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormService, deps: [{ token: i1.NuxeoService }, { token: 'environment' }, { token: i2.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
231
|
+
DynamicFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormService, providedIn: 'root' });
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormService, decorators: [{
|
|
233
|
+
type: Injectable,
|
|
234
|
+
args: [{
|
|
235
|
+
providedIn: 'root'
|
|
236
|
+
}]
|
|
237
|
+
}], ctorParameters: function () { return [{ type: i1.NuxeoService }, { type: undefined, decorators: [{
|
|
238
|
+
type: Inject,
|
|
239
|
+
args: ['environment']
|
|
240
|
+
}] }, { type: i2.AppConfigService }]; } });
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLElBQUksRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFHLFVBQVUsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVFqRCxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQW9CLFlBQTJCLEVBQ2QsV0FBVyxFQUNsQyxhQUFnQztRQUZ0QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQU4xQyxhQUFRLEdBQUUsRUFBRSxDQUFDO1FBRWIsb0JBQWUsR0FBRyxDQUFDLGlCQUFpQixFQUFHLGFBQWEsRUFBRyxZQUFZLEVBQUcsWUFBWSxFQUFFLFFBQVEsRUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxhQUFhLENBQUMsQ0FBQztRQUNsSSxrQkFBYSxHQUFHLENBQUMsUUFBUSxFQUFHLFNBQVMsRUFBRyxVQUFVLEVBQUcsTUFBTSxFQUFHLE1BQU0sRUFBRyxRQUFRLENBQUMsQ0FBQztRQUs5RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUUxRixDQUFDO0lBRUgsbUJBQW1CLENBQUMsSUFBSTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdC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QUMsR0FBRyxDQUFDLENBQUM7YUFDbEI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7OytHQS9PVSxrQkFBa0IsOENBTW5CLGFBQWE7bUhBTlosa0JBQWtCLGNBSGpCLE1BQU07MkZBR1Asa0JBQWtCO2tCQUo5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGtleXMgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyAgY2F0Y2hFcnJvciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uL0NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWd1cmF0aW9uL2FwcC1jb25maWcuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1TZXJ2aWNlIHtcclxuICBteVByZWZpeCA9e307XHJcbiAgZHluYW1pY0ZpZWxkc09wZXJhdGlvbnM7XHJcbiAgZXhjbHVkZWRTY2hlbWFzID0gW1wiZ2VuZXJhbGRvY3VtZW50XCIgLCBcImZpbGVfc2NoZW1hXCIgLCBcImR1YmxpbmNvcmVcIiAsIFwiZmFjZXRlZFRhZ1wiICxcImNvbW1vblwiLFwidWlkXCIsXCJmaWxlXCIsXCJmaWxlc1wiLFwicmVsYXRlZHRleHRcIl07XHJcbiBjb250cm9sc1R5cGVzID0gWydzdHJpbmcnICwgJ2Jvb2xlYW4nICwgJ3N0cmluZ1tdJyAsICdsb25nJyAsICdkYXRlJyAsICdkb3VibGUnXTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG51eGVvU2VydmljZSA6IE51eGVvU2VydmljZSAsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2UgOiBBcHBDb25maWdTZXJ2aWNlXHJcbiAgICApIHsgXHJcbiAgICB0aGlzLmR5bmFtaWNGaWVsZHNPcGVyYXRpb25zID0gdGhpcy5jb25maWdTZXJ2aWNlLm15Q29uZmlndXJhdGlvbi5keW5hbWljRm9ybXMub3BlcmF0aW9ucztcclxuXHJcbiAgICB9XHJcblxyXG4gIGdldFNjaGVtYUNvbXBvbmVudHModHlwZSl7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5yZXF1ZXN0KGBjb25maWcvdHlwZXMvJHt0eXBlfWApXHJcbiAgICAuZ2V0KHtcclxuICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAnZmV0Y2guc2NoZW1hJzogJ2ZpZWxkcydcclxuICAgIH1cclxuICAgIH0pKS5waXBlKG1hcCgoZGF0YSA6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCBmaWVsZHMgPSB7fTtcclxuICAgICAgICBsZXQgZmlsdGVyZWRTY2hlbWFzID0gW107XHJcbiAgICAgICAgaWYoZGF0YS5zY2hlbWFzKXtcclxuICAgICAgICAgIC8vIGV4Y2x1ZGUgc29tZSBzY2hlbWFzIGZyb20gdGhlIHJldHVybmVkIHNjaGVtYXNcclxuICAgICAgICAgICBkYXRhLnNjaGVtYXMuZmlsdGVyKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLmV4Y2x1ZGVkU2NoZW1hcy5pbmRleE9mKGl0ZW0ubmFtZSkgPT09IC0xKXtcclxuICAgICAgICAgICAgICBmaWx0ZXJlZFNjaGVtYXMucHVzaChpdGVtKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgZmlsdGVyZWRTY2hlbWFzLm1hcChpdGVtID0+IHtcclxuICAgICAgICAgICAgaWYoaXRlbS5maWVsZHMpe1xyXG4gICAgICAgICAgICAgIE9iamVjdC5rZXlzKGl0ZW0uZmllbGRzKS5tYXAoa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIC8vY29udHJvbCB0eXBlIGlzIGV4aXN0IGluIG15IHByb3ZpZGVkIGNvbnRyb2xzIHR5cGVzXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnRyb2xzVHlwZXMuaW5kZXhPZihpdGVtLmZpZWxkc1trZXldWyd0eXBlJ10pID4gLTEpeyBcclxuICAgICAgICAgICAgICAgICAgZmllbGRzW2tleV0gPSB7Li4uaXRlbS5maWVsZHNba2V5XSB9XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubXlQcmVmaXhba2V5XSA9IGl0ZW0ucHJlZml4ID8gaXRlbS5wcmVmaXggOiAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHQoZmllbGRzKTtcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGdldFNjaGVtYUNvbXBvbmVudHNGcm9tRmFjZXRzKHNjaGVtYUlkKXtcclxuICAgIHJldHVybiBmcm9tKHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnJlcXVlc3QoYGNvbmZpZy9mYWNldHMvJHtzY2hlbWFJZH1gKVxyXG4gICAgLmdldCh7XHJcbiAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgJ2ZldGNoLnNjaGVtYSc6ICdmaWVsZHMnXHJcbiAgICB9XHJcbiAgICB9KSkucGlwZShtYXAoKGRhdGEgOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgZmllbGRzID0ge307XHJcbiAgICAgICAgbGV0IGZpbHRlcmVkU2NoZW1hcyA9IFtdO1xyXG4gICAgICAgIGlmKGRhdGEuc2NoZW1hcyl7XHJcbiAgICAgICAgICAvLyBleGNsdWRlIHNvbWUgc2NoZW1hcyBmcm9tIHRoZSByZXR1cm5lZCBzY2hlbWFzXHJcbiAgICAgICAgICAgZGF0YS5zY2hlbWFzLmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgICAgICAgaWYodGhpcy5leGNsdWRlZFNjaGVtYXMuaW5kZXhPZihpdGVtLm5hbWUpID09PSAtMSl7XHJcbiAgICAgICAgICAgICAgZmlsdGVyZWRTY2hlbWFzLnB1c2goaXRlbSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGZpbHRlcmVkU2NoZW1hcy5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgICAgIGlmKGl0ZW0uZmllbGRzKXtcclxuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhpdGVtLmZpZWxkcykubWFwKGtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnRyb2wgdHlwZSBpcyBleGlzdCBpbiBteSBwcm92aWRlZCBjb250cm9scyB0eXBlc1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jb250cm9sc1R5cGVzLmluZGV4T2YoaXRlbS5maWVsZHNba2V5XVsndHlwZSddKSA+IC0xKXsgXHJcbiAgICAgICAgICAgICAgICAgIGZpZWxkc1trZXldID0gey4uLml0ZW0uZmllbGRzW2tleV0gfVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLm15UHJlZml4W2tleV0gPSBpdGVtLnByZWZpeCA/IGl0ZW0ucHJlZml4IDogJyc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0KGZpZWxkcyk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBnZXREeW5hbWljRm9ybSh0eXBlKSA6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKHRoaXMuZHluYW1pY0ZpZWxkc09wZXJhdGlvbnMuZ2V0Rm9ybUpzb24sIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgXCJzY2hlbWFcIjogdHlwZVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoe1xyXG4gICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiAnKicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzIDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYocmVzLmVudHJpZXMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICBsZXQgbXlEYXRhID0gIEpTT04ucGFyc2UocmVzWydlbnRyaWVzJ11bMF1bJ3Byb3BlcnRpZXMnXVsnbm90ZTpub3RlJ10pO1xyXG4gICAgICAgICAgdGhpcy5teVByZWZpeCA9IG15RGF0YS5wcmVmaXg7XHJcbiAgICAgICAgICByZXR1cm4gbXlEYXRhO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcmV0dXJuICcnXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gIH1cclxuXHJcbiAgY3JlYXRlRm9ybUpzb24odHlwZSAsIGpzb25PYmplY3Qpe1xyXG4gICAganNvbk9iamVjdFsncHJlZml4J109dGhpcy5teVByZWZpeDtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oJ0FDX1VBX0RNU19EeW5hbWljRm9ybV9DcmVhdGUnLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIFwic2NoZW1hXCI6dHlwZSxcclxuICAgICAgICAgIFwianNvblwiOmpzb25PYmplY3RcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSkpXHJcbiAgXHJcbn1cclxuIFxyXG4gIGFkYXB0KGZpZWxkcyk6IGFueSB7XHJcbiAgICBjb25zdCBidWlsZGVyQ29tcG9uZW50cyA9IHt9O1xyXG4gICAgZmllbGRzID0gT2JqZWN0LmtleXMoZmllbGRzKS5tYXAoZmllbGRLZXkgPT4ge1xyXG5cclxuICAgICAgY29uc3QgYWRhcHRlZEZpZWxkID0ge1xyXG4gICAgICAgIHRpdGxlOiBmaWVsZEtleSxcclxuICAgICAgICBpY29uOiAndGVybWluYWwnLFxyXG4gICAgICAgIHByZWZpeDogZmllbGRzW2ZpZWxkS2V5XVsncHJlZml4J10sXHJcbiAgICAgICAgc2NoZW1hOiB7XHJcbiAgICAgICAgICAvLyAndmFsaWRhdGUucmVxdWlyZWQnOiBjb25zdHJhaW50cy5maWx0ZXIoaXRlbSA9PiBpdGVtLm5hbWUgPT09ICdOb3ROdWxsQ29uc3RyYWludCcpLmxlbmd0aCA+IDAsXHJcbiAgICAgICAgICBsYWJlbDogZmllbGRLZXksXHJcbiAgICAgICAgICB0eXBlOiAnJyxcclxuICAgICAgICAgIGZpeGVkS2V5OiBmaWVsZEtleSxcclxuICAgICAgICAgIGlucHV0OiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgc3dpdGNoIChmaWVsZHNbZmllbGRLZXldLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgYWRhcHRlZEZpZWxkLnNjaGVtYS50eXBlID0gJ3RleHRmaWVsZCc7XHJcbiAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tmaWVsZEtleV07XHJcbiAgICAgICAgICBjb25zdCBjb25zdHJhaW50cyA9IGZpZWxkLmNvbnN0cmFpbnRzID8gZmllbGQuY29uc3RyYWludHMgOiBbXTtcclxuICAgICAgICAgIGNvbnN0IHZvY2FidWxhcnlTZWFyY2ggPSBjb25zdHJhaW50cy5maWx0ZXIoaXRlbSA9PiBpdGVtLm5hbWUgPT09ICdkaXJlY3RvcnlSZXNvbHZlcicpO1xyXG4gICAgICAgICAgY29uc3Qgdm9jYWJ1bGFyeSA9IHZvY2FidWxhcnlTZWFyY2gubGVuZ3RoID8gdm9jYWJ1bGFyeVNlYXJjaFswXS5wYXJhbWV0ZXJzLmRpcmVjdG9yeSA6IG51bGw7XHJcbiAgICAgICAgICBjb25zdCB1c2VyU2VsZWN0b3IgPSBjb25zdHJhaW50cy5maWx0ZXIoaXRlbSA9PiBpdGVtLm5hbWUgPT09ICd1c2VyTWFuYWdlclJlc29sdmVyJyk7XHJcbiAgICAgICAgICBpZiAodm9jYWJ1bGFyeSkge1xyXG4gICAgICAgICAgICBhZGFwdGVkRmllbGQuc2NoZW1hLnR5cGUgPSAndm9jYWJ1bGFyeSc7XHJcbiAgICAgICAgICAgIGFkYXB0ZWRGaWVsZC5zY2hlbWFbJ2N1c3RvbU9wdGlvbnMudm9jSWQnXSA9IHZvY2FidWxhcnk7XHJcbiAgICAgICAgICB9ZWxzZSBpZih1c2VyU2VsZWN0b3IubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGFkYXB0ZWRGaWVsZC5zY2hlbWEudHlwZSA9ICd1c2VyU2VsZWN0b3InO1xyXG4gICAgICAgICAgICAvLyBhZGFwdGVkRmllbGQuc2NoZW1hWydjdXN0b21PcHRpb25zLm11bHRpcGxlTW9kZSddID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgYWRhcHRlZEZpZWxkLnNjaGVtYS50eXBlID0gJ3RvZ2dsZSc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzdHJpbmdbXSc6XHJcbiAgICAgICAgICBhZGFwdGVkRmllbGQuc2NoZW1hLnR5cGUgPSAndGV4dGZpZWxkJztcclxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zdHJpbmctbGl0ZXJhbFxyXG4gICAgICAgICAgLy8gYWRhcHRlZEZpZWxkLnNjaGVtYVsnbXVsdGlwbGUnXSA9IHRydWU7XHJcbiAgICAgICAgICBjb25zdCBmaWVsZDEgPSBmaWVsZHNbZmllbGRLZXldO1xyXG4gICAgICAgICAgY29uc3QgaXRlbUNvbnN0cmFpbnRzID0gZmllbGQxLml0ZW1Db25zdHJhaW50cyA/IGZpZWxkMS5pdGVtQ29uc3RyYWludHMgOiBbXTtcclxuICAgICAgICAgIGNvbnN0IG11bHRpcGxlVXNlclNlbGVjdG9yID0gaXRlbUNvbnN0cmFpbnRzLmZpbHRlcihpdGVtID0+IGl0ZW0ubmFtZSA9PT0gJ3VzZXJNYW5hZ2VyUmVzb2x2ZXInKTtcclxuICAgICAgICAgIGlmKG11bHRpcGxlVXNlclNlbGVjdG9yLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBhZGFwdGVkRmllbGQuc2NoZW1hLnR5cGUgPSAndXNlclNlbGVjdG9yJztcclxuICAgICAgICAgICAgYWRhcHRlZEZpZWxkLnNjaGVtYVsnY3VzdG9tT3B0aW9ucy5tdWx0aXBsZU1vZGUnXSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdsb25nJzpcclxuICAgICAgICAgIGFkYXB0ZWRGaWVsZC5zY2hlbWEudHlwZSA9ICdudW1iZXInO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZG91YmxlJzpcclxuICAgICAgICAgICAgYWRhcHRlZEZpZWxkLnNjaGVtYS50eXBlID0gJ251bWJlcic7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgYWRhcHRlZEZpZWxkLnNjaGVtYS50eXBlID0gJ2N1c3RvbWRhdGUnO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhZGFwdGVkRmllbGQ7XHJcbiAgICB9KTtcclxuICAgIGZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcclxuICAgICAgYnVpbGRlckNvbXBvbmVudHNbZmllbGQuc2NoZW1hLmZpeGVkS2V5XSA9IGZpZWxkO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYnVpbGRlckNvbXBvbmVudHM7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3REeW5hbWljRm9ybVBheWxvYWQoZGF0YSAsIGR5bmFtaWNGb3JtKXtcclxuICAgIGxldCB1cGRhdGVkRHluYW1pY1ZhbHVlcyA9IHt9XHJcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5tYXAoa2V5ID0+IHtcclxuICAgICAgbGV0IHVwZGF0ZWRLZXkgPSBrZXkucmVwbGFjZSgnOicsJycpO1xyXG4gICAgICBsZXQgcHJlZml4ID0gZHluYW1pY0Zvcm0ucHJlZml4W3VwZGF0ZWRLZXldO1xyXG4gICAgICBpZiAocHJlZml4KSB7XHJcbiAgICAgICAgLy8gY2hlY2sgaWYgY29tcG9uZW50IGlzIHVzZXIgc2VsZWN0b3IgdG8gbWFwIGl0cyBkYXRhIGZyb20gb2JqZWN0IHRvIHVzZXJuYW1lIG9yIGlkIG9ubHkgXHJcbiAgICAgICAgaWYoZGF0YVtrZXldICYmIGRhdGFba2V5XVsndXNlclNlbGVjdG9yJ10gJiYgZGF0YVtrZXldWyd1c2VyU2VsZWN0b3InXSA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgdXBkYXRlZER5bmFtaWNWYWx1ZXNbcHJlZml4ICsgJzonICsgdXBkYXRlZEtleV0gPSB0aGlzLmdldFVzZXJTZWxlY3RvclZhbHVlKGRhdGFba2V5XVsndmFsdWUnXSk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgdXBkYXRlZER5bmFtaWNWYWx1ZXNbcHJlZml4ICsgJzonICsgdXBkYXRlZEtleV0gPSBkYXRhW2tleV1cclxuICAgICAgICB9XHJcbiAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZihkYXRhW2tleV1bJ3VzZXJTZWxlY3RvciddICYmIGRhdGFba2V5XVsndXNlclNlbGVjdG9yJ10gPT09IHRydWUpe1xyXG4gICAgICAgICAgIHVwZGF0ZWREeW5hbWljVmFsdWVzW3VwZGF0ZWRLZXldID0gdGhpcy5nZXRVc2VyU2VsZWN0b3JWYWx1ZShkYXRhW2tleV1bJ3ZhbHVlJ10pOztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICB1cGRhdGVkRHluYW1pY1ZhbHVlc1t1cGRhdGVkS2V5XSA9IGRhdGFba2V5XVxyXG4gICAgICAgIH1cclxuICAgICB9XHJcbiAgICB9KSAgXHJcbiAgICB0aGlzLnJlbW92ZU51bGxWYWx1ZXModXBkYXRlZER5bmFtaWNWYWx1ZXMpO1xyXG4gICAgcmV0dXJuIHVwZGF0ZWREeW5hbWljVmFsdWVzO1xyXG4gIH1cclxuICBcclxuICBnZXRVc2VyU2VsZWN0b3JWYWx1ZSh2YWx1ZSl7XHJcbiAgICBpZighQXJyYXkuaXNBcnJheSh2YWx1ZSkpe1xyXG4gICAgICByZXR1cm4gdmFsdWUuaWQgPyB2YWx1ZS5pZCA6IHZhbHVlLnByb3BlcnRpZXMudXNlcm5hbWU7XHJcbiAgICB9ZWxzZSB7XHJcbiAgICAgIGxldCB1c2Vyc05hbWVzID0gW107XHJcbiAgICAgIHZhbHVlLm1hcChpdGVtID0+IHtcclxuICAgICAgICB1c2Vyc05hbWVzLnB1c2goKGl0ZW0uaWQgPyBpdGVtLmlkIDogaXRlbS5wcm9wZXJ0aWVzLnVzZXJuYW1lKSk7XHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVybiB1c2Vyc05hbWVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTnVsbFZhbHVlcyhkYXRhKXtcclxuICAgIE9iamVjdC5rZXlzKGRhdGEpLm1hcChrZXkgPT4ge1xyXG4gICAgICBpZihkYXRhW2tleV0gPT09IG51bGwpe1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhW2tleV07XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../components/display-suitable-icon/display-suitable-icon/icon.service";
|
|
5
|
+
export class FileManagerAdapter {
|
|
6
|
+
constructor(datePipe, iconService) {
|
|
7
|
+
this.datePipe = datePipe;
|
|
8
|
+
this.iconService = iconService;
|
|
9
|
+
}
|
|
10
|
+
adapt(item) {
|
|
11
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
12
|
+
return {
|
|
13
|
+
id: item === null || item === void 0 ? void 0 : item.uid,
|
|
14
|
+
name: item === null || item === void 0 ? void 0 : item.title,
|
|
15
|
+
isFavorite: (_b = (_a = item === null || item === void 0 ? void 0 : item.contextParameters) === null || _a === void 0 ? void 0 : _a.favorites) === null || _b === void 0 ? void 0 : _b.isFavorite,
|
|
16
|
+
extension: (item === null || item === void 0 ? void 0 : item.properties) && ((_c = item === null || item === void 0 ? void 0 : item.properties) === null || _c === void 0 ? void 0 : _c['file:content']) ? (_d = item === null || item === void 0 ? void 0 : item.properties) === null || _d === void 0 ? void 0 : _d['file:content']['mime-type'] : '',
|
|
17
|
+
isDirectory: ((_e = item === null || item === void 0 ? void 0 : item.facets) === null || _e === void 0 ? void 0 : _e.indexOf('Folderish')) > -1 ? true : false,
|
|
18
|
+
size: item && (item === null || item === void 0 ? void 0 : item.properties) ? (_f = item === null || item === void 0 ? void 0 : item.properties['file:content']) === null || _f === void 0 ? void 0 : _f.length : '',
|
|
19
|
+
creator: item && (item === null || item === void 0 ? void 0 : item.properties) && ((_h = (_g = item === null || item === void 0 ? void 0 : item.properties['creator']) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.firstName) !== undefined && ((_k = (_j = item === null || item === void 0 ? void 0 : item.properties['creator']) === null || _j === void 0 ? void 0 : _j.properties) === null || _k === void 0 ? void 0 : _k.firstName) !== null ? `${(_l = item === null || item === void 0 ? void 0 : item.properties['creator'].properties) === null || _l === void 0 ? void 0 : _l.firstName} ${(_m = item === null || item === void 0 ? void 0 : item.properties['creator'].properties) === null || _m === void 0 ? void 0 : _m.lastName}` : '-',
|
|
20
|
+
modified: item && (item === null || item === void 0 ? void 0 : item.properties) ? this.datePipe.transform(item === null || item === void 0 ? void 0 : item.properties['modified'], 'dd-MM-yyyy') : '',
|
|
21
|
+
lastContributor: item && (item === null || item === void 0 ? void 0 : item.properties) && ((_p = (_o = item === null || item === void 0 ? void 0 : item.properties['lastContributor']) === null || _o === void 0 ? void 0 : _o.properties) === null || _p === void 0 ? void 0 : _p.firstName) !== undefined && ((_q = item === null || item === void 0 ? void 0 : item.properties['lastContributor'].properties) === null || _q === void 0 ? void 0 : _q.firstName) !== null ? `${(_r = item === null || item === void 0 ? void 0 : item.properties['lastContributor'].properties) === null || _r === void 0 ? void 0 : _r.firstName} ${(_s = item === null || item === void 0 ? void 0 : item.properties['lastContributor'].properties) === null || _s === void 0 ? void 0 : _s.lastName}` : '-',
|
|
22
|
+
items: ((_t = item === null || item === void 0 ? void 0 : item.contextParameters) === null || _t === void 0 ? void 0 : _t.hasFolderishChild) ? false : [],
|
|
23
|
+
entity: item,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
treeViewAdapt(item, parent = true) {
|
|
27
|
+
var _a;
|
|
28
|
+
return {
|
|
29
|
+
id: item === null || item === void 0 ? void 0 : item.uid,
|
|
30
|
+
name: item === null || item === void 0 ? void 0 : item.title,
|
|
31
|
+
parentId: parent ? item === null || item === void 0 ? void 0 : item.parentRef : 'root',
|
|
32
|
+
icon: 'folder',
|
|
33
|
+
isExpanded: (_a = item === null || item === void 0 ? void 0 : item.contextParameters) === null || _a === void 0 ? void 0 : _a.hasFolderishChild,
|
|
34
|
+
entity: item
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
dropDownTreeViewAdapt(item, parent = true) {
|
|
38
|
+
var _a;
|
|
39
|
+
return {
|
|
40
|
+
id: item === null || item === void 0 ? void 0 : item.uid,
|
|
41
|
+
name: item === null || item === void 0 ? void 0 : item.title,
|
|
42
|
+
parentId: parent ? item === null || item === void 0 ? void 0 : item.parentRef : 'root',
|
|
43
|
+
icon: 'folder',
|
|
44
|
+
isExpanded: (_a = item === null || item === void 0 ? void 0 : item.contextParameters) === null || _a === void 0 ? void 0 : _a.hasFolderishChild,
|
|
45
|
+
entity: item
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
fulltreeViewAdapt(item, parent = true) {
|
|
49
|
+
return {
|
|
50
|
+
id: item === null || item === void 0 ? void 0 : item.uid,
|
|
51
|
+
name: item === null || item === void 0 ? void 0 : item.title,
|
|
52
|
+
parentId: parent ? item === null || item === void 0 ? void 0 : item.parentRef : 'root',
|
|
53
|
+
icon: this.iconService.getFileIcon(item, 'document'),
|
|
54
|
+
isExpanded: this.checkIfExpanded(item),
|
|
55
|
+
entity: item
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
checkIfExpanded(document) {
|
|
59
|
+
// if it is file then it is not expandable
|
|
60
|
+
if (!(document.facets) || (document.facets.length > 0 && document.facets.indexOf('Folderish') === -1)) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
FileManagerAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FileManagerAdapter, deps: [{ token: i1.DatePipe }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
FileManagerAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FileManagerAdapter, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FileManagerAdapter, decorators: [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{ providedIn: 'root' }]
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i2.IconService }]; } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1tYW5hZ2VyLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQtc2VydmljZXMvZmlsZS1tYW5hZ2VyLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUkzQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQ1csUUFBa0IsRUFDakIsV0FBeUI7UUFEMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUVqQyxDQUFDO0lBQ0wsS0FBSyxDQUFDLElBQUk7O1FBQ04sT0FBTztZQUNILEVBQUUsRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsR0FBRztZQUNiLElBQUksRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsS0FBSztZQUNqQixVQUFVLEVBQUUsTUFBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxpQkFBaUIsMENBQUUsU0FBUywwQ0FBRSxVQUFVO1lBQzFELFNBQVMsRUFBRSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxVQUFVLE1BQUksTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsVUFBVSwwQ0FBRyxjQUFjLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxVQUFVLDBDQUFHLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4SCxXQUFXLEVBQUUsQ0FBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxNQUFNLDBDQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBRyxDQUFD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LElBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDO1lBQ25HLE9BQU8sS0FBSyxDQUFBO1NBQ2I7YUFBSTtZQUNILE9BQU8sSUFBSSxDQUFBO1NBQ1o7SUFDSCxDQUFDOzsrR0E5RE0sa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwbGF5LXN1aXRhYmxlLWljb24vZGlzcGxheS1zdWl0YWJsZS1pY29uL2ljb24uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgRmlsZU1hbmFnZXJBZGFwdGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICAgICAgcHJpdmF0ZSBpY29uU2VydmljZSA6IEljb25TZXJ2aWNlXHJcblxyXG4gICAgKSB7IH1cclxuICAgIGFkYXB0KGl0ZW0pIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogaXRlbT8udWlkLFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtPy50aXRsZSxcclxuICAgICAgICAgICAgaXNGYXZvcml0ZTogaXRlbT8uY29udGV4dFBhcmFtZXRlcnM/LmZhdm9yaXRlcz8uaXNGYXZvcml0ZSxcclxuICAgICAgICAgICAgZXh0ZW5zaW9uOiBpdGVtPy5wcm9wZXJ0aWVzICYmIGl0ZW0/LnByb3BlcnRpZXM/LlsnZmlsZTpjb250ZW50J10gPyBpdGVtPy5wcm9wZXJ0aWVzPy5bJ2ZpbGU6Y29udGVudCddWydtaW1lLXR5cGUnXSA6ICcnLFxyXG4gICAgICAgICAgICBpc0RpcmVjdG9yeTogaXRlbT8uZmFjZXRzPy5pbmRleE9mKCdGb2xkZXJpc2gnKSA+IC0xID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaXplOiBpdGVtICYmIGl0ZW0/LnByb3BlcnRpZXMgPyBpdGVtPy5wcm9wZXJ0aWVzWydmaWxlOmNvbnRlbnQnXT8ubGVuZ3RoIDogJycsXHJcbiAgICAgICAgICAgIGNyZWF0b3I6IGl0ZW0gJiYgaXRlbT8ucHJvcGVydGllcyAmJiBpdGVtPy5wcm9wZXJ0aWVzWydjcmVhdG9yJ10/LnByb3BlcnRpZXM/LmZpcnN0TmFtZSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0/LnByb3BlcnRpZXNbJ2NyZWF0b3InXT8ucHJvcGVydGllcz8uZmlyc3ROYW1lICE9PSBudWxsID8gYCR7aXRlbT8ucHJvcGVydGllc1snY3JlYXRvciddLnByb3BlcnRpZXM/LmZpcnN0TmFtZX0gJHtpdGVtPy5wcm9wZXJ0aWVzWydjcmVhdG9yJ10ucHJvcGVydGllcz8ubGFzdE5hbWV9YCA6ICctJyxcclxuICAgICAgICAgICAgbW9kaWZpZWQ6IGl0ZW0gJiYgaXRlbT8ucHJvcGVydGllcyA/IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGl0ZW0/LnByb3BlcnRpZXNbJ21vZGlmaWVkJ10sICdkZC1NTS15eXl5JykgOiAnJyxcclxuICAgICAgICAgICAgbGFzdENvbnRyaWJ1dG9yOiBpdGVtICYmIGl0ZW0/LnByb3BlcnRpZXMgJiYgaXRlbT8ucHJvcGVydGllc1snbGFzdENvbnRyaWJ1dG9yJ10/LnByb3BlcnRpZXM/LmZpcnN0TmFtZSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0/LnByb3BlcnRpZXNbJ2xhc3RDb250cmlidXRvciddLnByb3BlcnRpZXM/LmZpcnN0TmFtZSAhPT0gbnVsbCA/IGAke2l0ZW0/LnByb3BlcnRpZXNbJ2xhc3RDb250cmlidXRvciddLnByb3BlcnRpZXM/LmZpcnN0TmFtZX0gJHtpdGVtPy5wcm9wZXJ0aWVzWydsYXN0Q29udHJpYnV0b3InXS5wcm9wZXJ0aWVzPy5sYXN0TmFtZX1gIDogJy0nLFxyXG4gICAgICAgICAgICBpdGVtczogaXRlbT8uY29udGV4dFBhcmFtZXRlcnM/Lmhhc0ZvbGRlcmlzaENoaWxkID8gZmFsc2UgOiBbXSxcclxuICAgICAgICAgICAgZW50aXR5OiBpdGVtLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdHJlZVZpZXdBZGFwdChpdGVtLCBwYXJlbnQgPSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWQ6IGl0ZW0/LnVpZCxcclxuICAgICAgICAgICAgbmFtZTogaXRlbT8udGl0bGUsXHJcbiAgICAgICAgICAgIHBhcmVudElkOiBwYXJlbnQgPyBpdGVtPy5wYXJlbnRSZWYgOiAncm9vdCcsXHJcbiAgICAgICAgICAgIGljb246ICdmb2xkZXInLFxyXG4gICAgICAgICAgICBpc0V4cGFuZGVkOiBpdGVtPy5jb250ZXh0UGFyYW1ldGVycz8uaGFzRm9sZGVyaXNoQ2hpbGQsXHJcbiAgICAgICAgICAgIGVudGl0eTogaXRlbVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGRyb3BEb3duVHJlZVZpZXdBZGFwdChpdGVtLCBwYXJlbnQgPSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWQ6IGl0ZW0/LnVpZCxcclxuICAgICAgICAgICAgbmFtZTogaXRlbT8udGl0bGUsXHJcbiAgICAgICAgICAgIHBhcmVudElkOiBwYXJlbnQgPyBpdGVtPy5wYXJlbnRSZWYgOiAncm9vdCcsXHJcbiAgICAgICAgICAgIGljb246ICdmb2xkZXInLFxyXG4gICAgICAgICAgICBpc0V4cGFuZGVkOiBpdGVtPy5jb250ZXh0UGFyYW1ldGVycz8uaGFzRm9sZGVyaXNoQ2hpbGQsXHJcbiAgICAgICAgICAgIGVudGl0eTogaXRlbVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZnVsbHRyZWVWaWV3QWRhcHQoaXRlbSwgcGFyZW50ID0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiBpdGVtPy51aWQsXHJcbiAgICAgICAgICAgIG5hbWU6IGl0ZW0/LnRpdGxlLFxyXG4gICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50ID8gaXRlbT8ucGFyZW50UmVmIDogJ3Jvb3QnLFxyXG4gICAgICAgICAgICBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEZpbGVJY29uKGl0ZW0sICdkb2N1bWVudCcpLFxyXG4gICAgICAgICAgICBpc0V4cGFuZGVkOiB0aGlzLmNoZWNrSWZFeHBhbmRlZChpdGVtKSxcclxuICAgICAgICAgICAgZW50aXR5OiBpdGVtXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmRXhwYW5kZWQoZG9jdW1lbnQpe1xyXG4gICAgICAgIC8vIGlmIGl0IGlzIGZpbGUgdGhlbiBpdCBpcyBub3QgZXhwYW5kYWJsZVxyXG4gICAgICAgIGlmKCEoZG9jdW1lbnQuZmFjZXRzKSB8fCAoZG9jdW1lbnQuZmFjZXRzLmxlbmd0aCA+IDAgJiYgZG9jdW1lbnQuZmFjZXRzLmluZGV4T2YoJ0ZvbGRlcmlzaCcpID09PSAtMSkpe1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICAgIH0gXHJcbiAgICAgIH1cclxufSJdfQ==
|