nuxeo-development-framework 4.0.2 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +9219 -6454
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/diagrams/components/base-node.component.js +41 -0
  4. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +20 -0
  5. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +21 -0
  6. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +48 -0
  7. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +34 -0
  8. package/esm2015/lib/components/diagrams/components/index.js +12 -0
  9. package/esm2015/lib/components/diagrams/components/node-icon.component.js +35 -0
  10. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +62 -0
  11. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +58 -0
  12. package/esm2015/lib/components/diagrams/components/remove-button.component.js +65 -0
  13. package/esm2015/lib/components/diagrams/components/status-icon.component.js +37 -0
  14. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +41 -0
  15. package/esm2015/lib/components/diagrams/components/zoom-control.component.js +62 -0
  16. package/esm2015/lib/components/diagrams/constants/defaults.js +19 -0
  17. package/esm2015/lib/components/diagrams/constants/direction.js +7 -0
  18. package/esm2015/lib/components/diagrams/constants/index.js +8 -0
  19. package/esm2015/lib/components/diagrams/constants/message-type.js +5 -0
  20. package/esm2015/lib/components/diagrams/constants/node-type.js +7 -0
  21. package/esm2015/lib/components/diagrams/constants/notify-events.js +4 -0
  22. package/esm2015/lib/components/diagrams/constants/sizes.js +7 -0
  23. package/esm2015/lib/components/diagrams/constants/status.js +9 -0
  24. package/esm2015/lib/components/diagrams/diagrams.module.js +73 -0
  25. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +83 -0
  26. package/esm2015/lib/components/diagrams/directive/index.js +2 -0
  27. package/esm2015/lib/components/diagrams/editor/customize.js +58 -0
  28. package/esm2015/lib/components/diagrams/editor/editor.js +95 -0
  29. package/esm2015/lib/components/diagrams/editor/index.js +5 -0
  30. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +25 -0
  31. package/esm2015/lib/components/diagrams/editor/overrides/index.js +2 -0
  32. package/esm2015/lib/components/diagrams/editor/path-plugin.js +17 -0
  33. package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +7 -0
  34. package/esm2015/lib/components/diagrams/index.js +2 -0
  35. package/esm2015/lib/components/diagrams/models/base-node.model.js +25 -0
  36. package/esm2015/lib/components/diagrams/models/circle-node.model.js +10 -0
  37. package/esm2015/lib/components/diagrams/models/connection.model.js +8 -0
  38. package/esm2015/lib/components/diagrams/models/content-node.model.js +7 -0
  39. package/esm2015/lib/components/diagrams/models/index.js +7 -0
  40. package/esm2015/lib/components/diagrams/models/socket.model.js +8 -0
  41. package/esm2015/lib/components/diagrams/models/template-node.model.js +12 -0
  42. package/esm2015/lib/components/diagrams/public-api.js +9 -0
  43. package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +19 -0
  44. package/esm2015/lib/components/diagrams/services/diagram.service.js +174 -0
  45. package/esm2015/lib/components/diagrams/services/index.js +5 -0
  46. package/esm2015/lib/components/diagrams/services/message.service.js +24 -0
  47. package/esm2015/lib/components/diagrams/services/workflow.service.js +244 -0
  48. package/esm2015/lib/components/diagrams/types/common.type.js +2 -0
  49. package/esm2015/lib/components/diagrams/types/customization.type.js +2 -0
  50. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +2 -0
  51. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +2 -0
  52. package/esm2015/lib/components/diagrams/types/emitter-type.js +2 -0
  53. package/esm2015/lib/components/diagrams/types/index.js +14 -0
  54. package/esm2015/lib/components/diagrams/types/layout.type.js +2 -0
  55. package/esm2015/lib/components/diagrams/types/node-content.js +2 -0
  56. package/esm2015/lib/components/diagrams/types/node-definition.js +2 -0
  57. package/esm2015/lib/components/diagrams/types/node-status.type.js +2 -0
  58. package/esm2015/lib/components/diagrams/types/node.type.js +2 -0
  59. package/esm2015/lib/components/diagrams/types/notify-event.type.js +2 -0
  60. package/esm2015/lib/components/diagrams/types/path.type.js +2 -0
  61. package/esm2015/lib/components/diagrams/types/schemes.type.js +2 -0
  62. package/esm2015/lib/components/diagrams/utilities/export-graph.js +28 -0
  63. package/esm2015/lib/components/diagrams/utilities/index.js +4 -0
  64. package/esm2015/lib/components/diagrams/utilities/remove.util.js +95 -0
  65. package/esm2015/lib/components/diagrams/utilities/serialize.js +23 -0
  66. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +2 -1
  67. package/esm2015/lib/core/core.module.js +33 -33
  68. package/esm2015/lib/shared/components/base/base-column.component.js +18 -0
  69. package/esm2015/lib/shared/components/base/base-dialog.component.js +25 -0
  70. package/esm2015/lib/shared/components/base/base-selector.component.js +96 -0
  71. package/esm2015/lib/shared/components/base/base.component.js +59 -0
  72. package/esm2015/lib/shared/components/base/destroy.subject.js +19 -0
  73. package/esm2015/lib/shared/components/base/index.js +6 -0
  74. package/esm2015/lib/shared/components/index.js +3 -0
  75. package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +23 -0
  76. package/esm2015/lib/shared/components/nuxeo-dialog/index.js +6 -0
  77. package/esm2015/lib/shared/components/nuxeo-dialog/models/confirm-options.model.js +22 -0
  78. package/esm2015/lib/shared/components/nuxeo-dialog/models/dialog-option.model.js +2 -0
  79. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +39 -0
  80. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +82 -0
  81. package/esm2015/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.js +56 -0
  82. package/esm2015/lib/shared/models/index.js +4 -0
  83. package/esm2015/lib/shared/models/mapper/index.js +2 -0
  84. package/esm2015/lib/shared/models/mapper/nuxeo-mapper.js +32 -0
  85. package/esm2015/lib/shared/models/nuxeo-response.model.js +2 -0
  86. package/esm2015/lib/shared/models/task.model.js +2 -0
  87. package/esm2015/lib/shared/services/base/base.service.js +157 -0
  88. package/esm2015/lib/shared/services/base/cache-base.service.js +295 -0
  89. package/esm2015/lib/shared/services/base/config/default-ttl-config.js +9 -0
  90. package/esm2015/lib/shared/services/base/config/index.js +2 -0
  91. package/esm2015/lib/shared/services/base/constants/default-cache-options.js +28 -0
  92. package/esm2015/lib/shared/services/base/constants/index.js +2 -0
  93. package/esm2015/lib/shared/services/base/http-base.service.js +115 -0
  94. package/esm2015/lib/shared/services/base/index.js +3 -0
  95. package/esm2015/lib/shared/services/base/models/cache-info-model.js +12 -0
  96. package/esm2015/lib/shared/services/base/models/http-options.model.js +2 -0
  97. package/esm2015/lib/shared/services/base/models/index.js +6 -0
  98. package/esm2015/lib/shared/services/base/models/operation-options.model.js +2 -0
  99. package/esm2015/lib/shared/services/base/models/query-options.model.js +2 -0
  100. package/esm2015/lib/shared/services/base/models/request-options.model.js +2 -0
  101. package/esm2015/lib/shared/services/index.js +2 -0
  102. package/esm2015/public-api.js +6 -2
  103. package/fesm2015/nuxeo-development-framework.js +25906 -23419
  104. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  105. package/lib/components/diagrams/components/base-node.component.d.ts +29 -0
  106. package/lib/components/diagrams/components/circle-node/circle-node.component.d.ts +7 -0
  107. package/lib/components/diagrams/components/content-node/content-node.component.d.ts +8 -0
  108. package/lib/components/diagrams/components/custom-connection.component.d.ts +8 -0
  109. package/lib/components/diagrams/components/custom-socket.component.d.ts +6 -0
  110. package/lib/components/diagrams/components/index.d.ts +11 -0
  111. package/lib/components/diagrams/components/node-icon.component.d.ts +8 -0
  112. package/lib/components/diagrams/components/node-inputs.component.d.ts +12 -0
  113. package/lib/components/diagrams/components/node-outputs.component.d.ts +12 -0
  114. package/lib/components/diagrams/components/remove-button.component.d.ts +7 -0
  115. package/lib/components/diagrams/components/status-icon.component.d.ts +8 -0
  116. package/lib/components/diagrams/components/template-node/template-node.component.d.ts +17 -0
  117. package/lib/components/diagrams/components/zoom-control.component.d.ts +11 -0
  118. package/lib/components/diagrams/constants/defaults.d.ts +2 -0
  119. package/lib/components/diagrams/constants/direction.d.ts +6 -0
  120. package/lib/components/diagrams/constants/index.d.ts +7 -0
  121. package/lib/components/diagrams/constants/message-type.d.ts +4 -0
  122. package/lib/components/diagrams/constants/node-type.d.ts +6 -0
  123. package/lib/components/diagrams/constants/notify-events.d.ts +3 -0
  124. package/lib/components/diagrams/constants/sizes.d.ts +6 -0
  125. package/lib/components/diagrams/constants/status.d.ts +8 -0
  126. package/lib/components/diagrams/diagrams.module.d.ts +25 -0
  127. package/lib/components/diagrams/directive/diagram.directive.d.ts +27 -0
  128. package/lib/components/diagrams/directive/index.d.ts +1 -0
  129. package/lib/components/diagrams/editor/customize.d.ts +25 -0
  130. package/lib/components/diagrams/editor/editor.d.ts +3 -0
  131. package/lib/components/diagrams/editor/index.d.ts +4 -0
  132. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +7 -0
  133. package/lib/components/diagrams/editor/overrides/index.d.ts +1 -0
  134. package/lib/components/diagrams/editor/path-plugin.d.ts +4 -0
  135. package/lib/components/diagrams/editor/socket-position-watcher.d.ts +3 -0
  136. package/lib/components/diagrams/index.d.ts +1 -0
  137. package/lib/components/diagrams/models/base-node.model.d.ts +21 -0
  138. package/lib/components/diagrams/models/circle-node.model.d.ts +7 -0
  139. package/lib/components/diagrams/models/connection.model.d.ts +8 -0
  140. package/lib/components/diagrams/models/content-node.model.d.ts +5 -0
  141. package/lib/components/diagrams/models/index.d.ts +6 -0
  142. package/lib/components/diagrams/models/socket.model.d.ts +5 -0
  143. package/lib/components/diagrams/models/template-node.model.d.ts +8 -0
  144. package/lib/components/diagrams/public-api.d.ts +8 -0
  145. package/lib/components/diagrams/services/diagram-plugins.service.d.ts +16 -0
  146. package/lib/components/diagrams/services/diagram.service.d.ts +42 -0
  147. package/lib/components/diagrams/services/index.d.ts +4 -0
  148. package/lib/components/diagrams/services/message.service.d.ts +10 -0
  149. package/lib/components/diagrams/services/workflow.service.d.ts +81 -0
  150. package/lib/components/diagrams/types/common.type.d.ts +4 -0
  151. package/lib/components/diagrams/types/customization.type.d.ts +10 -0
  152. package/lib/components/diagrams/types/diagram-config.type.d.ts +36 -0
  153. package/lib/components/diagrams/types/diagram-editor.type.d.ts +25 -0
  154. package/lib/components/diagrams/types/emitter-type.d.ts +5 -0
  155. package/lib/components/diagrams/types/index.d.ts +13 -0
  156. package/lib/components/diagrams/types/layout.type.d.ts +13 -0
  157. package/lib/components/diagrams/types/node-content.d.ts +9 -0
  158. package/lib/components/diagrams/types/node-definition.d.ts +19 -0
  159. package/lib/components/diagrams/types/node-status.type.d.ts +2 -0
  160. package/lib/components/diagrams/types/node.type.d.ts +2 -0
  161. package/lib/components/diagrams/types/notify-event.type.d.ts +2 -0
  162. package/lib/components/diagrams/types/path.type.d.ts +17 -0
  163. package/lib/components/diagrams/types/schemes.type.d.ts +3 -0
  164. package/lib/components/diagrams/utilities/export-graph.d.ts +3 -0
  165. package/lib/components/diagrams/utilities/index.d.ts +3 -0
  166. package/lib/components/diagrams/utilities/remove.util.d.ts +30 -0
  167. package/lib/components/diagrams/utilities/serialize.d.ts +15 -0
  168. package/lib/core/core.module.d.ts +2 -2
  169. package/lib/shared/components/base/base-column.component.d.ts +10 -0
  170. package/lib/shared/components/base/base-dialog.component.d.ts +12 -0
  171. package/lib/shared/components/base/base-selector.component.d.ts +43 -0
  172. package/lib/shared/components/base/base.component.d.ts +36 -0
  173. package/lib/shared/components/base/destroy.subject.d.ts +9 -0
  174. package/lib/shared/components/base/index.d.ts +5 -0
  175. package/lib/shared/components/index.d.ts +2 -0
  176. package/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.d.ts +9 -0
  177. package/lib/shared/components/nuxeo-dialog/index.d.ts +5 -0
  178. package/lib/shared/components/nuxeo-dialog/models/confirm-options.model.d.ts +22 -0
  179. package/lib/shared/components/nuxeo-dialog/models/dialog-option.model.d.ts +16 -0
  180. package/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.d.ts +13 -0
  181. package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +23 -0
  182. package/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.d.ts +13 -0
  183. package/lib/shared/models/index.d.ts +3 -0
  184. package/lib/shared/models/mapper/index.d.ts +1 -0
  185. package/lib/shared/models/mapper/nuxeo-mapper.d.ts +8 -0
  186. package/lib/shared/models/nuxeo-response.model.d.ts +61 -0
  187. package/lib/shared/models/task.model.d.ts +71 -0
  188. package/lib/shared/services/base/base.service.d.ts +29 -0
  189. package/lib/shared/services/base/cache-base.service.d.ts +17 -0
  190. package/lib/shared/services/base/config/default-ttl-config.d.ts +7 -0
  191. package/lib/shared/services/base/config/index.d.ts +1 -0
  192. package/lib/shared/services/base/constants/default-cache-options.d.ts +16 -0
  193. package/lib/shared/services/base/constants/index.d.ts +1 -0
  194. package/lib/shared/services/base/http-base.service.d.ts +15 -0
  195. package/lib/shared/services/base/index.d.ts +2 -0
  196. package/lib/shared/services/base/models/cache-info-model.d.ts +49 -0
  197. package/lib/shared/services/base/models/http-options.model.d.ts +7 -0
  198. package/lib/shared/services/base/models/index.d.ts +5 -0
  199. package/lib/shared/services/base/models/operation-options.model.d.ts +8 -0
  200. package/lib/shared/services/base/models/query-options.model.d.ts +5 -0
  201. package/lib/shared/services/base/models/request-options.model.d.ts +7 -0
  202. package/lib/shared/services/index.d.ts +1 -0
  203. package/package.json +14 -2
  204. package/public-api.d.ts +5 -1
@@ -0,0 +1,82 @@
1
+ import { Component, ContentChild, Input, ViewChild, } from "@angular/core";
2
+ import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
3
+ import { isObservable } from "rxjs";
4
+ import { takeUntil } from "rxjs/operators";
5
+ import { DestroySubject } from "../base/destroy.subject";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/icon";
8
+ import * as i2 from "@angular/material/tooltip";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@ngx-translate/core";
11
+ export class NdfNuxeoDialog extends DestroySubject {
12
+ constructor(injector) {
13
+ super();
14
+ this.dialogTitle = "";
15
+ this.subTitle = "";
16
+ this.loaderMode = "spinner";
17
+ this.dialogBodyTopOffset = 0;
18
+ this.loading = false;
19
+ this.data = injector.get(MAT_DIALOG_DATA, null);
20
+ this.dialogRef = injector.get(MatDialogRef, null);
21
+ }
22
+ executeAction(action, ...params) {
23
+ this.dialogBodyTopOffset = this.dialogBody.nativeElement.scrollTop;
24
+ if (action) {
25
+ if (!this.isArrowFunction(action)) {
26
+ throw new Error("The action should be arrow function");
27
+ }
28
+ this.loading = true;
29
+ //TODO here we should find a way to test if actions instance of DialogActionType
30
+ const result = action(...params);
31
+ if (!isObservable(result)) {
32
+ this.loading = false;
33
+ throw new Error("The action you used should return an Observable");
34
+ }
35
+ result.pipe(takeUntil(this.destroy$)).subscribe((value) => {
36
+ this.loading = false;
37
+ this.dialogRef.close(value);
38
+ }, (err) => {
39
+ this.loading = false;
40
+ });
41
+ }
42
+ else {
43
+ this.dialogRef.close();
44
+ }
45
+ }
46
+ isArrowFunction(fn) {
47
+ const strFn = fn.toString();
48
+ const firstIndex = strFn.indexOf(")");
49
+ const lastIndex = strFn.indexOf("{") + 1;
50
+ const target = strFn.substring(firstIndex, lastIndex).replace(" ", "");
51
+ return target.includes("=>");
52
+ }
53
+ onClose() {
54
+ this.dialogRef.close();
55
+ }
56
+ }
57
+ NdfNuxeoDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
58
+ NdfNuxeoDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div SetDirRtl class=\"ndf-dialog-wrapper\">\r\n\t<div class=\"dialog-header\">\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\"\r\n\t\t\t\t>{{ data?.dialogConfig?.subTitle || subTitle }}</span\r\n\t\t\t>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\">\r\n\t\t\t</mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div #dialogBody class=\"dialog-body\" [ngClass]=\"{'overflow-hidden': loading}\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate\"\r\n\t\t></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay bg-gray-300 opacity-40 z-999\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"overlay z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner\r\n\t\t\t\t\t[value]=\"90\"\r\n\t\t\t\t\t[strokeWidth]=\"4\"\r\n\t\t\t\t\toverlay=\"true\"\r\n\t\t\t\t\t[diameter]=\"40\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t>\r\n\t\t\t\t</mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"block w-full h-px absolute inset-0 z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'progressBar'\"\r\n\t\t\t>\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-end p-6 pt-0 gap-x-4\">\r\n\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">\r\n\t\t\t{{\"BUTTONS.CANCEL\" | translate}}\r\n\t\t</button>\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper{@apply flex flex-col;}.ndf-dialog-wrapper .dialog-header{@apply flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7;}.ndf-dialog-wrapper .dialog-body{height:auto;max-height:calc(100vh - 208px);@apply flex flex-col gap-y-4 p-6 overflow-y-auto relative z-99;}.ndf-dialog-wrapper .overlay{@apply flex w-full h-full items-center justify-center absolute left-0 bottom-0 right-0;}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i4.TranslatePipe } });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, decorators: [{
60
+ type: Component,
61
+ args: [{
62
+ selector: "ndf-nuxeo-dialog",
63
+ templateUrl: "./nuxeo.dialog.html",
64
+ styleUrls: ["./nuxeo.dialog.scss"],
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dialogTitle: [{
67
+ type: Input
68
+ }], subTitle: [{
69
+ type: Input
70
+ }], loaderMode: [{
71
+ type: Input
72
+ }], contentTemplate: [{
73
+ type: ContentChild,
74
+ args: ["contentTemplate"]
75
+ }], actionsTemplate: [{
76
+ type: ContentChild,
77
+ args: ["actionsTemplate"]
78
+ }], dialogBody: [{
79
+ type: ViewChild,
80
+ args: ["dialogBody"]
81
+ }] } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8uZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9udXhlby5kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFHWixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFPekQsTUFBTSxPQUFPLGNBQTRCLFNBQVEsY0FBYztJQVk3RCxZQUFZLFFBQWtCO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBWkQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQThCLFNBQVMsQ0FBQztRQU8zRCx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdkLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXlCLEVBQUUsR0FBRyxNQUFhO1FBQ3ZELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDbkUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsZ0ZBQWdGO1lBQ2hGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7YUFDcEU7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQzdDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsQ0FDRixDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVk7UUFDMUIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7OzRHQXZEVSxjQUFjO2dHQUFkLGNBQWMsc2VDbkIzQixva0VBeURBOzRGRHRDYSxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSxxQkFBcUI7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNuQzsrRkFFVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDMkIsZUFBZTtzQkFBL0MsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBQ0UsZUFBZTtzQkFBL0MsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBSU4sVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gXCIuL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsXCI7XHJcbmltcG9ydCB7IERlc3Ryb3lTdWJqZWN0IH0gZnJvbSBcIi4uL2Jhc2UvZGVzdHJveS5zdWJqZWN0XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJuZGYtbnV4ZW8tZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9udXhlby5kaWFsb2cuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9udXhlby5kaWFsb2cuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5kZk51eGVvRGlhbG9nPFREYXRhID0gYW55PiBleHRlbmRzIERlc3Ryb3lTdWJqZWN0IHtcclxuICBASW5wdXQoKSBkaWFsb2dUaXRsZTogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBzdWJUaXRsZTogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBsb2FkZXJNb2RlOiBcInNwaW5uZXJcIiB8IFwicHJvZ3Jlc3NCYXJcIiA9IFwic3Bpbm5lclwiO1xyXG4gIEBDb250ZW50Q2hpbGQoXCJjb250ZW50VGVtcGxhdGVcIikgY29udGVudFRlbXBsYXRlITogYW55O1xyXG4gIEBDb250ZW50Q2hpbGQoXCJhY3Rpb25zVGVtcGxhdGVcIikgYWN0aW9uc1RlbXBsYXRlITogYW55O1xyXG5cclxuICBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxOZGZOdXhlb0RpYWxvZz47XHJcbiAgZGF0YTogVERhdGE7XHJcbiAgQFZpZXdDaGlsZChcImRpYWxvZ0JvZHlcIikgZGlhbG9nQm9keTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgZGlhbG9nQm9keVRvcE9mZnNldDogbnVtYmVyID0gMDtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5kYXRhID0gaW5qZWN0b3IuZ2V0KE1BVF9ESUFMT0dfREFUQSwgbnVsbCk7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IGluamVjdG9yLmdldChNYXREaWFsb2dSZWYsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZUFjdGlvbihhY3Rpb24/OiBEaWFsb2dBY3Rpb25UeXBlLCAuLi5wYXJhbXM6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ0JvZHlUb3BPZmZzZXQgPSB0aGlzLmRpYWxvZ0JvZHkubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICBpZiAoYWN0aW9uKSB7XHJcbiAgICAgIGlmICghdGhpcy5pc0Fycm93RnVuY3Rpb24oYWN0aW9uKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSBhY3Rpb24gc2hvdWxkIGJlIGFycm93IGZ1bmN0aW9uXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIC8vVE9ETyBoZXJlIHdlIHNob3VsZCBmaW5kIGEgd2F5IHRvIHRlc3QgaWYgYWN0aW9ucyBpbnN0YW5jZSBvZiBEaWFsb2dBY3Rpb25UeXBlXHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGFjdGlvbiguLi5wYXJhbXMpO1xyXG4gICAgICBpZiAoIWlzT2JzZXJ2YWJsZShyZXN1bHQpKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIGFjdGlvbiB5b3UgdXNlZCBzaG91bGQgcmV0dXJuIGFuIE9ic2VydmFibGVcIik7XHJcbiAgICAgIH1cclxuICAgICAgcmVzdWx0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHZhbHVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0Fycm93RnVuY3Rpb24oZm46IEZ1bmN0aW9uKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzdHJGbiA9IGZuLnRvU3RyaW5nKCk7XHJcbiAgICBjb25zdCBmaXJzdEluZGV4ID0gc3RyRm4uaW5kZXhPZihcIilcIik7XHJcbiAgICBjb25zdCBsYXN0SW5kZXggPSBzdHJGbi5pbmRleE9mKFwie1wiKSArIDE7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBzdHJGbi5zdWJzdHJpbmcoZmlyc3RJbmRleCwgbGFzdEluZGV4KS5yZXBsYWNlKFwiIFwiLCBcIlwiKTtcclxuICAgIHJldHVybiB0YXJnZXQuaW5jbHVkZXMoXCI9PlwiKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFNldERpclJ0bCBjbGFzcz1cIm5kZi1kaWFsb2ctd3JhcHBlclwiPlxyXG5cdDxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxyXG5cdFx0XHQ8c3Bhbj57eyBkYXRhPy5kaWFsb2dDb25maWc/LnRpdGxlIHx8IGRpYWxvZ1RpdGxlIH19PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtYmFzZSBmb250LW5vcm1hbFwiXHJcblx0XHRcdFx0Pnt7IGRhdGE/LmRpYWxvZ0NvbmZpZz8uc3ViVGl0bGUgfHwgc3ViVGl0bGUgfX08L3NwYW5cclxuXHRcdFx0PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJnLWFudGktZmxhc2gtd2hpdGUgdy0xMCBoLTEwXCJcclxuXHRcdFx0KGNsaWNrKT1cImV4ZWN1dGVBY3Rpb24oKVwiXHJcblx0XHRcdG1hdFRvb2x0aXA9XCJ7eydCVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZX19XCJcclxuXHRcdD5cclxuXHRcdFx0PG1hdC1pY29uIGNsYXNzPVwiaWNvbi1zaXplLTMuNVwiIFtzdmdJY29uXT1cIidpY29uczpjYW5jZWwtaWNvbidcIj5cclxuXHRcdFx0PC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgI2RpYWxvZ0JvZHkgY2xhc3M9XCJkaWFsb2ctYm9keVwiIFtuZ0NsYXNzXT1cInsnb3ZlcmZsb3ctaGlkZGVuJzogbG9hZGluZ31cIj5cclxuXHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0Km5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRhPy5kaWFsb2dDb25maWc/LmNvbnRlbnRUZW1wbGF0ZSB8fCBjb250ZW50VGVtcGxhdGVcIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdGNsYXNzPVwib3ZlcmxheSBiZy1ncmF5LTMwMCBvcGFjaXR5LTQwIHotOTk5XCJcclxuXHRcdFx0XHRbbmdTdHlsZV09XCJ7J3RvcCc6IGRpYWxvZ0JvZHlUb3BPZmZzZXQgKyAncHgnfVwiXHJcblx0XHRcdD48L2Rpdj5cclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdGNsYXNzPVwib3ZlcmxheSB6LTk5OTlcIlxyXG5cdFx0XHRcdCpuZ0lmPVwibG9hZGVyTW9kZSA9PT0gJ3NwaW5uZXInXCJcclxuXHRcdFx0XHRbbmdTdHlsZV09XCJ7J3RvcCc6IGRpYWxvZ0JvZHlUb3BPZmZzZXQgKyAncHgnfVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LXNwaW5uZXJcclxuXHRcdFx0XHRcdFt2YWx1ZV09XCI5MFwiXHJcblx0XHRcdFx0XHRbc3Ryb2tlV2lkdGhdPVwiNFwiXHJcblx0XHRcdFx0XHRvdmVybGF5PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRbZGlhbWV0ZXJdPVwiNDBcIlxyXG5cdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0PC9tYXQtc3Bpbm5lcj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXZcclxuXHRcdFx0XHRjbGFzcz1cImJsb2NrIHctZnVsbCBoLXB4IGFic29sdXRlIGluc2V0LTAgei05OTk5XCJcclxuXHRcdFx0XHQqbmdJZj1cImxvYWRlck1vZGUgPT09ICdwcm9ncmVzc0JhcidcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGp1c3RpZnktZW5kIHAtNiBwdC0wIGdhcC14LTRcIj5cclxuXHRcdDxidXR0b24gY2xhc3M9XCJjYW5jZWxhdGlvbi1idXR0b25cIiAoY2xpY2spPVwiZXhlY3V0ZUFjdGlvbigpXCI+XHJcblx0XHRcdHt7XCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlfX1cclxuXHRcdDwvYnV0dG9uPlxyXG5cdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHQqbmdUZW1wbGF0ZU91dGxldD1cIihkYXRhPy5kaWFsb2dDb25maWc/LmFjdGlvbnNUZW1wbGF0ZSB8fCBhY3Rpb25zVGVtcGxhdGUpOyBjb250ZXh0OiB7IGRpYWxvZzogdGhpcyB9XCJcclxuXHRcdD48L25nLWNvbnRhaW5lcj5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,56 @@
1
+ var _NuxeoDialogService_instances, _NuxeoDialogService_getPanelClass;
2
+ import { __classPrivateFieldGet } from "tslib";
3
+ import { Injectable } from "@angular/core";
4
+ import { defaultConfirmConfig, } from "../models/confirm-options.model";
5
+ import { merge } from "lodash-es";
6
+ import { NdfConfirmationDialogComponent } from "../confirmation/ndf-confirmation-dialog.component";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/dialog";
9
+ export class NuxeoDialogService {
10
+ constructor(dialog) {
11
+ this.dialog = dialog;
12
+ _NuxeoDialogService_instances.add(this);
13
+ }
14
+ open(options) {
15
+ var _a, _b, _c, _d;
16
+ return this.dialog.open(options.component, {
17
+ width: (options === null || options === void 0 ? void 0 : options.width) || "auto",
18
+ height: (options === null || options === void 0 ? void 0 : options.height) || "auto",
19
+ minWidth: "35%",
20
+ panelClass: ["ndf-dialog", ...__classPrivateFieldGet(this, _NuxeoDialogService_instances, "m", _NuxeoDialogService_getPanelClass).call(this, options === null || options === void 0 ? void 0 : options.panelClass)],
21
+ disableClose: true,
22
+ data: Object.assign({ dialogConfig: {
23
+ title: (_a = options.config) === null || _a === void 0 ? void 0 : _a.title,
24
+ subTitle: (_b = options.config) === null || _b === void 0 ? void 0 : _b.subTitle,
25
+ contentTemplate: (_c = options.config) === null || _c === void 0 ? void 0 : _c.contentTemplate,
26
+ actionsTemplate: (_d = options.config) === null || _d === void 0 ? void 0 : _d.actionsTemplate,
27
+ } }, (options.data || {})),
28
+ });
29
+ }
30
+ showConfirm(config) {
31
+ // Merge the user config with the default config
32
+ const confirmConfig = merge({}, defaultConfirmConfig, config);
33
+ const options = {
34
+ component: NdfConfirmationDialogComponent,
35
+ data: Object.assign({}, confirmConfig),
36
+ panelClass: "ndf-confirmation-dialog-panel",
37
+ };
38
+ return this.open(options);
39
+ }
40
+ }
41
+ _NuxeoDialogService_instances = new WeakSet(), _NuxeoDialogService_getPanelClass = function _NuxeoDialogService_getPanelClass(panelClass) {
42
+ let classes = [""];
43
+ if (panelClass) {
44
+ classes = Array.isArray(panelClass) ? panelClass : [panelClass];
45
+ }
46
+ return classes;
47
+ };
48
+ NuxeoDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NuxeoDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
49
+ NuxeoDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NuxeoDialogService, providedIn: "root" });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NuxeoDialogService, decorators: [{
51
+ type: Injectable,
52
+ args: [{
53
+ providedIn: "root",
54
+ }]
55
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8tZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvc2VydmljZXMvbnV4ZW8tZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFFTCxvQkFBb0IsR0FDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFLbkcsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXOztJQUFHLENBQUM7SUFFekMsSUFBSSxDQUFDLE9BQXNCOztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDekMsS0FBSyxFQUFFLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssS0FBSSxNQUFNO1lBQy9CLE1BQU0sRUFBRSxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEtBQUksTUFBTTtZQUNqQyxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLHVCQUFBLElBQUksd0VBQWUsTUFBbkIsSUFBSSxFQUFnQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsVUFBVSxDQUFDLENBQUM7WUFDdkUsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxrQkFDRixZQUFZLEVBQUU7b0JBQ1osS0FBSyxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsS0FBSztvQkFDNUIsUUFBUSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsUUFBUTtvQkFDbEMsZUFBZSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsZUFBZTtvQkFDaEQsZUFBZSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsZUFBZTtpQkFDakQsSUFDRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVVELFdBQVcsQ0FBQyxNQUFnQztRQUMxQyxnREFBZ0Q7UUFDaEQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxNQUFNLE9BQU8sR0FBa0I7WUFDN0IsU0FBUyxFQUFFLDhCQUE4QjtZQUN6QyxJQUFJLG9CQUFPLGFBQWEsQ0FBRTtZQUMxQixVQUFVLEVBQUUsK0JBQStCO1NBQzVDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7OEhBakJjLFVBQWtDO0lBQy9DLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkIsSUFBSSxVQUFVLEVBQUU7UUFDZCxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2pFO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztnSEE1QlUsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuXHJcbmltcG9ydCB7IERpYWxvZ09wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL2RpYWxvZy1vcHRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHtcclxuICBDb25maXJtYXRpb25EaWFsb2dDb25maWcsXHJcbiAgZGVmYXVsdENvbmZpcm1Db25maWcsXHJcbn0gZnJvbSBcIi4uL21vZGVscy9jb25maXJtLW9wdGlvbnMubW9kZWxcIjtcclxuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IE5kZkNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gXCIuLi9jb25maXJtYXRpb24vbmRmLWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdXhlb0RpYWxvZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHt9XHJcblxyXG4gIG9wZW4ob3B0aW9uczogRGlhbG9nT3B0aW9ucykge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4ob3B0aW9ucy5jb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IG9wdGlvbnM/LndpZHRoIHx8IFwiYXV0b1wiLFxyXG4gICAgICBoZWlnaHQ6IG9wdGlvbnM/LmhlaWdodCB8fCBcImF1dG9cIixcclxuICAgICAgbWluV2lkdGg6IFwiMzUlXCIsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFtcIm5kZi1kaWFsb2dcIiwgLi4udGhpcy4jZ2V0UGFuZWxDbGFzcyhvcHRpb25zPy5wYW5lbENsYXNzKV0sXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGRpYWxvZ0NvbmZpZzoge1xyXG4gICAgICAgICAgdGl0bGU6IG9wdGlvbnMuY29uZmlnPy50aXRsZSxcclxuICAgICAgICAgIHN1YlRpdGxlOiBvcHRpb25zLmNvbmZpZz8uc3ViVGl0bGUsXHJcbiAgICAgICAgICBjb250ZW50VGVtcGxhdGU6IG9wdGlvbnMuY29uZmlnPy5jb250ZW50VGVtcGxhdGUsXHJcbiAgICAgICAgICBhY3Rpb25zVGVtcGxhdGU6IG9wdGlvbnMuY29uZmlnPy5hY3Rpb25zVGVtcGxhdGUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi4ob3B0aW9ucy5kYXRhIHx8IHt9KSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgI2dldFBhbmVsQ2xhc3MocGFuZWxDbGFzczogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPik6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgbGV0IGNsYXNzZXMgPSBbXCJcIl07XHJcbiAgICBpZiAocGFuZWxDbGFzcykge1xyXG4gICAgICBjbGFzc2VzID0gQXJyYXkuaXNBcnJheShwYW5lbENsYXNzKSA/IHBhbmVsQ2xhc3MgOiBbcGFuZWxDbGFzc107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NlcztcclxuICB9XHJcblxyXG4gIHNob3dDb25maXJtKGNvbmZpZzogQ29uZmlybWF0aW9uRGlhbG9nQ29uZmlnKSB7XHJcbiAgICAvLyBNZXJnZSB0aGUgdXNlciBjb25maWcgd2l0aCB0aGUgZGVmYXVsdCBjb25maWdcclxuICAgIGNvbnN0IGNvbmZpcm1Db25maWcgPSBtZXJnZSh7fSwgZGVmYXVsdENvbmZpcm1Db25maWcsIGNvbmZpZyk7XHJcbiAgICBjb25zdCBvcHRpb25zOiBEaWFsb2dPcHRpb25zID0ge1xyXG4gICAgICBjb21wb25lbnQ6IE5kZkNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgZGF0YTogeyAuLi5jb25maXJtQ29uZmlnIH0sXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFwibmRmLWNvbmZpcm1hdGlvbi1kaWFsb2ctcGFuZWxcIixcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuKG9wdGlvbnMpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './mapper/index';
2
+ export * from './nuxeo-response.model';
3
+ export * from './task.model';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwcGVyL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9udXhlby1yZXNwb25zZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGFzay5tb2RlbCc7XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './nuxeo-mapper';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvbW9kZWxzL21hcHBlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9udXhlby1tYXBwZXInO1xyXG4iXX0=
@@ -0,0 +1,32 @@
1
+ export class NuxeoMapper {
2
+ static schemaToModel(properties) {
3
+ const mappedProperties = {};
4
+ for (const key in properties) {
5
+ if (properties.hasOwnProperty(key)) {
6
+ const [prefix, propertyKey] = key.split(':');
7
+ if (!mappedProperties[prefix]) {
8
+ mappedProperties[prefix] = {};
9
+ }
10
+ mappedProperties[prefix][propertyKey] =
11
+ properties[key];
12
+ }
13
+ }
14
+ return mappedProperties;
15
+ }
16
+ static modelToSchema(model) {
17
+ const packedProperties = {};
18
+ for (const schemaKey in model) {
19
+ if (model.hasOwnProperty(schemaKey)) {
20
+ const schemaProperties = model[schemaKey];
21
+ for (const propertyKey in schemaProperties) {
22
+ if (schemaProperties.hasOwnProperty(propertyKey)) {
23
+ packedProperties[`${schemaKey}:${propertyKey}`] =
24
+ schemaProperties[propertyKey];
25
+ }
26
+ }
27
+ }
28
+ }
29
+ return packedProperties;
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8tbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL21vZGVscy9tYXBwZXIvbnV4ZW8tbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3ZCLE1BQU0sQ0FBQyxhQUFhLENBQ25CLFVBQStCO1FBRS9CLE1BQU0sZ0JBQWdCLEdBRWpCLEVBQUUsQ0FBQztRQUNSLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO1lBQzdCLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBdUIsQ0FBQyxFQUFFO29CQUMvQyxnQkFBZ0IsQ0FBQyxNQUF1QixDQUFDLEdBQUcsRUFFM0MsQ0FBQztpQkFDRjtnQkFDQSxnQkFBZ0IsQ0FBQyxNQUF1QixDQUFTLENBQUMsV0FBVyxDQUFDO29CQUM5RCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDakI7U0FDRDtRQUNELE9BQU8sZ0JBQXdELENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQXNDLEtBRXpEO1FBQ0EsTUFBTSxnQkFBZ0IsR0FBd0IsRUFBRSxDQUFDO1FBQ2pELEtBQUssTUFBTSxTQUFTLElBQUksS0FBSyxFQUFFO1lBQzlCLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzFDLEtBQUssTUFBTSxXQUFXLElBQUksZ0JBQWdCLEVBQUU7b0JBQzNDLElBQUksZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUNqRCxnQkFBZ0IsQ0FBQyxHQUFHLFNBQVMsSUFBSSxXQUFXLEVBQUUsQ0FBQzs0QkFDOUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQy9CO2lCQUNEO2FBQ0Q7U0FDRDtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDekIsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE51eGVvTWFwcGVyIHtcclxuXHRzdGF0aWMgc2NoZW1hVG9Nb2RlbDxTY2hlbWFzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oXHJcblx0XHRwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcblx0KTogeyBbSyBpbiBrZXlvZiBTY2hlbWFzXTogU2NoZW1hc1tLXSB9IHtcclxuXHRcdGNvbnN0IG1hcHBlZFByb3BlcnRpZXM6IFBhcnRpYWw8e1xyXG5cdFx0XHRbSyBpbiBrZXlvZiBTY2hlbWFzXTogUGFydGlhbDxTY2hlbWFzW0tdPjtcclxuXHRcdH0+ID0ge307XHJcblx0XHRmb3IgKGNvbnN0IGtleSBpbiBwcm9wZXJ0aWVzKSB7XHJcblx0XHRcdGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuXHRcdFx0XHRjb25zdCBbcHJlZml4LCBwcm9wZXJ0eUtleV0gPSBrZXkuc3BsaXQoJzonKTtcclxuXHRcdFx0XHRpZiAoIW1hcHBlZFByb3BlcnRpZXNbcHJlZml4IGFzIGtleW9mIFNjaGVtYXNdKSB7XHJcblx0XHRcdFx0XHRtYXBwZWRQcm9wZXJ0aWVzW3ByZWZpeCBhcyBrZXlvZiBTY2hlbWFzXSA9IHt9IGFzIFBhcnRpYWw8XHJcblx0XHRcdFx0XHRcdFNjaGVtYXNba2V5b2YgU2NoZW1hc11cclxuXHRcdFx0XHRcdD47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdChtYXBwZWRQcm9wZXJ0aWVzW3ByZWZpeCBhcyBrZXlvZiBTY2hlbWFzXSBhcyBhbnkpW3Byb3BlcnR5S2V5XSA9XHJcblx0XHRcdFx0XHRwcm9wZXJ0aWVzW2tleV07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBtYXBwZWRQcm9wZXJ0aWVzIGFzIHsgW0sgaW4ga2V5b2YgU2NoZW1hc106IFNjaGVtYXNbS10gfTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBtb2RlbFRvU2NoZW1hPFNjaGVtYXMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+Pihtb2RlbDoge1xyXG5cdFx0W0sgaW4ga2V5b2YgU2NoZW1hc106IFNjaGVtYXNbS107XHJcblx0fSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG5cdFx0Y29uc3QgcGFja2VkUHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG5cdFx0Zm9yIChjb25zdCBzY2hlbWFLZXkgaW4gbW9kZWwpIHtcclxuXHRcdFx0aWYgKG1vZGVsLmhhc093blByb3BlcnR5KHNjaGVtYUtleSkpIHtcclxuXHRcdFx0XHRjb25zdCBzY2hlbWFQcm9wZXJ0aWVzID0gbW9kZWxbc2NoZW1hS2V5XTtcclxuXHRcdFx0XHRmb3IgKGNvbnN0IHByb3BlcnR5S2V5IGluIHNjaGVtYVByb3BlcnRpZXMpIHtcclxuXHRcdFx0XHRcdGlmIChzY2hlbWFQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHByb3BlcnR5S2V5KSkge1xyXG5cdFx0XHRcdFx0XHRwYWNrZWRQcm9wZXJ0aWVzW2Ake3NjaGVtYUtleX06JHtwcm9wZXJ0eUtleX1gXSA9XHJcblx0XHRcdFx0XHRcdFx0c2NoZW1hUHJvcGVydGllc1twcm9wZXJ0eUtleV07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcGFja2VkUHJvcGVydGllcztcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export const ENTITY_TYPE = 'entity-type';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8tcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvbW9kZWxzL251eGVvLXJlc3BvbnNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRU5USVRZX1RZUEUgPSAnZW50aXR5LXR5cGUnO1xyXG5leHBvcnQgaW50ZXJmYWNlIE51eGVvUXVpY2tGaWx0ZXIge1xyXG5cdG5hbWU6IHN0cmluZztcclxuXHRhY3RpdmU6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBOdXhlb1BhZ2luYXRpb248VD4ge1xyXG5cdFtFTlRJVFlfVFlQRV06IHN0cmluZztcclxuXHRpc1BhZ2luYWJsZTogYm9vbGVhbjtcclxuXHRyZXN1bHRzQ291bnQ6IG51bWJlcjtcclxuXHRwYWdlU2l6ZTogbnVtYmVyO1xyXG5cdG1heFBhZ2VTaXplOiBudW1iZXI7XHJcblx0cmVzdWx0c0NvdW50TGltaXQ6IG51bWJlcjtcclxuXHRjdXJyZW50UGFnZVNpemU6IG51bWJlcjtcclxuXHRjdXJyZW50UGFnZUluZGV4OiBudW1iZXI7XHJcblx0Y3VycmVudFBhZ2VPZmZzZXQ6IG51bWJlcjtcclxuXHRudW1iZXJPZlBhZ2VzOiBudW1iZXI7XHJcblx0aXNQcmV2aW91c1BhZ2VBdmFpbGFibGU6IGJvb2xlYW47XHJcblx0aXNOZXh0UGFnZUF2YWlsYWJsZTogYm9vbGVhbjtcclxuXHRpc0xhc3RQYWdlQXZhaWxhYmxlOiBib29sZWFuO1xyXG5cdGlzU29ydGFibGU6IGJvb2xlYW47XHJcblx0aGFzRXJyb3I6IGJvb2xlYW47XHJcblx0ZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsO1xyXG5cdHRvdGFsU2l6ZTogbnVtYmVyO1xyXG5cdHBhZ2VJbmRleDogbnVtYmVyO1xyXG5cdHBhZ2VDb3VudDogbnVtYmVyO1xyXG5cdHF1aWNrRmlsdGVyczogTnV4ZW9RdWlja0ZpbHRlcltdO1xyXG5cdGFnZ3JlZ2F0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0ZW50cmllczogVFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTnV4ZW9SZXNwb25zZSB7XHJcblx0W0VOVElUWV9UWVBFXTogc3RyaW5nO1xyXG5cdGVudHJpZXM6IEVudGl0eVtdO1xyXG59XHJcbmV4cG9ydCB0eXBlIEVudGl0eSA9IHtcclxuXHRbRU5USVRZX1RZUEVdOiBzdHJpbmc7XHJcblx0cmVwb3NpdG9yeT86IHN0cmluZztcclxuXHR1aWQ/OiBzdHJpbmc7XHJcblx0cGF0aD86IHN0cmluZztcclxuXHR0eXBlPzogc3RyaW5nO1xyXG5cdHN0YXRlPzogc3RyaW5nO1xyXG5cdHBhcmVudFJlZj86IHN0cmluZyB8IG51bGw7XHJcblx0aXNDaGVja2VkT3V0PzogYm9vbGVhbjtcclxuXHRpc1JlY29yZD86IGJvb2xlYW47XHJcblx0cmV0YWluVW50aWw/OiBzdHJpbmcgfCBudWxsO1xyXG5cdGhhc0xlZ2FsSG9sZD86IGJvb2xlYW47XHJcblx0aXNVbmRlclJldGVudGlvbk9yTGVnYWxIb2xkPzogYm9vbGVhbjtcclxuXHRpc1ZlcnNpb24/OiBib29sZWFuO1xyXG5cdGlzUHJveHk/OiBib29sZWFuO1xyXG5cdGNoYW5nZVRva2VuPzogc3RyaW5nO1xyXG5cdGNvbnRleHRQYXJhbWV0ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHRpc1RyYXNoZWQ/OiBib29sZWFuO1xyXG5cdHRpdGxlPzogc3RyaW5nO1xyXG5cdGxhc3RNb2RpZmllZD86IHN0cmluZztcclxuXHRwcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHRmYWNldHM/OiBzdHJpbmdbXTtcclxuXHRzY2hlbWFzPzogU2NoZW1hW107XHJcbn07XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcclxuXHRuYW1lOiBzdHJpbmc7XHJcblx0cHJlZml4OiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ import { ENTITY_TYPE } from './nuxeo-response.model';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9tb2RlbHMvdGFzay5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHksIEVOVElUWV9UWVBFIH0gZnJvbSAnLi9udXhlby1yZXNwb25zZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhc2sge1xyXG5cdFtFTlRJVFlfVFlQRV0/OiBzdHJpbmc7XHJcblx0aWQ/OiBzdHJpbmc7XHJcblx0bmFtZT86IHN0cmluZztcclxuXHR3b3JrZmxvd0luc3RhbmNlSWQ/OiBzdHJpbmc7XHJcblx0d29ya2Zsb3dNb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0d29ya2Zsb3dJbml0aWF0b3I/OiBzdHJpbmc7XHJcblx0d29ya2Zsb3dUaXRsZT86IHN0cmluZztcclxuXHR3b3JrZmxvd0xpZmVDeWNsZVN0YXRlPzogc3RyaW5nO1xyXG5cdGdyYXBoUmVzb3VyY2U/OiBzdHJpbmc7XHJcblx0c3RhdGU/OiBzdHJpbmc7XHJcblx0ZGlyZWN0aXZlPzogYW55O1xyXG5cdGNyZWF0ZWQ/OiBzdHJpbmc7XHJcblx0ZHVlRGF0ZT86IHN0cmluZztcclxuXHRub2RlTmFtZT86IHN0cmluZztcclxuXHR0YXJnZXREb2N1bWVudElkcz86IEVudGl0eVtdO1xyXG5cdGFjdG9ycz86IEFjdG9yW107XHJcblx0ZGVsZWdhdGVkQWN0b3JzPzogYW55W107XHJcblx0Y29tbWVudHM/OiBhbnlbXTtcclxuXHR2YXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdHRhc2tJbmZvPzogVGFza0luZm87XHJcblx0d29ya2Zsb3dJbml0aWF0b3JEZXRhaWxzPzogV29ya2Zsb3dJbml0aWF0b3JEZXRhaWxzO1xyXG5cdGFjdG9yc0RldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+W107XHJcblx0Y3VzdG9tVGFza1ZhcmlhYmxlcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0d29ya2Zsb3dWYXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdG9yIHtcclxuXHRpZD86IHN0cmluZztcclxuXHRbRU5USVRZX1RZUEVdPzogc3RyaW5nO1xyXG5cdHByb3BlcnRpZXM/OiBCYXNlUHJvcGVydGllcztcclxuXHRleHRlbmRlZEdyb3Vwcz86IGFueVtdO1xyXG5cdGlzUGFydGlhbD86IGJvb2xlYW47XHJcblx0aXNBZG1pbmlzdHJhdG9yPzogYm9vbGVhbjtcclxuXHRpc0Fub255bW91cz86IGJvb2xlYW47XHJcblx0YmlydGhkYXRlPzogYW55O1xyXG5cdHBob25lbnVtYmVyPzogYW55O1xyXG5cdGF2YXRhcj86IGFueTtcclxuXHR1c2VyR3JvdXBzPzogQmFzZU1vZGVsW107XHJcblx0ZnVsbE5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dJbml0aWF0b3JEZXRhaWxzIHtcclxuXHRwcm9wZXJ0aWVzPzogQmFzZVByb3BlcnRpZXM7XHJcblx0ZnVsbE5hbWU/OiBzdHJpbmc7XHJcblx0YmlydGhkYXRlPzogYW55O1xyXG5cdHBob25lbnVtYmVyPzogYW55O1xyXG5cdGF2YXRhcj86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYXNrSW5mbyB7XHJcblx0YWxsb3dUYXNrUmVhc3NpZ25tZW50PzogYm9vbGVhbjtcclxuXHR0YXNrQWN0aW9ucz86IEJhc2VNb2RlbFtdO1xyXG5cdGxheW91dFJlc291cmNlPzogQmFzZU1vZGVsO1xyXG5cdHNjaGVtYXM/OiBCYXNlTW9kZWxbXTtcclxufVxyXG5cclxuaW50ZXJmYWNlIEJhc2VNb2RlbCB7XHJcblx0bmFtZT86IHN0cmluZztcclxuXHR1cmw/OiBzdHJpbmc7XHJcblx0bGFiZWw/OiBzdHJpbmc7XHJcblx0dmFsaWRhdGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQmFzZVByb3BlcnRpZXMge1xyXG5cdGZpcnN0TmFtZT86IHN0cmluZztcclxuXHRsYXN0TmFtZT86IHN0cmluZztcclxuXHRqb2JUaXRsZT86IGFueTtcclxuXHR0ZW5hbnRJZD86IGFueTtcclxuXHRncm91cHM/OiBzdHJpbmdbXTtcclxuXHRjb21wYW55PzogYW55O1xyXG5cdGVtYWlsPzogc3RyaW5nO1xyXG5cdHVzZXJuYW1lPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,157 @@
1
+ var _BaseService_nuxeoService, _BaseService_callApiService, _BaseService_cacheBaseService;
2
+ import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { Injectable } from "@angular/core";
4
+ import { TranslateService } from "@ngx-translate/core";
5
+ import { from } from "rxjs";
6
+ import { map } from "rxjs/operators";
7
+ import { HttpBaseService } from "./http-base.service";
8
+ import { CacheBaseService } from "./cache-base.service";
9
+ import { NuxeoService } from "../../../core/services/nuxeo/nuxeo.service";
10
+ import { CallApiService } from "../../../core/services/callApi/call-api.service";
11
+ import { AdapterService } from "../../../core/adapters/adapter.service";
12
+ import * as i0 from "@angular/core";
13
+ export class BaseService extends HttpBaseService {
14
+ constructor(injector) {
15
+ super(injector);
16
+ _BaseService_nuxeoService.set(this, void 0);
17
+ _BaseService_callApiService.set(this, void 0);
18
+ _BaseService_cacheBaseService.set(this, void 0);
19
+ __classPrivateFieldSet(this, _BaseService_nuxeoService, injector.get(NuxeoService), "f");
20
+ __classPrivateFieldSet(this, _BaseService_callApiService, injector.get(CallApiService), "f");
21
+ __classPrivateFieldSet(this, _BaseService_cacheBaseService, injector.get(CacheBaseService), "f");
22
+ this.adapterService = injector.get(AdapterService);
23
+ this.translateService = injector.get(TranslateService);
24
+ __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").validateTTL(this.userName);
25
+ }
26
+ get user() {
27
+ var _a;
28
+ return (_a = __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient) === null || _a === void 0 ? void 0 : _a.user;
29
+ }
30
+ get userName() {
31
+ var _a, _b, _c;
32
+ return (_c = (_b = (_a = __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.properties) === null || _c === void 0 ? void 0 : _c.username;
33
+ }
34
+ automation(operationOrOptions, input = undefined, params = undefined, context = undefined, headers = undefined, isCustomAutomation = false) {
35
+ var _a, _b, _c, _d;
36
+ let operation;
37
+ if (typeof operationOrOptions === "string") {
38
+ operation = operationOrOptions;
39
+ }
40
+ else {
41
+ const options = operationOrOptions;
42
+ operation = options.operation;
43
+ isCustomAutomation = options.isCustomAutomation;
44
+ input = (_a = options.input) !== null && _a !== void 0 ? _a : undefined;
45
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
46
+ context = (_c = options.context) !== null && _c !== void 0 ? _c : undefined;
47
+ headers = (_d = options.headers) !== null && _d !== void 0 ? _d : undefined;
48
+ }
49
+ return from(__classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient
50
+ .operation(operation, Object.assign({}, (isCustomAutomation
51
+ ? {
52
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
53
+ }
54
+ : {})))
55
+ .input(input ? input : undefined)
56
+ .params(params ? Object.assign({}, params) : undefined)
57
+ .context(context ? Object.assign({}, context) : undefined)
58
+ .execute({ headers: headers ? Object.assign({}, headers) : undefined })).pipe(map((response) => response), this.catchErrors());
59
+ }
60
+ customAutomation(operationOrOptions, input = undefined, params = undefined, context = undefined, headers = undefined) {
61
+ if (typeof operationOrOptions == "object") {
62
+ operationOrOptions.isCustomAutomation = true;
63
+ }
64
+ return this.automation(operationOrOptions, input, params, context, headers, true);
65
+ }
66
+ request(endpointOrOptions, queryParams = undefined, headers = undefined, payload = undefined, type = "get") {
67
+ var _a, _b, _c, _d;
68
+ let endpoint;
69
+ if (typeof endpointOrOptions === "string") {
70
+ endpoint = endpointOrOptions;
71
+ }
72
+ else {
73
+ const options = endpointOrOptions;
74
+ endpoint = options.endpoint;
75
+ queryParams = (_a = options.queryParams) !== null && _a !== void 0 ? _a : undefined;
76
+ type = (_b = options.type) !== null && _b !== void 0 ? _b : "get";
77
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
78
+ payload = (_d = options.payload) !== null && _d !== void 0 ? _d : undefined;
79
+ }
80
+ return from(__classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient
81
+ .request(endpoint)
82
+ .queryParams(queryParams ? Object.assign({}, queryParams) : undefined)[type]({
83
+ headers: headers ? Object.assign({}, headers) : undefined,
84
+ body: payload ? Object.assign({}, payload) : undefined,
85
+ })).pipe(map((response) => response), this.catchErrors());
86
+ }
87
+ query(pageProviderOrOptions, params = undefined, headers = undefined) {
88
+ var _a, _b;
89
+ let pageProvider;
90
+ if (typeof pageProviderOrOptions === "string") {
91
+ pageProvider = pageProviderOrOptions;
92
+ }
93
+ else {
94
+ const options = pageProviderOrOptions;
95
+ pageProvider = options.pageProvider;
96
+ params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
97
+ headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
98
+ }
99
+ return __classPrivateFieldGet(this, _BaseService_callApiService, "f")
100
+ .query(Object.assign({ pageProvider }, (params ? params : {})), {
101
+ headers: headers ? Object.assign({}, headers) : undefined,
102
+ })
103
+ .pipe(map((response) => response), this.catchErrors());
104
+ }
105
+ hasItemInCache(key) {
106
+ return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").hasItem(key);
107
+ }
108
+ cachedQuery(options) {
109
+ const request = (params) => {
110
+ return this.query({
111
+ pageProvider: options.pageProvider,
112
+ params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
113
+ headers: options.headers,
114
+ });
115
+ };
116
+ return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
117
+ }
118
+ cachedGet(options) {
119
+ const request = (params) => {
120
+ return this.get({
121
+ endpoint: options.endpoint,
122
+ payload: options.payload,
123
+ params: Object.assign(Object.assign({}, (options.params ? options.params : {})), (params ? params : {})),
124
+ headers: options.headers,
125
+ responseType: options.responseType,
126
+ });
127
+ };
128
+ return __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").startFetchingItems(Object.assign(Object.assign({}, options), { userName: this.userName, request: request }));
129
+ }
130
+ fetch(path, headers = undefined) {
131
+ const repository = __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").nuxeoClient.repository();
132
+ return from((headers ? repository.headers(headers) : repository).fetch(path)).pipe(map((response) => response), this.catchErrors());
133
+ }
134
+ token() {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ return yield __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").getToken();
137
+ });
138
+ }
139
+ isUserInRole(role) {
140
+ return __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").isUserInRole(role);
141
+ }
142
+ doLogout() {
143
+ __classPrivateFieldGet(this, _BaseService_cacheBaseService, "f").clearAll(this.userName);
144
+ __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").doLogout();
145
+ }
146
+ getDuplicates(params, body) {
147
+ return __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").getDuplicates(params, body);
148
+ }
149
+ }
150
+ _BaseService_nuxeoService = new WeakMap(), _BaseService_callApiService = new WeakMap(), _BaseService_cacheBaseService = new WeakMap();
151
+ BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
152
+ BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseService, providedIn: "root" });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseService, decorators: [{
154
+ type: Injectable,
155
+ args: [{ providedIn: "root" }]
156
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Jhc2UvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBR3hFLE1BQU0sT0FBZ0IsV0FBWSxTQUFRLGVBQWU7SUFnQnZELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBaEJsQiw0Q0FBNEI7UUFDNUIsOENBQWdDO1FBQ2hDLGdEQUFvQztRQWVsQyx1QkFBQSxJQUFJLDZCQUFpQixRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFBLENBQUM7UUFDaEQsdUJBQUEsSUFBSSwrQkFBbUIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBQSxDQUFDO1FBQ3BELHVCQUFBLElBQUksaUNBQXFCLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBQSxDQUFDO1FB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QGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQge1xyXG4gIENhY2hlZEZ1bGxIdHRwT3B0aW9ucyxcclxuICBDYWNoZWRGdWxsUXVlcnlPcHRpb25zLFxyXG4gIENhY2hlZEh0dHBPcHRpb25zLFxyXG4gIENhY2hlZFF1ZXJ5T3B0aW9ucyxcclxuICBPcGVyYXRpb25PcHRpb25zLFxyXG4gIFF1ZXJ5T3B0aW9ucyxcclxuICBSZXF1ZXN0T3B0aW9ucyxcclxufSBmcm9tIFwiLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSHR0cEJhc2VTZXJ2aWNlIH0gZnJvbSBcIi4vaHR0cC1iYXNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ2FjaGVCYXNlU2VydmljZSB9IGZyb20gXCIuL2NhY2hlLWJhc2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VydmljZSBleHRlbmRzIEh0dHBCYXNlU2VydmljZSB7XHJcbiAgI251eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlO1xyXG4gICNjYWxsQXBpU2VydmljZTogQ2FsbEFwaVNlcnZpY2U7XHJcbiAgI2NhY2hlQmFzZVNlcnZpY2U6IENhY2hlQmFzZVNlcnZpY2U7XHJcblxyXG4gIHByb3RlY3RlZCBhZGFwdGVyU2VydmljZTogQWRhcHRlclNlcnZpY2U7XHJcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2U7XHJcblxyXG4gIGdldCB1c2VyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuI251eGVvU2VydmljZS5udXhlb0NsaWVudD8udXNlcjtcclxuICB9XHJcblxyXG4gIGdldCB1c2VyTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLiNudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQ/LnVzZXI/LnByb3BlcnRpZXM/LnVzZXJuYW1lO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB0aGlzLiNudXhlb1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoTnV4ZW9TZXJ2aWNlKTtcclxuICAgIHRoaXMuI2NhbGxBcGlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KENhbGxBcGlTZXJ2aWNlKTtcclxuICAgIHRoaXMuI2NhY2hlQmFzZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQ2FjaGVCYXNlU2VydmljZSk7XHJcblxyXG4gICAgdGhpcy5hZGFwdGVyU2VydmljZSA9IGluamVjdG9yLmdldChBZGFwdGVyU2VydmljZSk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSk7XHJcbiAgICB0aGlzLiNjYWNoZUJhc2VTZXJ2aWNlLnZhbGlkYXRlVFRMKHRoaXMudXNlck5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGF1dG9tYXRpb248VFJlc3BvbnNlID0gdW5rbm93bj4oXHJcbiAgICBvcGVyYXRpb25Pck9wdGlvbnM6IHN0cmluZyB8IE9wZXJhdGlvbk9wdGlvbnMsXHJcbiAgICBpbnB1dDogc3RyaW5nID0gdW5kZWZpbmVkLFxyXG4gICAgcGFyYW1zID0gdW5kZWZpbmVkLFxyXG4gICAgY29udGV4dCA9IHVuZGVmaW5lZCxcclxuICAgIGhlYWRlcnMgPSB1bmRlZmluZWQsXHJcbiAgICBpc0N1c3RvbUF1dG9tYXRpb24gPSBmYWxzZVxyXG4gICk6IE9ic2VydmFibGU8VFJlc3BvbnNlPiB7XHJcbiAgICBsZXQgb3BlcmF0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBvcGVyYXRpb25Pck9wdGlvbnMgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgb3BlcmF0aW9uID0gb3BlcmF0aW9uT3JPcHRpb25zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IG9wZXJhdGlvbk9yT3B0aW9ucyBhcyBPcGVyYXRpb25PcHRpb25zO1xyXG4gICAgICBvcGVyYXRpb24gPSBvcHRpb25zLm9wZXJhdGlvbjtcclxuICAgICAgaXNDdXN0b21BdXRvbWF0aW9uID0gb3B0aW9ucy5pc0N1c3RvbUF1dG9tYXRpb247XHJcbiAgICAgIGlucHV0ID0gb3B0aW9ucy5pbnB1dCA/PyB1bmRlZmluZWQ7XHJcbiAgICAgIHBhcmFtcyA9IG9wdGlvbnMucGFyYW1zID8/IHVuZGVmaW5lZDtcclxuICAgICAgY29udGV4dCA9IG9wdGlvbnMuY29udGV4dCA/PyB1bmRlZmluZWQ7XHJcbiAgICAgIGhlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnMgPz8gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLiNudXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKG9wZXJhdGlvbiwge1xyXG4gICAgICAgICAgLi4uKGlzQ3VzdG9tQXV0b21hdGlvblxyXG4gICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOiB7fSksXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoaW5wdXQgPyBpbnB1dCA6IHVuZGVmaW5lZClcclxuICAgICAgICAucGFyYW1zKHBhcmFtcyA/IHsgLi4ucGFyYW1zIH0gOiB1bmRlZmluZWQpXHJcbiAgICAgICAgLmNvbnRleHQoY29udGV4dCA/IHsgLi4uY29udGV4dCB9IDogdW5kZWZpbmVkKVxyXG4gICAgICAgIC5leGVjdXRlKHsgaGVhZGVyczogaGVhZGVycyA/IHsgLi4uaGVhZGVycyB9IDogdW5kZWZpbmVkIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UgYXMgVFJlc3BvbnNlKSxcclxuICAgICAgdGhpcy5jYXRjaEVycm9ycygpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGN1c3RvbUF1dG9tYXRpb248VFJlc3BvbnNlID0gdW5rbm93bj4oXHJcbiAgICBvcGVyYXRpb25Pck9wdGlvbnM6IHN0cmluZyB8IE9wZXJhdGlvbk9wdGlvbnMsXHJcbiAgICBpbnB1dDogc3RyaW5nID0gdW5kZWZpbmVkLFxyXG4gICAgcGFyYW1zID0gdW5kZWZpbmVkLFxyXG4gICAgY29udGV4dCA9IHVuZGVmaW5lZCxcclxuICAgIGhlYWRlcnMgPSB1bmRlZmluZWRcclxuICApOiBPYnNlcnZhYmxlPFRSZXNwb25zZT4ge1xyXG4gICAgaWYgKHR5cGVvZiBvcGVyYXRpb25Pck9wdGlvbnMgPT0gXCJvYmplY3RcIikge1xyXG4gICAgICBvcGVyYXRpb25Pck9wdGlvbnMuaXNDdXN0b21BdXRvbWF0aW9uID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmF1dG9tYXRpb24oXHJcbiAgICAgIG9wZXJhdGlvbk9yT3B0aW9ucyxcclxuICAgICAgaW5wdXQsXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgY29udGV4dCxcclxuICAgICAgaGVhZGVycyxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZXF1ZXN0PFRSZXNwb25zZT4oXHJcbiAgICBlbmRwb2ludE9yT3B0aW9uczogc3RyaW5nIHwgUmVxdWVzdE9wdGlvbnMsXHJcbiAgICBxdWVyeVBhcmFtcyA9IHVuZGVmaW5lZCxcclxuICAgIGhlYWRlcnMgPSB1bmRlZmluZWQsXHJcbiAgICBwYXlsb2FkID0gdW5kZWZpbmVkLFxyXG4gICAgdHlwZSA9IFwiZ2V0XCJcclxuICApOiBPYnNlcnZhYmxlPFRSZXNwb25zZT4ge1xyXG4gICAgbGV0IGVuZHBvaW50OiBzdHJpbmc7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBlbmRwb2ludE9yT3B0aW9ucyA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICBlbmRwb2ludCA9IGVuZHBvaW50T3JPcHRpb25zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IGVuZHBvaW50T3JPcHRpb25zIGFzIFJlcXVlc3RPcHRpb25zO1xyXG4gICAgICBlbmRwb2ludCA9IG9wdGlvbnMuZW5kcG9pbnQ7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zID0gb3B0aW9ucy5xdWVyeVBhcmFtcyA/PyB1bmRlZmluZWQ7XHJcbiAgICAgIHR5cGUgPSBvcHRpb25zLnR5cGUgPz8gXCJnZXRcIjtcclxuICAgICAgaGVhZGVycyA9IG9wdGlvbnMuaGVhZGVycyA/PyB1bmRlZmluZWQ7XHJcbiAgICAgIHBheWxvYWQgPSBvcHRpb25zLnBheWxvYWQgPz8gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLiNudXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVxdWVzdChlbmRwb2ludClcclxuICAgICAgICAucXVlcnlQYXJhbXMocXVlcnlQYXJhbXMgPyB7IC4uLnF1ZXJ5UGFyYW1zIH0gOiB1bmRlZmluZWQpXHJcbiAgICAgICAgW3R5cGVdKHtcclxuICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMgPyB7IC4uLmhlYWRlcnMgfSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGJvZHk6IHBheWxvYWQgPyB7IC4uLnBheWxvYWQgfSA6IHVuZGVmaW5lZCxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlIGFzIFRSZXNwb25zZSksXHJcbiAgICAgIHRoaXMuY2F0Y2hFcnJvcnMoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBxdWVyeTxUUmVzcG9uc2U+KFxyXG4gICAgcGFnZVByb3ZpZGVyT3JPcHRpb25zOiBzdHJpbmcgfCBRdWVyeU9wdGlvbnMsXHJcbiAgICBwYXJhbXMgPSB1bmRlZmluZWQsXHJcbiAgICBoZWFkZXJzID0gdW5kZWZpbmVkXHJcbiAgKTogT2JzZXJ2YWJsZTxUUmVzcG9uc2U+IHtcclxuICAgIGxldCBwYWdlUHJvdmlkZXI6IHN0cmluZztcclxuICAgIGlmICh0eXBlb2YgcGFnZVByb3ZpZGVyT3JPcHRpb25zID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlciA9IHBhZ2VQcm92aWRlck9yT3B0aW9ucztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBwYWdlUHJvdmlkZXJPck9wdGlvbnMgYXMgUXVlcnlPcHRpb25zO1xyXG4gICAgICBwYWdlUHJvdmlkZXIgPSBvcHRpb25zLnBhZ2VQcm92aWRlcjtcclxuICAgICAgcGFyYW1zID0gb3B0aW9ucy5wYXJhbXMgPz8gdW5kZWZpbmVkO1xyXG4gICAgICBoZWFkZXJzID0gb3B0aW9ucy5oZWFkZXJzID8/IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy4jY2FsbEFwaVNlcnZpY2VcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcixcclxuICAgICAgICAgIC4uLihwYXJhbXMgPyBwYXJhbXMgOiB7fSksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzID8geyAuLi5oZWFkZXJzIH0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UgYXMgVFJlc3BvbnNlKSxcclxuICAgICAgICB0aGlzLmNhdGNoRXJyb3JzKClcclxuICAgICAgKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIGhhc0l0ZW1JbkNhY2hlKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy4jY2FjaGVCYXNlU2VydmljZS5oYXNJdGVtKGtleSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBjYWNoZWRRdWVyeTxUUmVzcG9uc2U+KFxyXG4gICAgb3B0aW9uczogQ2FjaGVkUXVlcnlPcHRpb25zIHwgQ2FjaGVkRnVsbFF1ZXJ5T3B0aW9uc1xyXG4gICk6IE9ic2VydmFibGU8VFJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0gKHBhcmFtcykgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5xdWVyeSh7XHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiBvcHRpb25zLnBhZ2VQcm92aWRlcixcclxuICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgIC4uLihvcHRpb25zLnBhcmFtcyA/IG9wdGlvbnMucGFyYW1zIDoge30pLFxyXG4gICAgICAgICAgLi4uKHBhcmFtcyA/IHBhcmFtcyA6IHt9KSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhlYWRlcnM6IG9wdGlvbnMuaGVhZGVycyxcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLiNjYWNoZUJhc2VTZXJ2aWNlLnN0YXJ0RmV0Y2hpbmdJdGVtcyh7XHJcbiAgICAgIC4uLm9wdGlvbnMsXHJcbiAgICAgIHVzZXJOYW1lOiB0aGlzLnVzZXJOYW1lLFxyXG4gICAgICByZXF1ZXN0OiByZXF1ZXN0LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBjYWNoZWRHZXQ8VFJlc3BvbnNlPihcclxuICAgIG9wdGlvbnM6IENhY2hlZEh0dHBPcHRpb25zIHwgQ2FjaGVkRnVsbEh0dHBPcHRpb25zXHJcbiAgKTogT2JzZXJ2YWJsZTxUUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSAocGFyYW1zKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldCh7XHJcbiAgICAgICAgZW5kcG9pbnQ6IG9wdGlvbnMuZW5kcG9pbnQsXHJcbiAgICAgICAgcGF5bG9hZDogb3B0aW9ucy5wYXlsb2FkLFxyXG4gICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgLi4uKG9wdGlvbnMucGFyYW1zID8gb3B0aW9ucy5wYXJhbXMgOiB7fSksXHJcbiAgICAgICAgICAuLi4ocGFyYW1zID8gcGFyYW1zIDoge30pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGVhZGVyczogb3B0aW9ucy5oZWFkZXJzLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogb3B0aW9ucy5yZXNwb25zZVR5cGUsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy4jY2FjaGVCYXNlU2VydmljZS5zdGFydEZldGNoaW5nSXRlbXMoe1xyXG4gICAgICAuLi5vcHRpb25zLFxyXG4gICAgICB1c2VyTmFtZTogdGhpcy51c2VyTmFtZSxcclxuICAgICAgcmVxdWVzdDogcmVxdWVzdCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGZldGNoPFRSZXNwb25zZT4oXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBoZWFkZXJzID0gdW5kZWZpbmVkXHJcbiAgKTogT2JzZXJ2YWJsZTxUUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IHJlcG9zaXRvcnkgPSB0aGlzLiNudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpO1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIChoZWFkZXJzID8gcmVwb3NpdG9yeS5oZWFkZXJzKGhlYWRlcnMpIDogcmVwb3NpdG9yeSkuZmV0Y2gocGF0aClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSBhcyBUUmVzcG9uc2UpLFxyXG4gICAgICB0aGlzLmNhdGNoRXJyb3JzKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhc3luYyB0b2tlbigpIHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLiNudXhlb1NlcnZpY2UuZ2V0VG9rZW4oKTtcclxuICB9XHJcblxyXG4gIGlzVXNlckluUm9sZShyb2xlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI251eGVvU2VydmljZS5pc1VzZXJJblJvbGUocm9sZSk7XHJcbiAgfVxyXG5cclxuICBkb0xvZ291dCgpIHtcclxuICAgIHRoaXMuI2NhY2hlQmFzZVNlcnZpY2UuY2xlYXJBbGwodGhpcy51c2VyTmFtZSk7XHJcbiAgICB0aGlzLiNudXhlb1NlcnZpY2UuZG9Mb2dvdXQoKTtcclxuICB9XHJcblxyXG4gIGdldER1cGxpY2F0ZXMocGFyYW1zPzoge30sIGJvZHk/OiB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy4jbnV4ZW9TZXJ2aWNlLmdldER1cGxpY2F0ZXMocGFyYW1zLCBib2R5KTtcclxuICB9XHJcbn1cclxuIl19