@arsedizioni/ars-utils 18.1.74 → 18.1.76
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/clipper.common/common/common.module.d.ts +1 -2
- package/clipper.common/common/definitions.d.ts +317 -0
- package/clipper.common/common/interceptors/auth.interceptor.d.ts +2 -5
- package/clipper.common/common/messages.d.ts +4 -0
- package/clipper.common/common/services/clipper.service.d.ts +12 -36
- package/clipper.ui/{ui/document/documents.d.ts → documents.d.ts} +2 -6
- package/clipper.ui/public_api.d.ts +6 -5
- package/clipper.ui/ui/browser-dialog/browser-dialog.component.d.ts +30 -143
- package/clipper.ui/ui/clipper.scss +270 -106
- package/clipper.ui/ui/document/document.component.d.ts +64 -118
- package/clipper.ui/ui/document-index/document-index.component.d.ts +34 -0
- package/clipper.ui/ui/document-manager/document-manager.d.ts +126 -0
- package/clipper.ui/ui/document-menu/document-menu.component.d.ts +28 -0
- package/clipper.ui/ui/references/references.component.d.ts +39 -73
- package/clipper.ui/ui/search-calendar/search-calendar.component.d.ts +40 -0
- package/clipper.ui/ui/search-dialog/search-dialog.component.d.ts +37 -40
- package/clipper.ui/ui/search-facets/search-facets.component.d.ts +22 -70
- package/clipper.ui/ui/search-free-text-help/search-free-text-help.component.d.ts +0 -1
- package/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.d.ts +8 -12
- package/clipper.ui/ui/search-result-item/search-result-item.component.d.ts +6 -4
- package/clipper.ui/ui/search-result-manager/search-result-manager.d.ts +147 -0
- package/esm2022/clipper.common/common/common.module.mjs +2 -3
- package/esm2022/clipper.common/common/definitions.mjs +1536 -0
- package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +15 -15
- package/esm2022/clipper.common/common/messages.mjs +6 -1
- package/esm2022/clipper.common/common/services/clipper.service.mjs +65 -65
- package/esm2022/clipper.ui/documents.mjs +51 -0
- package/esm2022/clipper.ui/public_api.mjs +7 -6
- package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +320 -785
- package/esm2022/clipper.ui/ui/document/document.component.mjs +213 -320
- package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +121 -0
- package/esm2022/clipper.ui/ui/document-manager/document-manager.mjs +431 -0
- package/esm2022/clipper.ui/ui/document-menu/document-menu.component.mjs +56 -0
- package/esm2022/clipper.ui/ui/references/references.component.mjs +244 -438
- package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +116 -0
- package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +216 -205
- package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +157 -209
- package/esm2022/clipper.ui/ui/search-free-text-help/search-free-text-help.component.mjs +7 -8
- package/esm2022/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.mjs +22 -23
- package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +12 -10
- package/esm2022/clipper.ui/ui/search-result-manager/search-result-manager.mjs +462 -0
- package/esm2022/help/components/help-viewer/help-viewer.component.mjs +25 -28
- package/esm2022/support.common/common/definitions.mjs +21 -0
- package/esm2022/support.common/common/services/support.service.mjs +9 -7
- package/esm2022/support.common/public_api.mjs +2 -2
- package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +3 -3
- package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +4 -5
- package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +3 -3
- package/esm2022/ui.application/public_api.mjs +4 -1
- package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +163 -0
- package/esm2022/ui.application/ui/components/button-toggle/button-toggle.component.mjs +47 -0
- package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +239 -0
- package/esm2022/ui.application/ui/components/file-preview/file-preview.component.mjs +23 -24
- package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/messages.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +1608 -1507
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +2283 -2407
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-help.mjs +25 -28
- package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +8 -6
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +5 -6
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +450 -47
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +12 -12
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/help/components/help-viewer/help-viewer.component.d.ts +6 -10
- package/package.json +13 -13
- package/styles/ui.scss +140 -0
- package/support.common/common/services/support.service.d.ts +2 -2
- package/support.common/public_api.d.ts +1 -1
- package/ui.application/public_api.d.ts +3 -0
- package/ui.application/ui/components/button-selector/button-selector.component.d.ts +49 -0
- package/ui.application/ui/components/button-toggle/button-toggle.component.d.ts +26 -0
- package/ui.application/ui/components/chips-selector/chips-selector.component.d.ts +70 -0
- package/ui.application/ui/components/file-preview/file-preview.component.d.ts +4 -8
- package/ui.application/ui/messages.d.ts +2 -2
- package/clipper.common/common/clipper.d.ts +0 -119
- package/clipper.common/common/search.d.ts +0 -49
- package/clipper.ui/ui/document/base/document-base.component.d.ts +0 -38
- package/clipper.ui/ui/document/document-index/document-index.component.d.ts +0 -38
- package/clipper.ui/ui/document/document-menu/document-menu.component.d.ts +0 -30
- package/clipper.ui/ui/last-15-days/last-15-days.component.d.ts +0 -41
- package/esm2022/clipper.common/common/clipper.mjs +0 -1371
- package/esm2022/clipper.common/common/search.mjs +0 -69
- package/esm2022/clipper.ui/ui/document/base/document-base.component.mjs +0 -194
- package/esm2022/clipper.ui/ui/document/document-index/document-index.component.mjs +0 -121
- package/esm2022/clipper.ui/ui/document/document-menu/document-menu.component.mjs +0 -88
- package/esm2022/clipper.ui/ui/document/documents.mjs +0 -49
- package/esm2022/clipper.ui/ui/last-15-days/last-15-days.component.mjs +0 -107
- package/esm2022/help/components/help-search-query-builder/help-search-query-builder.component.mjs +0 -114
- package/esm2022/support.common/common/support.mjs +0 -21
- package/esm2022/ui.oauth/ui/components/login/loginOAuth.component.mjs +0 -198
- package/help/components/help-search-query-builder/help-search-query-builder.component.d.ts +0 -29
- package/help/help.scss +0 -72
- package/ui.oauth/ui/components/login/loginOAuth.component.d.ts +0 -38
- /package/support.common/common/{support.d.ts → definitions.d.ts} +0 -0
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
export class SearchUtils {
|
|
2
|
-
static clear(params) {
|
|
3
|
-
params.sector = null;
|
|
4
|
-
params.author = null;
|
|
5
|
-
params.topic = null;
|
|
6
|
-
params.taxonomy = null;
|
|
7
|
-
params.taxonomyPath = null;
|
|
8
|
-
params.taxonomyNode = null;
|
|
9
|
-
params.year = null;
|
|
10
|
-
params.number = null;
|
|
11
|
-
params.fromDate = null;
|
|
12
|
-
params.toDate = null;
|
|
13
|
-
params.sourceNumber = null;
|
|
14
|
-
params.source = null;
|
|
15
|
-
params.sourceFromDate = null;
|
|
16
|
-
params.sourceToDate = null;
|
|
17
|
-
params.text = null;
|
|
18
|
-
params.titleOnly = false;
|
|
19
|
-
params.type = null;
|
|
20
|
-
params.showUnreadDocumentsOnly = false;
|
|
21
|
-
params.reason = null;
|
|
22
|
-
params.changedNumber = null;
|
|
23
|
-
params.changedYear = null;
|
|
24
|
-
params.changedTitle = null;
|
|
25
|
-
params.modifierNumber = null;
|
|
26
|
-
params.modifierYear = null;
|
|
27
|
-
params.modifierTitle = null;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Try to add a query
|
|
31
|
-
* @param q : the new query
|
|
32
|
-
* @param queries : the new query
|
|
33
|
-
* @returns
|
|
34
|
-
*/
|
|
35
|
-
static concatTextQuery(q, queries) {
|
|
36
|
-
if (q && q.length > 0) {
|
|
37
|
-
if (queries.length == 0 && (q[0] === '+' || q[0] === '-'))
|
|
38
|
-
q = q.substring(1);
|
|
39
|
-
if (q[q.length - 1] !== '\"' && q.indexOf(' ') !== -1)
|
|
40
|
-
q = "\"" + q + "\"";
|
|
41
|
-
if (queries.length > 0)
|
|
42
|
-
queries += ", ";
|
|
43
|
-
queries += q;
|
|
44
|
-
}
|
|
45
|
-
return queries;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Normalize text query
|
|
49
|
-
* @param text : the text query to normalize
|
|
50
|
-
* @returns : the text normalized
|
|
51
|
-
*/
|
|
52
|
-
static normalizeTextQuery(text) {
|
|
53
|
-
if (!text || text.length === 0)
|
|
54
|
-
return null;
|
|
55
|
-
let q = '';
|
|
56
|
-
let queries = '';
|
|
57
|
-
for (let i = 0; i < text.length; i++) {
|
|
58
|
-
if (text[i] === ',') {
|
|
59
|
-
queries = this.concatTextQuery(q.trim(), queries);
|
|
60
|
-
q = '';
|
|
61
|
-
}
|
|
62
|
-
else
|
|
63
|
-
q += text[i];
|
|
64
|
-
}
|
|
65
|
-
queries = this.concatTextQuery(q.trim(), queries);
|
|
66
|
-
return queries;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIuY29tbW9uL2NvbW1vbi9zZWFyY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUNBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBMkI7UUFDcEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztRQUN2QyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBR0Q7Ozs7O09BS0c7SUFDTSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQVMsRUFBRSxPQUFlO1FBRXJELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztnQkFDdkQsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25ELENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFBRSxPQUFPLElBQUksSUFBSSxDQUFDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQVk7UUFDcEMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxPQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFHLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbEQsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULENBQUM7O2dCQUNJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ1AiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyU2VhcmNoUGFyYW1zIHsgIFxyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdGl0bGVPbmx5PzogYm9vbGVhbjtcclxuICBzaG93VW5yZWFkRG9jdW1lbnRzT25seT86IGJvb2xlYW47XHJcbiAgc2hvd0NvbW1lbnRlZERvY3VtZW50c09ubHk/OiBib29sZWFuO1xyXG4gIG51bWJlcj86IHN0cmluZztcclxuICBmcm9tRGF0ZT86IERhdGU7XHJcbiAgdG9EYXRlPzogRGF0ZTtcclxuICBzb3VyY2VOdW1iZXI/OiBzdHJpbmc7XHJcbiAgc291cmNlPzogc3RyaW5nO1xyXG4gIHNvdXJjZUZyb21EYXRlPzogRGF0ZTtcclxuICBzb3VyY2VUb0RhdGU/OiBEYXRlO1xyXG4gIHNlY3Rvcj86IHN0cmluZztcclxuICB0b3BpYz86IHN0cmluZztcclxuICB0YXhvbm9teT86IHN0cmluZztcclxuICB0YXhvbm9teVBhdGg/OiBzdHJpbmc7XHJcbiAgdGF4b25vbXlOb2RlPzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgYXV0aG9yPzogbnVtYmVyIHwgc3RyaW5nO1xyXG4gIHJlYXNvbj86IG51bWJlciB8IHN0cmluZztcclxuICBjaGFuZ2VkTnVtYmVyPzogc3RyaW5nO1xyXG4gIGNoYW5nZWRZZWFyPzogbnVtYmVyO1xyXG4gIGNoYW5nZWRUaXRsZT86IHN0cmluZztcclxuICBtb2RpZmllck51bWJlcj86IHN0cmluZztcclxuICBtb2RpZmllclllYXI/OiBudW1iZXI7XHJcbiAgbW9kaWZpZXJUaXRsZT86IHN0cmluZztcclxuICBtb2RlbD86IG51bWJlcjtcclxuICBtb2R1bGU/OiBudW1iZXI7XHJcbiAgc29ydE1vZGU/OiBudW1iZXI7XHJcbiAgeWVhcj86IG51bWJlcjtcclxuICBjb3VudD86IG51bWJlcjtcclxuICBmaXJzdD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFV0aWxzIHtcclxuICAgIHN0YXRpYyBjbGVhcihwYXJhbXM6IENsaXBwZXJTZWFyY2hQYXJhbXMpIHtcclxuICAgICAgICBwYXJhbXMuc2VjdG9yID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMuYXV0aG9yID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMudG9waWMgPSBudWxsO1xyXG4gICAgICAgIHBhcmFtcy50YXhvbm9teSA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnRheG9ub215UGF0aCA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnRheG9ub215Tm9kZSA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnllYXIgPSBudWxsO1xyXG4gICAgICAgIHBhcmFtcy5udW1iZXIgPSBudWxsO1xyXG4gICAgICAgIHBhcmFtcy5mcm9tRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnRvRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnNvdXJjZU51bWJlciA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnNvdXJjZSA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnNvdXJjZUZyb21EYXRlID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMuc291cmNlVG9EYXRlID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMudGV4dCA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLnRpdGxlT25seSA9IGZhbHNlO1xyXG4gICAgICAgIHBhcmFtcy50eXBlID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMuc2hvd1VucmVhZERvY3VtZW50c09ubHkgPSBmYWxzZTtcclxuICAgICAgICBwYXJhbXMucmVhc29uID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMuY2hhbmdlZE51bWJlciA9IG51bGw7XHJcbiAgICAgICAgcGFyYW1zLmNoYW5nZWRZZWFyID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMuY2hhbmdlZFRpdGxlID0gbnVsbDtcclxuICAgICAgICBwYXJhbXMubW9kaWZpZXJOdW1iZXIgPSBudWxsO1xyXG4gICAgICAgIHBhcmFtcy5tb2RpZmllclllYXIgPSBudWxsO1xyXG4gICAgICAgIHBhcmFtcy5tb2RpZmllclRpdGxlID0gbnVsbDsgICAgICBcclxuICAgICAgfVxyXG5cclxuICAgICAgXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBUcnkgdG8gYWRkIGEgcXVlcnlcclxuICAgICAgICogQHBhcmFtIHEgOiB0aGUgbmV3IHF1ZXJ5XHJcbiAgICAgICAqIEBwYXJhbSBxdWVyaWVzIDogdGhlIG5ldyBxdWVyeVxyXG4gICAgICAgKiBAcmV0dXJucyBcclxuICAgICAgICovXHJcbiAgICAgICBwcml2YXRlIHN0YXRpYyBjb25jYXRUZXh0UXVlcnkocTogc3RyaW5nLCBxdWVyaWVzOiBzdHJpbmcpOiBzdHJpbmdcclxuICAgICAgIHtcclxuICAgICAgICAgICBpZiAocSAmJiBxLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgaWYgKHF1ZXJpZXMubGVuZ3RoID09IDAgJiYgKHFbMF0gPT09ICcrJyB8fCBxWzBdID09PSAnLScpKSBcclxuICAgICAgICAgICAgICAgICBxID0gcS5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgICAgICAgIGlmIChxW3EubGVuZ3RoIC0gMV0gIT09ICdcXFwiJyAmJiBxLmluZGV4T2YoJyAnKSAhPT0gLTEpXHJcbiAgICAgICAgICAgICAgICAgcSA9IFwiXFxcIlwiICsgcSArIFwiXFxcIlwiOyAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgIGlmIChxdWVyaWVzLmxlbmd0aCA+IDApIHF1ZXJpZXMgKz0gXCIsIFwiO1xyXG4gICAgICAgICAgICAgICBxdWVyaWVzICs9IHE7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIHJldHVybiBxdWVyaWVzO1xyXG4gICAgICAgfVxyXG4gXHJcbiAgICAgICAvKipcclxuICAgICAgICAqIE5vcm1hbGl6ZSB0ZXh0IHF1ZXJ5XHJcbiAgICAgICAgKiBAcGFyYW0gdGV4dCA6IHRoZSB0ZXh0IHF1ZXJ5IHRvIG5vcm1hbGl6ZVxyXG4gICAgICAgICogQHJldHVybnMgOiB0aGUgdGV4dCBub3JtYWxpemVkXHJcbiAgICAgICAgKi9cclxuICAgICAgIHN0YXRpYyBub3JtYWxpemVUZXh0UXVlcnkodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICAgaWYgKCF0ZXh0IHx8IHRleHQubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcclxuICAgICAgICAgbGV0IHE6IHN0cmluZyA9ICcnO1xyXG4gICAgICAgICBsZXQgcXVlcmllczogc3RyaW5nID0gJyc7XHJcbiAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrICkge1xyXG4gICAgICAgICAgIGlmICh0ZXh0W2ldPT09ICcsJykgeyBcclxuICAgICAgICAgICAgIHF1ZXJpZXMgPSB0aGlzLmNvbmNhdFRleHRRdWVyeShxLnRyaW0oKSwgcXVlcmllcyk7XHJcbiAgICAgICAgICAgICBxID0gJyc7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIGVsc2UgcSArPSB0ZXh0W2ldO1xyXG4gICAgICAgICB9ICAgICAgXHJcbiAgICAgICAgIHF1ZXJpZXMgPSB0aGlzLmNvbmNhdFRleHRRdWVyeShxLnRyaW0oKSwgcXVlcmllcyk7XHJcbiAgICAgICAgIHJldHVybiBxdWVyaWVzOyAgICAgIFxyXG4gICAgICAgfVxyXG59Il19
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { SendToDialogComponent } from '@arsedizioni/ars-utils/ui.application';
|
|
3
|
-
import { saveAs } from 'file-saver';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@arsedizioni/ars-utils/ui";
|
|
6
|
-
import * as i2 from "@arsedizioni/ars-utils/clipper.common";
|
|
7
|
-
export class ClipperDocumentBaseComponent {
|
|
8
|
-
constructor($dialog, $clipper) {
|
|
9
|
-
this.$dialog = $dialog;
|
|
10
|
-
this.$clipper = $clipper;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Export a document in pdf format
|
|
14
|
-
* @param item : the document to export
|
|
15
|
-
*/
|
|
16
|
-
exportPdf(item) {
|
|
17
|
-
if (!this.$clipper.loggedIn)
|
|
18
|
-
return;
|
|
19
|
-
if (!item || item.model === 11)
|
|
20
|
-
return;
|
|
21
|
-
this.$dialog
|
|
22
|
-
.confirm("Confermi l'esportazione?", 'Attenzione!')
|
|
23
|
-
.componentInstance.choosen.subscribe((r) => {
|
|
24
|
-
if (r.result === 'ok') {
|
|
25
|
-
let id = item.id || item.documentId;
|
|
26
|
-
this.$dialog.busy('Esportazione in corso...');
|
|
27
|
-
this.$clipper.exportPdf(id)
|
|
28
|
-
.subscribe({
|
|
29
|
-
next: (r2) => {
|
|
30
|
-
saveAs(r2, (item.title1 ? item.title1 : id) + '.pdf');
|
|
31
|
-
},
|
|
32
|
-
complete: () => {
|
|
33
|
-
this.$dialog.clearBusy();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Save current document list or just the selected documents as a csv
|
|
41
|
-
* @param items: the item list
|
|
42
|
-
* @param searchParams: the search params
|
|
43
|
-
*/
|
|
44
|
-
exportItems(items, searchParams = null) {
|
|
45
|
-
if (!this.$clipper.loggedIn)
|
|
46
|
-
return;
|
|
47
|
-
let ids = [];
|
|
48
|
-
if (items) {
|
|
49
|
-
items.forEach((n) => {
|
|
50
|
-
ids.push(n.documentId);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
let model = { ids: ids, query: null, format: 1 };
|
|
54
|
-
if (model.ids.length === 0)
|
|
55
|
-
model.query = searchParams;
|
|
56
|
-
this.$dialog.busy('Salvataggio in corso...');
|
|
57
|
-
this.$clipper.export(model)
|
|
58
|
-
.subscribe({
|
|
59
|
-
next: (r) => {
|
|
60
|
-
saveAs(r, 'elenco.csv');
|
|
61
|
-
},
|
|
62
|
-
complete: () => {
|
|
63
|
-
this.$dialog.clearBusy();
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
addToBag(items) {
|
|
68
|
-
if (!this.$clipper.loggedIn)
|
|
69
|
-
return;
|
|
70
|
-
let ids = [];
|
|
71
|
-
items.forEach((n) => {
|
|
72
|
-
ids.push(n.id || n.documentId);
|
|
73
|
-
});
|
|
74
|
-
this.$clipper.addToBag(ids).subscribe(() => {
|
|
75
|
-
this.$dialog.toast("Operazione completata con successo.");
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Show a document permalink
|
|
80
|
-
* @param item : the item to show the link for
|
|
81
|
-
*/
|
|
82
|
-
showLink(item) {
|
|
83
|
-
if (!item)
|
|
84
|
-
return;
|
|
85
|
-
let id = item.id || item.documentId;
|
|
86
|
-
let channels = item.channelName
|
|
87
|
-
? 'Canali: ' + item.channelName + '<br>'
|
|
88
|
-
: '';
|
|
89
|
-
let origin = item.origin
|
|
90
|
-
? 'Origine: ' +
|
|
91
|
-
item.origin +
|
|
92
|
-
' ' +
|
|
93
|
-
(item.originDescription ? item.originDescription : '') +
|
|
94
|
-
'<br>'
|
|
95
|
-
: '';
|
|
96
|
-
let topics = item.topics ? 'Argomento: ' + item.topics + '<br>' : '';
|
|
97
|
-
if (!id)
|
|
98
|
-
return;
|
|
99
|
-
let message = "<p>Il link che trovi qui sotto è un riferimento diretto al documento selezionato.</p>" +
|
|
100
|
-
"<p>Lo puoi utilizzare nella tua documentazione o inviarlo per email ad un tuo collega. La persona che desidererà visualizzare il documento dovrà necessariamente essere un utente abbonato.</p>" +
|
|
101
|
-
"<p>Seleziona e copia (fai CTRL+C) il link qui sotto.</p>" +
|
|
102
|
-
"<div class='small item-greyed-2'>" +
|
|
103
|
-
this.$clipper.serviceUri +
|
|
104
|
-
'/?id=' +
|
|
105
|
-
id +
|
|
106
|
-
'</div>' +
|
|
107
|
-
'<br>' +
|
|
108
|
-
'<hr>' +
|
|
109
|
-
'<p class="small">' +
|
|
110
|
-
channels +
|
|
111
|
-
origin +
|
|
112
|
-
topics +
|
|
113
|
-
'</p>';
|
|
114
|
-
this.$dialog.info(message, 'Copia link', 'CHIUDI');
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Send documents links by email
|
|
118
|
-
* @param items : the document list
|
|
119
|
-
*/
|
|
120
|
-
sendItemsTo(items) {
|
|
121
|
-
if (!this.$clipper.loggedIn)
|
|
122
|
-
return;
|
|
123
|
-
if (!items || items.length === 0)
|
|
124
|
-
return;
|
|
125
|
-
let d = this.$dialog.open(SendToDialogComponent, {
|
|
126
|
-
ariaLabel: 'invia documenti per email',
|
|
127
|
-
autoFocus: false,
|
|
128
|
-
restoreFocus: false,
|
|
129
|
-
disableClose: false,
|
|
130
|
-
closeOnNavigation: false,
|
|
131
|
-
data: {
|
|
132
|
-
info: 'Puoi inviare i documenti a chi vuoi ma, per poterli visualizzare, è necessario essere un utente abbonato.',
|
|
133
|
-
count: items.length,
|
|
134
|
-
},
|
|
135
|
-
minWidth: '375px',
|
|
136
|
-
maxWidth: '600px',
|
|
137
|
-
width: '99%',
|
|
138
|
-
});
|
|
139
|
-
d.componentInstance.done
|
|
140
|
-
.subscribe((r) => {
|
|
141
|
-
let ids = [];
|
|
142
|
-
items.forEach((n) => {
|
|
143
|
-
ids.push(n.id || n.documentId);
|
|
144
|
-
});
|
|
145
|
-
r.ids = ids;
|
|
146
|
-
this.$dialog.busy('Invio in corso...');
|
|
147
|
-
this.$clipper.sendTo(r)
|
|
148
|
-
.subscribe({
|
|
149
|
-
next: (r2) => {
|
|
150
|
-
if (!r2.success)
|
|
151
|
-
this.$dialog.error(r2.message);
|
|
152
|
-
else {
|
|
153
|
-
this.$dialog.toast('Invio completato con successo.');
|
|
154
|
-
// Finished
|
|
155
|
-
d.close();
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
complete: () => {
|
|
159
|
-
this.$dialog.clearBusy();
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Display a document report
|
|
166
|
-
* @param documentId : the document id
|
|
167
|
-
* @param title: the document short title
|
|
168
|
-
*/
|
|
169
|
-
openReport(documentId, title = null) {
|
|
170
|
-
if (!this.$clipper.loggedIn)
|
|
171
|
-
return;
|
|
172
|
-
if (!documentId)
|
|
173
|
-
return;
|
|
174
|
-
this.$clipper.report(documentId)
|
|
175
|
-
.subscribe({
|
|
176
|
-
next: (r) => {
|
|
177
|
-
saveAs(r, (title ? title : documentId) + '.html');
|
|
178
|
-
},
|
|
179
|
-
complete: () => {
|
|
180
|
-
this.$dialog.clearBusy();
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentBaseComponent, deps: [{ token: i1.DialogService }, { token: i2.ClipperService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
185
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: ClipperDocumentBaseComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '<div></div>', isInline: true }); }
|
|
186
|
-
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentBaseComponent, decorators: [{
|
|
188
|
-
type: Component,
|
|
189
|
-
args: [{
|
|
190
|
-
template: '<div></div>',
|
|
191
|
-
standalone: true,
|
|
192
|
-
}]
|
|
193
|
-
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.ClipperService }] });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC9iYXNlL2RvY3VtZW50LWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQVlwQyxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLFlBQ1MsT0FBc0IsRUFDdEIsUUFBd0I7UUFEeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtJQUM3QixDQUFDO0lBRUw7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLElBQVM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDcEMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUU7WUFBRSxPQUFPO1FBQ3ZDLElBQUksQ0FBQyxPQUFPO2FBQ1QsT0FBTyxDQUFDLDBCQUEwQixFQUFFLGFBQWEsQ0FBQzthQUNsRCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN0QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFD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QUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLElBQUk7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDcEMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQzthQUM3QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBL0tVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHdFQUgzQixhQUFhOzsyRkFHZCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZW5kVG9EaWFsb2dDb21wb25lbnQgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uJztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7XHJcbiAgQ2xpcHBlclNlcnZpY2UgIFxyXG59IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24nO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aSc7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgdGVtcGxhdGU6ICc8ZGl2PjwvZGl2PicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlckRvY3VtZW50QmFzZUNvbXBvbmVudCAge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljICRkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgJGNsaXBwZXI6IENsaXBwZXJTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwb3J0IGEgZG9jdW1lbnQgaW4gcGRmIGZvcm1hdFxyXG4gICAqIEBwYXJhbSBpdGVtIDogdGhlIGRvY3VtZW50IHRvIGV4cG9ydFxyXG4gICAqL1xyXG4gIGV4cG9ydFBkZihpdGVtOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy4kY2xpcHBlci5sb2dnZWRJbikgcmV0dXJuO1xyXG4gICAgaWYgKCFpdGVtIHx8IGl0ZW0ubW9kZWwgPT09IDExKSByZXR1cm47XHJcbiAgICB0aGlzLiRkaWFsb2dcclxuICAgICAgLmNvbmZpcm0oXCJDb25mZXJtaSBsJ2VzcG9ydGF6aW9uZT9cIiwgJ0F0dGVuemlvbmUhJylcclxuICAgICAgLmNvbXBvbmVudEluc3RhbmNlLmNob29zZW4uc3Vic2NyaWJlKChyOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoci5yZXN1bHQgPT09ICdvaycpIHtcclxuICAgICAgICAgIGxldCBpZCA9IGl0ZW0uaWQgfHwgaXRlbS5kb2N1bWVudElkO1xyXG4gICAgICAgICAgdGhpcy4kZGlhbG9nLmJ1c3koJ0VzcG9ydGF6aW9uZSBpbiBjb3Jzby4uLicpO1xyXG4gICAgICAgICAgdGhpcy4kY2xpcHBlci5leHBvcnRQZGYoaWQpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgIG5leHQ6IChyMjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzYXZlQXMocjIsIChpdGVtLnRpdGxlMSA/IGl0ZW0udGl0bGUxIDogaWQpICsgJy5wZGYnKTtcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRkaWFsb2cuY2xlYXJCdXN5KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2F2ZSBjdXJyZW50IGRvY3VtZW50IGxpc3Qgb3IganVzdCB0aGUgc2VsZWN0ZWQgZG9jdW1lbnRzIGFzIGEgY3N2XHJcbiAgICogQHBhcmFtIGl0ZW1zOiB0aGUgaXRlbSBsaXN0XHJcbiAgICogQHBhcmFtIHNlYXJjaFBhcmFtczogdGhlIHNlYXJjaCBwYXJhbXNcclxuICAgKi9cclxuICBleHBvcnRJdGVtcyhpdGVtczogYW55LCBzZWFyY2hQYXJhbXM6IGFueSA9IG51bGwpIHtcclxuICAgIGlmICghdGhpcy4kY2xpcHBlci5sb2dnZWRJbikgcmV0dXJuO1xyXG4gICAgbGV0IGlkczogc3RyaW5nW10gPSBbXTtcclxuICAgIGlmIChpdGVtcykge1xyXG4gICAgICBpdGVtcy5mb3JFYWNoKChuOiBhbnkpID0+IHtcclxuICAgICAgICBpZHMucHVzaChuLmRvY3VtZW50SWQpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgbGV0IG1vZGVsOiBhbnkgPSB7IGlkczogaWRzLCBxdWVyeTogbnVsbCwgZm9ybWF0OiAxIH07XHJcbiAgICBpZiAobW9kZWwuaWRzLmxlbmd0aCA9PT0gMCkgbW9kZWwucXVlcnkgPSBzZWFyY2hQYXJhbXM7XHJcbiAgICB0aGlzLiRkaWFsb2cuYnVzeSgnU2FsdmF0YWdnaW8gaW4gY29yc28uLi4nKTtcclxuICAgIHRoaXMuJGNsaXBwZXIuZXhwb3J0KG1vZGVsKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocikgPT4ge1xyXG4gICAgICAgICAgc2F2ZUFzKHIsICdlbGVuY28uY3N2Jyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy4kZGlhbG9nLmNsZWFyQnVzeSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYWRkVG9CYWcoaXRlbXM6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLiRjbGlwcGVyLmxvZ2dlZEluKSByZXR1cm47XHJcbiAgICBsZXQgaWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgaXRlbXMuZm9yRWFjaCgobjogYW55KSA9PiB7XHJcbiAgICAgIGlkcy5wdXNoKG4uaWQgfHwgbi5kb2N1bWVudElkKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy4kY2xpcHBlci5hZGRUb0JhZyhpZHMpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuJGRpYWxvZy50b2FzdChcIk9wZXJhemlvbmUgY29tcGxldGF0YSBjb24gc3VjY2Vzc28uXCIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaG93IGEgZG9jdW1lbnQgcGVybWFsaW5rXHJcbiAgICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSB0byBzaG93IHRoZSBsaW5rIGZvclxyXG4gICAqL1xyXG4gIHNob3dMaW5rKGl0ZW06IGFueSkge1xyXG4gICAgaWYgKCFpdGVtKSByZXR1cm47XHJcbiAgICBsZXQgaWQgPSBpdGVtLmlkIHx8IGl0ZW0uZG9jdW1lbnRJZDtcclxuICAgIGxldCBjaGFubmVscyA9IGl0ZW0uY2hhbm5lbE5hbWVcclxuICAgICAgPyAnQ2FuYWxpOiAnICsgaXRlbS5jaGFubmVsTmFtZSArICc8YnI+J1xyXG4gICAgICA6ICcnO1xyXG4gICAgbGV0IG9yaWdpbiA9IGl0ZW0ub3JpZ2luXHJcbiAgICAgID8gJ09yaWdpbmU6ICcgK1xyXG4gICAgICBpdGVtLm9yaWdpbiArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIChpdGVtLm9yaWdpbkRlc2NyaXB0aW9uID8gaXRlbS5vcmlnaW5EZXNjcmlwdGlvbiA6ICcnKSArXHJcbiAgICAgICc8YnI+J1xyXG4gICAgICA6ICcnO1xyXG4gICAgbGV0IHRvcGljcyA9IGl0ZW0udG9waWNzID8gJ0FyZ29tZW50bzogJyArIGl0ZW0udG9waWNzICsgJzxicj4nIDogJyc7XHJcbiAgICBpZiAoIWlkKSByZXR1cm47XHJcbiAgICBsZXQgbWVzc2FnZSA9XHJcbiAgICAgIFwiPHA+SWwgbGluayBjaGUgdHJvdmkgcXVpIHNvdHRvIMOoIHVuIHJpZmVyaW1lbnRvIGRpcmV0dG8gYWwgZG9jdW1lbnRvIHNlbGV6aW9uYXRvLjwvcD5cIiArXHJcbiAgICAgIFwiPHA+TG8gcHVvaSB1dGlsaXp6YXJlIG5lbGxhIHR1YSBkb2N1bWVudGF6aW9uZSBvIGludmlhcmxvIHBlciBlbWFpbCBhZCB1biB0dW8gY29sbGVnYS4gTGEgcGVyc29uYSBjaGUgZGVzaWRlcmVyw6AgdmlzdWFsaXp6YXJlIGlsIGRvY3VtZW50byBkb3Zyw6AgbmVjZXNzYXJpYW1lbnRlIGVzc2VyZSB1biB1dGVudGUgYWJib25hdG8uPC9wPlwiICtcclxuICAgICAgXCI8cD5TZWxlemlvbmEgZSBjb3BpYSAoZmFpIENUUkwrQykgaWwgbGluayBxdWkgc290dG8uPC9wPlwiICtcclxuICAgICAgXCI8ZGl2IGNsYXNzPSdzbWFsbCBpdGVtLWdyZXllZC0yJz5cIiArXHJcbiAgICAgIHRoaXMuJGNsaXBwZXIuc2VydmljZVVyaSArXHJcbiAgICAgICcvP2lkPScgK1xyXG4gICAgICBpZCArXHJcbiAgICAgICc8L2Rpdj4nICtcclxuICAgICAgJzxicj4nICtcclxuICAgICAgJzxocj4nICtcclxuICAgICAgJzxwIGNsYXNzPVwic21hbGxcIj4nICtcclxuICAgICAgY2hhbm5lbHMgK1xyXG4gICAgICBvcmlnaW4gK1xyXG4gICAgICB0b3BpY3MgK1xyXG4gICAgICAnPC9wPic7XHJcblxyXG4gICAgdGhpcy4kZGlhbG9nLmluZm8obWVzc2FnZSwgJ0NvcGlhIGxpbmsnLCAnQ0hJVURJJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kIGRvY3VtZW50cyBsaW5rcyBieSBlbWFpbFxyXG4gICAqIEBwYXJhbSBpdGVtcyA6IHRoZSBkb2N1bWVudCBsaXN0XHJcbiAgICovXHJcbiAgc2VuZEl0ZW1zVG8oaXRlbXM6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLiRjbGlwcGVyLmxvZ2dlZEluKSByZXR1cm47XHJcbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGQgPSB0aGlzLiRkaWFsb2cub3BlbihTZW5kVG9EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgYXJpYUxhYmVsOiAnaW52aWEgZG9jdW1lbnRpIHBlciBlbWFpbCcsXHJcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGluZm86XHJcbiAgICAgICAgICAnUHVvaSBpbnZpYXJlIGkgZG9jdW1lbnRpIGEgY2hpIHZ1b2kgbWEsIHBlciBwb3RlcmxpIHZpc3VhbGl6emFyZSwgw6ggbmVjZXNzYXJpbyBlc3NlcmUgdW4gdXRlbnRlIGFiYm9uYXRvLicsXHJcbiAgICAgICAgY291bnQ6IGl0ZW1zLmxlbmd0aCxcclxuICAgICAgfSxcclxuICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgIG1heFdpZHRoOiAnNjAwcHgnLFxyXG4gICAgICB3aWR0aDogJzk5JScsXHJcbiAgICB9KTtcclxuICAgIGQuY29tcG9uZW50SW5zdGFuY2UuZG9uZVxyXG4gICAgICAuc3Vic2NyaWJlKChyOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgaWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKG46IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWRzLnB1c2gobi5pZCB8fCBuLmRvY3VtZW50SWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHIuaWRzID0gaWRzO1xyXG4gICAgICAgIHRoaXMuJGRpYWxvZy5idXN5KCdJbnZpbyBpbiBjb3Jzby4uLicpO1xyXG4gICAgICAgIHRoaXMuJGNsaXBwZXIuc2VuZFRvKHIpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHIyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIXIyLnN1Y2Nlc3MpIHRoaXMuJGRpYWxvZy5lcnJvcihyMi5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuJGRpYWxvZy50b2FzdCgnSW52aW8gY29tcGxldGF0byBjb24gc3VjY2Vzc28uJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gRmluaXNoZWRcclxuICAgICAgICAgICAgICAgIGQuY2xvc2UoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy4kZGlhbG9nLmNsZWFyQnVzeSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGEgZG9jdW1lbnQgcmVwb3J0XHJcbiAgICogQHBhcmFtIGRvY3VtZW50SWQgOiB0aGUgZG9jdW1lbnQgaWRcclxuICAgKiBAcGFyYW0gdGl0bGU6IHRoZSBkb2N1bWVudCBzaG9ydCB0aXRsZVxyXG4gICAqL1xyXG4gIG9wZW5SZXBvcnQoZG9jdW1lbnRJZDogc3RyaW5nLCB0aXRsZTogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgaWYgKCF0aGlzLiRjbGlwcGVyLmxvZ2dlZEluKSByZXR1cm47XHJcbiAgICBpZiAoIWRvY3VtZW50SWQpIHJldHVybjtcclxuICAgIHRoaXMuJGNsaXBwZXIucmVwb3J0KGRvY3VtZW50SWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyKSA9PiB7XHJcbiAgICAgICAgICBzYXZlQXMociwgKHRpdGxlID8gdGl0bGUgOiBkb2N1bWVudElkKSArICcuaHRtbCcpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuJGRpYWxvZy5jbGVhckJ1c3koKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Inject, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';
|
|
3
|
-
import { MatListModule } from '@angular/material/list';
|
|
4
|
-
import { SystemUtils } from '@arsedizioni/ars-utils/core';
|
|
5
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
-
import { ExtendedModule } from '@ngbracket/ngx-layout/extended';
|
|
8
|
-
import { FlexModule } from '@ngbracket/ngx-layout/flex';
|
|
9
|
-
import { NgStyle } from '@angular/common';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@arsedizioni/ars-utils/ui";
|
|
12
|
-
import * as i2 from "@arsedizioni/ars-utils/clipper.common";
|
|
13
|
-
import * as i3 from "@angular/material/dialog";
|
|
14
|
-
import * as i4 from "@angular/material/list";
|
|
15
|
-
import * as i5 from "@ngbracket/ngx-layout/flex";
|
|
16
|
-
import * as i6 from "@ngbracket/ngx-layout/extended";
|
|
17
|
-
import * as i7 from "@angular/material/tooltip";
|
|
18
|
-
import * as i8 from "@angular/material/button";
|
|
19
|
-
export class ClipperDocumentIndexComponent {
|
|
20
|
-
constructor($dialog, $clipper, dialogRef, _data) {
|
|
21
|
-
this.$dialog = $dialog;
|
|
22
|
-
this.$clipper = $clipper;
|
|
23
|
-
this.dialogRef = dialogRef;
|
|
24
|
-
this.done = new EventEmitter();
|
|
25
|
-
this.okDisabled = true;
|
|
26
|
-
this.data = _data;
|
|
27
|
-
if (this.data?.documentId)
|
|
28
|
-
this.load(this.data?.documentId, this.data.excludedTypes);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Display document structure
|
|
32
|
-
* @param documentId : the document id
|
|
33
|
-
* @param excludedTypes: the array of fragment type to be excluded off
|
|
34
|
-
*/
|
|
35
|
-
load(documentId, excludedTypes = null) {
|
|
36
|
-
if (!this.$clipper.loggedIn)
|
|
37
|
-
return;
|
|
38
|
-
this.$dialog.setBusy('Caricamento in corso...');
|
|
39
|
-
this.$clipper.index(documentId)
|
|
40
|
-
.subscribe({
|
|
41
|
-
next: (r) => {
|
|
42
|
-
if (!r.success)
|
|
43
|
-
this.$dialog.error(r.message);
|
|
44
|
-
else {
|
|
45
|
-
this.items = [];
|
|
46
|
-
r.value?.items.forEach((n) => {
|
|
47
|
-
if (!excludedTypes || excludedTypes.indexOf(n.type) === -1) {
|
|
48
|
-
if (n.title)
|
|
49
|
-
n.description = n.title;
|
|
50
|
-
else {
|
|
51
|
-
if (n.type < 3) {
|
|
52
|
-
n.description = n.text.trim();
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
n.description =
|
|
56
|
-
n.typeDescription.trim() + ' ' + n.text.trim() + '.';
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
this.items.push(n);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
complete: () => {
|
|
65
|
-
this.$dialog.clearBusy();
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Handle selection/deselection of an item
|
|
71
|
-
*/
|
|
72
|
-
select() {
|
|
73
|
-
this.okDisabled =
|
|
74
|
-
!this.selection || this.selection.selectedOptions.selected.length === 0;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Confirm selection
|
|
78
|
-
*/
|
|
79
|
-
use(item = null) {
|
|
80
|
-
if (this.okDisabled)
|
|
81
|
-
return;
|
|
82
|
-
if (this.data.multiple) {
|
|
83
|
-
if (item)
|
|
84
|
-
return; // multiple and single item selection not supported
|
|
85
|
-
let selection = [];
|
|
86
|
-
this.selection.selectedOptions.selected.forEach((n) => {
|
|
87
|
-
selection.push(n.value);
|
|
88
|
-
});
|
|
89
|
-
this.done.emit({ data: selection });
|
|
90
|
-
}
|
|
91
|
-
else if (item) {
|
|
92
|
-
this.done.emit({ data: item });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentIndexComponent, deps: [{ token: i1.DialogService }, { token: i2.ClipperService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: ClipperDocumentIndexComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, viewQueries: [{ propertyName: "selection", first: true, predicate: ["selection"], descendants: true }], ngImport: i0, template: "<h2 mat-dialog-title>Indice</h2>\r\n<div mat-dialog-content>\r\n @if (!items || items.length === 0) {\r\n<p>\r\n Nessun elemento da visualizzare.\r\n </p>\r\n}\r\n @if (items && items.length > 0) {\r\n<mat-selection-list dense #selection (selectionChange)=\"select();\"\r\n [multiple]=\"data.multiple\" hideSingleSelectionIndicator=\"true\">\r\n @for (item of items; track item) {\r\n \r\n @if (item.type > 4) {\r\n<div class=\"small uppercase truncated\" style=\"font-weight: 600; display: flex; align-items: center; min-height: 36px;\">\r\n <div>{{item.description}}</div>\r\n </div>\r\n}\r\n @if (item.type <= 4) {\r\n<mat-list-option color=\"primary\" [selected]=\"false\" [value]=\"item\" (click)=\"use(item)\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div [ngStyle]=\"{'flex': '0 0 ' + (10 * item.level) + 'px'}\"></div>\r\n <div style=\"flex: 1 1 100%\" class=\"truncated\">\r\n <div class=\"small\" [matTooltip]=\"item.description\">{{item.description}}</div>\r\n </div>\r\n </div>\r\n </mat-list-option>\r\n}\r\n \r\n}\r\n </mat-selection-list>\r\n}\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n @if (data.multiple) {\r\n<button mat-flat-button color=\"primary\" [disabled]=\"okDisabled\" (click)=\"use()\">USA</button>\r\n}\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">CHIUDI</button>\r\n </div>\r\n</div>", styles: [".items{overflow:hidden}.items ul{list-style-type:none;padding:0;margin:0}.items ul li{display:block;color:#2d2e2e}.items ul li a{color:inherit;text-decoration:none;display:block}.items ul li:hover{background-color:#fcfcfc;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i5.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ExtendedModule }, { kind: "directive", type: i6.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] }); }
|
|
97
|
-
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentIndexComponent, decorators: [{
|
|
99
|
-
type: Component,
|
|
100
|
-
args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, imports: [
|
|
101
|
-
MatDialogTitle,
|
|
102
|
-
MatDialogContent,
|
|
103
|
-
MatListModule,
|
|
104
|
-
FlexModule,
|
|
105
|
-
NgStyle,
|
|
106
|
-
ExtendedModule,
|
|
107
|
-
MatTooltipModule,
|
|
108
|
-
MatDialogActions,
|
|
109
|
-
MatButtonModule,
|
|
110
|
-
MatDialogClose,
|
|
111
|
-
], template: "<h2 mat-dialog-title>Indice</h2>\r\n<div mat-dialog-content>\r\n @if (!items || items.length === 0) {\r\n<p>\r\n Nessun elemento da visualizzare.\r\n </p>\r\n}\r\n @if (items && items.length > 0) {\r\n<mat-selection-list dense #selection (selectionChange)=\"select();\"\r\n [multiple]=\"data.multiple\" hideSingleSelectionIndicator=\"true\">\r\n @for (item of items; track item) {\r\n \r\n @if (item.type > 4) {\r\n<div class=\"small uppercase truncated\" style=\"font-weight: 600; display: flex; align-items: center; min-height: 36px;\">\r\n <div>{{item.description}}</div>\r\n </div>\r\n}\r\n @if (item.type <= 4) {\r\n<mat-list-option color=\"primary\" [selected]=\"false\" [value]=\"item\" (click)=\"use(item)\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div [ngStyle]=\"{'flex': '0 0 ' + (10 * item.level) + 'px'}\"></div>\r\n <div style=\"flex: 1 1 100%\" class=\"truncated\">\r\n <div class=\"small\" [matTooltip]=\"item.description\">{{item.description}}</div>\r\n </div>\r\n </div>\r\n </mat-list-option>\r\n}\r\n \r\n}\r\n </mat-selection-list>\r\n}\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n @if (data.multiple) {\r\n<button mat-flat-button color=\"primary\" [disabled]=\"okDisabled\" (click)=\"use()\">USA</button>\r\n}\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">CHIUDI</button>\r\n </div>\r\n</div>", styles: [".items{overflow:hidden}.items ul{list-style-type:none;padding:0;margin:0}.items ul li{display:block;color:#2d2e2e}.items ul li a{color:inherit;text-decoration:none;display:block}.items ul li:hover{background-color:#fcfcfc;cursor:pointer}\n"] }]
|
|
112
|
-
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.ClipperService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
|
|
113
|
-
type: Inject,
|
|
114
|
-
args: [MAT_DIALOG_DATA]
|
|
115
|
-
}] }], propDecorators: { selection: [{
|
|
116
|
-
type: ViewChild,
|
|
117
|
-
args: ['selection']
|
|
118
|
-
}], done: [{
|
|
119
|
-
type: Output
|
|
120
|
-
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQvZG9jdW1lbnQtaW5kZXgvZG9jdW1lbnQtaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQvZG9jdW1lbnQtaW5kZXgvZG9jdW1lbnQtaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdJLE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBSSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQTZCNUMsTUFBTSxPQUFPLDZCQUE2QjtJQVF4QyxZQUNVLE9BQXNCLEVBQ3RCLFFBQXdCLEVBQ3pCLFNBQXNELEVBQ3BDLEtBQXFDO1FBSHRELFlBQU8sR0FBUCxPQUFPLENB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TSxFQUFFLEVBQUU7Z0JBQ3pELFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDOzhHQTlFVSw2QkFBNkIseUdBWTlCLGVBQWU7a0dBWmQsNkJBQTZCLHlHQW5CdEIsV0FBVyxDQUFDLFlBQVksRUFBRSxzSUM1QjlDLDYrQ0F1Q00seVNETkUsY0FBYywrSEFDZCxnQkFBZ0Isd0dBRWhCLGFBQWEsNGRBRWIsVUFBVSxpOERBQ1YsT0FBTywwRUFDUCxjQUFjLGtpQkFDZCxnQkFBZ0IsNlRBQ2hCLGdCQUFnQiwySEFDaEIsZUFBZSw0TkFDZixjQUFjOzsyRkFHVCw2QkFBNkI7a0JBcEJ6QyxTQUFTOzJCQUNBLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxjQUdoQyxJQUFJLFdBQ1A7d0JBQ0wsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBRWhCLGFBQWE7d0JBRWIsVUFBVTt3QkFDVixPQUFPO3dCQUNQLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsY0FBYztxQkFDakI7OzBCQWNBLE1BQU07MkJBQUMsZUFBZTt5Q0FYRCxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ1osSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dUaXRsZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0LCBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpJztcclxuaW1wb3J0IHtcclxuICBDbGlwcGVyU2VydmljZSAgXHJcbn0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcbmltcG9ydCB7IFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBFeHRlbmRlZE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9leHRlbmRlZCc7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZmxleCc7XHJcbmltcG9ydCB7ICAgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRG9jdW1lbnRJbmRleERpYWxvZ0RhdGEge1xyXG4gIGRvY3VtZW50SWQ6IHN0cmluZyxcclxuICBleGNsdWRlZFR5cGVzPzogbnVtYmVyW10sXHJcbiAgbXVsdGlwbGU/OiBib29sZWFuXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgaG9zdDogeyAnQmluZCc6IFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpIH0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnQtaW5kZXguY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnQtaW5kZXguY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTWF0RGlhbG9nVGl0bGUsXHJcbiAgICAgICAgTWF0RGlhbG9nQ29udGVudCxcclxuICAgICAgICBcclxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgICAgIFxyXG4gICAgICAgIEZsZXhNb2R1bGUsXHJcbiAgICAgICAgTmdTdHlsZSxcclxuICAgICAgICBFeHRlbmRlZE1vZHVsZSxcclxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgICAgIE1hdERpYWxvZ0FjdGlvbnMsXHJcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIE1hdERpYWxvZ0Nsb3NlLFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENsaXBwZXJEb2N1bWVudEluZGV4Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdzZWxlY3Rpb24nKSBzZWxlY3Rpb24hOiBNYXRTZWxlY3Rpb25MaXN0O1xyXG4gIEBPdXRwdXQoKSBkb25lID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGRhdGE6IENsaXBwZXJEb2N1bWVudEluZGV4RGlhbG9nRGF0YTtcclxuICBpdGVtczogYW55O1xyXG4gIG9rRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgJGRpYWxvZzogRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgJGNsaXBwZXI6IENsaXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENsaXBwZXJEb2N1bWVudEluZGV4Q29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBfZGF0YTogQ2xpcHBlckRvY3VtZW50SW5kZXhEaWFsb2dEYXRhXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRhdGEgPSBfZGF0YTtcclxuICAgIGlmICh0aGlzLmRhdGE/LmRvY3VtZW50SWQpXHJcbiAgICAgIHRoaXMubG9hZCh0aGlzLmRhdGE/LmRvY3VtZW50SWQsIHRoaXMuZGF0YS5leGNsdWRlZFR5cGVzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXkgZG9jdW1lbnQgc3RydWN0dXJlXHJcbiAgICogQHBhcmFtIGRvY3VtZW50SWQgOiB0aGUgZG9jdW1lbnQgaWRcclxuICAgKiBAcGFyYW0gZXhjbHVkZWRUeXBlczogdGhlIGFycmF5IG9mIGZyYWdtZW50IHR5cGUgdG8gYmUgZXhjbHVkZWQgb2ZmXHJcbiAgICovXHJcbiAgbG9hZChkb2N1bWVudElkOiBzdHJpbmcsIGV4Y2x1ZGVkVHlwZXM6IG51bWJlcltdID0gbnVsbCkge1xyXG4gICAgaWYgKCF0aGlzLiRjbGlwcGVyLmxvZ2dlZEluKSByZXR1cm47XHJcbiAgICB0aGlzLiRkaWFsb2cuc2V0QnVzeSgnQ2FyaWNhbWVudG8gaW4gY29yc28uLi4nKTtcclxuICAgIHRoaXMuJGNsaXBwZXIuaW5kZXgoZG9jdW1lbnRJZClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHIpID0+IHtcclxuICAgICAgICAgIGlmICghci5zdWNjZXNzKSB0aGlzLiRkaWFsb2cuZXJyb3Ioci5tZXNzYWdlKTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gW107ICAgICAgICAgIFxyXG4gICAgICAgICAgICByLnZhbHVlPy5pdGVtcy5mb3JFYWNoKChuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIWV4Y2x1ZGVkVHlwZXMgfHwgZXhjbHVkZWRUeXBlcy5pbmRleE9mKG4udHlwZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobi50aXRsZSkgbi5kZXNjcmlwdGlvbiA9IG4udGl0bGU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgaWYgKG4udHlwZSA8IDMpIHtcclxuICAgICAgICAgICAgICAgICAgICBuLmRlc2NyaXB0aW9uID0gbi50ZXh0LnRyaW0oKTtcclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBuLmRlc2NyaXB0aW9uID1cclxuICAgICAgICAgICAgICAgICAgICAgIG4udHlwZURlc2NyaXB0aW9uLnRyaW0oKSArICcgJyArIG4udGV4dC50cmltKCkgKyAnLic7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChuKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuJGRpYWxvZy5jbGVhckJ1c3koKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIHNlbGVjdGlvbi9kZXNlbGVjdGlvbiBvZiBhbiBpdGVtXHJcbiAgICovXHJcbiAgc2VsZWN0KCkge1xyXG4gICAgdGhpcy5va0Rpc2FibGVkID1cclxuICAgICAgIXRoaXMuc2VsZWN0aW9uIHx8IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZC5sZW5ndGggPT09IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25maXJtIHNlbGVjdGlvblxyXG4gICAqL1xyXG4gIHVzZShpdGVtOiBhbnkgPSBudWxsKSB7XHJcbiAgICBpZiAodGhpcy5va0Rpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5kYXRhLm11bHRpcGxlKXtcclxuICAgICAgaWYgKGl0ZW0pIHJldHVybjsgLy8gbXVsdGlwbGUgYW5kIHNpbmdsZSBpdGVtIHNlbGVjdGlvbiBub3Qgc3VwcG9ydGVkXHJcbiAgICAgIGxldCBzZWxlY3Rpb246IGFueSA9IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0ZWQuZm9yRWFjaCgobjogYW55KSA9PiB7XHJcbiAgICAgICAgc2VsZWN0aW9uLnB1c2gobi52YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmRvbmUuZW1pdCh7IGRhdGE6IHNlbGVjdGlvbiB9KTtcclxuICAgIH0gZWxzZSBpZiAoaXRlbSkge1xyXG4gICAgICB0aGlzLmRvbmUuZW1pdCh7IGRhdGE6IGl0ZW0gfSk7IFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT5JbmRpY2U8L2gyPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICBAaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcclxuPHA+XHJcbiAgICBOZXNzdW4gZWxlbWVudG8gZGEgdmlzdWFsaXp6YXJlLlxyXG4gIDwvcD5cclxufVxyXG4gIEBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xyXG48bWF0LXNlbGVjdGlvbi1saXN0IGRlbnNlICNzZWxlY3Rpb24gKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3QoKTtcIlxyXG4gICAgW211bHRpcGxlXT1cImRhdGEubXVsdGlwbGVcIiBoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yPVwidHJ1ZVwiPlxyXG4gICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbSkge1xyXG4gIFxyXG4gICAgICBAaWYgKGl0ZW0udHlwZSA+IDQpIHtcclxuPGRpdiBjbGFzcz1cInNtYWxsIHVwcGVyY2FzZSB0cnVuY2F0ZWRcIiBzdHlsZT1cImZvbnQtd2VpZ2h0OiA2MDA7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7ICBtaW4taGVpZ2h0OiAzNnB4O1wiPlxyXG4gICAgICAgIDxkaXY+e3tpdGVtLmRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbn1cclxuICAgICAgQGlmIChpdGVtLnR5cGUgPD0gNCkge1xyXG48bWF0LWxpc3Qtb3B0aW9uIGNvbG9yPVwicHJpbWFyeVwiIFtzZWxlY3RlZF09XCJmYWxzZVwiIFt2YWx1ZV09XCJpdGVtXCIgKGNsaWNrKT1cInVzZShpdGVtKVwiPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnZmxleCc6ICcwIDAgJyArICgxMCAqIGl0ZW0ubGV2ZWwpICsgJ3B4J31cIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OiAxIDEgMTAwJVwiIGNsYXNzPVwidHJ1bmNhdGVkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiIFttYXRUb29sdGlwXT1cIml0ZW0uZGVzY3JpcHRpb25cIj57e2l0ZW0uZGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxyXG59XHJcbiAgICBcclxufVxyXG4gIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxyXG59XHJcbjwvZGl2PlxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4RmlsbD5cclxuICAgIEBpZiAoZGF0YS5tdWx0aXBsZSkge1xyXG48YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwib2tEaXNhYmxlZFwiIChjbGljayk9XCJ1c2UoKVwiPlVTQTwvYnV0dG9uPlxyXG59XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiPkNISVVESTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { ClipperDefinitions } from '@arsedizioni/ars-utils/clipper.common';
|
|
3
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
4
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@arsedizioni/ars-utils/clipper.common";
|
|
9
|
-
import * as i2 from "@angular/material/menu";
|
|
10
|
-
import * as i3 from "@angular/material/icon";
|
|
11
|
-
import * as i4 from "@angular/material/divider";
|
|
12
|
-
import * as i5 from "@angular/material/tooltip";
|
|
13
|
-
export class ClipperDocumentMenuComponent {
|
|
14
|
-
constructor($clipper) {
|
|
15
|
-
this.$clipper = $clipper;
|
|
16
|
-
this.isReference = false;
|
|
17
|
-
this.isReadable = true;
|
|
18
|
-
this.isSelectable = false;
|
|
19
|
-
this.isDeadline = false;
|
|
20
|
-
this.isLawInForce = false;
|
|
21
|
-
this.isLaw = false;
|
|
22
|
-
this.selection = null;
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
switch (this.selectionSource) {
|
|
26
|
-
case 'selection':
|
|
27
|
-
this.selection = this.parent.selection.all;
|
|
28
|
-
break;
|
|
29
|
-
case 'bag':
|
|
30
|
-
this.selection = this.$clipper.bag;
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Clear current selection
|
|
36
|
-
*/
|
|
37
|
-
clearSelection() {
|
|
38
|
-
this.parent.selection.clear();
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Checks if all documents are supported by RS
|
|
42
|
-
* @param documents : the list of documens
|
|
43
|
-
* @returns: true if all documents supports RS
|
|
44
|
-
*/
|
|
45
|
-
RS_enabled(documents) {
|
|
46
|
-
if (!documents)
|
|
47
|
-
return false;
|
|
48
|
-
let allow = false;
|
|
49
|
-
documents.forEach((n) => {
|
|
50
|
-
allow = n.model === ClipperDefinitions.DM_NORMATIVA_VIGENTE ||
|
|
51
|
-
n.model === ClipperDefinitions.DM_AGGIORNAMENTO_NORMATIVO ||
|
|
52
|
-
n.model === ClipperDefinitions.DM_SCADENZA;
|
|
53
|
-
if (!allow)
|
|
54
|
-
return;
|
|
55
|
-
});
|
|
56
|
-
return allow;
|
|
57
|
-
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentMenuComponent, deps: [{ token: i1.ClipperService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: ClipperDocumentMenuComponent, isStandalone: true, selector: "clipper-document-menu", inputs: { selectionSource: "selectionSource", parent: "parent", item: "item", isReference: "isReference", isReadable: "isReadable", isSelectable: "isSelectable", isDeadline: "isDeadline", isLawInForce: "isLawInForce", isLaw: "isLaw" }, ngImport: i0, template: "@if (selectionSource === 'selection') {\r\n<button mat-menu-item (click)=\"clearSelection()\"\r\n [attr.aria-label]=\"'Deseleziona tutti'\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n}\r\n@if (selectionSource === 'bag') {\r\n<button mat-menu-item (click)=\"parent.manageBag()\"\r\n [attr.aria-label]=\"'Gestisci documenti di lavoro'\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (selectionSource) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item || (selection && selection.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\"\r\n (click)=\"parent.open(item ? item.documentId : selection[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent.addToBag(item ? [item] : selection)\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if ((item || (selection && selection.length > 1))) {\r\n<button mat-menu-item (click)=\"parent.sendTo(item ? item : null)\"\r\n [attr.aria-label]=\"'Invia documento per email'\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item && item.model != 11) || (selection && selection.length === 1 && selection[0].model != 11))) {\r\n<button mat-menu-item\r\n \r\n (click)=\"parent.exportPdf(item ? item : selection[0])\" [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent.showLink(item ? item : selection[0])\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [matMenuTriggerFor]=\"linksMenu\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n}\r\n@if ((isLawInForce || isDeadline) && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra report utilizzo'\" (click)=\"parent.report(item ? item : selection[0])\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n<mat-menu #linksMenu=\"matMenu\">\r\n @if (!isReference && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent.references(item ? item : selection[0], 1)\">\r\n Documenti richiamati\r\n </button>\r\n}\r\n @if ( !isReference &&(item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent.references(item ? item : selection[0], 2)\">\r\n Documenti che richiamano\r\n </button>\r\n}\r\n @if (!isReference && isLawInForce && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"parent.references(item ? item : selection[0], 4)\">\r\n Juris\r\n </button>\r\n}\r\n @if (!isReference && isLawInForce && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra modifiche normative'\" (click)=\"parent.references(item ? item : selection[0], 3)\">\r\n Modifiche\r\n</button>\r\n}\r\n</mat-menu>\r\n@if ((item || selection?.length > 0) && RS_enabled(item ? [item] : selection) && !isSelectable) {\r\n<mat-divider ></mat-divider>\r\n} \r\n@if ((item || selection?.length > 0) && RS_enabled(item ? [item] : selection) && !isSelectable) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\"\r\n [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\" [matMenuTriggerFor]=\"menuRS\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n </button>\r\n}\r\n <mat-menu #menuRS=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent.RS_newLaw(item)\">\r\n Nuova legge\r\n </button>\r\n @if (item || selection?.length === 1) {\r\n<button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent.RS_newActivity(item)\">\r\n Nuova attivit\u00E0\r\n </button>\r\n}\r\n @if (item || selection?.length === 1) {\r\n<button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent.RS_usageReport(item)\">\r\n Report utilizzo norma\r\n </button>\r\n}\r\n </mat-menu>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
60
|
-
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ClipperDocumentMenuComponent, decorators: [{
|
|
62
|
-
type: Component,
|
|
63
|
-
args: [{ selector: 'clipper-document-menu', standalone: true, imports: [
|
|
64
|
-
MatMenuModule,
|
|
65
|
-
MatIconModule,
|
|
66
|
-
MatDividerModule,
|
|
67
|
-
MatTooltipModule,
|
|
68
|
-
], template: "@if (selectionSource === 'selection') {\r\n<button mat-menu-item (click)=\"clearSelection()\"\r\n [attr.aria-label]=\"'Deseleziona tutti'\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n}\r\n@if (selectionSource === 'bag') {\r\n<button mat-menu-item (click)=\"parent.manageBag()\"\r\n [attr.aria-label]=\"'Gestisci documenti di lavoro'\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (selectionSource) {\r\n<mat-divider></mat-divider>\r\n}\r\n@if (item || (selection && selection.length === 1)) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\"\r\n (click)=\"parent.open(item ? item.documentId : selection[0].documentId)\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (selectionSource !== 'bag') {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent.addToBag(item ? [item] : selection)\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if ((item || (selection && selection.length > 1))) {\r\n<button mat-menu-item (click)=\"parent.sendTo(item ? item : null)\"\r\n [attr.aria-label]=\"'Invia documento per email'\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (((item && item.model != 11) || (selection && selection.length === 1 && selection[0].model != 11))) {\r\n<button mat-menu-item\r\n \r\n (click)=\"parent.exportPdf(item ? item : selection[0])\" [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if ((item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent.showLink(item ? item : selection[0])\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (!isReference && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [matMenuTriggerFor]=\"linksMenu\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n}\r\n@if ((isLawInForce || isDeadline) && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra report utilizzo'\" (click)=\"parent.report(item ? item : selection[0])\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n<mat-menu #linksMenu=\"matMenu\">\r\n @if (!isReference && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"parent.references(item ? item : selection[0], 1)\">\r\n Documenti richiamati\r\n </button>\r\n}\r\n @if ( !isReference &&(item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"parent.references(item ? item : selection[0], 2)\">\r\n Documenti che richiamano\r\n </button>\r\n}\r\n @if (!isReference && isLawInForce && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"parent.references(item ? item : selection[0], 4)\">\r\n Juris\r\n </button>\r\n}\r\n @if (!isReference && isLawInForce && (item || (selection && selection.length === 1))) {\r\n<button mat-menu-item\r\n [attr.aria-label]=\"'Mostra modifiche normative'\" (click)=\"parent.references(item ? item : selection[0], 3)\">\r\n Modifiche\r\n</button>\r\n}\r\n</mat-menu>\r\n@if ((item || selection?.length > 0) && RS_enabled(item ? [item] : selection) && !isSelectable) {\r\n<mat-divider ></mat-divider>\r\n} \r\n@if ((item || selection?.length > 0) && RS_enabled(item ? [item] : selection) && !isSelectable) {\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\"\r\n [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\" [matMenuTriggerFor]=\"menuRS\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n </button>\r\n}\r\n <mat-menu #menuRS=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent.RS_newLaw(item)\">\r\n Nuova legge\r\n </button>\r\n @if (item || selection?.length === 1) {\r\n<button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent.RS_newActivity(item)\">\r\n Nuova attivit\u00E0\r\n </button>\r\n}\r\n @if (item || selection?.length === 1) {\r\n<button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\" (click)=\"parent.RS_usageReport(item)\">\r\n Report utilizzo norma\r\n </button>\r\n}\r\n </mat-menu>\r\n" }]
|
|
69
|
-
}], ctorParameters: () => [{ type: i1.ClipperService }], propDecorators: { selectionSource: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], parent: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], item: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], isReference: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], isReadable: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], isSelectable: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], isDeadline: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], isLawInForce: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], isLaw: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC9kb2N1bWVudC1tZW51L2RvY3VtZW50LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQvZG9jdW1lbnQtbWVudS9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFDTCxrQkFBa0IsRUFFbkIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBZXZELE1BQU0sT0FBTyw0QkFBNEI7SUFjdkMsWUFBbUIsUUFBd0I7UUFBeEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFUbEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFaEMsY0FBUyxHQUFRLElBQUksQ0FBQztJQUd0QixDQUFDO0lBRUQsUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdCLEtBQUssV0FBVztnQkFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztnQkFDM0MsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBR0Q7Ozs7SUFJQTtJQUNBLFVBQVUsQ0FBQyxTQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUMzQixLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssS0FBSyxrQkFBa0IsQ0FBQyxvQkFBb0I7Z0JBQ3pELENBQUMsQ0FBQyxLQUFLLEtBQUssa0JBQWtCLENBQUMsMEJBQTBCO2dCQUN6RCxDQUFDLENBQUMsS0FBSyxLQUFLLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUM3QyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQW5EVSw0QkFBNEI7a0dBQTVCLDRCQUE0Qiw2VEN2QnpDLHNpSkFnSEEseUREL0ZRLGFBQWEsNnZCQUNiLGFBQWEsbUxBQ2IsZ0JBQWdCLGtJQUNoQixnQkFBZ0I7OzJGQUdYLDRCQUE0QjtrQkFieEMsU0FBUzsrQkFDSSx1QkFBdUIsY0FHckIsSUFBSSxXQUNQO3dCQUVMLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjtxQkFDbkI7bUZBSU0sZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDbGlwcGVyRGVmaW5pdGlvbnMsXHJcbiAgQ2xpcHBlclNlcnZpY2VcclxufSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NsaXBwZXIuY29tbW9uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NsaXBwZXItZG9jdW1lbnQtbWVudScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIFxyXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlckRvY3VtZW50TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGlvblNvdXJjZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBhcmVudDogYW55O1xyXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuICBASW5wdXQoKSBpc1JlZmVyZW5jZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUmVhZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzU2VsZWN0YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzRGVhZGxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xhd0luRm9yY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xhdzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3Rpb246IGFueSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyAkY2xpcHBlcjogQ2xpcHBlclNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3dpdGNoICh0aGlzLnNlbGVjdGlvblNvdXJjZSkge1xyXG4gICAgICBjYXNlICdzZWxlY3Rpb24nOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gdGhpcy5wYXJlbnQuc2VsZWN0aW9uLmFsbDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYmFnJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHRoaXMuJGNsaXBwZXIuYmFnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgY3VycmVudCBzZWxlY3Rpb25cclxuICAgKi9cclxuICBjbGVhclNlbGVjdGlvbigpIHtcclxuICAgIHRoaXMucGFyZW50LnNlbGVjdGlvbi5jbGVhcigpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4qIENoZWNrcyBpZiBhbGwgZG9jdW1lbnRzIGFyZSBzdXBwb3J0ZWQgYnkgUlNcclxuKiBAcGFyYW0gZG9jdW1lbnRzIDogdGhlIGxpc3Qgb2YgZG9jdW1lbnNcclxuKiBAcmV0dXJuczogdHJ1ZSBpZiBhbGwgZG9jdW1lbnRzIHN1cHBvcnRzIFJTXHJcbiovXHJcbiAgUlNfZW5hYmxlZChkb2N1bWVudHM6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFkb2N1bWVudHMpIHJldHVybiBmYWxzZTtcclxuICAgIGxldCBhbGxvdyA9IGZhbHNlO1xyXG4gICAgZG9jdW1lbnRzLmZvckVhY2goKG46IGFueSkgPT4ge1xyXG4gICAgICBhbGxvdyA9IG4ubW9kZWwgPT09IENsaXBwZXJEZWZpbml0aW9ucy5ETV9OT1JNQVRJVkFfVklHRU5URSB8fFxyXG4gICAgICAgIG4ubW9kZWwgPT09IENsaXBwZXJEZWZpbml0aW9ucy5ETV9BR0dJT1JOQU1FTlRPX05PUk1BVElWTyB8fFxyXG4gICAgICAgIG4ubW9kZWwgPT09IENsaXBwZXJEZWZpbml0aW9ucy5ETV9TQ0FERU5aQTtcclxuICAgICAgaWYgKCFhbGxvdykgcmV0dXJuO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYWxsb3c7XHJcbiAgfVxyXG5cclxufSIsIkBpZiAoc2VsZWN0aW9uU291cmNlID09PSAnc2VsZWN0aW9uJykge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rlc2VsZXppb25hIHR1dHRpJ1wiPlxyXG4gIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+RGVzZWxlemlvbmEgdHV0dGlcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChzZWxlY3Rpb25Tb3VyY2UgPT09ICdiYWcnKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50Lm1hbmFnZUJhZygpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidHZXN0aXNjaSBkb2N1bWVudGkgZGkgbGF2b3JvJ1wiPlxyXG4gIDxtYXQtaWNvbj53b3JrX291dGxpbmU8L21hdC1pY29uPkdlc3Rpc2NpIGRvY3VtZW50aSBkaSBsYXZvcm9cclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChzZWxlY3Rpb25Tb3VyY2UpIHtcclxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbn1cclxuQGlmIChpdGVtIHx8IChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FwcmkgZG9jdW1lbnRvJ1wiXHJcbiAgKGNsaWNrKT1cInBhcmVudC5vcGVuKGl0ZW0gPyBpdGVtLmRvY3VtZW50SWQgOiBzZWxlY3Rpb25bMF0uZG9jdW1lbnRJZClcIj5cclxuICA8bWF0LWljb24+PC9tYXQtaWNvbj5BcHJpXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoc2VsZWN0aW9uU291cmNlICE9PSAnYmFnJykge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQWdnaXVuZ2kgYWkgZG9jdW1lbnRpIGRpIGxhdm9ybydcIlxyXG4gIChjbGljayk9XCJwYXJlbnQuYWRkVG9CYWcoaXRlbSA/IFtpdGVtXSA6IHNlbGVjdGlvbilcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5BZ2dpdW5naSBhaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoKGl0ZW0gfHwgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoID4gMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50LnNlbmRUbyhpdGVtID8gaXRlbSA6IG51bGwpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidJbnZpYSBkb2N1bWVudG8gcGVyIGVtYWlsJ1wiPlxyXG4gIDxtYXQtaWNvbj5zZW5kPC9tYXQtaWNvbj5JbnZpYSBwZXIgZW1haWxcclxuPC9idXR0b24+XHJcbn1cclxuQGlmICgoKGl0ZW0gJiYgaXRlbS5tb2RlbCAhPSAxMSkgfHwgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoID09PSAxICYmIHNlbGVjdGlvblswXS5tb2RlbCAhPSAxMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbVxyXG4gXHJcbiAgKGNsaWNrKT1cInBhcmVudC5leHBvcnRQZGYoaXRlbSA/IGl0ZW0gOiBzZWxlY3Rpb25bMF0pXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInU2FsdmEgZG9jdW1lbnRvIGluIHBkZidcIj5cclxuICA8bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPlNhbHZhIGluIHBkZlxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKChpdGVtIHx8IChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbVxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0dlbmVyYSB1biBsaW5rIHBlcm1hbmVudGUgZGEgdXRpbGl6emFyZSBlc3Rlcm5hbWVudGUnXCJcclxuICAoY2xpY2spPVwicGFyZW50LnNob3dMaW5rKGl0ZW0gPyBpdGVtIDogc2VsZWN0aW9uWzBdKVwiPlxyXG4gIDxtYXQtaWNvbj5saW5rPC9tYXQtaWNvbj5MaW5rXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoIWlzUmVmZXJlbmNlICYmIChpdGVtIHx8IChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbVxyXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJsaW5rc01lbnVcIj5cclxuICA8bWF0LWljb24+Y29tcGFyZV9hcnJvd3M8L21hdC1pY29uPkNvbGxlZ2FtZW50aVxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKChpc0xhd0luRm9yY2UgfHwgaXNEZWFkbGluZSkgJiYgKGl0ZW0gfHwgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoID09PSAxKSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIHJlcG9ydCB1dGlsaXp6bydcIiAoY2xpY2spPVwicGFyZW50LnJlcG9ydChpdGVtID8gaXRlbSA6IHNlbGVjdGlvblswXSlcIj5cclxuICA8bWF0LWljb24+YXNzaWdubWVudDwvbWF0LWljb24+UmVwb3J0XHJcbjwvYnV0dG9uPlxyXG59XHJcbjxtYXQtbWVudSAjbGlua3NNZW51PVwibWF0TWVudVwiPlxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlICYmIChpdGVtIHx8IChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbVxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIGkgZG9jdW1lbnRpIHJpY2hpYW1hdGkgZGEgcXVlc3RvJ1wiXHJcbiAgICAoY2xpY2spPVwicGFyZW50LnJlZmVyZW5jZXMoaXRlbSA/IGl0ZW0gOiBzZWxlY3Rpb25bMF0sIDEpXCI+XHJcbiAgICBEb2N1bWVudGkgcmljaGlhbWF0aVxyXG4gIDwvYnV0dG9uPlxyXG59XHJcbiAgQGlmICggIWlzUmVmZXJlbmNlICYmKGl0ZW0gfHwgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoID09PSAxKSkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgaSBkb2N1bWVudGkgY2hlIHJpY2hpYW1hbm8gcXVlc3RvJ1wiXHJcbiAgICAoY2xpY2spPVwicGFyZW50LnJlZmVyZW5jZXMoaXRlbSA/IGl0ZW0gOiBzZWxlY3Rpb25bMF0sIDIpXCI+XHJcbiAgICBEb2N1bWVudGkgY2hlIHJpY2hpYW1hbm9cclxuICA8L2J1dHRvbj5cclxufVxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlICYmIGlzTGF3SW5Gb3JjZSAmJiAoaXRlbSB8fCAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5sZW5ndGggPT09IDEpKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW1cclxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSBnaXVyaXNwcnVkZW56YSdcIiAoY2xpY2spPVwicGFyZW50LnJlZmVyZW5jZXMoaXRlbSA/IGl0ZW0gOiBzZWxlY3Rpb25bMF0sIDQpXCI+XHJcbiAgICBKdXJpc1xyXG4gIDwvYnV0dG9uPlxyXG59XHJcbiAgQGlmICghaXNSZWZlcmVuY2UgJiYgaXNMYXdJbkZvcmNlICYmIChpdGVtIHx8IChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbVxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIG1vZGlmaWNoZSBub3JtYXRpdmUnXCIgKGNsaWNrKT1cInBhcmVudC5yZWZlcmVuY2VzKGl0ZW0gPyBpdGVtIDogc2VsZWN0aW9uWzBdLCAzKVwiPlxyXG4gICAgTW9kaWZpY2hlXHJcbjwvYnV0dG9uPlxyXG59XHJcbjwvbWF0LW1lbnU+XHJcbkBpZiAoKGl0ZW0gfHwgc2VsZWN0aW9uPy5sZW5ndGggPiAwKSAmJiAgUlNfZW5hYmxlZChpdGVtID8gW2l0ZW1dIDogc2VsZWN0aW9uKSAmJiAhaXNTZWxlY3RhYmxlKSB7XHJcbjxtYXQtZGl2aWRlciA+PC9tYXQtZGl2aWRlcj5cclxufSBcclxuQGlmICgoaXRlbSB8fCBzZWxlY3Rpb24/Lmxlbmd0aCA+IDApICYmICBSU19lbmFibGVkKGl0ZW0gPyBbaXRlbV0gOiBzZWxlY3Rpb24pICYmICFpc1NlbGVjdGFibGUpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIG1hdFRvb2x0aXA9XCJSZWdpc3RybyAmIFNjYWRlbnphcmlvXCJcclxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wemlvbmkgZGkgUmVnaXN0cm8gJiBTY2FkZW56YXJpbydcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVJTXCI+XHJcbiAgICA8bWF0LWljb24+YWxhcm1fb248L21hdC1pY29uPlxyXG4gICAgUmVnaXN0cm8gZSBzY2FkZW56YXJpb1xyXG4gIDwvYnV0dG9uPlxyXG59XHJcbiAgPG1hdC1tZW51ICNtZW51UlM9XCJtYXRNZW51XCI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTnVvdmEgbGVnZ2UnXCIgKGNsaWNrKT1cInBhcmVudC5SU19uZXdMYXcoaXRlbSlcIj5cclxuICAgICAgTnVvdmEgbGVnZ2VcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgQGlmIChpdGVtIHx8IHNlbGVjdGlvbj8ubGVuZ3RoID09PSAxKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidOdW92YSBhdHRpdml0w6AnXCIgKGNsaWNrKT1cInBhcmVudC5SU19uZXdBY3Rpdml0eShpdGVtKVwiPlxyXG4gICAgICBOdW92YSBhdHRpdml0w6BcclxuICAgIDwvYnV0dG9uPlxyXG59XHJcbiAgICBAaWYgKGl0ZW0gfHwgc2VsZWN0aW9uPy5sZW5ndGggPT09IDEpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlcG9ydCB1dGlsaXp6byBub3JtYSdcIiAoY2xpY2spPVwicGFyZW50LlJTX3VzYWdlUmVwb3J0KGl0ZW0pXCI+XHJcbiAgICAgIFJlcG9ydCB1dGlsaXp6byBub3JtYVxyXG4gICAgPC9idXR0b24+XHJcbn1cclxuICA8L21hdC1tZW51PlxyXG4iXX0=
|