nuxeo-development-framework 4.2.1 → 4.2.2

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 (101) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1618 -1230
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/charts/chart.const.js +3 -0
  4. package/esm2015/lib/components/charts/chart.token.js +3 -0
  5. package/esm2015/lib/components/charts/charts.module.js +19 -0
  6. package/esm2015/lib/components/charts/components/base-chart.component.js +44 -0
  7. package/esm2015/lib/components/charts/components/chart.component.js +131 -0
  8. package/esm2015/lib/components/charts/components/data-chart.component.js +164 -0
  9. package/esm2015/lib/components/charts/components/index.js +4 -0
  10. package/esm2015/lib/components/charts/defaults/bar.js +18 -0
  11. package/esm2015/lib/components/charts/defaults/doughnut.js +18 -0
  12. package/esm2015/lib/components/charts/defaults/index.js +5 -0
  13. package/esm2015/lib/components/charts/defaults/line.js +36 -0
  14. package/esm2015/lib/components/charts/defaults/pie.js +20 -0
  15. package/esm2015/lib/components/charts/index.js +9 -0
  16. package/esm2015/lib/components/charts/models/index.js +5 -0
  17. package/esm2015/lib/components/charts/models/options.js +2 -0
  18. package/esm2015/lib/components/charts/models/plugins-options.js +2 -0
  19. package/esm2015/lib/components/charts/models/response.js +2 -0
  20. package/esm2015/lib/components/charts/models/statistic-request-config.js +2 -0
  21. package/esm2015/lib/components/charts/plugins/doughnut-center-text.js +21 -0
  22. package/esm2015/lib/components/charts/plugins/doughnut-empty-state.js +30 -0
  23. package/esm2015/lib/components/charts/plugins/index.js +3 -0
  24. package/esm2015/lib/components/charts/services/index.js +2 -0
  25. package/esm2015/lib/components/charts/services/statistic.service.js +17 -0
  26. package/esm2015/lib/components/charts/utility/colors.js +79 -0
  27. package/esm2015/lib/components/charts/utility/common.js +7 -0
  28. package/esm2015/lib/components/charts/utility/index.js +3 -0
  29. package/esm2015/lib/components/comments/comments.module.js +9 -5
  30. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +28 -34
  31. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +11 -10
  32. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +41 -41
  33. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +11 -10
  34. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +9 -5
  35. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +32 -24
  36. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +11 -9
  37. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +12 -14
  38. package/esm2015/lib/components/documents/documents.module.js +2 -6
  39. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +45 -40
  40. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +21 -17
  41. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +98 -92
  42. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +14 -12
  43. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +62 -36
  44. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +15 -11
  45. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +53 -23
  46. package/esm2015/lib/components/file-manger/file-manager.abstract.js +252 -252
  47. package/esm2015/lib/components/notifications/components/base-notifications.component.js +2 -16
  48. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +2 -2
  49. package/esm2015/public-api.js +4 -5
  50. package/fesm2015/nuxeo-development-framework.js +1430 -1037
  51. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  52. package/lib/components/charts/chart.const.d.ts +2 -0
  53. package/lib/components/charts/chart.token.d.ts +8 -0
  54. package/lib/components/charts/charts.module.d.ts +9 -0
  55. package/lib/components/charts/components/base-chart.component.d.ts +21 -0
  56. package/lib/components/charts/components/chart.component.d.ts +28 -0
  57. package/lib/components/charts/components/data-chart.component.d.ts +32 -0
  58. package/lib/components/charts/components/index.d.ts +3 -0
  59. package/lib/components/charts/defaults/bar.d.ts +2 -0
  60. package/lib/components/charts/defaults/doughnut.d.ts +2 -0
  61. package/lib/components/charts/defaults/index.d.ts +4 -0
  62. package/lib/components/charts/defaults/line.d.ts +2 -0
  63. package/lib/components/charts/defaults/pie.d.ts +2 -0
  64. package/lib/components/charts/index.d.ts +8 -0
  65. package/lib/components/charts/models/index.d.ts +4 -0
  66. package/lib/components/charts/models/options.d.ts +11 -0
  67. package/lib/components/charts/models/plugins-options.d.ts +15 -0
  68. package/lib/components/charts/models/response.d.ts +5 -0
  69. package/lib/components/charts/models/statistic-request-config.d.ts +28 -0
  70. package/lib/components/charts/plugins/doughnut-center-text.d.ts +2 -0
  71. package/lib/components/charts/plugins/doughnut-empty-state.d.ts +2 -0
  72. package/lib/components/charts/plugins/index.d.ts +2 -0
  73. package/lib/components/charts/services/index.d.ts +1 -0
  74. package/lib/components/charts/services/statistic.service.d.ts +9 -0
  75. package/lib/components/charts/utility/colors.d.ts +11 -0
  76. package/lib/components/charts/utility/common.d.ts +4 -0
  77. package/lib/components/charts/utility/index.d.ts +2 -0
  78. package/lib/components/comments/comments.module.d.ts +2 -1
  79. package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +8 -5
  80. package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +6 -4
  81. package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +2 -1
  82. package/lib/components/documents/documents.module.d.ts +13 -14
  83. package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +11 -10
  84. package/lib/components/dynamic-chart/dynamic-chart.module.d.ts +5 -6
  85. package/lib/components/file-manger/components/creation-type/creation-type.component.d.ts +6 -4
  86. package/lib/components/file-manger/components/loan-request/loan-request.component.d.ts +11 -5
  87. package/lib/components/file-manger/components/template-modal/template-modal.component.d.ts +4 -3
  88. package/lib/components/file-manger/components/transfer-doc/transfer-doc.component.d.ts +11 -4
  89. package/lib/components/file-manger/file-manager.abstract.d.ts +22 -22
  90. package/lib/components/notifications/components/base-notifications.component.d.ts +2 -8
  91. package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +1 -1
  92. package/package.json +4 -5
  93. package/public-api.d.ts +3 -4
  94. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +0 -77
  95. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +0 -28
  96. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +0 -29
  97. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +0 -164
  98. package/lib/components/confirm-caller/confirm-caller.dialog.d.ts +0 -46
  99. package/lib/components/confirm-caller/confirm-caller.module.d.ts +0 -17
  100. package/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.d.ts +0 -12
  101. package/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.d.ts +0 -33
@@ -1,50 +1,40 @@
1
- import { __awaiter } from "tslib";
2
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
2
  import { DxFormComponent } from 'devextreme-angular';
3
+ import { NdfNuxeoDialog } from '../../../../shared/components/nuxeo-dialog/nuxeo.dialog';
4
+ import { tap } from 'rxjs/operators';
5
+ import { BaseComponent } from '../../../../shared/components/base/base.component';
4
6
  import * as i0 from "@angular/core";
5
7
  import * as i1 from "../../../../shared-services/file-manager.service";
6
8
  import * as i2 from "../../../custom-toastr/services/custom-toastr.service";
7
- import * as i3 from "devextreme-angular";
8
- import * as i4 from "devextreme-angular/ui/nested";
9
- import * as i5 from "devextreme-angular/core";
9
+ import * as i3 from "../../../../shared/components/nuxeo-dialog/services/nuxeo-dialog.service";
10
+ import * as i4 from "devextreme-angular";
11
+ import * as i5 from "devextreme-angular/ui/nested";
10
12
  import * as i6 from "@angular/forms";
11
- import * as i7 from "@angular/common";
12
- import * as i8 from "@ngx-translate/core";
13
- export class LoanRequestComponent {
14
- constructor(fileMangerService, customToastrService) {
13
+ import * as i7 from "@ngx-translate/core";
14
+ export class LoanRequestComponent extends BaseComponent {
15
+ constructor(fileMangerService, customToastrService, nuxeoDialogService, injector) {
16
+ super(injector);
15
17
  this.fileMangerService = fileMangerService;
16
18
  this.customToastrService = customToastrService;
19
+ this.nuxeoDialogService = nuxeoDialogService;
17
20
  this.visibleChange = new EventEmitter();
18
21
  this.rtlEnabled = false;
19
22
  this._visible = false;
20
- this.loading = false;
21
- }
22
- set visible(value) {
23
- if (this._visible === value) {
24
- return;
25
- }
26
- this._visible = value;
27
- this.visibleChange.emit(this._visible);
28
- }
29
- get visible() {
30
- return this._visible;
31
- }
32
- ngOnInit() {
33
- }
34
- onFormLoanRequestSubmit(e) {
35
- return __awaiter(this, void 0, void 0, function* () {
23
+ this.onFormLoanRequestSubmit = (e) => {
36
24
  e.preventDefault();
37
25
  this.loading = true;
38
26
  let loanRequestContext = {
39
- "Request": {
40
- "loanrequest:duration": this.loanFormData.Duration,
41
- "loanrequest:requestTypee": "Loan",
42
- "loanrequest:boxes": [],
43
- "loanrequest:records": [this.selectedItem.id],
44
- "Dep:departmentId": "9801adde-a1a0-44b7-b4b9-77283227071f"
27
+ Request: {
28
+ 'loanrequest:duration': this.loanFormData.Duration,
29
+ 'loanrequest:requestTypee': 'Loan',
30
+ 'loanrequest:boxes': [],
31
+ 'loanrequest:records': [this.selectedItem.id],
32
+ 'Dep:departmentId': '9801adde-a1a0-44b7-b4b9-77283227071f'
45
33
  }
46
34
  };
47
- this.fileMangerService.CreateLoanRequest("/default-domain/workspaces/PhysicalArchiving/Requests", loanRequestContext).subscribe((res) => {
35
+ return this.fileMangerService
36
+ .CreateLoanRequest('/default-domain/workspaces/PhysicalArchiving/Requests', loanRequestContext)
37
+ .pipe(tap((res) => {
48
38
  this.visible = false;
49
39
  this.loading = false;
50
40
  this.customToastrService.show('success', 'TOASTER.SUCCESS', 'TOASTER.DOCUMENT_LOANED');
@@ -52,12 +42,42 @@ export class LoanRequestComponent {
52
42
  this.loading = false;
53
43
  this.visible = true;
54
44
  this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.DOCUMENT_LOANED_ERROR');
55
- });
45
+ }));
46
+ };
47
+ }
48
+ set visible(value) {
49
+ if (this._visible === value) {
50
+ return;
51
+ }
52
+ if (value) {
53
+ this.openDialog();
54
+ }
55
+ this._visible = value;
56
+ this.visibleChange.emit(this._visible);
57
+ }
58
+ get visible() {
59
+ return this._visible;
60
+ }
61
+ ngOnInit() { }
62
+ openDialog() {
63
+ const options = {
64
+ component: NdfNuxeoDialog,
65
+ config: {
66
+ title: this.translateService.instant('FILE_MANAGER.LOAN_DOCUMENT'),
67
+ contentTemplate: this.contentTemplate,
68
+ actionsTemplate: this.actionsTemplate
69
+ }
70
+ };
71
+ this.nuxeoDialogService
72
+ .open(options)
73
+ .afterClosed()
74
+ .subscribe((res) => {
75
+ this.visible = false;
56
76
  });
57
77
  }
58
78
  }
59
- LoanRequestComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LoanRequestComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
60
- LoanRequestComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LoanRequestComponent, selector: "app-loan-request", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }], ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"500\" [height]=\"200\"\r\ncloseOnOutsideClick=\"true\" title=\"{{ 'FILE_MANAGER.LOAN_DOCUMENT' | translate }}\"\r\n[(visible)]=\"visible\">\r\n<div *dxTemplate=\"let data of 'content'\">\r\n <form (submit)=\"onFormLoanRequestSubmit($event)\">\r\n <dx-form class=\"collection-form-wrapper\" #createForm [formData]=\"loanFormData\"\r\n [disabled]=\"loading\">\r\n <dxi-item dataField=\"Duration\" editorType=\"dxNumberBox\">\r\n <dxo-label class=\"text-base font-bold\"\r\n text=\"{{ 'CREATE.DURATION' | translate }}\"></dxo-label>\r\n <dxi-validation-rule type=\"required\" message=\"Duration is required\"></dxi-validation-rule>\r\n </dxi-item>\r\n <dxi-item itemType=\"button\">\r\n <dxo-button-options width=\"30%\" type=\"danger\" [useSubmitBehavior]=\"true\"\r\n [template]=\"'loanTemplate'\">\r\n </dxo-button-options>\r\n </dxi-item>\r\n <ng-container *dxTemplate=\"let item of 'loanTemplate'\">\r\n <span class=\"dx-button-text\">\r\n <ng-container *ngIf=\"loading; else notLoading\">\r\n <dx-load-indicator width=\"24px\" height=\"24px\" [visible]=\"true\"></dx-load-indicator>\r\n </ng-container>\r\n <ng-template #notLoading>{{\r\n \"FILE_MANAGER.LOAN\" | translate\r\n }}</ng-template>\r\n </span>\r\n </ng-container>\r\n </dx-form>\r\n </form>\r\n</div>\r\n</dx-popup>", styles: [""], components: [{ type: i3.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i4.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i4.DxoLabelComponent, selector: "dxo-label", inputs: ["connectorColor", "connectorWidth", "customizeText", "font", "format", "indent", "visible", "horizontalAlignment", "position", "text", "verticalAlignment", "alignment", "customizeHint", "displayMode", "indentFromAxis", "overlappingBehavior", "rotationAngle", "staggeringSpacing", "template", "textOverflow", "wordWrap", "argumentFormat", "backgroundColor", "border", "connector", "displayFormat", "horizontalOffset", "showForZeroValues", "verticalOffset", "hideFirstOrLast", "indentFromTick", "useRangeColors", "location", "showColon", "radialOffset", "topIndent", "shadow", "useNodeColors", "dataField", "enabled"] }, { type: i4.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { type: i4.DxoButtonOptionsComponent, selector: "dxo-button-options", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i8.TranslatePipe } });
79
+ LoanRequestComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LoanRequestComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }, { token: i3.NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
80
+ LoanRequestComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LoanRequestComponent, selector: "app-loan-request", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<div>\r\n\t\t<form (submit)=\"($event)\">\r\n\t\t\t<dx-form\r\n\t\t\t\tclass=\"collection-form-wrapper\"\r\n\t\t\t\t#createForm\r\n\t\t\t\t[formData]=\"loanFormData\"\r\n\t\t\t\t[disabled]=\"loading\"\r\n\t\t\t>\r\n\t\t\t\t<dxi-item dataField=\"Duration\" editorType=\"dxNumberBox\">\r\n\t\t\t\t\t<dxo-label\r\n\t\t\t\t\t\tclass=\"text-base font-bold\"\r\n\t\t\t\t\t\ttext=\"{{ 'CREATE.DURATION' | translate }}\"\r\n\t\t\t\t\t></dxo-label>\r\n\t\t\t\t\t<dxi-validation-rule\r\n\t\t\t\t\t\ttype=\"required\"\r\n\t\t\t\t\t\tmessage=\"Duration is required\"\r\n\t\t\t\t\t></dxi-validation-rule>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t\t<dxi-item itemType=\"button\">\r\n\t\t\t\t\t<dxo-button-options\r\n\t\t\t\t\t\twidth=\"30%\"\r\n\t\t\t\t\t\ttype=\"danger\"\r\n\t\t\t\t\t\t[useSubmitBehavior]=\"true\"\r\n\t\t\t\t\t\t[template]=\"'loanTemplate'\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</dxo-button-options>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t</dx-form>\r\n\t\t</form>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\t[disabled]=\"disable\"\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(onFormLoanRequestSubmit, [$event])\"\r\n\t>\r\n\t\t{{ 'FILE_MANAGER.LOAN' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i5.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i5.DxoLabelComponent, selector: "dxo-label", inputs: ["connectorColor", "connectorWidth", "customizeText", "font", "format", "indent", "visible", "horizontalAlignment", "position", "text", "verticalAlignment", "alignment", "customizeHint", "displayMode", "indentFromAxis", "overlappingBehavior", "rotationAngle", "staggeringSpacing", "template", "textOverflow", "wordWrap", "argumentFormat", "backgroundColor", "border", "connector", "displayFormat", "horizontalOffset", "showForZeroValues", "verticalOffset", "hideFirstOrLast", "indentFromTick", "useRangeColors", "location", "showColon", "radialOffset", "topIndent", "shadow", "useNodeColors", "dataField", "enabled"] }, { type: i5.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { type: i5.DxoButtonOptionsComponent, selector: "dxo-button-options", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "translate": i7.TranslatePipe } });
61
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LoanRequestComponent, decorators: [{
62
82
  type: Component,
63
83
  args: [{
@@ -65,9 +85,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
65
85
  templateUrl: './loan-request.component.html',
66
86
  styleUrls: ['./loan-request.component.scss']
67
87
  }]
68
- }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }]; }, propDecorators: { form: [{
88
+ }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }, { type: i3.NuxeoDialogService }, { type: i0.Injector }]; }, propDecorators: { form: [{
69
89
  type: ViewChild,
70
90
  args: [DxFormComponent, { static: false }]
91
+ }], contentTemplate: [{
92
+ type: ViewChild,
93
+ args: ['contentTemplate']
94
+ }], actionsTemplate: [{
95
+ type: ViewChild,
96
+ args: ['actionsTemplate']
71
97
  }], visible: [{
72
98
  type: Input
73
99
  }], visibleChange: [{
@@ -77,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
77
103
  }], selectedItem: [{
78
104
  type: Input
79
105
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9sb2FuLXJlcXVlc3QvbG9hbi1yZXF1ZXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9sb2FuLXJlcXVlc3QvbG9hbi1yZXF1ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7QUFRckQsTUFBTSxPQUFPLG9CQUFvQjtJQXVCL0IsWUFBb0IsaUJBQXNDLEVBQ2hELG1CQUF5QztRQUQvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ2hELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFWbkQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBR3VDLENBQUM7SUF0QnhELElBQ0ksT0FBTyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBY0QsUUFBUTtJQUNSLENBQUM7SUFFSyx1QkFBdUIsQ0FBQyxDQUFDOztZQUM3QixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxrQkFBa0IsR0FBRztnQkFDckIsU0FBUyxFQUFFO29CQUNQLHNCQUFzQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUTtvQkFDbEQsMEJBQTBCLEVBQUUsTUFBTTtvQkFDbEMsbUJBQW1CLEVBQUUsRUFBRTtvQkFDdkIscUJBQXFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDN0Msa0JBQWtCLEVBQUUsc0NBQXNDO2lCQUM3RDthQUNKLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsdURBQXVELEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQzNILENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUN6QixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHlCQUF5QixDQUM1QixDQUFDO1lBQ04sQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUN6QixPQUFPLEVBQ1AsZUFBZSxFQUNmLCtCQUErQixDQUNsQyxDQUFDO1lBQ04sQ0FBQyxDQUNKLENBQUM7UUFDTixDQUFDO0tBQUE7O2tIQTdEWSxvQkFBb0I7c0dBQXBCLG9CQUFvQixtT0FDcEIsZUFBZSxnRENWNUIsMHJEQThCVzs0RkRyQkUsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSwrQkFBK0I7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2lCQUM3QzsySUFFZ0QsSUFBSTtzQkFBbEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUV6QyxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbG9hbi1yZXF1ZXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9hbi1yZXF1ZXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2FuLXJlcXVlc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hblJlcXVlc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KClcclxuICBydGxFbmFibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBsb2FuRm9ybURhdGE7XHJcbiAgX3Zpc2libGUgPSBmYWxzZTtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZU1hbmdlclNlcnZpY2UgOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGN1c3RvbVRvYXN0clNlcnZpY2UgOiBDdXN0b21Ub2FzdHJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkZvcm1Mb2FuUmVxdWVzdFN1Ym1pdChlKSB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IGxvYW5SZXF1ZXN0Q29udGV4dCA9IHtcclxuICAgICAgICBcIlJlcXVlc3RcIjoge1xyXG4gICAgICAgICAgICBcImxvYW5yZXF1ZXN0OmR1cmF0aW9uXCI6IHRoaXMubG9hbkZvcm1EYXRhLkR1cmF0aW9uLFxyXG4gICAgICAgICAgICBcImxvYW5yZXF1ZXN0OnJlcXVlc3RUeXBlZVwiOiBcIkxvYW5cIixcclxuICAgICAgICAgICAgXCJsb2FucmVxdWVzdDpib3hlc1wiOiBbXSxcclxuICAgICAgICAgICAgXCJsb2FucmVxdWVzdDpyZWNvcmRzXCI6IFt0aGlzLnNlbGVjdGVkSXRlbS5pZF0sXHJcbiAgICAgICAgICAgIFwiRGVwOmRlcGFydG1lbnRJZFwiOiBcIjk4MDFhZGRlLWExYTAtNDRiNy1iNGI5LTc3MjgzMjI3MDcxZlwiXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsZU1hbmdlclNlcnZpY2UuQ3JlYXRlTG9hblJlcXVlc3QoXCIvZGVmYXVsdC1kb21haW4vd29ya3NwYWNlcy9QaHlzaWNhbEFyY2hpdmluZy9SZXF1ZXN0c1wiLCBsb2FuUmVxdWVzdENvbnRleHQpLnN1YnNjcmliZShcclxuICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5TVUNDRVNTJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkRPQ1VNRU5UX0xPQU5FRCdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkRPQ1VNRU5UX0xPQU5FRF9FUlJPUidcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICApO1xyXG59XHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJwaG90by1wb3B1cFwiIFt3aWR0aF09XCI1MDBcIiBbaGVpZ2h0XT1cIjIwMFwiXHJcbmNsb3NlT25PdXRzaWRlQ2xpY2s9XCJ0cnVlXCIgdGl0bGU9XCJ7eyAnRklMRV9NQU5BR0VSLkxPQU5fRE9DVU1FTlQnIHwgdHJhbnNsYXRlIH19XCJcclxuWyh2aXNpYmxlKV09XCJ2aXNpYmxlXCI+XHJcbjxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgIDxmb3JtIChzdWJtaXQpPVwib25Gb3JtTG9hblJlcXVlc3RTdWJtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxkeC1mb3JtIGNsYXNzPVwiY29sbGVjdGlvbi1mb3JtLXdyYXBwZXJcIiAjY3JlYXRlRm9ybSBbZm9ybURhdGFdPVwibG9hbkZvcm1EYXRhXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgPGR4aS1pdGVtIGRhdGFGaWVsZD1cIkR1cmF0aW9uXCIgZWRpdG9yVHlwZT1cImR4TnVtYmVyQm94XCI+XHJcbiAgICAgICAgICAgICAgICA8ZHhvLWxhYmVsIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dD1cInt7ICdDUkVBVEUuRFVSQVRJT04nIHwgdHJhbnNsYXRlIH19XCI+PC9keG8tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZHhpLXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIiBtZXNzYWdlPVwiRHVyYXRpb24gaXMgcmVxdWlyZWRcIj48L2R4aS12YWxpZGF0aW9uLXJ1bGU+XHJcbiAgICAgICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgICAgICAgIDxkeGktaXRlbSBpdGVtVHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgPGR4by1idXR0b24tb3B0aW9ucyB3aWR0aD1cIjMwJVwiIHR5cGU9XCJkYW5nZXJcIiBbdXNlU3VibWl0QmVoYXZpb3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlXT1cIidsb2FuVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8L2R4by1idXR0b24tb3B0aW9ucz5cclxuICAgICAgICAgICAgPC9keGktaXRlbT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZHhUZW1wbGF0ZT1cImxldCBpdGVtIG9mICdsb2FuVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImR4LWJ1dHRvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmc7IGVsc2Ugbm90TG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHgtbG9hZC1pbmRpY2F0b3Igd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMjRweFwiIFt2aXNpYmxlXT1cInRydWVcIj48L2R4LWxvYWQtaW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90TG9hZGluZz57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkZJTEVfTUFOQUdFUi5MT0FOXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2R4LWZvcm0+XHJcbiAgICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG48L2R4LXBvcHVwPiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9sb2FuLXJlcXVlc3QvbG9hbi1yZXF1ZXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9sb2FuLXJlcXVlc3QvbG9hbi1yZXF1ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBR1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFHekYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7Ozs7O0FBTWxGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0lBNEJ0RCxZQUNTLGlCQUFxQyxFQUNyQyxtQkFBd0MsRUFDekMsa0JBQXNDLEVBQzdDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxSLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFDckMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN6Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWDlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FB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QUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDZixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDRSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFHeEIsT0FBTztzQkFEVixLQUFLO2dCQWVOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0SW5qZWN0b3IsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0Vmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IER4Rm9ybUNvbXBvbmVudCB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IEZpbGVNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9maWxlLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IE51eGVvRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9zZXJ2aWNlcy9udXhlby1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IE5kZk51eGVvRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZyc7XHJcbmltcG9ydCB7IERpYWxvZ09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvbW9kZWxzL2RpYWxvZy1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBEaWFsb2dBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvYmFzZS9iYXNlLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWxvYW4tcmVxdWVzdCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2xvYW4tcmVxdWVzdC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbG9hbi1yZXF1ZXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvYW5SZXF1ZXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0QFZpZXdDaGlsZChEeEZvcm1Db21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtOiBEeEZvcm1Db21wb25lbnQ7XHJcblx0QFZpZXdDaGlsZCgnY29udGVudFRlbXBsYXRlJykgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRAVmlld0NoaWxkKCdhY3Rpb25zVGVtcGxhdGUnKSBhY3Rpb25zVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodmFsdWUpIHtcclxuXHRcdFx0dGhpcy5vcGVuRGlhbG9nKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcblx0XHR0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuXHR9XHJcblx0Z2V0IHZpc2libGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuXHR9XHJcblx0QE91dHB1dCgpXHJcblx0dmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBJbnB1dCgpXHJcblx0cnRsRW5hYmxlZCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpXHJcblx0c2VsZWN0ZWRJdGVtOiBhbnk7XHJcblx0bG9hbkZvcm1EYXRhO1xyXG5cdF92aXNpYmxlID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBmaWxlTWFuZ2VyU2VydmljZTogRmlsZU1hbmFnZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG5cdFx0cHVibGljIG51eGVvRGlhbG9nU2VydmljZTogTnV4ZW9EaWFsb2dTZXJ2aWNlLFxyXG5cdFx0aW5qZWN0b3I6IEluamVjdG9yXHJcblx0KSB7XHJcblx0XHRzdXBlcihpbmplY3Rvcik7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG5cdG9wZW5EaWFsb2coKTogdm9pZCB7XHJcblx0XHRjb25zdCBvcHRpb25zOiBEaWFsb2dPcHRpb25zID0ge1xyXG5cdFx0XHRjb21wb25lbnQ6IE5kZk51eGVvRGlhbG9nLFxyXG5cdFx0XHRjb25maWc6IHtcclxuXHRcdFx0XHR0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ZJTEVfTUFOQUdFUi5MT0FOX0RPQ1VNRU5UJyksXHJcblx0XHRcdFx0Y29udGVudFRlbXBsYXRlOiB0aGlzLmNvbnRlbnRUZW1wbGF0ZSxcclxuXHRcdFx0XHRhY3Rpb25zVGVtcGxhdGU6IHRoaXMuYWN0aW9uc1RlbXBsYXRlXHJcblx0XHRcdH1cclxuXHRcdH07XHJcblx0XHR0aGlzLm51eGVvRGlhbG9nU2VydmljZVxyXG5cdFx0XHQub3BlbihvcHRpb25zKVxyXG5cdFx0XHQuYWZ0ZXJDbG9zZWQoKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHRvbkZvcm1Mb2FuUmVxdWVzdFN1Ym1pdDogRGlhbG9nQWN0aW9uVHlwZSA9IChlKSA9PiB7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0bGV0IGxvYW5SZXF1ZXN0Q29udGV4dCA9IHtcclxuXHRcdFx0UmVxdWVzdDoge1xyXG5cdFx0XHRcdCdsb2FucmVxdWVzdDpkdXJhdGlvbic6IHRoaXMubG9hbkZvcm1EYXRhLkR1cmF0aW9uLFxyXG5cdFx0XHRcdCdsb2FucmVxdWVzdDpyZXF1ZXN0VHlwZWUnOiAnTG9hbicsXHJcblx0XHRcdFx0J2xvYW5yZXF1ZXN0OmJveGVzJzogW10sXHJcblx0XHRcdFx0J2xvYW5yZXF1ZXN0OnJlY29yZHMnOiBbdGhpcy5zZWxlY3RlZEl0ZW0uaWRdLFxyXG5cdFx0XHRcdCdEZXA6ZGVwYXJ0bWVudElkJzogJzk4MDFhZGRlLWExYTAtNDRiNy1iNGI5LTc3MjgzMjI3MDcxZidcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHRcdHJldHVybiB0aGlzLmZpbGVNYW5nZXJTZXJ2aWNlXHJcblx0XHRcdC5DcmVhdGVMb2FuUmVxdWVzdChcclxuXHRcdFx0XHQnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvUGh5c2ljYWxBcmNoaXZpbmcvUmVxdWVzdHMnLFxyXG5cdFx0XHRcdGxvYW5SZXF1ZXN0Q29udGV4dFxyXG5cdFx0XHQpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHRhcChcclxuXHRcdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy52aXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuU1VDQ0VTUycsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRE9DVU1FTlRfTE9BTkVEJ1xyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMudmlzaWJsZSA9IHRydWU7XHJcblx0XHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRVJST1InLFxyXG5cdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkRPQ1VNRU5UX0xPQU5FRF9FUlJPUidcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpXHJcblx0XHRcdCk7XHJcblx0fTtcclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cclxuXHQ8ZGl2PlxyXG5cdFx0PGZvcm0gKHN1Ym1pdCk9XCIoJGV2ZW50KVwiPlxyXG5cdFx0XHQ8ZHgtZm9ybVxyXG5cdFx0XHRcdGNsYXNzPVwiY29sbGVjdGlvbi1mb3JtLXdyYXBwZXJcIlxyXG5cdFx0XHRcdCNjcmVhdGVGb3JtXHJcblx0XHRcdFx0W2Zvcm1EYXRhXT1cImxvYW5Gb3JtRGF0YVwiXHJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImxvYWRpbmdcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PGR4aS1pdGVtIGRhdGFGaWVsZD1cIkR1cmF0aW9uXCIgZWRpdG9yVHlwZT1cImR4TnVtYmVyQm94XCI+XHJcblx0XHRcdFx0XHQ8ZHhvLWxhYmVsXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZFwiXHJcblx0XHRcdFx0XHRcdHRleHQ9XCJ7eyAnQ1JFQVRFLkRVUkFUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXHJcblx0XHRcdFx0XHQ+PC9keG8tbGFiZWw+XHJcblx0XHRcdFx0XHQ8ZHhpLXZhbGlkYXRpb24tcnVsZVxyXG5cdFx0XHRcdFx0XHR0eXBlPVwicmVxdWlyZWRcIlxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlPVwiRHVyYXRpb24gaXMgcmVxdWlyZWRcIlxyXG5cdFx0XHRcdFx0PjwvZHhpLXZhbGlkYXRpb24tcnVsZT5cclxuXHRcdFx0XHQ8L2R4aS1pdGVtPlxyXG5cdFx0XHRcdDxkeGktaXRlbSBpdGVtVHlwZT1cImJ1dHRvblwiPlxyXG5cdFx0XHRcdFx0PGR4by1idXR0b24tb3B0aW9uc1xyXG5cdFx0XHRcdFx0XHR3aWR0aD1cIjMwJVwiXHJcblx0XHRcdFx0XHRcdHR5cGU9XCJkYW5nZXJcIlxyXG5cdFx0XHRcdFx0XHRbdXNlU3VibWl0QmVoYXZpb3JdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFt0ZW1wbGF0ZV09XCInbG9hblRlbXBsYXRlJ1wiXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8L2R4by1idXR0b24tb3B0aW9ucz5cclxuXHRcdFx0XHQ8L2R4aS1pdGVtPlxyXG5cdFx0XHQ8L2R4LWZvcm0+XHJcblx0XHQ8L2Zvcm0+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUZW1wbGF0ZSBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XHJcblx0PGJ1dHRvblxyXG5cdFx0W2Rpc2FibGVkXT1cImRpc2FibGVcIlxyXG5cdFx0Y2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBweC01XCJcclxuXHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihvbkZvcm1Mb2FuUmVxdWVzdFN1Ym1pdCwgWyRldmVudF0pXCJcclxuXHQ+XHJcblx0XHR7eyAnRklMRV9NQU5BR0VSLkxPQU4nIHwgdHJhbnNsYXRlIH19XHJcblx0PC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -1,16 +1,19 @@
1
1
  import { Component, Inject } from '@angular/core';
2
2
  import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import { BaseDialogComponent } from '../../../../shared/components/base/base-dialog.component';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../../../../shared-services/upload-managment.service";
5
6
  import * as i2 from "@angular/material/dialog";
6
7
  import * as i3 from "../../../../shared-services/dialog-mangment.service";
7
8
  import * as i4 from "../../../../shared-services/dynamic-form.service";
8
- import * as i5 from "../../../dynamic-form/components/dynamic-form/dynamic-form.component";
9
- import * as i6 from "@angular/forms";
10
- import * as i7 from "@angular/common";
11
- import * as i8 from "@ngx-translate/core";
12
- export class TemplateModalComponent {
13
- constructor(data, uploadMangmentService, dialogRef, dialogMangmentService, dynamicFormService) {
9
+ import * as i5 from "../../../../shared/components/nuxeo-dialog/nuxeo.dialog";
10
+ import * as i6 from "../../../dynamic-form/components/dynamic-form/dynamic-form.component";
11
+ import * as i7 from "@angular/forms";
12
+ import * as i8 from "@angular/common";
13
+ import * as i9 from "@ngx-translate/core";
14
+ export class TemplateModalComponent extends BaseDialogComponent {
15
+ constructor(data, uploadMangmentService, dialogRef, dialogMangmentService, dynamicFormService, injector) {
16
+ super(injector);
14
17
  this.data = data;
15
18
  this.uploadMangmentService = uploadMangmentService;
16
19
  this.dialogRef = dialogRef;
@@ -34,7 +37,8 @@ export class TemplateModalComponent {
34
37
  this.fileType = this.dialogMangmentService.fileType;
35
38
  this.source = this.dialogMangmentService.addingFrom;
36
39
  // this.dynamicFormService.getDynamicForm(this.fileType).subscribe(res => {
37
- this.selectedFile.dynamicForm = this.dialogMangmentService.storedDynamicForm;
40
+ this.selectedFile.dynamicForm =
41
+ this.dialogMangmentService.storedDynamicForm;
38
42
  this.showRenderer = true;
39
43
  // })
40
44
  }
@@ -48,8 +52,8 @@ export class TemplateModalComponent {
48
52
  this.dialogRef.close(false);
49
53
  }
50
54
  }
51
- TemplateModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplateModalComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.UploadManagmentService }, { token: i2.MatDialogRef }, { token: i3.DialogMangmentService }, { token: i4.DynamicFormService }], target: i0.ɵɵFactoryTarget.Component });
52
- TemplateModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateModalComponent, selector: "app-template-modal", ngImport: i0, template: "<div class=\"template-modal-wraper d-flex relative h-full\">\r\n <div class=\"modal-body-section d-flex w-full\">\r\n <!-- forms and properties -->\r\n <div class=\"forms-section w-1/2\">\r\n <div class=\"\">\r\n <div class=\"mb-5\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.FILE_TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">{{ fileType }}</div>\r\n </div>\r\n <div class=\"file-fields mt-3\">\r\n <form #fileForm=\"ngForm\">\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.TITLE\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.title\"\r\n required\r\n name=\"title\"\r\n id=\"title\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\">\r\n <div class=\"text-base font-bold text-gray-900\">\r\n {{ \"CREATE.DESCRIPTION\" | translate\r\n }}<span class=\"text-red-500\">*</span>\r\n </div>\r\n <input\r\n class=\"\r\n h-10\r\n w-full\r\n bg-gray-100\r\n p-1\r\n border-2 border-gray-200\r\n rounded\r\n \"\r\n [(ngModel)]=\"selectedFile.description\"\r\n required\r\n name=\"description\"\r\n id=\"description\"\r\n />\r\n </div>\r\n </form>\r\n <!-- *ngIf=\"\" -->\r\n <div\r\n class=\"dynamic-part -mx-4\"\r\n *ngIf=\"selectedFile.dynamicForm && showRenderer\"\r\n >\r\n <app-dynamic-form\r\n [form]=\"selectedFile.dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"template-side-menu w-1/2 d-flex justify-center items-center\"\r\n >\r\n <div class=\"text-gray-900 font-bold\">No Templates Yet</div>\r\n </div>\r\n </div>\r\n\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"\r\n w-full\r\n d-flex\r\n justify-between\r\n scanner-actions-wrapper\r\n absolute\r\n bottom-0\r\n \"\r\n >\r\n <div class=\"flex\">\r\n <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n \"\r\n (click)=\"closeDialog()\"\r\n >\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n uploadMangmentService.uploadedFilesStatus\r\n .numberOfUploadedFiles !== 0 ||\r\n addingProperties\r\n \" -->\r\n <!-- <button\r\n class=\"\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-30\r\n h-10\r\n mx-2\r\n \"\r\n (click)=\"minimizDialog()\"\r\n >\r\n {{ \"BUTTONS.MINIMIZED\" | translate }}\r\n </button> -->\r\n </div>\r\n\r\n <!-- -->\r\n <div class=\"d-flex\">\r\n <!-- <button\r\n *ngIf=\"\r\n (uploadMangmentService.uploadedFilesStatus\r\n .uploadInProgress ||\r\n selectedFile.file) &&\r\n !uploadMangmentService.addingPropertiesMode\r\n \"\r\n (click)=\"startAddingProperties()\"\r\n class=\"\r\n hover:text-white hover:bg-gray-900\r\n cursor-pointer\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-36\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.ADD_PROPERTIES\" | translate }}\r\n </button> -->\r\n\r\n <!-- *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n !uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \" -->\r\n <!-- <button\r\n \r\n (click)=\"createDocument()\"\r\n [disabled]=\"scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': scannerUploadButton.disabled || !selectedFile.dynamicData.valid || fileForm.invalid\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-white bg-gray-900\r\n rounded-3xl\r\n w-30\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE\" | translate }}\r\n </button> -->\r\n\r\n <!-- <button\r\n *ngIf=\"\r\n uploadMangmentService.addingPropertiesMode &&\r\n uploadMangmentService.uploadedFilesStatus.uploadInProgress\r\n \"\r\n (click)=\"createWhenFinish()\"\r\n [disabled]=\"checkValidation()\"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed': checkValidation(),\r\n 'cursor-pointer hover:text-white hover:bg-gray-900':\r\n !checkValidation()\r\n }\"\r\n class=\"\r\n flex\r\n justify-center\r\n items-center\r\n border-2 border-gray-900\r\n text-gray-900\r\n rounded-3xl\r\n text-white\r\n w-40\r\n h-10\r\n \"\r\n >\r\n {{ \"BUTTONS.CREATE_WHEN_FINSH\" | translate }}\r\n </button> -->\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-body-section{height:calc(100% - 80px)}\n"], components: [{ type: i5.DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i8.TranslatePipe } });
55
+ TemplateModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplateModalComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.UploadManagmentService }, { token: i2.MatDialogRef }, { token: i3.DialogMangmentService }, { token: i4.DynamicFormService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
56
+ TemplateModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateModalComponent, selector: "app-template-modal", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ 'CREATE.FILE_TYPE' | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<div class=\"modal-body-section d-flex w-full\">\r\n\t\t\t<!-- forms and properties -->\r\n\t\t\t<div class=\"forms-section w-1/2\">\r\n\t\t\t\t<div class=\"\">\r\n\t\t\t\t\t<div class=\"file-fields mt-3\">\r\n\t\t\t\t\t\t<form #fileForm=\"ngForm\">\r\n\t\t\t\t\t\t\t<div class=\"single-field mb-3\">\r\n\t\t\t\t\t\t\t\t<div class=\"text-base font-bold text-gray-900\">\r\n\t\t\t\t\t\t\t\t\t{{ 'CREATE.TITLE' | translate\r\n\t\t\t\t\t\t\t\t\t}}<span class=\"text-red-500\">*</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\tclass=\"h-10 w-full bg-gray-100 p-1 border-2 border-gray-200 rounded\"\r\n\t\t\t\t\t\t\t\t\t[(ngModel)]=\"selectedFile.title\"\r\n\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\tname=\"title\"\r\n\t\t\t\t\t\t\t\t\tid=\"title\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"single-field mb-3\">\r\n\t\t\t\t\t\t\t\t<div class=\"text-base font-bold text-gray-900\">\r\n\t\t\t\t\t\t\t\t\t{{ 'CREATE.DESCRIPTION' | translate\r\n\t\t\t\t\t\t\t\t\t}}<span class=\"text-red-500\">*</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\tclass=\"h-10 w-full bg-gray-100 p-1 border-2 border-gray-200 rounded\"\r\n\t\t\t\t\t\t\t\t\t[(ngModel)]=\"selectedFile.description\"\r\n\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\tname=\"description\"\r\n\t\t\t\t\t\t\t\t\tid=\"description\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</form>\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"dynamic-part -mx-4\"\r\n\t\t\t\t\t\t\t*ngIf=\"selectedFile.dynamicForm && showRenderer\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<app-dynamic-form\r\n\t\t\t\t\t\t\t\t[form]=\"selectedFile.dynamicForm\"\r\n\t\t\t\t\t\t\t\t[data]=\"temporaryDyanmicData\"\r\n\t\t\t\t\t\t\t\t(change)=\"ondynamicFormChange($event)\"\r\n\t\t\t\t\t\t\t></app-dynamic-form>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"template-side-menu w-1/2 d-flex justify-center items-center\">\r\n\t\t\t\t<div class=\"text-gray-900 font-bold\">No Templates Yet</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".modal-body-section{height:calc(100% - 80px)}\n"], components: [{ type: i5.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "loaderMode"] }, { type: i6.DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i9.TranslatePipe } });
53
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TemplateModalComponent, decorators: [{
54
58
  type: Component,
55
59
  args: [{
@@ -60,5 +64,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
60
64
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
61
65
  type: Inject,
62
66
  args: [MAT_DIALOG_DATA]
63
- }] }, { type: i1.UploadManagmentService }, { type: i2.MatDialogRef }, { type: i3.DialogMangmentService }, { type: i4.DynamicFormService }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL3RlbXBsYXRlLW1vZGFsL3RlbXBsYXRlLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90ZW1wbGF0ZS1tb2RhbC90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBVXpFLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQTRDLElBQUksRUFDekMscUJBQTZDLEVBQzdDLFNBQStDLEVBQy9DLHFCQUE0QyxFQUMzQyxrQkFBc0M7UUFKRixTQUFJLEdBQUosSUFBSSxDQUFBO1FBQ3pDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0MsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDL0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUMzQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBakI5QyxpQkFBWSxHQUFHO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxFQUFFO1lBQ1osV0FBVyxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUNGLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztJQUt3QixDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRXBELDJFQUEyRTtRQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsS0FBSztJQUNQLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUFXO1FBQzdCLElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcscUJBQVEsV0FBVyxDQUFFLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlCLENBQUM7O29IQTFDVSxzQkFBc0Isa0JBZ0JiLGVBQWU7d0dBaEJ4QixzQkFBc0IsMERDWG5DLDAwUUFxTkE7NEZEMU1hLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztpQkFDL0M7OzBCQWlCYyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVXBsb2FkTWFuYWdtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91cGxvYWQtbWFuYWdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dNYW5nbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZGlhbG9nLW1hbmdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGVtcGxhdGUtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVtcGxhdGUtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZmlsZVR5cGU7XHJcbiAgc291cmNlO1xyXG4gIHNlbGVjdGVkRmlsZSA9IHtcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnJyxcclxuICAgIGZpbGVUeXBlOiAnJyxcclxuICAgIGR5bmFtaWNGb3JtOiAnJyxcclxuICAgIGR5bmFtaWNEYXRhOiB7XHJcbiAgICAgIHZhbGlkOiBmYWxzZSxcclxuICAgICAgZGF0YToge31cclxuICAgIH0sXHJcbiAgICBmaWxlOiAnJ1xyXG4gIH07XHJcbiAgc2hvd1JlbmRlcmVyID0gZmFsc2U7XHJcbiAgdGVtcG9yYXJ5RHlhbm1pY0RhdGEgPSB7fTtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGEsXHJcbiAgcHVibGljIHVwbG9hZE1hbmdtZW50U2VydmljZTogVXBsb2FkTWFuYWdtZW50U2VydmljZSxcclxuICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVNb2RhbENvbXBvbmVudD4sXHJcbiAgcHVibGljIGRpYWxvZ01hbmdtZW50U2VydmljZTogRGlhbG9nTWFuZ21lbnRTZXJ2aWNlLFxyXG4gIHByaXZhdGUgZHluYW1pY0Zvcm1TZXJ2aWNlOiBEeW5hbWljRm9ybVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVR5cGUgPSB0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5maWxlVHlwZTtcclxuICAgIHRoaXMuc291cmNlID0gdGhpcy5kaWFsb2dNYW5nbWVudFNlcnZpY2UuYWRkaW5nRnJvbTtcclxuXHJcbiAgICAvLyB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS5nZXREeW5hbWljRm9ybSh0aGlzLmZpbGVUeXBlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm0gPSB0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5zdG9yZWREeW5hbWljRm9ybTtcclxuICAgICAgdGhpcy5zaG93UmVuZGVyZXIgPSB0cnVlO1xyXG4gICAgLy8gfSlcclxuICB9XHJcblxyXG4gIG9uZHluYW1pY0Zvcm1DaGFuZ2UoZHluYW1pY0RhdGEpIHtcclxuICAgIGlmIChkeW5hbWljRGF0YS5kYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGR5bmFtaWNEYXRhLmRhdGEpXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlLmR5bmFtaWNEYXRhID0geyAuLi5keW5hbWljRGF0YSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XHJcblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGVtcGxhdGUtbW9kYWwtd3JhcGVyIGQtZmxleCByZWxhdGl2ZSBoLWZ1bGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5LXNlY3Rpb24gZC1mbGV4IHctZnVsbFwiPlxyXG4gICAgICAgIDwhLS0gZm9ybXMgYW5kIHByb3BlcnRpZXMgIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3Jtcy1zZWN0aW9uIHctMS8yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBcIkNSRUFURS5GSUxFX1RZUEVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ncmF5LTkwMFwiPnt7IGZpbGVUeXBlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWZpZWxkcyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gI2ZpbGVGb3JtPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLlRJVExFXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LWZ1bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZ3JheS0xMDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsZS50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiQ1JFQVRFLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LWZ1bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZ3JheS0xMDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRmlsZS5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHluYW1pYy1wYXJ0IC1teC00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm0gJiYgc2hvd1JlbmRlcmVyXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJzZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwidGVtcG9yYXJ5RHlhbm1pY0RhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbmR5bmFtaWNGb3JtQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9hcHAtZHluYW1pYy1mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZW1wbGF0ZS1zaWRlLW1lbnUgdy0xLzIgZC1mbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCBmb250LWJvbGRcIj5ObyBUZW1wbGF0ZXMgWWV0PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIGFjdGlvbnMgYW5kIGJ1dHRvbnMgIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgIHctZnVsbFxyXG4gICAgICAgICAgICBkLWZsZXhcclxuICAgICAgICAgICAganVzdGlmeS1iZXR3ZWVuXHJcbiAgICAgICAgICAgIHNjYW5uZXItYWN0aW9ucy13cmFwcGVyXHJcbiAgICAgICAgICAgIGFic29sdXRlXHJcbiAgICAgICAgICAgIGJvdHRvbS0wXHJcbiAgICAgICAgXCJcclxuICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci1wb2ludGVyXHJcbiAgICAgICAgICAgICAgICAgICAgZmxleFxyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMtY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLTIgYm9yZGVyLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdW5kZWQtM3hsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC13aGl0ZVxyXG4gICAgICAgICAgICAgICAgICAgIHctMzBcclxuICAgICAgICAgICAgICAgICAgICBoLTEwXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBcIkJVVFRPTlMuQ0FOQ0VMXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8IS0tICpuZ0lmPVwiXHJcbiAgICAgICAgICAgIHVwbG9hZE1hbmdtZW50U2VydmljZS51cGxvYWRlZEZpbGVzU3RhdHVzXHJcbiAgICAgICAgICAgICAgICAudXBsb2FkSW5Qcm9ncmVzcyB8fFxyXG4gICAgICAgICAgICB1cGxvYWRNYW5nbWVudFNlcnZpY2UudXBsb2FkZWRGaWxlc1N0YXR1c1xyXG4gICAgICAgICAgICAgICAgLm51bWJlck9mVXBsb2FkZWRGaWxlcyAhPT0gMCB8fFxyXG4gICAgICAgICAgICBhZGRpbmdQcm9wZXJ0aWVzXHJcbiAgICAgICAgXCIgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3ItcG9pbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICByb3VuZGVkLTN4bFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtd2hpdGVcclxuICAgICAgICAgICAgICAgICAgICB3LTMwXHJcbiAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgICAgIG14LTJcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibWluaW1pekRpYWxvZygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgXCJCVVRUT05TLk1JTklNSVpFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSAgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHVwbG9hZE1hbmdtZW50U2VydmljZS51cGxvYWRlZEZpbGVzU3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC51cGxvYWRJblByb2dyZXNzIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRmlsZS5maWxlKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICF1cGxvYWRNYW5nbWVudFNlcnZpY2UuYWRkaW5nUHJvcGVydGllc01vZGVcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RhcnRBZGRpbmdQcm9wZXJ0aWVzKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgICAgICAgICAgICBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yLXBvaW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBmbGV4XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBpdGVtcy1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItMiBib3JkZXItZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgcm91bmRlZC0zeGxcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXdoaXRlXHJcbiAgICAgICAgICAgICAgICAgICAgdy0zNlxyXG4gICAgICAgICAgICAgICAgICAgIGgtMTBcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5BRERfUFJPUEVSVElFU1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICB1cGxvYWRNYW5nbWVudFNlcnZpY2UuYWRkaW5nUHJvcGVydGllc01vZGUgJiZcclxuICAgICAgICAgICAgICAgICAgICAhdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLnVwbG9hZGVkRmlsZXNTdGF0dXMudXBsb2FkSW5Qcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgXCIgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlRG9jdW1lbnQoKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2Nhbm5lclVwbG9hZEJ1dHRvbi5kaXNhYmxlZCB8fCAhc2VsZWN0ZWRGaWxlLmR5bmFtaWNEYXRhLnZhbGlkIHx8IGZpbGVGb3JtLmludmFsaWRcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5LTMwIGN1cnNvci1ub3QtYWxsb3dlZCc6IHNjYW5uZXJVcGxvYWRCdXR0b24uZGlzYWJsZWQgfHwgIXNlbGVjdGVkRmlsZS5keW5hbWljRGF0YS52YWxpZCB8fCBmaWxlRm9ybS5pbnZhbGlkXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmxleFxyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMtY2VudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLTIgYm9yZGVyLWdyYXktOTAwXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC13aGl0ZSBiZy1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdW5kZWQtM3hsXHJcbiAgICAgICAgICAgICAgICAgICAgdy0zMFxyXG4gICAgICAgICAgICAgICAgICAgIGgtMTBcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5DUkVBVEVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLmFkZGluZ1Byb3BlcnRpZXNNb2RlICYmXHJcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkTWFuZ21lbnRTZXJ2aWNlLnVwbG9hZGVkRmlsZXNTdGF0dXMudXBsb2FkSW5Qcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVXaGVuRmluaXNoKClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNoZWNrVmFsaWRhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eS0zMCBjdXJzb3Itbm90LWFsbG93ZWQnOiBjaGVja1ZhbGlkYXRpb24oKSxcclxuICAgICAgICAgICAgICAgICAgICAnY3Vyc29yLXBvaW50ZXIgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy1ncmF5LTkwMCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFjaGVja1ZhbGlkYXRpb24oKVxyXG4gICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLWNlbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci0yIGJvcmRlci1ncmF5LTkwMFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZ3JheS05MDBcclxuICAgICAgICAgICAgICAgICAgICByb3VuZGVkLTN4bFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtd2hpdGVcclxuICAgICAgICAgICAgICAgICAgICB3LTQwXHJcbiAgICAgICAgICAgICAgICAgICAgaC0xMFxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgXCJCVVRUT05TLkNSRUFURV9XSEVOX0ZJTlNIXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
67
+ }] }, { type: i1.UploadManagmentService }, { type: i2.MatDialogRef }, { type: i3.DialogMangmentService }, { type: i4.DynamicFormService }, { type: i0.Injector }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL3RlbXBsYXRlLW1vZGFsL3RlbXBsYXRlLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90ZW1wbGF0ZS1tb2RhbC90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSXpFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7Ozs7Ozs7OztBQU0vRixNQUFNLE9BQU8sc0JBQ1osU0FBUSxtQkFBcUQ7SUFrQjdELFlBQ2lDLElBQUksRUFDN0IscUJBQTZDLEVBQzdDLFNBQStDLEVBQy9DLHFCQUE0QyxFQUMzQyxrQkFBc0MsRUFDOUMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUGdCLFNBQUksR0FBSixJQUFJLENBQUE7UUFDN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUMvQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzNDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQi9DLGlCQUFZLEdBQUc7WUFDZCxLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRTtnQkFDWixLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsRUFBRTthQUNSO1lBQ0QsSUFBSSxFQUFFLEVBQUU7U0FDUixDQUFDO1FBQ0YsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO0lBVTFCLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQztRQUVwRCwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO1lBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixLQUFLO0lBQ04sQ0FBQztJQUVELG1CQUFtQixDQUFDLFdBQVc7UUFDOUIsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxxQkFBUSxXQUFXLENBQUUsQ0FBQztTQUNuRDtJQUNGLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7b0hBbERXLHNCQUFzQixrQkFvQnpCLGVBQWU7d0dBcEJaLHNCQUFzQixpRkNYbkMsK3RFQXNEQTs0RkQzQ2Esc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUM5Qzs7MEJBcUJFLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVXBsb2FkTWFuYWdtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91cGxvYWQtbWFuYWdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dNYW5nbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZGlhbG9nLW1hbmdtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvYmFzZS9iYXNlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC10ZW1wbGF0ZS1tb2RhbCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi90ZW1wbGF0ZS1tb2RhbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZU1vZGFsQ29tcG9uZW50XHJcblx0ZXh0ZW5kcyBCYXNlRGlhbG9nQ29tcG9uZW50PFRlbXBsYXRlTW9kYWxDb21wb25lbnQsIGFueSwgYW55PlxyXG5cdGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuXHRmaWxlVHlwZTtcclxuXHRzb3VyY2U7XHJcblx0c2VsZWN0ZWRGaWxlID0ge1xyXG5cdFx0dGl0bGU6ICcnLFxyXG5cdFx0ZGVzY3JpcHRpb246ICcnLFxyXG5cdFx0ZmlsZVR5cGU6ICcnLFxyXG5cdFx0ZHluYW1pY0Zvcm06ICcnLFxyXG5cdFx0ZHluYW1pY0RhdGE6IHtcclxuXHRcdFx0dmFsaWQ6IGZhbHNlLFxyXG5cdFx0XHRkYXRhOiB7fVxyXG5cdFx0fSxcclxuXHRcdGZpbGU6ICcnXHJcblx0fTtcclxuXHRzaG93UmVuZGVyZXIgPSBmYWxzZTtcclxuXHR0ZW1wb3JhcnlEeWFubWljRGF0YSA9IHt9O1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhLFxyXG5cdFx0cHVibGljIHVwbG9hZE1hbmdtZW50U2VydmljZTogVXBsb2FkTWFuYWdtZW50U2VydmljZSxcclxuXHRcdHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZW1wbGF0ZU1vZGFsQ29tcG9uZW50PixcclxuXHRcdHB1YmxpYyBkaWFsb2dNYW5nbWVudFNlcnZpY2U6IERpYWxvZ01hbmdtZW50U2VydmljZSxcclxuXHRcdHByaXZhdGUgZHluYW1pY0Zvcm1TZXJ2aWNlOiBEeW5hbWljRm9ybVNlcnZpY2UsXHJcblx0XHRpbmplY3RvcjogSW5qZWN0b3JcclxuXHQpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5maWxlVHlwZSA9IHRoaXMuZGlhbG9nTWFuZ21lbnRTZXJ2aWNlLmZpbGVUeXBlO1xyXG5cdFx0dGhpcy5zb3VyY2UgPSB0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5hZGRpbmdGcm9tO1xyXG5cclxuXHRcdC8vIHRoaXMuZHluYW1pY0Zvcm1TZXJ2aWNlLmdldER5bmFtaWNGb3JtKHRoaXMuZmlsZVR5cGUpLnN1YnNjcmliZShyZXMgPT4ge1xyXG5cdFx0dGhpcy5zZWxlY3RlZEZpbGUuZHluYW1pY0Zvcm0gPVxyXG5cdFx0XHR0aGlzLmRpYWxvZ01hbmdtZW50U2VydmljZS5zdG9yZWREeW5hbWljRm9ybTtcclxuXHRcdHRoaXMuc2hvd1JlbmRlcmVyID0gdHJ1ZTtcclxuXHRcdC8vIH0pXHJcblx0fVxyXG5cclxuXHRvbmR5bmFtaWNGb3JtQ2hhbmdlKGR5bmFtaWNEYXRhKSB7XHJcblx0XHRpZiAoZHluYW1pY0RhdGEuZGF0YSkge1xyXG5cdFx0XHRjb25zb2xlLmxvZyhkeW5hbWljRGF0YS5kYXRhKTtcclxuXHRcdFx0dGhpcy5zZWxlY3RlZEZpbGUuZHluYW1pY0RhdGEgPSB7IC4uLmR5bmFtaWNEYXRhIH07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjbG9zZURpYWxvZygpIHtcclxuXHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIiwiPG5kZi1udXhlby1kaWFsb2cgZGlhbG9nVGl0bGU9XCJ7eyAnQ1JFQVRFLkZJTEVfVFlQRScgfCB0cmFuc2xhdGUgfX1cIj5cclxuXHQ8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cclxuXHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5LXNlY3Rpb24gZC1mbGV4IHctZnVsbFwiPlxyXG5cdFx0XHQ8IS0tIGZvcm1zIGFuZCBwcm9wZXJ0aWVzICAtLT5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm1zLXNlY3Rpb24gdy0xLzJcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmlsZS1maWVsZHMgbXQtM1wiPlxyXG5cdFx0XHRcdFx0XHQ8Zm9ybSAjZmlsZUZvcm09XCJuZ0Zvcm1cIj5cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIHRleHQtZ3JheS05MDBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0e3sgJ0NSRUFURS5USVRMRScgfCB0cmFuc2xhdGVcclxuXHRcdFx0XHRcdFx0XHRcdFx0fX08c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMFwiPio8L3NwYW4+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImgtMTAgdy1mdWxsIGJnLWdyYXktMTAwIHAtMSBib3JkZXItMiBib3JkZXItZ3JheS0yMDAgcm91bmRlZFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwic2VsZWN0ZWRGaWxlLnRpdGxlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0cmVxdWlyZWRcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmFtZT1cInRpdGxlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWQ9XCJ0aXRsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ncmF5LTkwMFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7eyAnQ1JFQVRFLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9fTxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiaC0xMCB3LWZ1bGwgYmctZ3JheS0xMDAgcC0xIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWxlY3RlZEZpbGUuZGVzY3JpcHRpb25cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXF1aXJlZFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuYW1lPVwiZGVzY3JpcHRpb25cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZD1cImRlc2NyaXB0aW9uXCJcclxuXHRcdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvZm9ybT5cclxuXHRcdFx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiZHluYW1pYy1wYXJ0IC1teC00XCJcclxuXHRcdFx0XHRcdFx0XHQqbmdJZj1cInNlbGVjdGVkRmlsZS5keW5hbWljRm9ybSAmJiBzaG93UmVuZGVyZXJcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGFwcC1keW5hbWljLWZvcm1cclxuXHRcdFx0XHRcdFx0XHRcdFtmb3JtXT1cInNlbGVjdGVkRmlsZS5keW5hbWljRm9ybVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbZGF0YV09XCJ0ZW1wb3JhcnlEeWFubWljRGF0YVwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2hhbmdlKT1cIm9uZHluYW1pY0Zvcm1DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0PjwvYXBwLWR5bmFtaWMtZm9ybT5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJ0ZW1wbGF0ZS1zaWRlLW1lbnUgdy0xLzIgZC1mbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIGZvbnQtYm9sZFwiPk5vIFRlbXBsYXRlcyBZZXQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG48L25kZi1udXhlby1kaWFsb2c+XHJcbiJdfQ==
@@ -1,57 +1,81 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { NdfNuxeoDialog } from '../../../../shared/components/nuxeo-dialog/nuxeo.dialog';
3
+ import { tap } from 'rxjs/operators';
4
+ import { BaseComponent } from '../../../../shared/components/base/base.component';
2
5
  import * as i0 from "@angular/core";
3
6
  import * as i1 from "@angular/router";
4
7
  import * as i2 from "../../../../shared-services/file-manager.service";
5
8
  import * as i3 from "../../../custom-toastr/services/custom-toastr.service";
6
- import * as i4 from "devextreme-angular";
7
- import * as i5 from "devextreme-angular/core";
8
- import * as i6 from "@ngx-translate/core";
9
- export class TransferDocComponent {
10
- constructor(route, fileMangerService, customToastrService) {
9
+ import * as i4 from "../../../../shared/components/nuxeo-dialog/services/nuxeo-dialog.service";
10
+ import * as i5 from "@ngx-translate/core";
11
+ export class TransferDocComponent extends BaseComponent {
12
+ constructor(route, fileMangerService, customToastrService, nuxeoDialogService, injector) {
13
+ super(injector);
11
14
  this.route = route;
12
15
  this.fileMangerService = fileMangerService;
13
16
  this.customToastrService = customToastrService;
17
+ this.nuxeoDialogService = nuxeoDialogService;
14
18
  this.visibleChange = new EventEmitter();
15
19
  this.refresh = new EventEmitter();
16
20
  this.rtlEnabled = false;
17
21
  // @Input()
18
22
  // rootFolder: any;
19
23
  this._visible = false;
24
+ this.transferDocument = () => {
25
+ let transferRequestContext = {
26
+ Request: {
27
+ 'transferrequest:records': [this.route.snapshot.queryParams.id],
28
+ 'Dep:departmentId': '9801adde-a1a0-44b7-b4b9-77283227071f'
29
+ }
30
+ };
31
+ return this.fileMangerService
32
+ .CreateTransferRequest('/default-domain/workspaces/PhysicalArchiving/Requests', transferRequestContext)
33
+ .pipe(tap((res) => {
34
+ this.visible = false;
35
+ this.refresh.next();
36
+ this.customToastrService.show('success', 'TOASTER.SUCCESS', 'TOASTER.DOCUMENT_TRANSFERED');
37
+ }, (err) => {
38
+ this.visible = true;
39
+ this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.DOCUMENT_TRANSFERED_ERROR');
40
+ }));
41
+ };
20
42
  }
21
43
  set visible(value) {
22
44
  if (this._visible === value) {
23
45
  return;
24
46
  }
47
+ if (value) {
48
+ this.openDialog();
49
+ }
25
50
  this._visible = value;
26
51
  this.visibleChange.emit(this._visible);
27
52
  }
28
53
  get visible() {
29
54
  return this._visible;
30
55
  }
31
- ngOnInit() {
32
- }
33
- transferDocument() {
34
- let transferRequestContext = {
35
- "Request": {
36
- "transferrequest:records": [this.route.snapshot.queryParams.id],
37
- "Dep:departmentId": "9801adde-a1a0-44b7-b4b9-77283227071f"
56
+ ngOnInit() { }
57
+ openDialog() {
58
+ const options = {
59
+ component: NdfNuxeoDialog,
60
+ config: {
61
+ title: this.translateService.instant('confirmDialog.confirm'),
62
+ contentTemplate: this.contentTemplate,
63
+ actionsTemplate: this.actionsTemplate
38
64
  }
39
65
  };
40
- this.fileMangerService.CreateTransferRequest("/default-domain/workspaces/PhysicalArchiving/Requests", transferRequestContext).subscribe((res) => {
66
+ this.nuxeoDialogService
67
+ .open(options)
68
+ .afterClosed()
69
+ .subscribe((res) => {
41
70
  this.visible = false;
42
- this.refresh.next();
43
- this.customToastrService.show('success', 'TOASTER.SUCCESS', 'TOASTER.DOCUMENT_TRANSFERED');
44
- }, (err) => {
45
- this.visible = true;
46
- this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.DOCUMENT_TRANSFERED_ERROR');
47
71
  });
48
72
  }
49
73
  cancel() {
50
74
  this.visible = false;
51
75
  }
52
76
  }
53
- TransferDocComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TransferDocComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FileManagerService }, { token: i3.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
54
- TransferDocComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TransferDocComponent, selector: "app-transfer-doc", inputs: { visible: "visible", rtlEnabled: "rtlEnabled" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"510\" [height]=\"180\"\r\n[(visible)]=\"visible\" [closeOnOutsideClick]=\"true\">\r\n<div *dxTemplate=\"let data of 'content'\">\r\n <div class=\"d-flex px-8 mb-5 -mt-8 h-20\">\r\n <img class=\"w-14 h-14\" src=\"assets/images/thumbnails/warning.png\" />\r\n <div class=\"px-3 mt-3\">\r\n <span class=\"text-xl font-medium\">{{ 'confirmDialog.confirm' | translate }}</span>\r\n <div class=\"\r\n text-lg text-secondary text-base\r\n mt-2\r\n sub-title\r\n \">\r\n {{ 'confirmDialog.Transfer_Item' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"conf-actions d-flex justify-end items-center px-6\">\r\n <button class=\"mx-2 submission-button w-1/3\" (click)=\"transferDocument()\">\r\n {{ \"BUTTONS.TRANSFER\" | translate }}\r\n </button>\r\n <button class=\"mx-2 cancelation-button w-1/3\" (click)=\"cancel()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n</dx-popup>", styles: [""], components: [{ type: i4.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], pipes: { "translate": i6.TranslatePipe } });
77
+ TransferDocComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TransferDocComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.FileManagerService }, { token: i3.CustomToastrService }, { token: i4.NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
78
+ TransferDocComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TransferDocComponent, selector: "app-transfer-doc", inputs: { visible: "visible", rtlEnabled: "rtlEnabled" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<div>\r\n\t\t<div class=\"d-flex px-8 mb-5 -mt-8 h-20\">\r\n\t\t\t<img class=\"w-14 h-14\" src=\"assets/images/thumbnails/warning.png\" />\r\n\t\t\t<div class=\"px-3 mt-3\">\r\n\t\t\t\t<!-- <span class=\"text-xl font-medium\">{{\r\n\t\t\t\t\t'confirmDialog.confirm' | translate\r\n\t\t\t\t}}</span> -->\r\n\t\t\t\t<div class=\"text-lg text-secondary text-base mt-2 sub-title\">\r\n\t\t\t\t\t{{ 'confirmDialog.Transfer_Item' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\t[disabled]=\"disable\"\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(transferDocument)\"\r\n\t>\r\n\t\t{{ 'BUTTONS.TRANSFER' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], pipes: { "translate": i5.TranslatePipe } });
55
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TransferDocComponent, decorators: [{
56
80
  type: Component,
57
81
  args: [{
@@ -59,7 +83,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
59
83
  templateUrl: './transfer-doc.component.html',
60
84
  styleUrls: ['./transfer-doc.component.scss']
61
85
  }]
62
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FileManagerService }, { type: i3.CustomToastrService }]; }, propDecorators: { visible: [{
86
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FileManagerService }, { type: i3.CustomToastrService }, { type: i4.NuxeoDialogService }, { type: i0.Injector }]; }, propDecorators: { contentTemplate: [{
87
+ type: ViewChild,
88
+ args: ['contentTemplate']
89
+ }], actionsTemplate: [{
90
+ type: ViewChild,
91
+ args: ['actionsTemplate']
92
+ }], visible: [{
63
93
  type: Input
64
94
  }], visibleChange: [{
65
95
  type: Output
@@ -68,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
68
98
  }], rtlEnabled: [{
69
99
  type: Input
70
100
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItZG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVzFGLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQW9CLEtBQXNCLEVBQ2hDLGlCQUFzQyxFQUN0QyxtQkFBeUM7UUFGL0IsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBWG5ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUtYLENBQUM7SUF4QlAsSUFDSSxPQUFPLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFnQkQsUUFBUTtJQUNSLENBQUM7SUFHRCxnQkFBZ0I7UUFDZCxJQUFJLHNCQUFzQixHQUFHO1lBQ3pCLFNBQVMsRUFBRTtnQkFDUCx5QkFBeUIsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELGtCQUFrQixFQUFFLHNDQUFzQzthQUM3RDtTQUNKLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsdURBQXVELEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLENBQ25JLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3pCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsNkJBQTZCLENBQ2hDLENBQUM7UUFDTixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3pCLE9BQU8sRUFDUCxlQUFlLEVBQ2YsbUNBQW1DLENBQ3RDLENBQUM7UUFDTixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs7a0hBN0RZLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1MQ1hqQyw2ckNBeUJXOzRGRGRFLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztpQkFDN0M7d0tBR0ssT0FBTztzQkFEVixLQUFLO2dCQVlOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxPQUFPO3NCQUROLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRyYW5zZmVyLWRvYycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyYW5zZmVyLWRvYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXItZG9jLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyRG9jQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuICB9XHJcbiAgZ2V0IHZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICB9XHJcbiAgQE91dHB1dCgpXHJcbiAgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICAvLyBASW5wdXQoKVxyXG4gIC8vIHJvb3RGb2xkZXI6IGFueTtcclxuICBfdmlzaWJsZSA9IGZhbHNlO1xyXG4gIGN1cnJlbnRJdGVtO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGUgOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgZmlsZU1hbmdlclNlcnZpY2UgOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGN1c3RvbVRvYXN0clNlcnZpY2UgOiBDdXN0b21Ub2FzdHJTZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuICB0cmFuc2ZlckRvY3VtZW50KCkge1xyXG4gICAgbGV0IHRyYW5zZmVyUmVxdWVzdENvbnRleHQgPSB7XHJcbiAgICAgICAgXCJSZXF1ZXN0XCI6IHtcclxuICAgICAgICAgICAgXCJ0cmFuc2ZlcnJlcXVlc3Q6cmVjb3Jkc1wiOiBbdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5pZF0sXHJcbiAgICAgICAgICAgIFwiRGVwOmRlcGFydG1lbnRJZFwiOiBcIjk4MDFhZGRlLWExYTAtNDRiNy1iNGI5LTc3MjgzMjI3MDcxZlwiXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsZU1hbmdlclNlcnZpY2UuQ3JlYXRlVHJhbnNmZXJSZXF1ZXN0KFwiL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvUGh5c2ljYWxBcmNoaXZpbmcvUmVxdWVzdHNcIiwgdHJhbnNmZXJSZXF1ZXN0Q29udGV4dCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaC5uZXh0KCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgJ1RPQVNURVIuU1VDQ0VTUycsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9UUkFOU0ZFUkVEJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9UUkFOU0ZFUkVEX0VSUk9SJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICk7XHJcbn1cclxuXHJcbmNhbmNlbCgpIHtcclxuICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxufVxyXG59XHJcbiIsIjxkeC1wb3B1cCBjbGFzcz1cInBvcFVwUGFyZW50XCIgW3J0bEVuYWJsZWRdPVwicnRsRW5hYmxlZFwiIGlkPVwicGhvdG8tcG9wdXBcIiBbd2lkdGhdPVwiNTEwXCIgW2hlaWdodF09XCIxODBcIlxyXG5bKHZpc2libGUpXT1cInZpc2libGVcIiBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCI+XHJcbjxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggcHgtOCBtYi01IC1tdC04IGgtMjBcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwidy0xNCBoLTE0XCIgc3JjPVwiYXNzZXRzL2ltYWdlcy90aHVtYm5haWxzL3dhcm5pbmcucG5nXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LW1lZGl1bVwiPnt7ICAnY29uZmlybURpYWxvZy5jb25maXJtJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtbGcgdGV4dC1zZWNvbmRhcnkgdGV4dC1iYXNlXHJcbiAgICAgICAgICAgICAgICAgICAgbXQtMlxyXG4gICAgICAgICAgICAgICAgICAgIHN1Yi10aXRsZVxyXG4gICAgICAgICAgICAgICAgXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnY29uZmlybURpYWxvZy5UcmFuc2Zlcl9JdGVtJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbmYtYWN0aW9ucyBkLWZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIHB4LTZcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibXgtMiBzdWJtaXNzaW9uLWJ1dHRvbiB3LTEvM1wiIChjbGljayk9XCJ0cmFuc2ZlckRvY3VtZW50KClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLlRSQU5TRkVSXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibXgtMiBjYW5jZWxhdGlvbi1idXR0b24gdy0xLzNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZHgtcG9wdXA+Il19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItZG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy90cmFuc2Zlci1kb2MvdHJhbnNmZXItZG9jLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBR1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUd6RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7Ozs7O0FBT2xGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0lBMkJ0RCxZQUNTLEtBQXFCLEVBQ3JCLGlCQUFxQyxFQUNyQyxtQkFBd0MsRUFDekMsa0JBQXNDLEVBQzdDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU5SLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFDckMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN6Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBYjlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4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WixNQUFNO2dCQUdQLE9BQU87c0JBRE4sTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdENvbXBvbmVudCxcclxuXHRJbmplY3RvcixcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEeEZvcm1Db21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZmlsZS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgTmRmTnV4ZW9EaWFsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvbnV4ZW8uZGlhbG9nJztcclxuaW1wb3J0IHsgTnV4ZW9EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL3NlcnZpY2VzL251eGVvLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC10cmFuc2Zlci1kb2MnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi90cmFuc2Zlci1kb2MuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3RyYW5zZmVyLWRvYy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckRvY0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBWaWV3Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZScpIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblx0QFZpZXdDaGlsZCgnYWN0aW9uc1RlbXBsYXRlJykgYWN0aW9uc1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRASW5wdXQoKVxyXG5cdHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodmFsdWUpIHtcclxuXHRcdFx0dGhpcy5vcGVuRGlhbG9nKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcblx0XHR0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuXHR9XHJcblx0Z2V0IHZpc2libGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuXHR9XHJcblx0QE91dHB1dCgpXHJcblx0dmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKVxyXG5cdHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRASW5wdXQoKVxyXG5cdHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuXHQvLyBASW5wdXQoKVxyXG5cdC8vIHJvb3RGb2xkZXI6IGFueTtcclxuXHRfdmlzaWJsZSA9IGZhbHNlO1xyXG5cdGN1cnJlbnRJdGVtO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcblx0XHRwcml2YXRlIGZpbGVNYW5nZXJTZXJ2aWNlOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGN1c3RvbVRvYXN0clNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcblx0XHRwdWJsaWMgbnV4ZW9EaWFsb2dTZXJ2aWNlOiBOdXhlb0RpYWxvZ1NlcnZpY2UsXHJcblx0XHRpbmplY3RvcjogSW5qZWN0b3JcclxuXHQpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcblx0b3BlbkRpYWxvZygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IG9wdGlvbnM6IERpYWxvZ09wdGlvbnMgPSB7XHJcblx0XHRcdGNvbXBvbmVudDogTmRmTnV4ZW9EaWFsb2csXHJcblx0XHRcdGNvbmZpZzoge1xyXG5cdFx0XHRcdHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29uZmlybURpYWxvZy5jb25maXJtJyksXHJcblx0XHRcdFx0Y29udGVudFRlbXBsYXRlOiB0aGlzLmNvbnRlbnRUZW1wbGF0ZSxcclxuXHRcdFx0XHRhY3Rpb25zVGVtcGxhdGU6IHRoaXMuYWN0aW9uc1RlbXBsYXRlXHJcblx0XHRcdH1cclxuXHRcdH07XHJcblx0XHR0aGlzLm51eGVvRGlhbG9nU2VydmljZVxyXG5cdFx0XHQub3BlbihvcHRpb25zKVxyXG5cdFx0XHQuYWZ0ZXJDbG9zZWQoKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHR0cmFuc2ZlckRvY3VtZW50OiBEaWFsb2dBY3Rpb25UeXBlID0gKCkgPT4ge1xyXG5cdFx0bGV0IHRyYW5zZmVyUmVxdWVzdENvbnRleHQgPSB7XHJcblx0XHRcdFJlcXVlc3Q6IHtcclxuXHRcdFx0XHQndHJhbnNmZXJyZXF1ZXN0OnJlY29yZHMnOiBbdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5pZF0sXHJcblx0XHRcdFx0J0RlcDpkZXBhcnRtZW50SWQnOiAnOTgwMWFkZGUtYTFhMC00NGI3LWI0YjktNzcyODMyMjcwNzFmJ1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0cmV0dXJuIHRoaXMuZmlsZU1hbmdlclNlcnZpY2VcclxuXHRcdFx0LkNyZWF0ZVRyYW5zZmVyUmVxdWVzdChcclxuXHRcdFx0XHQnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvUGh5c2ljYWxBcmNoaXZpbmcvUmVxdWVzdHMnLFxyXG5cdFx0XHRcdHRyYW5zZmVyUmVxdWVzdENvbnRleHRcclxuXHRcdFx0KVxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHR0YXAoXHJcblx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnJlZnJlc2gubmV4dCgpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuU1VDQ0VTUycsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRE9DVU1FTlRfVFJBTlNGRVJFRCdcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMudmlzaWJsZSA9IHRydWU7XHJcblx0XHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRVJST1InLFxyXG5cdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkRPQ1VNRU5UX1RSQU5TRkVSRURfRVJST1InXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpO1xyXG5cdH07XHJcblxyXG5cdGNhbmNlbCgpIHtcclxuXHRcdHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG5cdH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cclxuXHQ8ZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImQtZmxleCBweC04IG1iLTUgLW10LTggaC0yMFwiPlxyXG5cdFx0XHQ8aW1nIGNsYXNzPVwidy0xNCBoLTE0XCIgc3JjPVwiYXNzZXRzL2ltYWdlcy90aHVtYm5haWxzL3dhcm5pbmcucG5nXCIgLz5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInB4LTMgbXQtM1wiPlxyXG5cdFx0XHRcdDwhLS0gPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtbWVkaXVtXCI+e3tcclxuXHRcdFx0XHRcdCdjb25maXJtRGlhbG9nLmNvbmZpcm0nIHwgdHJhbnNsYXRlXHJcblx0XHRcdFx0fX08L3NwYW4+IC0tPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LWxnIHRleHQtc2Vjb25kYXJ5IHRleHQtYmFzZSBtdC0yIHN1Yi10aXRsZVwiPlxyXG5cdFx0XHRcdFx0e3sgJ2NvbmZpcm1EaWFsb2cuVHJhbnNmZXJfSXRlbScgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYWN0aW9uc1RlbXBsYXRlIGxldC1kaWFsb2c9XCJkaWFsb2dcIj5cclxuXHQ8YnV0dG9uXHJcblx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXHJcblx0XHRjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uIHB4LTVcIlxyXG5cdFx0KGNsaWNrKT1cImRpYWxvZy5leGVjdXRlQWN0aW9uKHRyYW5zZmVyRG9jdW1lbnQpXCJcclxuXHQ+XHJcblx0XHR7eyAnQlVUVE9OUy5UUkFOU0ZFUicgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19