@arsedizioni/ars-utils 18.2.6 → 18.2.8

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 (172) hide show
  1. package/arsedizioni-ars-utils.d.ts.map +1 -0
  2. package/clipper.common/arsedizioni-ars-utils-clipper.common.d.ts.map +1 -0
  3. package/clipper.common/common/common.module.d.ts.map +1 -0
  4. package/clipper.common/common/definitions.d.ts +57 -7
  5. package/clipper.common/common/definitions.d.ts.map +1 -0
  6. package/clipper.common/common/interceptors/auth.interceptor.d.ts.map +1 -0
  7. package/clipper.common/common/messages.d.ts.map +1 -0
  8. package/clipper.common/common/services/clipper.service.d.ts +13 -23
  9. package/clipper.common/common/services/clipper.service.d.ts.map +1 -0
  10. package/clipper.common/public_api.d.ts.map +1 -0
  11. package/clipper.ui/arsedizioni-ars-utils-clipper.ui.d.ts.map +1 -0
  12. package/clipper.ui/documents.d.ts.map +1 -0
  13. package/clipper.ui/public_api.d.ts.map +1 -0
  14. package/clipper.ui/ui/browser-dialog/browser-dialog.component.d.ts.map +1 -0
  15. package/clipper.ui/ui/document/document.component.d.ts.map +1 -0
  16. package/clipper.ui/ui/document-index/document-index.component.d.ts +3 -3
  17. package/clipper.ui/ui/document-index/document-index.component.d.ts.map +1 -0
  18. package/clipper.ui/ui/document-manager/document-manager.d.ts.map +1 -0
  19. package/clipper.ui/ui/document-menu/document-menu.component.d.ts.map +1 -0
  20. package/clipper.ui/ui/references/references.component.d.ts.map +1 -0
  21. package/clipper.ui/ui/search-calendar/search-calendar.component.d.ts.map +1 -0
  22. package/clipper.ui/ui/search-dialog/search-dialog.component.d.ts.map +1 -0
  23. package/clipper.ui/ui/search-facets/search-facets.component.d.ts.map +1 -0
  24. package/clipper.ui/ui/search-free-text-help/search-free-text-help.component.d.ts.map +1 -0
  25. package/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.d.ts.map +1 -0
  26. package/clipper.ui/ui/search-result-item/search-result-item.component.d.ts.map +1 -0
  27. package/clipper.ui/ui/search-result-manager/search-result-manager.d.ts +1 -0
  28. package/clipper.ui/ui/search-result-manager/search-result-manager.d.ts.map +1 -0
  29. package/core/arsedizioni-ars-utils-core.d.ts.map +1 -0
  30. package/core/core.module.d.ts.map +1 -0
  31. package/core/dateFnsAdapter.d.ts.map +1 -0
  32. package/core/definitions.d.ts +14 -0
  33. package/core/definitions.d.ts.map +1 -0
  34. package/core/directives/autoFocusDirective.d.ts.map +1 -0
  35. package/core/directives/changeDateIntervalDirective.d.ts.map +1 -0
  36. package/core/directives/copyClipboardDirective.d.ts.map +1 -0
  37. package/core/directives/validators.d.ts.map +1 -0
  38. package/core/pipes/format.pipe.d.ts.map +1 -0
  39. package/core/pipes/replace.pipe.d.ts.map +1 -0
  40. package/core/pipes/safe-html.pipe.d.ts.map +1 -0
  41. package/core/pipes/safe-url.pipe.d.ts.map +1 -0
  42. package/core/pipes/search-callback.pipe.d.ts.map +1 -0
  43. package/core/pipes/search-filter.pipe.d.ts.map +1 -0
  44. package/core/public_api.d.ts.map +1 -0
  45. package/core/selectable.d.ts.map +1 -0
  46. package/core/services/broadcast.service.d.ts.map +1 -0
  47. package/core/services/environment.service.d.ts.map +1 -0
  48. package/core/services/screen.service.d.ts.map +1 -0
  49. package/core/system.d.ts +3 -3
  50. package/core/system.d.ts.map +1 -0
  51. package/esm2022/clipper.common/common/definitions.mjs +17 -1
  52. package/esm2022/clipper.common/common/services/clipper.service.mjs +12 -43
  53. package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +3 -3
  54. package/esm2022/clipper.ui/ui/document/document.component.mjs +3 -3
  55. package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +1 -1
  56. package/esm2022/clipper.ui/ui/references/references.component.mjs +3 -3
  57. package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +3 -3
  58. package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +3 -3
  59. package/esm2022/clipper.ui/ui/search-result-manager/search-result-manager.mjs +4 -1
  60. package/esm2022/core/definitions.mjs +1 -1
  61. package/esm2022/core/system.mjs +1 -1
  62. package/esm2022/help/components/help-viewer/help-viewer.component.mjs +3 -3
  63. package/esm2022/help/definitions.mjs +2 -0
  64. package/esm2022/help/public_api.mjs +2 -1
  65. package/esm2022/help/services/help.service.mjs +1 -8
  66. package/esm2022/support.common/common/definitions.mjs +1 -1
  67. package/esm2022/support.common/common/services/support.service.mjs +4 -4
  68. package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +3 -3
  69. package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +3 -3
  70. package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +3 -3
  71. package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +3 -3
  72. package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +3 -3
  73. package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +3 -3
  74. package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +3 -3
  75. package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +3 -3
  76. package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +3 -3
  77. package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +3 -3
  78. package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +3 -3
  79. package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +3 -3
  80. package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +3 -3
  81. package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +3 -3
  82. package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +3 -3
  83. package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +3 -3
  84. package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +3 -3
  85. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +28 -43
  86. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
  87. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +13 -10
  88. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
  89. package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
  90. package/fesm2022/arsedizioni-ars-utils-help.mjs +2 -9
  91. package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
  92. package/fesm2022/arsedizioni-ars-utils-support.common.mjs +3 -3
  93. package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
  94. package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +4 -4
  95. package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
  96. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +18 -18
  97. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
  98. package/fesm2022/arsedizioni-ars-utils-ui.mjs +12 -12
  99. package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
  100. package/help/arsedizioni-ars-utils-help.d.ts.map +1 -0
  101. package/help/components/help-viewer/help-viewer.component.d.ts.map +1 -0
  102. package/help/definitions.d.ts +17 -0
  103. package/help/definitions.d.ts.map +1 -0
  104. package/help/help.module.d.ts.map +1 -0
  105. package/help/public_api.d.ts +1 -0
  106. package/help/public_api.d.ts.map +1 -0
  107. package/help/services/help.service.d.ts +4 -8
  108. package/help/services/help.service.d.ts.map +1 -0
  109. package/package.json +12 -12
  110. package/public_api.d.ts.map +1 -0
  111. package/styles/ui.colors.scss +0 -1
  112. package/styles/ui.scss +2 -0
  113. package/support.common/arsedizioni-ars-utils-support.common.d.ts.map +1 -0
  114. package/support.common/common/common.module.d.ts.map +1 -0
  115. package/support.common/common/definitions.d.ts +22 -2
  116. package/support.common/common/definitions.d.ts.map +1 -0
  117. package/support.common/common/interceptors/auth.interceptor.d.ts.map +1 -0
  118. package/support.common/common/messages.d.ts.map +1 -0
  119. package/support.common/common/services/support.service.d.ts +4 -4
  120. package/support.common/common/services/support.service.d.ts.map +1 -0
  121. package/support.common/public_api.d.ts.map +1 -0
  122. package/support.ui/arsedizioni-ars-utils-support.ui.d.ts.map +1 -0
  123. package/support.ui/public_api.d.ts.map +1 -0
  124. package/support.ui/ui/notifications-browser/notification/notification.component.d.ts.map +1 -0
  125. package/support.ui/ui/notifications-browser/notifications-browser.component.d.ts.map +1 -0
  126. package/tinymce/arsedizioni-ars-utils-tinymce.d.ts.map +1 -0
  127. package/tinymce/full-screen-editor/full-screen-editor.component.d.ts.map +1 -0
  128. package/tinymce/public_api.d.ts.map +1 -0
  129. package/tinymce/tinymce.module.d.ts.map +1 -0
  130. package/tinymce/utils.d.ts.map +1 -0
  131. package/ui/arsedizioni-ars-utils-ui.d.ts.map +1 -0
  132. package/ui/public_api.d.ts.map +1 -0
  133. package/ui/ui/definitions.d.ts.map +1 -0
  134. package/ui/ui/dialogs/busy/busy-dialog.component.d.ts.map +1 -0
  135. package/ui/ui/dialogs/confirm/confirm-dialog.component.d.ts.map +1 -0
  136. package/ui/ui/dialogs/credentials/credentials-dialog.component.d.ts.map +1 -0
  137. package/ui/ui/dialogs/info/info-dialog.component.d.ts.map +1 -0
  138. package/ui/ui/dialogs/recover-password/recover-password-dialog.component.d.ts.map +1 -0
  139. package/ui/ui/dialogs/reset-password/reset-password-dialog.component.d.ts.map +1 -0
  140. package/ui/ui/dialogs/toast/toast.component.d.ts.map +1 -0
  141. package/ui/ui/paginatorIntl.d.ts.map +1 -0
  142. package/ui/ui/services/dialog.service.d.ts.map +1 -0
  143. package/ui/ui/services/ui.service.d.ts.map +1 -0
  144. package/ui/ui/ui.module.d.ts.map +1 -0
  145. package/ui.application/arsedizioni-ars-utils-ui.application.d.ts.map +1 -0
  146. package/ui.application/public_api.d.ts.map +1 -0
  147. package/ui.application/ui/components/button-selector/button-selector.component.d.ts.map +1 -0
  148. package/ui.application/ui/components/button-toggle/button-toggle.component.d.ts.map +1 -0
  149. package/ui.application/ui/components/calendar-empty-header/calendar-empy-header.component.d.ts.map +1 -0
  150. package/ui.application/ui/components/chips-selector/chips-selector.component.d.ts.map +1 -0
  151. package/ui.application/ui/components/file-input/file-input.component.d.ts.map +1 -0
  152. package/ui.application/ui/components/file-preview/file-preview.component.d.ts.map +1 -0
  153. package/ui.application/ui/components/filter-bar/filter-bar.component.d.ts.map +1 -0
  154. package/ui.application/ui/definitions.d.ts.map +1 -0
  155. package/ui.application/ui/dialogs/prompt/prompt-dialog.component.d.ts.map +1 -0
  156. package/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.d.ts.map +1 -0
  157. package/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.d.ts.map +1 -0
  158. package/ui.application/ui/dialogs/select/select-dialog.component.d.ts.map +1 -0
  159. package/ui.application/ui/dialogs/select-file/select-file-dialog.component.d.ts.map +1 -0
  160. package/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.d.ts.map +1 -0
  161. package/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.d.ts.map +1 -0
  162. package/ui.application/ui/dialogs/send-to/send-to-dialog.component.d.ts.map +1 -0
  163. package/ui.application/ui/directives/resize-table-column.directive.d.ts.map +1 -0
  164. package/ui.application/ui/filters.d.ts.map +1 -0
  165. package/ui.application/ui/messages.d.ts.map +1 -0
  166. package/ui.application/ui/services/applicationDialog.service.d.ts.map +1 -0
  167. package/ui.application/ui/ui.module.d.ts.map +1 -0
  168. package/ui.oauth/arsedizioni-ars-utils-ui.oauth.d.ts.map +1 -0
  169. package/ui.oauth/public_api.d.ts.map +1 -0
  170. package/ui.oauth/ui/components/login/login-oauth.component.d.ts.map +1 -0
  171. package/ui.oauth/ui/definitions.d.ts.map +1 -0
  172. package/ui.oauth/ui/ui.module.d.ts.map +1 -0
@@ -62,7 +62,7 @@ export class SendToDialogComponent {
62
62
  this.populate.emit(this.item);
63
63
  }
64
64
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: SendToDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: SendToDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done", populate: "populate" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n}\r\n @if (!f.form.invalid) {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<div mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">INVIA</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-accent, #7894ae)!important}.primary{color:var(--ars-primary, #00a293)!important}.secondary{color:var(--ars-secondary, #4a635f)!important}.error{color:var(--ars-error, #ff5449)!important}.warning{color:var(--ars-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 0 0}.drawer .title-container,.drawer-small .title-container{padding:20px 10px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: EmailsValidatorDirective, selector: "[emails]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: SendToDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done", populate: "populate" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n}\r\n @if (!f.form.invalid) {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<div mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">INVIA</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-accent, #7894ae)!important}.primary{color:var(--ars-primary, #00a293)!important}.secondary{color:var(--ars-secondary, #4a635f)!important}.error{color:var(--ars-error, #ff5449)!important}.warning{color:var(--ars-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 0 0}.drawer .title-container,.drawer-small .title-container{padding:20px 10px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: EmailsValidatorDirective, selector: "[emails]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
66
  }
67
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: SendToDialogComponent, decorators: [{
68
68
  type: Component,
@@ -81,10 +81,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
81
81
  MatCheckboxModule,
82
82
  MatDialogActions,
83
83
  MatDialogClose,
84
- ], template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n}\r\n @if (!f.form.invalid) {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<div mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">INVIA</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-accent, #7894ae)!important}.primary{color:var(--ars-primary, #00a293)!important}.secondary{color:var(--ars-secondary, #4a635f)!important}.error{color:var(--ars-error, #ff5449)!important}.warning{color:var(--ars-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 0 0}.drawer .title-container,.drawer-small .title-container{padding:20px 10px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"] }]
84
+ ], template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n}\r\n @if (!f.form.invalid) {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<div mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">INVIA</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">ANNULLA</button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto}.scroll-hidden{overflow:hidden}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-accent, #7894ae)!important}.primary{color:var(--ars-primary, #00a293)!important}.secondary{color:var(--ars-secondary, #4a635f)!important}.error{color:var(--ars-error, #ff5449)!important}.warning{color:var(--ars-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer,.drawer-small{min-width:420px!important;max-width:420px!important;padding:20px 0 0}.drawer .title-container,.drawer-small .title-container{padding:20px 10px}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .content,.drawer-small .content{padding:10px 0!important}.drawer .fixed,.drawer-small .fixed{padding:0 4px!important}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:15px;padding-right:20px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-bottom:20px!important}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.drawer-small{min-width:360px!important;max-width:360px!important}.drawer-small .title{min-width:150px}.drawer-small .content{padding:20px 0 10px}@media screen and (min-width: 0px) and (max-width: 359px){.drawer{min-width:360px!important;max-width:360px!important}.drawer .title{min-width:150px}}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"] }]
85
85
  }], propDecorators: { done: [{
86
86
  type: Output
87
87
  }], populate: [{
88
88
  type: Output
89
89
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC10by1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2RpYWxvZ3Mvc2VuZC10by9zZW5kLXRvLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZW5kLXRvL3NlbmQtdG8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEYsT0FBTyxFQUFF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YXIvY2RrL3RleHQtZmllbGRcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dUaXRsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBFbWFpbHNWYWxpZGF0b3JEaXJlY3RpdmUsIFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gXCJAbmdicmFja2V0L25neC1sYXlvdXQvZmxleFwiO1xyXG5pbXBvcnQgeyBTZW5kVG9EaWFsb2dSZXN1bHQgfSBmcm9tIFwiLi4vLi4vZGVmaW5pdGlvbnNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFRvRGlhbG9nRGF0YSB7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5mbz86IHN0cmluZ3wgbnVsbDtcclxuICBhcHBlYXJhbmNlPzogc3RyaW5nfCBudWxsO1xyXG4gIGFsbG93UG9wdWxhdGU/OiBib29sZWFufCBudWxsO1xyXG4gIG9wdGlvbnM/OiBhbnl8IG51bGw7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGhvc3Q6IHsgJ0JpbmQnOiBTeXN0ZW1VdGlscy5nZW5lcmF0ZVVVSUQoKSB9LFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREaWFsb2dUaXRsZSxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEZsZXhNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIFRleHRGaWVsZE1vZHVsZSxcclxuICAgIEVtYWlsc1ZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dBY3Rpb25zLFxyXG4gICAgTWF0RGlhbG9nQ2xvc2UsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbmRUb0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGRvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuICBAT3V0cHV0KCkgcG9wdWxhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIGRpYWxvZ0RhdGE6IFNlbmRUb0RpYWxvZ0RhdGEgPSBpbmplY3QoTUFUX0RJQUxPR19EQVRBKTtcclxuICBwcm90ZWN0ZWQgaXRlbTogU2VuZFRvRGlhbG9nUmVzdWx0ID0ge1xyXG4gICAgcmVjaXBpZW50czogbnVsbCxcclxuICAgIHN1YmplY3Q6IG51bGwsXHJcbiAgICB0ZXh0OiBudWxsLFxyXG4gICAgb3B0aW9uczogbnVsbFxyXG4gIH07XHJcblxyXG4gbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgdGhpcy5kaWFsb2dEYXRhID0gdGhpcy5kaWFsb2dEYXRhIHx8IHsgY291bnQ6IDAsIGFwcGVhcmFuY2U6ICdmaWxsJyB9O1xyXG4gIGlmICghdGhpcy5kaWFsb2dEYXRhLmFwcGVhcmFuY2UpIHtcclxuICAgIHRoaXMuZGlhbG9nRGF0YS5hcHBlYXJhbmNlID0gJ2ZpbGwnO1xyXG4gIH1cclxuICBpZiAoIXRoaXMuZGlhbG9nRGF0YS5jb3VudCkge1xyXG4gICAgdGhpcy5kaWFsb2dEYXRhLmNvdW50ID0gMDtcclxuICB9XHJcbiAgaWYgKCF0aGlzLmRpYWxvZ0RhdGEudGl0bGUgJiYgdGhpcy5kaWFsb2dEYXRhLmNvdW50KSB7XHJcbiAgICB0aGlzLmRpYWxvZ0RhdGEudGl0bGUgPVxyXG4gICAgICB0aGlzLmRpYWxvZ0RhdGEuY291bnQgPT09IDFcclxuICAgICAgICA/IFwiSW52aWEgZG9jdW1lbnRvIGEuLi5cIlxyXG4gICAgICAgIDogXCJJbnZpYSBcIiArIHRoaXMuZGlhbG9nRGF0YS5jb3VudCArIFwiIGRvY3VtZW50aSBhLi4uXCI7XHJcbiAgfVxyXG4gfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb2soKSB7XHJcbiAgICAvLyBBZGQgc2VsZWN0ZWQgb3B0aW9uc1xyXG4gICAgdGhpcy5pdGVtLm9wdGlvbnMgPSB0aGlzLmRpYWxvZ0RhdGEub3B0aW9ucztcclxuICAgIHRoaXMuZG9uZS5lbWl0KHRoaXMuaXRlbSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3B1bGF0ZSByZWNpcGllbnRzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHBvcHVsYXRlUmVjaXBpZW50cygpIHtcclxuICAgIHRoaXMucG9wdWxhdGUuZW1pdCh0aGlzLml0ZW0pO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctaW5mb1wiPlxyXG4gIEBpZiAoZi5mb3JtLmludmFsaWQpIHtcclxuPHNwYW4gY2xhc3M9XCJkaWFsb2ctaW5mby1lcnJvclwiPkNpIHNvbm8gYW5jb3JhIGRlaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgbm9uIGNvbXBpbGF0aS48L3NwYW4+XHJcbn1cclxuICBAaWYgKCFmLmZvcm0uaW52YWxpZCkge1xyXG48c3BhbiBjbGFzcz1cImRpYWxvZy1pbmZvLW9rXCI+VHV0dGkgaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgc29ubyBjb21waWxhdGkuPC9zcGFuPlxyXG59XHJcbjwvZGl2PlxyXG48aDIgbWF0LWRpYWxvZy10aXRsZT57e2RpYWxvZ0RhdGEudGl0bGV9fTwvaDI+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxwPnt7ZGlhbG9nRGF0YS5pbmZvfX08L3A+XHJcbiAgPGZvcm0gbmFtZT1cImZvcm1cIiAjZj1cIm5nRm9ybVwiIG5vdmFsaWRhdGU+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIzMnB4XCIgZnhGaWxsPlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cIipcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgIFthcHBlYXJhbmNlXT1cImRpYWxvZ0RhdGEuYXBwZWFyYW5jZVwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbCA+RGVzdGluYXRhcmk8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0ucmVjaXBpZW50c1wiIG5hbWU9XCJyZWNpcGllbnRzXCIgbWF4bGVuZ3RoPVwiMTAyNFwiICNyZWNpcGllbnRzPVwibmdNb2RlbFwiIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiIGNka0F1dG9zaXplTWF4Um93cz1cIjEwXCIgZW1haWxzIHJlcXVpcmVkPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICBAaWYgKGl0ZW0ucmVjaXBpZW50cykge1xyXG48YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIi0xXCIgbWF0LWljb24tYnV0dG9uICBtYXRTdWZmaXhcclxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkF6emVyYVwiIChjbGljayk9XCJpdGVtLnJlY2lwaWVudHMgPSBudWxsO1wiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbn1cclxuICAgICAgICAgIEBpZiAoZGlhbG9nRGF0YS5hbGxvd1BvcHVsYXRlKSB7XHJcbjxidXR0b24gdHlwZT1cImJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIi0xXCIgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICBtYXRTdWZmaXggYXJpYS1sYWJlbD1cIlBvcG9sYVwiIChjbGljayk9XCJwb3B1bGF0ZVJlY2lwaWVudHMoKVwiIG1hdFRvb2x0aXA9XCJQb3BvbGFcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxufVxyXG4gICAgICAgICAgPG1hdC1oaW50IGFsaWduPVwic3RhcnRcIj5TZXBhcmF0aSBkYSBwdW50byBlIHZpcmdvbGE8L21hdC1oaW50PlxyXG4gICAgICAgICAgPG1hdC1oaW50IGFsaWduPVwiZW5kXCI+e3tyZWNpcGllbnRzLnZhbHVlPy5sZW5ndGggfHwgMH19LzEwMjQgPC9tYXQtaGludD5cclxuICAgICAgICAgIEBpZiAocmVjaXBpZW50cy5pbnZhbGlkKSB7XHJcbjxtYXQtZXJyb3I+Tm9uIHZhbGlkby48L21hdC1lcnJvcj5cclxufVxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkICBbYXBwZWFyYW5jZV09XCJkaWFsb2dEYXRhLmFwcGVhcmFuY2VcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWwgPk9nZ2V0dG88L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICBuYW1lPVwic3ViamVjdFwiIFsobmdNb2RlbCldPVwiaXRlbS5zdWJqZWN0XCIgI3N1YmplY3Q9XCJuZ01vZGVsXCIgbWF4bGVuZ3RoPVwiMjAwXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgIEBpZiAoc3ViamVjdC5pbnZhbGlkKSB7XHJcbjxtYXQtZXJyb3I+T2JibGlnYXRvcmlvLjwvbWF0LWVycm9yPlxyXG59XHJcbiAgICAgICAgICA8bWF0LWhpbnQgYWxpZ249XCJlbmRcIj57e3N1YmplY3QudmFsdWU/Lmxlbmd0aCB8fCAwfX0vMjAwIDwvbWF0LWhpbnQ+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiZGlhbG9nRGF0YS5hcHBlYXJhbmNlXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsID5UZXN0bzwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0udGV4dFwiIG5hbWU9XCJ0ZXh0XCIgbWF4bGVuZ3RoPVwiMTAwMFwiICN0ZXh0PVwibmdNb2RlbFwiIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiIGNka0F1dG9zaXplTWF4Um93cz1cIjEwXCIgcmVxdWlyZWQ+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIDxtYXQtaGludCBhbGlnbj1cImVuZFwiPnt7dGV4dC52YWx1ZT8ubGVuZ3RoIHx8IDB9fS8xMDI0IDwvbWF0LWhpbnQ+XHJcbiAgICAgICAgICBAaWYgKHN1YmplY3QuaW52YWxpZCkge1xyXG48bWF0LWVycm9yPk9iYmxpZ2F0b3Jpby48L21hdC1lcnJvcj5cclxufVxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBAaWYgKGRpYWxvZ0RhdGEub3B0aW9ucykge1xyXG48ZGl2PlxyXG4gICAgICAgIEBmb3IgKG8gb2YgZGlhbG9nRGF0YS5vcHRpb25zOyB0cmFjayAkaW5kZXg7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgPGRpdj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJvLnZhbHVlXCIgbmFtZT1cIm9wdF97e2l9fVwiPlxyXG4gICAgICAgICAgICB7e28uZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbn1cclxuICAgICAgPC9kaXY+XHJcbn1cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeEZpbGwgPlxyXG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZi5mb3JtLmludmFsaWRcIiAoY2xpY2spPVwib2soKVwiPklOVklBPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgY29sb3I9XCJwcmltYXJ5XCI+QU5OVUxMQTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC10by1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2RpYWxvZ3Mvc2VuZC10by9zZW5kLXRvLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZW5kLXRvL3NlbmQtdG8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7OztBQW1DeEQsTUFBTSxPQUFPLHFCQUFxQjtJQXZCbEM7UUF3QlksU0FBSSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUVsRCxlQUFVLEdBQXFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxTQUFJLEdBQXVCO1lBQ25DLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7S0FpQ0g7SUEvQkEsUUFBUTtRQUNQLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxzQkFBc0I7b0JBQ3hCLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUM7UUFDN0QsQ0FBQztJQUNGLENBQUM7SUFFQTs7T0FFRztJQUNPLEVBQUU7UUFDVix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNPLGtCQUFrQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0ExQ1UscUJBQXFCO2tHQUFyQixxQkFBcUIsK0hBdEJoQixXQUFXLENBQUMsWUFBWSxFQUFFLDhCQ3hCNUMsNjZHQStFQSxpbEhEakRJLGNBQWMsK0hBQ2QsZ0JBQWdCLHdHQUNoQixXQUFXLHU2Q0FDWCxVQUFVLHU2RUFDVixrQkFBa0IsZ21CQUNsQixjQUFjLHlrQkFDZCxlQUFlLCtCQUNmLHdCQUF3QixvREFDeEIsZUFBZSx3VUFDZixhQUFhLG1MQUNiLGdCQUFnQiw0VEFDaEIsaUJBQWlCLDhXQUNqQixnQkFBZ0IsNEhBQ2hCLGNBQWM7OzJGQUdMLHFCQUFxQjtrQkF2QmpDLFNBQVM7MkJBQ0YsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLGNBR2hDLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGNBQWM7cUJBQ2Y7OEJBR1MsSUFBSTtzQkFBYixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3RleHQtZmllbGRcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dUaXRsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBFbWFpbHNWYWxpZGF0b3JEaXJlY3RpdmUsIFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gXCJAbmdicmFja2V0L25neC1sYXlvdXQvZmxleFwiO1xyXG5pbXBvcnQgeyBTZW5kVG9EaWFsb2dSZXN1bHQgfSBmcm9tIFwiLi4vLi4vZGVmaW5pdGlvbnNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFRvRGlhbG9nRGF0YSB7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5mbz86IHN0cmluZ3wgbnVsbDtcclxuICBhcHBlYXJhbmNlPzogc3RyaW5nfCBudWxsO1xyXG4gIGFsbG93UG9wdWxhdGU/OiBib29sZWFufCBudWxsO1xyXG4gIG9wdGlvbnM/OiBhbnl8IG51bGw7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGhvc3Q6IHsgJ0JpbmQnOiBTeXN0ZW1VdGlscy5nZW5lcmF0ZVVVSUQoKSB9LFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREaWFsb2dUaXRsZSxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEZsZXhNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIFRleHRGaWVsZE1vZHVsZSxcclxuICAgIEVtYWlsc1ZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dBY3Rpb25zLFxyXG4gICAgTWF0RGlhbG9nQ2xvc2UsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbmRUb0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGRvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuICBAT3V0cHV0KCkgcG9wdWxhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIGRpYWxvZ0RhdGE6IFNlbmRUb0RpYWxvZ0RhdGEgPSBpbmplY3QoTUFUX0RJQUxPR19EQVRBKTtcclxuICBwcm90ZWN0ZWQgaXRlbTogU2VuZFRvRGlhbG9nUmVzdWx0ID0ge1xyXG4gICAgcmVjaXBpZW50czogbnVsbCxcclxuICAgIHN1YmplY3Q6IG51bGwsXHJcbiAgICB0ZXh0OiBudWxsLFxyXG4gICAgb3B0aW9uczogbnVsbFxyXG4gIH07XHJcblxyXG4gbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgdGhpcy5kaWFsb2dEYXRhID0gdGhpcy5kaWFsb2dEYXRhIHx8IHsgY291bnQ6IDAsIGFwcGVhcmFuY2U6ICdmaWxsJyB9O1xyXG4gIGlmICghdGhpcy5kaWFsb2dEYXRhLmFwcGVhcmFuY2UpIHtcclxuICAgIHRoaXMuZGlhbG9nRGF0YS5hcHBlYXJhbmNlID0gJ2ZpbGwnO1xyXG4gIH1cclxuICBpZiAoIXRoaXMuZGlhbG9nRGF0YS5jb3VudCkge1xyXG4gICAgdGhpcy5kaWFsb2dEYXRhLmNvdW50ID0gMDtcclxuICB9XHJcbiAgaWYgKCF0aGlzLmRpYWxvZ0RhdGEudGl0bGUgJiYgdGhpcy5kaWFsb2dEYXRhLmNvdW50KSB7XHJcbiAgICB0aGlzLmRpYWxvZ0RhdGEudGl0bGUgPVxyXG4gICAgICB0aGlzLmRpYWxvZ0RhdGEuY291bnQgPT09IDFcclxuICAgICAgICA/IFwiSW52aWEgZG9jdW1lbnRvIGEuLi5cIlxyXG4gICAgICAgIDogXCJJbnZpYSBcIiArIHRoaXMuZGlhbG9nRGF0YS5jb3VudCArIFwiIGRvY3VtZW50aSBhLi4uXCI7XHJcbiAgfVxyXG4gfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb2soKSB7XHJcbiAgICAvLyBBZGQgc2VsZWN0ZWQgb3B0aW9uc1xyXG4gICAgdGhpcy5pdGVtLm9wdGlvbnMgPSB0aGlzLmRpYWxvZ0RhdGEub3B0aW9ucztcclxuICAgIHRoaXMuZG9uZS5lbWl0KHRoaXMuaXRlbSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3B1bGF0ZSByZWNpcGllbnRzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHBvcHVsYXRlUmVjaXBpZW50cygpIHtcclxuICAgIHRoaXMucG9wdWxhdGUuZW1pdCh0aGlzLml0ZW0pO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctaW5mb1wiPlxyXG4gIEBpZiAoZi5mb3JtLmludmFsaWQpIHtcclxuPHNwYW4gY2xhc3M9XCJkaWFsb2ctaW5mby1lcnJvclwiPkNpIHNvbm8gYW5jb3JhIGRlaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgbm9uIGNvbXBpbGF0aS48L3NwYW4+XHJcbn1cclxuICBAaWYgKCFmLmZvcm0uaW52YWxpZCkge1xyXG48c3BhbiBjbGFzcz1cImRpYWxvZy1pbmZvLW9rXCI+VHV0dGkgaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgc29ubyBjb21waWxhdGkuPC9zcGFuPlxyXG59XHJcbjwvZGl2PlxyXG48aDIgbWF0LWRpYWxvZy10aXRsZT57e2RpYWxvZ0RhdGEudGl0bGV9fTwvaDI+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxwPnt7ZGlhbG9nRGF0YS5pbmZvfX08L3A+XHJcbiAgPGZvcm0gbmFtZT1cImZvcm1cIiAjZj1cIm5nRm9ybVwiIG5vdmFsaWRhdGU+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIzMnB4XCIgZnhGaWxsPlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cIipcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgIFthcHBlYXJhbmNlXT1cImRpYWxvZ0RhdGEuYXBwZWFyYW5jZVwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbCA+RGVzdGluYXRhcmk8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0ucmVjaXBpZW50c1wiIG5hbWU9XCJyZWNpcGllbnRzXCIgbWF4bGVuZ3RoPVwiMTAyNFwiICNyZWNpcGllbnRzPVwibmdNb2RlbFwiIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiIGNka0F1dG9zaXplTWF4Um93cz1cIjEwXCIgZW1haWxzIHJlcXVpcmVkPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICBAaWYgKGl0ZW0ucmVjaXBpZW50cykge1xyXG48YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIi0xXCIgbWF0LWljb24tYnV0dG9uICBtYXRTdWZmaXhcclxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkF6emVyYVwiIChjbGljayk9XCJpdGVtLnJlY2lwaWVudHMgPSBudWxsO1wiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbn1cclxuICAgICAgICAgIEBpZiAoZGlhbG9nRGF0YS5hbGxvd1BvcHVsYXRlKSB7XHJcbjxidXR0b24gdHlwZT1cImJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIi0xXCIgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICBtYXRTdWZmaXggYXJpYS1sYWJlbD1cIlBvcG9sYVwiIChjbGljayk9XCJwb3B1bGF0ZVJlY2lwaWVudHMoKVwiIG1hdFRvb2x0aXA9XCJQb3BvbGFcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxufVxyXG4gICAgICAgICAgPG1hdC1oaW50IGFsaWduPVwic3RhcnRcIj5TZXBhcmF0aSBkYSBwdW50byBlIHZpcmdvbGE8L21hdC1oaW50PlxyXG4gICAgICAgICAgPG1hdC1oaW50IGFsaWduPVwiZW5kXCI+e3tyZWNpcGllbnRzLnZhbHVlPy5sZW5ndGggfHwgMH19LzEwMjQgPC9tYXQtaGludD5cclxuICAgICAgICAgIEBpZiAocmVjaXBpZW50cy5pbnZhbGlkKSB7XHJcbjxtYXQtZXJyb3I+Tm9uIHZhbGlkby48L21hdC1lcnJvcj5cclxufVxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkICBbYXBwZWFyYW5jZV09XCJkaWFsb2dEYXRhLmFwcGVhcmFuY2VcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWwgPk9nZ2V0dG88L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICBuYW1lPVwic3ViamVjdFwiIFsobmdNb2RlbCldPVwiaXRlbS5zdWJqZWN0XCIgI3N1YmplY3Q9XCJuZ01vZGVsXCIgbWF4bGVuZ3RoPVwiMjAwXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgIEBpZiAoc3ViamVjdC5pbnZhbGlkKSB7XHJcbjxtYXQtZXJyb3I+T2JibGlnYXRvcmlvLjwvbWF0LWVycm9yPlxyXG59XHJcbiAgICAgICAgICA8bWF0LWhpbnQgYWxpZ249XCJlbmRcIj57e3N1YmplY3QudmFsdWU/Lmxlbmd0aCB8fCAwfX0vMjAwIDwvbWF0LWhpbnQ+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiZGlhbG9nRGF0YS5hcHBlYXJhbmNlXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsID5UZXN0bzwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0udGV4dFwiIG5hbWU9XCJ0ZXh0XCIgbWF4bGVuZ3RoPVwiMTAwMFwiICN0ZXh0PVwibmdNb2RlbFwiIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiIGNka0F1dG9zaXplTWF4Um93cz1cIjEwXCIgcmVxdWlyZWQ+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIDxtYXQtaGludCBhbGlnbj1cImVuZFwiPnt7dGV4dC52YWx1ZT8ubGVuZ3RoIHx8IDB9fS8xMDI0IDwvbWF0LWhpbnQ+XHJcbiAgICAgICAgICBAaWYgKHN1YmplY3QuaW52YWxpZCkge1xyXG48bWF0LWVycm9yPk9iYmxpZ2F0b3Jpby48L21hdC1lcnJvcj5cclxufVxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBAaWYgKGRpYWxvZ0RhdGEub3B0aW9ucykge1xyXG48ZGl2PlxyXG4gICAgICAgIEBmb3IgKG8gb2YgZGlhbG9nRGF0YS5vcHRpb25zOyB0cmFjayAkaW5kZXg7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgPGRpdj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJvLnZhbHVlXCIgbmFtZT1cIm9wdF97e2l9fVwiPlxyXG4gICAgICAgICAgICB7e28uZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbn1cclxuICAgICAgPC9kaXY+XHJcbn1cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeEZpbGwgPlxyXG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZi5mb3JtLmludmFsaWRcIiAoY2xpY2spPVwib2soKVwiPklOVklBPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgY29sb3I9XCJwcmltYXJ5XCI+QU5OVUxMQTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1402,6 +1402,17 @@ class ClipperSearchParams {
1402
1402
  };
1403
1403
  }
1404
1404
  }
1405
+ var ClipperDocumentContainer;
1406
+ (function (ClipperDocumentContainer) {
1407
+ ClipperDocumentContainer[ClipperDocumentContainer["None"] = 0] = "None";
1408
+ ClipperDocumentContainer[ClipperDocumentContainer["LavoroEAmbiente"] = 1] = "LavoroEAmbiente";
1409
+ ClipperDocumentContainer[ClipperDocumentContainer["SostanzeAlimentari"] = 2] = "SostanzeAlimentari";
1410
+ ClipperDocumentContainer[ClipperDocumentContainer["OrangeProject"] = 4] = "OrangeProject";
1411
+ ClipperDocumentContainer[ClipperDocumentContainer["Energia"] = 8] = "Energia";
1412
+ ClipperDocumentContainer[ClipperDocumentContainer["DGInfo"] = 16] = "DGInfo";
1413
+ ClipperDocumentContainer[ClipperDocumentContainer["DLGS231"] = 32] = "DLGS231";
1414
+ ClipperDocumentContainer[ClipperDocumentContainer["All"] = 63] = "All";
1415
+ })(ClipperDocumentContainer || (ClipperDocumentContainer = {}));
1405
1416
  const ClipperDocumentChangeReason = [
1406
1417
  { name: 'Abrogazione', value: 1 },
1407
1418
  { name: 'Annullamento', value: 5 },
@@ -1487,6 +1498,11 @@ var ClipperFacet;
1487
1498
  ClipperFacet[ClipperFacet["Author"] = 6] = "Author";
1488
1499
  ClipperFacet[ClipperFacet["Reason"] = 95] = "Reason";
1489
1500
  })(ClipperFacet || (ClipperFacet = {}));
1501
+ var ClipperExportDocumentsFormat;
1502
+ (function (ClipperExportDocumentsFormat) {
1503
+ ClipperExportDocumentsFormat[ClipperExportDocumentsFormat["Deafault"] = 1] = "Deafault";
1504
+ ClipperExportDocumentsFormat[ClipperExportDocumentsFormat["iCalendar"] = 2] = "iCalendar";
1505
+ })(ClipperExportDocumentsFormat || (ClipperExportDocumentsFormat = {}));
1490
1506
  class ClipperUtils {
1491
1507
  /**
1492
1508
  * Return the Clipper group name
@@ -1815,7 +1831,7 @@ class ClipperService {
1815
1831
  this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message) => {
1816
1832
  if (message.id === ClipperMessages.LOGIN_CHANGED) {
1817
1833
  setTimeout(() => {
1818
- this.login(message.data.email, message.data.password, message.data.oauth, message.data.oauthAccessToken).subscribe((r) => {
1834
+ this.login(message.data.email, message.data.password, message.data.oauth, message.data.oauthAccessToken).subscribe(r => {
1819
1835
  if (!r.success)
1820
1836
  this.dialogService.error(r.message, null, "Errore di Clipper");
1821
1837
  else {
@@ -1830,7 +1846,7 @@ class ClipperService {
1830
1846
  message.id === ClipperMessages.LOGIN_DISCONNECTED) {
1831
1847
  if (this.loggedIn) {
1832
1848
  this.logout().subscribe({
1833
- next: (r) => {
1849
+ next: r => {
1834
1850
  if (!r.success)
1835
1851
  this.dialogService.error("<p>" + r.message + "</p><br><br><hr><p class='small'><i>Per eliminare la configurazione di Clipper accedere a:<br><b>menu > personalizza > collegamenti</b></i></p>", null, "Errore di Clipper");
1836
1852
  else {
@@ -1974,7 +1990,7 @@ class ClipperService {
1974
1990
  * Perform logout
1975
1991
  */
1976
1992
  logout() {
1977
- return this.httpClient.post(this._serviceUri + '/logout', {}).pipe(map((r) => { return r; }), catchError((_e) => {
1993
+ return this.httpClient.post(this._serviceUri + '/logout', {}).pipe(map(r => { return r; }), catchError((_e) => {
1978
1994
  this.clear();
1979
1995
  return of([]);
1980
1996
  }));
@@ -2130,44 +2146,11 @@ class ClipperService {
2130
2146
  jurisArticles(params) {
2131
2147
  return this.httpClient.post(this._serviceUri + '/documents/juris/articles', params);
2132
2148
  }
2133
- /**
2134
- * Convert folders in a tree of Node object.
2135
- * @param folders : the subfolders group or null to root
2136
- */
2137
- toNodes(folders) {
2138
- return this._toNodes(folders, null);
2139
- }
2140
- /**
2141
- * Convert folders in a tree of Node object.
2142
- * @param folders : the subfolders group or null to root
2143
- */
2144
- _toNodes(folders, parent) {
2145
- let nodes = [];
2146
- folders.forEach((n) => {
2147
- let node = {
2148
- id: n.id,
2149
- name: n.name,
2150
- count: n.itemsCount,
2151
- parent: parent,
2152
- children: null,
2153
- bag: n,
2154
- };
2155
- node.children =
2156
- n.subFolders && n.subFolders.length > 0
2157
- ? this._toNodes(n.subFolders, node)
2158
- : [];
2159
- nodes.push(node);
2160
- });
2161
- return nodes;
2162
- }
2163
2149
  /**
2164
2150
  * Retrieve the taxonomy
2165
2151
  */
2166
2152
  getTaxonomy(params = null) {
2167
- if (params == null) {
2168
- params = { documentModel: 0, countItems: false };
2169
- }
2170
- return this.httpClient.post(this._serviceUri + '/taxonomy', params);
2153
+ return this.httpClient.post(this._serviceUri + '/taxonomy', params ?? { model: 0, countItems: false });
2171
2154
  }
2172
2155
  /**
2173
2156
  * Retrieve topics
@@ -2181,13 +2164,13 @@ class ClipperService {
2181
2164
  loadBag() {
2182
2165
  this.httpClient
2183
2166
  .get(this._serviceUri + '/documents/working')
2184
- .subscribe((r) => {
2167
+ .subscribe(r => {
2185
2168
  if (!r.success)
2186
2169
  this.dialogService.error(r.message);
2187
2170
  else {
2188
2171
  if (r.value) {
2189
2172
  this._bag = [];
2190
- r.value.forEach((n) => {
2173
+ r.value.forEach(n => {
2191
2174
  this._bag.push(JSON.parse(n.documentDescriptor));
2192
2175
  });
2193
2176
  }
@@ -2201,17 +2184,18 @@ class ClipperService {
2201
2184
  addToBag(ids) {
2202
2185
  return this.httpClient
2203
2186
  .post(this._serviceUri + '/documents/working/add', { documentIds: ids })
2204
- .pipe(map((r) => {
2187
+ .pipe(map(r => {
2205
2188
  if (!r.success)
2206
2189
  this.dialogService.error(r.message);
2207
2190
  else {
2208
2191
  if (r.value) {
2209
- r.value.forEach((n) => {
2192
+ r.value.forEach(n => {
2210
2193
  this._bag.push(JSON.parse(n.documentDescriptor));
2211
2194
  });
2212
2195
  return r;
2213
2196
  }
2214
2197
  }
2198
+ return null;
2215
2199
  }));
2216
2200
  }
2217
2201
  /**
@@ -2221,7 +2205,7 @@ class ClipperService {
2221
2205
  removeFromBag(id) {
2222
2206
  return this.httpClient
2223
2207
  .post(this._serviceUri + '/documents/working/delete', { documentIds: [id] })
2224
- .pipe(map((r) => {
2208
+ .pipe(map(r => {
2225
2209
  if (!r.success)
2226
2210
  this.dialogService.error(r.message);
2227
2211
  else {
@@ -2231,6 +2215,7 @@ class ClipperService {
2231
2215
  return r;
2232
2216
  }
2233
2217
  }
2218
+ return null;
2234
2219
  }));
2235
2220
  }
2236
2221
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ClipperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -2340,5 +2325,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
2340
2325
  * Generated bundle index. Do not edit.
2341
2326
  */
2342
2327
 
2343
- export { ArsClipperCommonModule, ClipperAuthors, ClipperChannels, ClipperConfig, ClipperDocumentChangeReason, ClipperFacet, ClipperMessages, ClipperModel, ClipperModels, ClipperModule, ClipperModuleGroup, ClipperModuleGroups, ClipperModules, ClipperQueryReferencesMode, ClipperRegions, ClipperSearchCalendarSnapshotResult, ClipperSearchFacetsSnapshot, ClipperSearchParams, ClipperSearchResult, ClipperSearchUtils, ClipperSectorTypes, ClipperSectors, ClipperSelectionMode, ClipperService, ClipperSort, ClipperSources, ClipperUtils };
2328
+ export { ArsClipperCommonModule, ClipperAuthors, ClipperChannels, ClipperConfig, ClipperDocumentChangeReason, ClipperDocumentContainer, ClipperExportDocumentsFormat, ClipperFacet, ClipperMessages, ClipperModel, ClipperModels, ClipperModule, ClipperModuleGroup, ClipperModuleGroups, ClipperModules, ClipperQueryReferencesMode, ClipperRegions, ClipperSearchCalendarSnapshotResult, ClipperSearchFacetsSnapshot, ClipperSearchParams, ClipperSearchResult, ClipperSearchUtils, ClipperSectorTypes, ClipperSectors, ClipperSelectionMode, ClipperService, ClipperSort, ClipperSources, ClipperUtils };
2344
2329
  //# sourceMappingURL=arsedizioni-ars-utils-clipper.common.mjs.map