@igo2/common 1.13.0-alpha.1 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/assets/images/na.png +0 -0
  2. package/esm2020/lib/action/action.module.mjs +1 -1
  3. package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +2 -2
  4. package/esm2020/lib/action/actionbar/actionbar.component.mjs +2 -2
  5. package/esm2020/lib/action/actionbar/actionbar.module.mjs +1 -1
  6. package/esm2020/lib/action/index.mjs +1 -1
  7. package/esm2020/lib/action/shared/action.enums.mjs +1 -1
  8. package/esm2020/lib/action/shared/action.interfaces.mjs +1 -1
  9. package/esm2020/lib/action/shared/index.mjs +1 -1
  10. package/esm2020/lib/action/shared/store.mjs +1 -1
  11. package/esm2020/lib/backdrop/backdrop.component.mjs +2 -2
  12. package/esm2020/lib/backdrop/backdrop.module.mjs +1 -1
  13. package/esm2020/lib/backdrop/index.mjs +1 -1
  14. package/esm2020/lib/badge-icon/badge-icon.directive.mjs +1 -1
  15. package/esm2020/lib/badge-icon/badge-icon.module.mjs +1 -1
  16. package/esm2020/lib/badge-icon/index.mjs +1 -1
  17. package/esm2020/lib/clickout/clickout.directive.mjs +1 -1
  18. package/esm2020/lib/clickout/clickout.module.mjs +1 -1
  19. package/esm2020/lib/clickout/index.mjs +1 -1
  20. package/esm2020/lib/clone/clone.module.mjs +1 -1
  21. package/esm2020/lib/clone/clone.pipe.mjs +1 -1
  22. package/esm2020/lib/clone/index.mjs +1 -1
  23. package/esm2020/lib/collapsible/collapse.directive.mjs +1 -1
  24. package/esm2020/lib/collapsible/collapsible.component.mjs +2 -2
  25. package/esm2020/lib/collapsible/collapsible.module.mjs +1 -1
  26. package/esm2020/lib/collapsible/index.mjs +1 -1
  27. package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +2 -2
  28. package/esm2020/lib/confirm-dialog/confirm-dialog.module.mjs +1 -1
  29. package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +1 -1
  30. package/esm2020/lib/confirm-dialog/index.mjs +1 -1
  31. package/esm2020/lib/context-menu/context-menu.directive.mjs +18 -3
  32. package/esm2020/lib/context-menu/context-menu.module.mjs +5 -4
  33. package/esm2020/lib/context-menu/index.mjs +2 -1
  34. package/esm2020/lib/context-menu/long-press.directive.mjs +43 -0
  35. package/esm2020/lib/custom-html/custom-html.component.mjs +2 -2
  36. package/esm2020/lib/custom-html/custom-html.module.mjs +1 -1
  37. package/esm2020/lib/custom-html/custom-html.pipe.mjs +1 -1
  38. package/esm2020/lib/custom-html/index.mjs +1 -1
  39. package/esm2020/lib/dom/dom.interfaces.mjs +1 -1
  40. package/esm2020/lib/dom/dom.module.mjs +1 -1
  41. package/esm2020/lib/dom/dom.service.mjs +1 -1
  42. package/esm2020/lib/dom/index.mjs +1 -1
  43. package/esm2020/lib/drag-drop/drag-drop.module.mjs +1 -1
  44. package/esm2020/lib/drag-drop/index.mjs +1 -1
  45. package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +1 -1
  46. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +2 -2
  47. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +1 -1
  48. package/esm2020/lib/dynamic-component/index.mjs +1 -1
  49. package/esm2020/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +1 -1
  50. package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +1 -1
  51. package/esm2020/lib/dynamic-component/shared/dynamic-component.service.mjs +1 -1
  52. package/esm2020/lib/dynamic-component/shared/index.mjs +1 -1
  53. package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +2 -2
  54. package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +1 -1
  55. package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +1 -1
  56. package/esm2020/lib/entity/entity-table/entity-table.component.mjs +102 -73
  57. package/esm2020/lib/entity/entity-table/entity-table.module.mjs +1 -1
  58. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +2 -2
  59. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +1 -1
  60. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +1 -1
  61. package/esm2020/lib/entity/entity.module.mjs +1 -1
  62. package/esm2020/lib/entity/index.mjs +1 -1
  63. package/esm2020/lib/entity/shared/entity.enums.mjs +1 -1
  64. package/esm2020/lib/entity/shared/entity.interfaces.mjs +1 -1
  65. package/esm2020/lib/entity/shared/entity.utils.mjs +1 -1
  66. package/esm2020/lib/entity/shared/index.mjs +1 -1
  67. package/esm2020/lib/entity/shared/state.mjs +1 -1
  68. package/esm2020/lib/entity/shared/store.mjs +1 -1
  69. package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +1 -1
  70. package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +1 -1
  71. package/esm2020/lib/entity/shared/strategies/index.mjs +1 -1
  72. package/esm2020/lib/entity/shared/strategies/strategy.mjs +1 -1
  73. package/esm2020/lib/entity/shared/transaction.mjs +1 -1
  74. package/esm2020/lib/entity/shared/view.mjs +1 -1
  75. package/esm2020/lib/entity/shared/watcher.mjs +1 -1
  76. package/esm2020/lib/flexible/flexible.component.mjs +2 -2
  77. package/esm2020/lib/flexible/flexible.module.mjs +1 -1
  78. package/esm2020/lib/flexible/flexible.type.mjs +1 -1
  79. package/esm2020/lib/flexible/index.mjs +1 -1
  80. package/esm2020/lib/form/form/form.component.mjs +2 -2
  81. package/esm2020/lib/form/form/form.module.mjs +1 -1
  82. package/esm2020/lib/form/form-field/form-field-select.component.mjs +2 -2
  83. package/esm2020/lib/form/form-field/form-field-text.component.mjs +2 -2
  84. package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +2 -2
  85. package/esm2020/lib/form/form-field/form-field.component.mjs +2 -2
  86. package/esm2020/lib/form/form-field/form-field.module.mjs +1 -1
  87. package/esm2020/lib/form/form-field/index.mjs +1 -1
  88. package/esm2020/lib/form/form-group/form-group.component.mjs +2 -2
  89. package/esm2020/lib/form/form-group/form-group.module.mjs +1 -1
  90. package/esm2020/lib/form/form.module.mjs +1 -1
  91. package/esm2020/lib/form/index.mjs +1 -1
  92. package/esm2020/lib/form/shared/form-field-component.mjs +1 -1
  93. package/esm2020/lib/form/shared/form-field.service.mjs +1 -1
  94. package/esm2020/lib/form/shared/form.interfaces.mjs +1 -1
  95. package/esm2020/lib/form/shared/form.service.mjs +3 -3
  96. package/esm2020/lib/form/shared/form.utils.mjs +1 -1
  97. package/esm2020/lib/form/shared/index.mjs +1 -1
  98. package/esm2020/lib/home-button/home-button.component.mjs +2 -2
  99. package/esm2020/lib/home-button/home-button.module.mjs +1 -1
  100. package/esm2020/lib/home-button/index.mjs +1 -1
  101. package/esm2020/lib/image/image-error.directive.mjs +35 -0
  102. package/esm2020/lib/image/image.module.mjs +5 -4
  103. package/esm2020/lib/image/index.mjs +2 -1
  104. package/esm2020/lib/image/secure-image.pipe.mjs +9 -4
  105. package/esm2020/lib/interactive-tour/index.mjs +1 -1
  106. package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +2 -2
  107. package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +1 -1
  108. package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +1 -1
  109. package/esm2020/lib/interactive-tour/interactive-tour.module.mjs +1 -1
  110. package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +1 -1
  111. package/esm2020/lib/json-dialog/index.mjs +1 -1
  112. package/esm2020/lib/json-dialog/json-dialog.component.mjs +2 -2
  113. package/esm2020/lib/json-dialog/json-dialog.module.mjs +1 -1
  114. package/esm2020/lib/json-dialog/json-dialog.service.mjs +1 -1
  115. package/esm2020/lib/keyvalue/index.mjs +1 -1
  116. package/esm2020/lib/keyvalue/keyvalue.module.mjs +1 -1
  117. package/esm2020/lib/keyvalue/keyvalue.pipe.mjs +1 -1
  118. package/esm2020/lib/list/index.mjs +1 -1
  119. package/esm2020/lib/list/list-item.directive.mjs +1 -1
  120. package/esm2020/lib/list/list.component.mjs +3 -3
  121. package/esm2020/lib/list/list.module.mjs +1 -1
  122. package/esm2020/lib/panel/index.mjs +1 -1
  123. package/esm2020/lib/panel/panel.component.mjs +2 -2
  124. package/esm2020/lib/panel/panel.module.mjs +1 -1
  125. package/esm2020/lib/sidenav/index.mjs +1 -1
  126. package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +1 -1
  127. package/esm2020/lib/sidenav/sidenav.module.mjs +1 -1
  128. package/esm2020/lib/spinner/index.mjs +1 -1
  129. package/esm2020/lib/spinner/spinner-activity.directive.mjs +1 -1
  130. package/esm2020/lib/spinner/spinner.component.mjs +2 -2
  131. package/esm2020/lib/spinner/spinner.module.mjs +1 -1
  132. package/esm2020/lib/stop-propagation/index.mjs +1 -1
  133. package/esm2020/lib/stop-propagation/stop-drop-propagation.directive.mjs +1 -1
  134. package/esm2020/lib/stop-propagation/stop-propagation.directive.mjs +1 -1
  135. package/esm2020/lib/stop-propagation/stop-propagation.module.mjs +1 -1
  136. package/esm2020/lib/table/index.mjs +1 -1
  137. package/esm2020/lib/table/table-action-color.enum.mjs +1 -1
  138. package/esm2020/lib/table/table-database.mjs +1 -1
  139. package/esm2020/lib/table/table-datasource.mjs +1 -1
  140. package/esm2020/lib/table/table-model.interface.mjs +1 -1
  141. package/esm2020/lib/table/table.component.mjs +2 -2
  142. package/esm2020/lib/table/table.module.mjs +1 -1
  143. package/esm2020/lib/tool/index.mjs +1 -1
  144. package/esm2020/lib/tool/shared/index.mjs +1 -1
  145. package/esm2020/lib/tool/shared/tool-component.mjs +1 -1
  146. package/esm2020/lib/tool/shared/tool.interface.mjs +1 -1
  147. package/esm2020/lib/tool/shared/tool.service.mjs +1 -1
  148. package/esm2020/lib/tool/shared/toolbox.enums.mjs +1 -1
  149. package/esm2020/lib/tool/shared/toolbox.mjs +1 -1
  150. package/esm2020/lib/tool/tool.module.mjs +1 -1
  151. package/esm2020/lib/tool/toolbox/toolbox.animation.mjs +1 -1
  152. package/esm2020/lib/tool/toolbox/toolbox.component.mjs +2 -2
  153. package/esm2020/lib/tool/toolbox/toolbox.module.mjs +1 -1
  154. package/esm2020/lib/widget/index.mjs +1 -1
  155. package/esm2020/lib/widget/shared/index.mjs +1 -1
  156. package/esm2020/lib/widget/shared/widget.interfaces.mjs +1 -1
  157. package/esm2020/lib/widget/shared/widget.mjs +1 -1
  158. package/esm2020/lib/widget/shared/widget.service.mjs +1 -1
  159. package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +2 -2
  160. package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +1 -1
  161. package/esm2020/lib/widget/widget.module.mjs +1 -1
  162. package/esm2020/lib/workspace/index.mjs +1 -1
  163. package/esm2020/lib/workspace/shared/index.mjs +1 -1
  164. package/esm2020/lib/workspace/shared/store.mjs +1 -1
  165. package/esm2020/lib/workspace/shared/workspace.interfaces.mjs +1 -1
  166. package/esm2020/lib/workspace/shared/workspace.mjs +1 -1
  167. package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +2 -2
  168. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  169. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +2 -2
  170. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +1 -1
  171. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  172. package/esm2020/public_api.mjs +1 -1
  173. package/fesm2015/igo2-common.mjs +243 -106
  174. package/fesm2015/igo2-common.mjs.map +1 -1
  175. package/fesm2020/igo2-common.mjs +228 -106
  176. package/fesm2020/igo2-common.mjs.map +1 -1
  177. package/lib/context-menu/context-menu.directive.d.ts +1 -1
  178. package/lib/context-menu/context-menu.module.d.ts +2 -1
  179. package/lib/context-menu/index.d.ts +1 -0
  180. package/lib/context-menu/long-press.directive.d.ts +12 -0
  181. package/lib/entity/entity-table/entity-table.component.d.ts +7 -6
  182. package/lib/entity/shared/entity.interfaces.d.ts +2 -0
  183. package/lib/form/form-field/form-field-select.component.d.ts +2 -2
  184. package/lib/form/form-field/form-field-text.component.d.ts +2 -2
  185. package/lib/form/form-field/form-field-textarea.component.d.ts +2 -2
  186. package/lib/form/form-group/form-group.component.d.ts +2 -2
  187. package/lib/form/shared/form.interfaces.d.ts +4 -4
  188. package/lib/form/shared/form.service.d.ts +2 -2
  189. package/lib/image/image-error.directive.d.ts +11 -0
  190. package/lib/image/image.module.d.ts +2 -1
  191. package/lib/image/index.d.ts +1 -0
  192. package/package.json +8 -8
  193. package/style/common.theming.scss +12 -12
  194. package/style/partial/action.scss +18 -18
  195. package/style/partial/common.variables.scss +8 -8
@@ -30,7 +30,7 @@ import * as i3$1 from '@angular/material/core';
30
30
  import * as i5 from '@angular/material/table';
31
31
  import { MatTableDataSource, MatTableModule } from '@angular/material/table';
32
32
  import * as i1$4 from '@angular/forms';
33
- import { FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
33
+ import { UntypedFormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
34
34
  import moment from 'moment';
35
35
  import * as i2$1 from '@angular/cdk/a11y';
36
36
  import * as i6 from '@angular/material/autocomplete';
@@ -41,7 +41,7 @@ import * as i2 from '@angular/material/paginator';
41
41
  import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
42
42
  import * as i5$1 from '@angular/material/input';
43
43
  import { MatInputModule } from '@angular/material/input';
44
- import * as i16 from '@angular/material/datepicker';
44
+ import * as i17 from '@angular/material/datepicker';
45
45
  import { MatDatepickerModule } from '@angular/material/datepicker';
46
46
  import scrollIntoView from 'scroll-into-view-if-needed';
47
47
  import * as i1$2 from '@angular/platform-browser';
@@ -1769,7 +1769,7 @@ EntitySelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ent
1769
1769
  } }, dependencies: [i1.NgForOf, i1.NgIf, i4.MatFormField, i3.MatSelect, i3$1.MatOption, i1.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
1770
1770
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntitySelectorComponent, [{
1771
1771
  type: Component,
1772
- args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field class=\"igo-entity-selector\">\r\n <mat-select\r\n [disabled]=\"disabled\"\r\n [value]=\"selected$ | async\"\r\n [multiple]=\"multi\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChange($event)\">\r\n <mat-option *ngIf=\"emptyText !== undefined && multi === false\" [value]=\"emptyValue\">{{emptyText}}</mat-option>\r\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{multiText$ | async}}</mat-option>\r\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\r\n <mat-option [value]=\"record.entity\">\r\n {{titleAccessor(record.entity)}}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: ["mat-form-field{width:100%}\n"] }]
1772
+ args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field class=\"igo-entity-selector\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\">\n <mat-option *ngIf=\"emptyText !== undefined && multi === false\" [value]=\"emptyValue\">{{emptyText}}</mat-option>\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{multiText$ | async}}</mat-option>\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\n <mat-option [value]=\"record.entity\">\n {{titleAccessor(record.entity)}}\n </mat-option>\n </ng-template>\n </mat-select>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"] }]
1773
1773
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { store: [{
1774
1774
  type: Input
1775
1775
  }], titleAccessor: [{
@@ -1919,7 +1919,7 @@ EntityTablePaginatorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
1919
1919
  } }, dependencies: [i2.MatPaginator], styles: ["[_nghost-%COMP%]{margin-top:-10px;padding-right:15px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%]{margin-top:0;padding-right:5px}}"], changeDetection: 0 });
1920
1920
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTablePaginatorComponent, [{
1921
1921
  type: Component,
1922
- args: [{ selector: 'igo-entity-table-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-paginator \r\n [disabled]=\"disabled\"\r\n [hidePageSize]=\"hidePageSize\"\r\n [length]=\"length\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n [showFirstLastButtons]=\"showFirstLastButtons\"\r\n (page)=\"emitPaginator()\">\r\n</mat-paginator>\r\n", styles: [":host{margin-top:-10px;padding-right:15px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host{margin-top:0;padding-right:5px}}\n"] }]
1922
+ args: [{ selector: 'igo-entity-table-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-paginator \n [disabled]=\"disabled\"\n [hidePageSize]=\"hidePageSize\"\n [length]=\"length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n (page)=\"emitPaginator()\">\n</mat-paginator>\n", styles: [":host{margin-top:-10px;padding-right:15px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host{margin-top:0;padding-right:5px}}\n"] }]
1923
1923
  }], function () { return [{ type: i1$1.LanguageService }, { type: i1$1.MediaService }]; }, { entitySortChange$: [{
1924
1924
  type: Input
1925
1925
  }], store: [{
@@ -1935,6 +1935,39 @@ EntityTablePaginatorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
1935
1935
  args: [MatPaginator, { static: true }]
1936
1936
  }] }); })();
1937
1937
 
1938
+ class ImageErrorDirective {
1939
+ constructor(el) {
1940
+ this.el = el;
1941
+ this.errorImageUrl = '/assets/igo2/common/images/na.png';
1942
+ this.hideError = false;
1943
+ }
1944
+ onError(event) {
1945
+ if (this.hideError) {
1946
+ this.el.nativeElement.style.display = "none";
1947
+ }
1948
+ else {
1949
+ event.target.src = this.errorImageUrl;
1950
+ }
1951
+ }
1952
+ }
1953
+ ImageErrorDirective.ɵfac = function ImageErrorDirective_Factory(t) { return new (t || ImageErrorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
1954
+ ImageErrorDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImageErrorDirective, selectors: [["", "igoImageError", ""]], hostBindings: function ImageErrorDirective_HostBindings(rf, ctx) { if (rf & 1) {
1955
+ i0.ɵɵlistener("error", function ImageErrorDirective_error_HostBindingHandler($event) { return ctx.onError($event); });
1956
+ } }, inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" } });
1957
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageErrorDirective, [{
1958
+ type: Directive,
1959
+ args: [{
1960
+ selector: '[igoImageError]'
1961
+ }]
1962
+ }], function () { return [{ type: i0.ElementRef }]; }, { errorImageUrl: [{
1963
+ type: Input
1964
+ }], hideError: [{
1965
+ type: Input
1966
+ }], onError: [{
1967
+ type: HostListener,
1968
+ args: ["error", ['$event']]
1969
+ }] }); })();
1970
+
1938
1971
  /**
1939
1972
  * Directive that handles an entity table row click and selection.
1940
1973
  */
@@ -2091,7 +2124,8 @@ class SecureImagePipe {
2091
2124
  transform(url) {
2092
2125
  const headers = new HttpHeaders({
2093
2126
  'Content-Type': 'text/plain',
2094
- activityInterceptor: 'false'
2127
+ activityInterceptor: 'false',
2128
+ interceptError: 'false'
2095
2129
  });
2096
2130
  const regexDepot = new RegExp(this.configService?.getConfig('depot.url') + '.*?(?="|$)');
2097
2131
  if (regexDepot.test(url)) {
@@ -2102,7 +2136,11 @@ class SecureImagePipe {
2102
2136
  headers,
2103
2137
  responseType: 'blob'
2104
2138
  })
2105
- .pipe(switchMap((blob) => {
2139
+ .pipe(catchError((err) => {
2140
+ err.error.caught = true;
2141
+ err.error.toDisplay = false;
2142
+ throw err;
2143
+ }), switchMap((blob) => {
2106
2144
  return new Observable((observer) => {
2107
2145
  const reader = new FileReader();
2108
2146
  reader.readAsDataURL(blob);
@@ -2435,6 +2473,7 @@ function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_co
2435
2473
  const ctx_r73 = i0.ɵɵnextContext();
2436
2474
  i0.ɵɵpropertyInterpolate("required", ctx_r73.getValidationAttributeValue(column_r16, "mandatory"));
2437
2475
  i0.ɵɵpropertyInterpolate("value", ctx_r73.getValue(record_r63, column_r16));
2476
+ i0.ɵɵpropertyInterpolate("readonly", ctx_r73.getValidationAttributeValue(column_r16, "readonly"));
2438
2477
  i0.ɵɵproperty("formControlName", column_r16.name)("matAutocomplete", _r74);
2439
2478
  } }
2440
2479
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_mat_option_10_Template(rf, ctx) { if (rf & 1) {
@@ -2456,9 +2495,9 @@ function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_co
2456
2495
  i0.ɵɵtemplate(4, EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_input_4_Template, 1, 4, "input", 36);
2457
2496
  i0.ɵɵtemplate(5, EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_mat_checkbox_5_Template, 1, 2, "mat-checkbox", 37);
2458
2497
  i0.ɵɵtemplate(6, EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_mat_select_6_Template, 2, 5, "mat-select", 38);
2459
- i0.ɵɵtemplate(7, EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_input_7_Template, 1, 4, "input", 39);
2498
+ i0.ɵɵtemplate(7, EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_input_7_Template, 1, 5, "input", 39);
2460
2499
  i0.ɵɵelementStart(8, "mat-autocomplete", 40, 41);
2461
- i0.ɵɵlistener("optionSelected", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_Template_mat_autocomplete_optionSelected_8_listener($event) { i0.ɵɵrestoreView(_r122); const record_r63 = i0.ɵɵnextContext().$implicit; const column_r16 = i0.ɵɵnextContext(3).$implicit; const ctx_r120 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r120.onAutocompleteValueChange(column_r16.name, record_r63, $event)); });
2500
+ i0.ɵɵlistener("optionSelected", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_Template_mat_autocomplete_optionSelected_8_listener($event) { i0.ɵɵrestoreView(_r122); const record_r63 = i0.ɵɵnextContext().$implicit; const column_r16 = i0.ɵɵnextContext(3).$implicit; const ctx_r120 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r120.onAutocompleteValueChange(column_r16, record_r63, $event)); });
2462
2501
  i0.ɵɵtemplate(10, EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_td_1_mat_option_10_Template, 2, 2, "mat-option", 42);
2463
2502
  i0.ɵɵpipe(11, "async");
2464
2503
  i0.ɵɵelementEnd()();
@@ -2482,7 +2521,7 @@ function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_co
2482
2521
  i0.ɵɵadvance(1);
2483
2522
  i0.ɵɵproperty("ngIf", column_r16.type === "autocomplete");
2484
2523
  i0.ɵɵadvance(3);
2485
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(11, 10, ctx_r64.filteredOptions));
2524
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(11, 10, ctx_r64.filteredOptions[column_r16.name]));
2486
2525
  } }
2487
2526
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_ng_template_2_td_0_Template(rf, ctx) { if (rf & 1) {
2488
2527
  i0.ɵɵelement(0, "td", 29);
@@ -2556,85 +2595,106 @@ function EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_Templ
2556
2595
  i0.ɵɵtemplate(1, EntityTableComponent_ng_container_5_ng_container_3_ng_container_3_ng_container_1_Template, 4, 2, "ng-container", 19);
2557
2596
  i0.ɵɵelementContainerEnd();
2558
2597
  } }
2598
+ function EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
2599
+ const _r147 = i0.ɵɵgetCurrentView();
2600
+ i0.ɵɵelementStart(0, "mat-icon", 60);
2601
+ i0.ɵɵlistener("click", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_mat_icon_1_Template_mat_icon_click_0_listener($event) { i0.ɵɵrestoreView(_r147); const column_r16 = i0.ɵɵnextContext(4).$implicit; return i0.ɵɵresetView(column_r16.onClick($event)); });
2602
+ i0.ɵɵelementEnd();
2603
+ } if (rf & 2) {
2604
+ const record_r142 = i0.ɵɵnextContext().$implicit;
2605
+ const column_r16 = i0.ɵɵnextContext(3).$implicit;
2606
+ const ctx_r143 = i0.ɵɵnextContext();
2607
+ i0.ɵɵpropertyInterpolate("svgIcon", ctx_r143.getValue(record_r142, column_r16) || column_r16.icon);
2608
+ } }
2609
+ function EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
2610
+ i0.ɵɵelement(0, "mat-icon", 61);
2611
+ } if (rf & 2) {
2612
+ const record_r142 = i0.ɵɵnextContext().$implicit;
2613
+ const column_r16 = i0.ɵɵnextContext(3).$implicit;
2614
+ const ctx_r144 = i0.ɵɵnextContext();
2615
+ i0.ɵɵpropertyInterpolate("svgIcon", ctx_r144.getValue(record_r142, column_r16) || column_r16.icon);
2616
+ } }
2559
2617
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_Template(rf, ctx) { if (rf & 1) {
2560
- const _r145 = i0.ɵɵgetCurrentView();
2561
- i0.ɵɵelementStart(0, "td", 22)(1, "mat-icon", 58);
2562
- i0.ɵɵlistener("click", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_Template_mat_icon_click_1_listener($event) { i0.ɵɵrestoreView(_r145); const column_r16 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(column_r16.onClick($event)); });
2563
- i0.ɵɵelementEnd()();
2618
+ i0.ɵɵelementStart(0, "td", 22);
2619
+ i0.ɵɵtemplate(1, EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_mat_icon_1_Template, 1, 1, "mat-icon", 58);
2620
+ i0.ɵɵtemplate(2, EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_mat_icon_2_Template, 1, 1, "mat-icon", 59);
2621
+ i0.ɵɵelementEnd();
2564
2622
  } if (rf & 2) {
2565
2623
  const record_r142 = ctx.$implicit;
2566
2624
  const column_r16 = i0.ɵɵnextContext(3).$implicit;
2567
2625
  const ctx_r141 = i0.ɵɵnextContext();
2568
2626
  i0.ɵɵproperty("ngClass", ctx_r141.getCellClass(record_r142, column_r16));
2569
2627
  i0.ɵɵadvance(1);
2570
- i0.ɵɵpropertyInterpolate("svgIcon", ctx_r141.getValue(record_r142, column_r16) || column_r16.icon);
2628
+ i0.ɵɵproperty("ngIf", column_r16.onClick);
2629
+ i0.ɵɵadvance(1);
2630
+ i0.ɵɵproperty("ngIf", !column_r16.onClick);
2571
2631
  } }
2572
2632
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_Template(rf, ctx) { if (rf & 1) {
2573
2633
  i0.ɵɵelementContainerStart(0);
2574
- i0.ɵɵtemplate(1, EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_Template, 2, 2, "td", 57);
2634
+ i0.ɵɵtemplate(1, EntityTableComponent_ng_container_5_ng_container_3_ng_container_4_td_1_Template, 3, 3, "td", 57);
2575
2635
  i0.ɵɵelementContainerEnd();
2576
2636
  } }
2577
2637
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_1_Template(rf, ctx) { if (rf & 1) {
2578
- const _r156 = i0.ɵɵgetCurrentView();
2579
- i0.ɵɵelementStart(0, "button", 62);
2580
- i0.ɵɵlistener("mousedown", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_1_Template_button_mousedown_0_listener() { i0.ɵɵrestoreView(_r156); const button_r150 = i0.ɵɵnextContext(2).$implicit; const record_r148 = i0.ɵɵnextContext().$implicit; const ctx_r154 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r154.onButtonClick(button_r150.click, record_r148)); });
2581
- i0.ɵɵelement(1, "mat-icon", 63);
2638
+ const _r162 = i0.ɵɵgetCurrentView();
2639
+ i0.ɵɵelementStart(0, "button", 65);
2640
+ i0.ɵɵlistener("mousedown", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_1_Template_button_mousedown_0_listener() { i0.ɵɵrestoreView(_r162); const button_r156 = i0.ɵɵnextContext(2).$implicit; const record_r154 = i0.ɵɵnextContext().$implicit; const ctx_r160 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r160.onButtonClick(button_r156.click, record_r154)); });
2641
+ i0.ɵɵelement(1, "mat-icon", 61);
2582
2642
  i0.ɵɵelementEnd();
2583
2643
  } if (rf & 2) {
2584
- const button_r150 = i0.ɵɵnextContext(2).$implicit;
2585
- i0.ɵɵproperty("color", button_r150.color)("disabled", button_r150.disabled);
2644
+ const button_r156 = i0.ɵɵnextContext(2).$implicit;
2645
+ i0.ɵɵproperty("color", button_r156.color)("disabled", button_r156.disabled);
2586
2646
  i0.ɵɵadvance(1);
2587
- i0.ɵɵpropertyInterpolate("svgIcon", button_r150.icon);
2647
+ i0.ɵɵpropertyInterpolate("svgIcon", button_r156.icon);
2588
2648
  } }
2589
2649
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_2_Template(rf, ctx) { if (rf & 1) {
2590
- const _r161 = i0.ɵɵgetCurrentView();
2591
- i0.ɵɵelementStart(0, "button", 64);
2592
- i0.ɵɵlistener("mousedown", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_2_Template_button_mousedown_0_listener() { i0.ɵɵrestoreView(_r161); const button_r150 = i0.ɵɵnextContext(2).$implicit; const record_r148 = i0.ɵɵnextContext().$implicit; const ctx_r159 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r159.onButtonClick(button_r150.click, record_r148)); });
2593
- i0.ɵɵelement(1, "mat-icon", 63);
2650
+ const _r167 = i0.ɵɵgetCurrentView();
2651
+ i0.ɵɵelementStart(0, "button", 66);
2652
+ i0.ɵɵlistener("mousedown", function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_2_Template_button_mousedown_0_listener() { i0.ɵɵrestoreView(_r167); const button_r156 = i0.ɵɵnextContext(2).$implicit; const record_r154 = i0.ɵɵnextContext().$implicit; const ctx_r165 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r165.onButtonClick(button_r156.click, record_r154)); });
2653
+ i0.ɵɵelement(1, "mat-icon", 61);
2594
2654
  i0.ɵɵelementEnd();
2595
2655
  } if (rf & 2) {
2596
- const button_r150 = i0.ɵɵnextContext(2).$implicit;
2597
- i0.ɵɵproperty("color", button_r150.color)("disabled", button_r150.disabled);
2656
+ const button_r156 = i0.ɵɵnextContext(2).$implicit;
2657
+ i0.ɵɵproperty("color", button_r156.color)("disabled", button_r156.disabled);
2598
2658
  i0.ɵɵadvance(1);
2599
- i0.ɵɵpropertyInterpolate("svgIcon", button_r150.icon);
2659
+ i0.ɵɵpropertyInterpolate("svgIcon", button_r156.icon);
2600
2660
  } }
2601
2661
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
2602
2662
  i0.ɵɵelementContainerStart(0);
2603
- i0.ɵɵtemplate(1, EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_1_Template, 2, 3, "button", 60);
2604
- i0.ɵɵtemplate(2, EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_2_Template, 2, 3, "button", 61);
2663
+ i0.ɵɵtemplate(1, EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_1_Template, 2, 3, "button", 63);
2664
+ i0.ɵɵtemplate(2, EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_button_2_Template, 2, 3, "button", 64);
2605
2665
  i0.ɵɵelementContainerEnd();
2606
2666
  } if (rf & 2) {
2607
- const button_r150 = i0.ɵɵnextContext().$implicit;
2667
+ const button_r156 = i0.ɵɵnextContext().$implicit;
2608
2668
  i0.ɵɵadvance(1);
2609
- i0.ɵɵproperty("ngIf", button_r150.style === "mat-icon-button");
2669
+ i0.ɵɵproperty("ngIf", button_r156.style === "mat-icon-button");
2610
2670
  i0.ɵɵadvance(1);
2611
- i0.ɵɵproperty("ngIf", button_r150.style !== "mat-icon-button");
2671
+ i0.ɵɵproperty("ngIf", button_r156.style !== "mat-icon-button");
2612
2672
  } }
2613
2673
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_Template(rf, ctx) { if (rf & 1) {
2614
2674
  i0.ɵɵelementStart(0, "span");
2615
2675
  i0.ɵɵtemplate(1, EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_ng_container_1_Template, 3, 2, "ng-container", 10);
2616
2676
  i0.ɵɵelementEnd();
2617
2677
  } if (rf & 2) {
2618
- const button_r150 = ctx.$implicit;
2619
- const record_r148 = i0.ɵɵnextContext().$implicit;
2620
- const ctx_r149 = i0.ɵɵnextContext(4);
2678
+ const button_r156 = ctx.$implicit;
2679
+ const record_r154 = i0.ɵɵnextContext().$implicit;
2680
+ const ctx_r155 = i0.ɵɵnextContext(4);
2621
2681
  i0.ɵɵadvance(1);
2622
- i0.ɵɵproperty("ngIf", ctx_r149.isEdition(record_r148) === button_r150.editMode);
2682
+ i0.ɵɵproperty("ngIf", ctx_r155.isEdition(record_r154) === button_r156.editMode || button_r156.editMode === undefined);
2623
2683
  } }
2624
2684
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
2625
2685
  i0.ɵɵelementContainerStart(0);
2626
2686
  i0.ɵɵelementStart(1, "td", 22);
2627
- i0.ɵɵtemplate(2, EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_Template, 2, 1, "span", 59);
2687
+ i0.ɵɵtemplate(2, EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_ng_container_1_span_2_Template, 2, 1, "span", 62);
2628
2688
  i0.ɵɵelementEnd();
2629
2689
  i0.ɵɵelementContainerEnd();
2630
2690
  } if (rf & 2) {
2631
- const record_r148 = ctx.$implicit;
2691
+ const record_r154 = ctx.$implicit;
2632
2692
  const column_r16 = i0.ɵɵnextContext(3).$implicit;
2633
- const ctx_r147 = i0.ɵɵnextContext();
2693
+ const ctx_r153 = i0.ɵɵnextContext();
2634
2694
  i0.ɵɵadvance(1);
2635
- i0.ɵɵproperty("ngClass", ctx_r147.getCellClass(record_r148, column_r16));
2695
+ i0.ɵɵproperty("ngClass", ctx_r153.getCellClass(record_r154, column_r16));
2636
2696
  i0.ɵɵadvance(1);
2637
- i0.ɵɵproperty("ngForOf", ctx_r147.getValue(record_r148, column_r16));
2697
+ i0.ɵɵproperty("ngForOf", ctx_r153.getValue(record_r154, column_r16));
2638
2698
  } }
2639
2699
  function EntityTableComponent_ng_container_5_ng_container_3_ng_container_5_Template(rf, ctx) { if (rf & 1) {
2640
2700
  i0.ɵɵelementContainerStart(0);
@@ -2681,30 +2741,31 @@ function EntityTableComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
2681
2741
  i0.ɵɵproperty("ngIf", ctx_r2.getColumnRenderer(column_r16));
2682
2742
  } }
2683
2743
  function EntityTableComponent_tr_6_Template(rf, ctx) { if (rf & 1) {
2684
- i0.ɵɵelement(0, "tr", 65);
2744
+ i0.ɵɵelement(0, "tr", 67);
2685
2745
  } if (rf & 2) {
2686
2746
  const ctx_r3 = i0.ɵɵnextContext();
2687
2747
  i0.ɵɵproperty("ngClass", ctx_r3.getHeaderClass());
2688
2748
  } }
2689
2749
  function EntityTableComponent_tr_7_Template(rf, ctx) { if (rf & 1) {
2690
- const _r169 = i0.ɵɵgetCurrentView();
2691
- i0.ɵɵelementStart(0, "tr", 66);
2692
- i0.ɵɵlistener("select", function EntityTableComponent_tr_7_Template_tr_select_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r169); const record_r167 = restoredCtx.$implicit; const ctx_r168 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r168.onRowSelect(record_r167)); })("click", function EntityTableComponent_tr_7_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r169); const record_r167 = restoredCtx.$implicit; const ctx_r170 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r170.onRowClick(record_r167)); });
2750
+ const _r175 = i0.ɵɵgetCurrentView();
2751
+ i0.ɵɵelementStart(0, "tr", 68);
2752
+ i0.ɵɵlistener("select", function EntityTableComponent_tr_7_Template_tr_select_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r175); const record_r173 = restoredCtx.$implicit; const ctx_r174 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r174.onRowSelect(record_r173)); })("click", function EntityTableComponent_tr_7_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r175); const record_r173 = restoredCtx.$implicit; const ctx_r176 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r176.onRowClick(record_r173)); });
2693
2753
  i0.ɵɵelementEnd();
2694
2754
  } if (rf & 2) {
2695
- const record_r167 = ctx.$implicit;
2755
+ const record_r173 = ctx.$implicit;
2696
2756
  const ctx_r4 = i0.ɵɵnextContext();
2697
- i0.ɵɵproperty("scrollBehavior", ctx_r4.scrollBehavior)("ngClass", ctx_r4.getRowClass(record_r167))("selection", ctx_r4.selection)("selected", ctx_r4.rowIsSelected(record_r167));
2757
+ i0.ɵɵproperty("scrollBehavior", ctx_r4.scrollBehavior)("ngClass", ctx_r4.getRowClass(record_r173))("selection", ctx_r4.selection)("selected", ctx_r4.rowIsSelected(record_r173));
2698
2758
  } }
2699
2759
  function EntityTableComponent_igo_entity_table_paginator_8_Template(rf, ctx) { if (rf & 1) {
2700
- const _r172 = i0.ɵɵgetCurrentView();
2701
- i0.ɵɵelementStart(0, "igo-entity-table-paginator", 67);
2702
- i0.ɵɵlistener("paginatorChange", function EntityTableComponent_igo_entity_table_paginator_8_Template_igo_entity_table_paginator_paginatorChange_0_listener($event) { i0.ɵɵrestoreView(_r172); const ctx_r171 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r171.paginatorChange($event)); });
2760
+ const _r178 = i0.ɵɵgetCurrentView();
2761
+ i0.ɵɵelementStart(0, "igo-entity-table-paginator", 69);
2762
+ i0.ɵɵlistener("paginatorChange", function EntityTableComponent_igo_entity_table_paginator_8_Template_igo_entity_table_paginator_paginatorChange_0_listener($event) { i0.ɵɵrestoreView(_r178); const ctx_r177 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r177.paginatorChange($event)); });
2703
2763
  i0.ɵɵelementEnd();
2704
2764
  } if (rf & 2) {
2705
2765
  const ctx_r5 = i0.ɵɵnextContext();
2706
2766
  i0.ɵɵproperty("store", ctx_r5.store)("paginatorOptions", ctx_r5.paginatorOptions)("entitySortChange$", ctx_r5.entitySortChange$);
2707
2767
  } }
2768
+ const _c0$c = function (a0) { return { "height": a0 }; };
2708
2769
  class EntityTableComponent {
2709
2770
  constructor(cdRef, formBuilder, _focusMonitor, _elementRef, ngControl, _parentForm, _controlName, _defaultErrorStateMatcher, dateAdapter) {
2710
2771
  this.cdRef = cdRef;
@@ -2717,7 +2778,8 @@ class EntityTableComponent {
2717
2778
  this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
2718
2779
  this.dateAdapter = dateAdapter;
2719
2780
  this.entitySortChange$ = new BehaviorSubject(false);
2720
- this.formGroup = new FormGroup({});
2781
+ this.formGroup = new UntypedFormGroup({});
2782
+ this.filteredOptions = {};
2721
2783
  /**
2722
2784
  * Reference to the column renderer types
2723
2785
  * @internal
@@ -2807,6 +2869,7 @@ class EntityTableComponent {
2807
2869
  * @internal
2808
2870
  */
2809
2871
  get fixedHeader() { return this.template.fixedHeader === undefined ? true : this.template.fixedHeader; }
2872
+ get tableHeight() { return this.template.tableHeight ? this.template.tableHeight : 'auto'; }
2810
2873
  /**
2811
2874
  * Track the selection state to properly display the selection checkboxes
2812
2875
  * @internal
@@ -2849,8 +2912,8 @@ class EntityTableComponent {
2849
2912
  * Process autocomplete value change (edition)
2850
2913
  */
2851
2914
  onAutocompleteValueChange(column, record, event) {
2852
- this.formGroup.controls[column].setValue(event.option.viewValue);
2853
- const key = this.getColumnKeyWithoutPropertiesTag(column);
2915
+ this.formGroup.controls[column.name].setValue(event.option.viewValue);
2916
+ const key = this.getColumnKeyWithoutPropertiesTag(column.name);
2854
2917
  record.entity.properties[key] = event.option.value;
2855
2918
  }
2856
2919
  /**
@@ -2893,15 +2956,17 @@ class EntityTableComponent {
2893
2956
  }
2894
2957
  else if (column.type === 'autocomplete') {
2895
2958
  this.formGroup.setControl(column.name, this.formBuilder.control(item[key]));
2896
- this.filteredOptions = this.formGroup.controls[column.name].valueChanges.pipe(map(value => {
2897
- if (value.length) {
2898
- return column.domainValues.filter((option) => {
2899
- const filterNormalized = value ? value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '') : '';
2900
- const featureNameNormalized = option.value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
2901
- return featureNameNormalized.includes(filterNormalized);
2902
- });
2903
- }
2904
- }));
2959
+ this.filteredOptions[column.name] = new Observable();
2960
+ this.filteredOptions[column.name] =
2961
+ this.formGroup.controls[column.name].valueChanges.pipe(map(value => {
2962
+ if (value?.length) {
2963
+ return column.domainValues?.filter((option) => {
2964
+ const filterNormalized = value ? value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '') : '';
2965
+ const featureNameNormalized = option.value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
2966
+ return featureNameNormalized.includes(filterNormalized);
2967
+ });
2968
+ }
2969
+ }));
2905
2970
  let formControlValue = item[key];
2906
2971
  column.domainValues.forEach(option => {
2907
2972
  if (typeof formControlValue === 'string' && /^\d+$/.test(formControlValue)) {
@@ -3378,8 +3443,8 @@ class EntityTableComponent {
3378
3443
  return column;
3379
3444
  }
3380
3445
  }
3381
- EntityTableComponent.ɵfac = function EntityTableComponent_Factory(t) { return new (t || EntityTableComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$4.FormBuilder), i0.ɵɵdirectiveInject(i2$1.FocusMonitor), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1$4.NgControl, 10), i0.ɵɵdirectiveInject(i1$4.NgForm, 8), i0.ɵɵdirectiveInject(i1$4.FormControlName, 8), i0.ɵɵdirectiveInject(i3$1.ErrorStateMatcher), i0.ɵɵdirectiveInject(i3$1.DateAdapter)); };
3382
- EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityTableComponent, selectors: [["igo-entity-table"]], inputs: { store: "store", paginator: "paginator", template: "template", scrollBehavior: "scrollBehavior", sortNullsFirst: "sortNullsFirst", withPaginator: "withPaginator", paginatorOptions: "paginatorOptions" }, outputs: { entityClick: "entityClick", entitySelectChange: "entitySelectChange", entitySortChange: "entitySortChange" }, features: [i0.ɵɵProvidersFeature([{ provide: MatFormFieldControl, useExisting: EntityTableComponent }]), i0.ɵɵNgOnChangesFeature], decls: 9, vars: 8, consts: [[1, "table-container"], ["mat-table", "", "matSort", "", 3, "ngClass", "dataSource", "trackBy", "matSortChange"], ["matColumnDef", "selectionCheckbox", 1, "mat-cell-checkbox"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], [3, "matColumnDef", 4, "ngFor", "ngForOf"], ["mat-header-row", "", 3, "ngClass", 4, "matHeaderRowDef", "matHeaderRowDefSticky"], ["mat-row", "", "igoEntityTableRow", "", 3, "scrollBehavior", "ngClass", "selection", "selected", "select", "click", 4, "matRowDef", "matRowDefColumns"], [3, "store", "paginatorOptions", "entitySortChange$", "paginatorChange", 4, "ngIf"], ["mat-header-cell", ""], [4, "ngIf"], [3, "checked", "indeterminate", "change"], ["mat-cell", ""], [3, "checked", "mousedown", "click", "change"], [3, "matColumnDef"], ["mat-header-cell", "", "mat-sort-header", "", 3, "matTooltip", 4, "matHeaderCellDef"], ["mat-header-cell", "", "mat-sort-header", "", 3, "matTooltip"], ["mat-header-cell", "", 3, "matTooltip", 4, "matHeaderCellDef"], ["mat-header-cell", "", 3, "matTooltip"], [4, "matCellDef"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "ngIf", "ngIfElse"], ["isAnUrlDefault", ""], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["width", "50", "heigth", "auto", 3, "src", 4, "ngIf", "ngIfElse"], ["notImg", ""], ["width", "50", "heigth", "auto", 3, "src"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", "innerHTML", 4, "ngIf", "ngIfElse"], ["isAnUrlHTML", ""], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass", "innerHTML"], ["mat-cell", "", "class", "mat-cell-text edition", 3, "formGroup", "ngClass", 4, "ngIf", "ngIfElse"], ["isUnsanitizedHTML", ""], ["mat-cell", "", 1, "mat-cell-text", "edition", 3, "formGroup", "ngClass"], ["class", "date-picker", 4, "ngIf"], ["matInput", "", "type", "time", "step", "900", 3, "formControlName", "focus", "keypress", "blur", 4, "ngIf"], ["matInput", "", "type", "number", "class", "class_number_edition", 3, "formControlName", "step", "value", "readonly", "required", "min", "max", "input", 4, "ngIf"], ["matInput", "", "type", "text", 3, "formControlName", "value", "readonly", "required", "input", 4, "ngIf"], [3, "formControlName", "checked", "change", 4, "ngIf"], [3, "required", "formControlName", "multiple", "value", "selectionChange", 4, "ngIf"], ["matInput", "", "type", "text", 3, "formControlName", "matAutocomplete", "required", "value", 4, "ngIf"], ["panelWidth", "430px", 3, "optionSelected"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], [1, "date-picker"], ["matSuffix", "", 3, "for"], ["matInput", "", 3, "matDatepicker", "formControlName", "value", "dateChange"], ["picker", ""], ["matInput", "", "type", "time", "step", "900", 3, "formControlName", "focus", "keypress", "blur"], ["matInput", "", "type", "number", 1, "class_number_edition", 3, "formControlName", "step", "value", "readonly", "required", "min", "max", "input"], ["matInput", "", "type", "text", 3, "formControlName", "value", "readonly", "required", "input"], [3, "formControlName", "checked", "change"], [3, "required", "formControlName", "multiple", "value", "selectionChange"], [3, "value", "disabled", 4, "ngFor", "ngForOf"], [3, "value", "disabled"], ["matInput", "", "type", "text", 3, "formControlName", "matAutocomplete", "required", "value"], [3, "value"], ["isAnUrlUnsanitizedHTML", ""], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "matCellDef"], [3, "svgIcon", "click"], [4, "ngFor", "ngForOf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "color", "disabled", "mousedown", 4, "ngIf"], ["igoStopPropagation", "", "mat-mini-fab", "", 3, "color", "disabled", "mousedown", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "color", "disabled", "mousedown"], [3, "svgIcon"], ["igoStopPropagation", "", "mat-mini-fab", "", 3, "color", "disabled", "mousedown"], ["mat-header-row", "", 3, "ngClass"], ["mat-row", "", "igoEntityTableRow", "", 3, "scrollBehavior", "ngClass", "selection", "selected", "select", "click"], [3, "store", "paginatorOptions", "entitySortChange$", "paginatorChange"]], template: function EntityTableComponent_Template(rf, ctx) { if (rf & 1) {
3446
+ EntityTableComponent.ɵfac = function EntityTableComponent_Factory(t) { return new (t || EntityTableComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$4.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2$1.FocusMonitor), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1$4.NgControl, 10), i0.ɵɵdirectiveInject(i1$4.NgForm, 8), i0.ɵɵdirectiveInject(i1$4.FormControlName, 8), i0.ɵɵdirectiveInject(i3$1.ErrorStateMatcher), i0.ɵɵdirectiveInject(i3$1.DateAdapter)); };
3447
+ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityTableComponent, selectors: [["igo-entity-table"]], inputs: { store: "store", paginator: "paginator", template: "template", scrollBehavior: "scrollBehavior", sortNullsFirst: "sortNullsFirst", withPaginator: "withPaginator", paginatorOptions: "paginatorOptions" }, outputs: { entityClick: "entityClick", entitySelectChange: "entitySelectChange", entitySortChange: "entitySortChange" }, features: [i0.ɵɵProvidersFeature([{ provide: MatFormFieldControl, useExisting: EntityTableComponent }]), i0.ɵɵNgOnChangesFeature], decls: 9, vars: 11, consts: [[1, "table-container", 3, "ngStyle"], ["mat-table", "", "matSort", "", 3, "ngClass", "dataSource", "trackBy", "matSortChange"], ["matColumnDef", "selectionCheckbox", 1, "mat-cell-checkbox"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], [3, "matColumnDef", 4, "ngFor", "ngForOf"], ["mat-header-row", "", 3, "ngClass", 4, "matHeaderRowDef", "matHeaderRowDefSticky"], ["mat-row", "", "igoEntityTableRow", "", 3, "scrollBehavior", "ngClass", "selection", "selected", "select", "click", 4, "matRowDef", "matRowDefColumns"], [3, "store", "paginatorOptions", "entitySortChange$", "paginatorChange", 4, "ngIf"], ["mat-header-cell", ""], [4, "ngIf"], [3, "checked", "indeterminate", "change"], ["mat-cell", ""], [3, "checked", "mousedown", "click", "change"], [3, "matColumnDef"], ["mat-header-cell", "", "mat-sort-header", "", 3, "matTooltip", 4, "matHeaderCellDef"], ["mat-header-cell", "", "mat-sort-header", "", 3, "matTooltip"], ["mat-header-cell", "", 3, "matTooltip", 4, "matHeaderCellDef"], ["mat-header-cell", "", 3, "matTooltip"], [4, "matCellDef"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "ngIf", "ngIfElse"], ["isAnUrlDefault", ""], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["igoImageError", "", "width", "50", "heigth", "auto", 3, "src", 4, "ngIf", "ngIfElse"], ["notImg", ""], ["igoImageError", "", "width", "50", "heigth", "auto", 3, "src"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", "innerHTML", 4, "ngIf", "ngIfElse"], ["isAnUrlHTML", ""], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass", "innerHTML"], ["mat-cell", "", "class", "mat-cell-text edition", 3, "formGroup", "ngClass", 4, "ngIf", "ngIfElse"], ["isUnsanitizedHTML", ""], ["mat-cell", "", 1, "mat-cell-text", "edition", 3, "formGroup", "ngClass"], ["class", "date-picker", 4, "ngIf"], ["matInput", "", "type", "time", "step", "900", 3, "formControlName", "focus", "keypress", "blur", 4, "ngIf"], ["matInput", "", "type", "number", "class", "class_number_edition", 3, "formControlName", "step", "value", "readonly", "required", "min", "max", "input", 4, "ngIf"], ["matInput", "", "type", "text", 3, "formControlName", "value", "readonly", "required", "input", 4, "ngIf"], [3, "formControlName", "checked", "change", 4, "ngIf"], [3, "required", "formControlName", "multiple", "value", "selectionChange", 4, "ngIf"], ["matInput", "", "type", "text", 3, "formControlName", "matAutocomplete", "required", "value", "readonly", 4, "ngIf"], ["panelWidth", "430px", 3, "optionSelected"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], [1, "date-picker"], ["matSuffix", "", 3, "for"], ["matInput", "", 3, "matDatepicker", "formControlName", "value", "dateChange"], ["picker", ""], ["matInput", "", "type", "time", "step", "900", 3, "formControlName", "focus", "keypress", "blur"], ["matInput", "", "type", "number", 1, "class_number_edition", 3, "formControlName", "step", "value", "readonly", "required", "min", "max", "input"], ["matInput", "", "type", "text", 3, "formControlName", "value", "readonly", "required", "input"], [3, "formControlName", "checked", "change"], [3, "required", "formControlName", "multiple", "value", "selectionChange"], [3, "value", "disabled", 4, "ngFor", "ngForOf"], [3, "value", "disabled"], ["matInput", "", "type", "text", 3, "formControlName", "matAutocomplete", "required", "value", "readonly"], [3, "value"], ["isAnUrlUnsanitizedHTML", ""], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "matCellDef"], [3, "svgIcon", "click", 4, "ngIf"], [3, "svgIcon", 4, "ngIf"], [3, "svgIcon", "click"], [3, "svgIcon"], [4, "ngFor", "ngForOf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "color", "disabled", "mousedown", 4, "ngIf"], ["igoStopPropagation", "", "mat-mini-fab", "", 3, "color", "disabled", "mousedown", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "color", "disabled", "mousedown"], ["igoStopPropagation", "", "mat-mini-fab", "", 3, "color", "disabled", "mousedown"], ["mat-header-row", "", 3, "ngClass"], ["mat-row", "", "igoEntityTableRow", "", 3, "scrollBehavior", "ngClass", "selection", "selected", "select", "click"], [3, "store", "paginatorOptions", "entitySortChange$", "paginatorChange"]], template: function EntityTableComponent_Template(rf, ctx) { if (rf & 1) {
3383
3448
  i0.ɵɵelementStart(0, "div", 0)(1, "table", 1);
3384
3449
  i0.ɵɵlistener("matSortChange", function EntityTableComponent_Template_table_matSortChange_1_listener($event) { return ctx.onSort($event); });
3385
3450
  i0.ɵɵelementContainerStart(2, 2);
@@ -3393,6 +3458,7 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
3393
3458
  i0.ɵɵtemplate(8, EntityTableComponent_igo_entity_table_paginator_8_Template, 1, 3, "igo-entity-table-paginator", 8);
3394
3459
  i0.ɵɵelementEnd();
3395
3460
  } if (rf & 2) {
3461
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(9, _c0$c, ctx.tableHeight));
3396
3462
  i0.ɵɵadvance(1);
3397
3463
  i0.ɵɵproperty("ngClass", ctx.getTableClass())("dataSource", ctx.dataSource)("trackBy", ctx.getTrackByFunction());
3398
3464
  i0.ɵɵadvance(4);
@@ -3403,11 +3469,11 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
3403
3469
  i0.ɵɵproperty("matRowDefColumns", ctx.headers);
3404
3470
  i0.ɵɵadvance(1);
3405
3471
  i0.ɵɵproperty("ngIf", ctx.withPaginator);
3406
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i5.MatTable, i5.MatHeaderCellDef, i5.MatHeaderRowDef, i5.MatColumnDef, i5.MatCellDef, i5.MatRowDef, i5.MatHeaderCell, i5.MatCell, i5.MatHeaderRow, i5.MatRow, i6.MatAutocomplete, i6.MatAutocompleteTrigger, i3$1.MatOption, i7.MatSort, i7.MatSortHeader, i3$2.MatIcon, i2$2.MatButton, i10.MatCheckbox, i4.MatSuffix, i3.MatSelect, StopPropagationDirective, EntityTablePaginatorComponent, i1$4.DefaultValueAccessor, i1$4.NumberValueAccessor, i1$4.NgControlStatus, i1$4.NgControlStatusGroup, i1$4.RequiredValidator, i1$4.MinValidator, i1$4.MaxValidator, i1$4.FormGroupDirective, i1$4.FormControlName, i5$1.MatInput, i16.MatDatepicker, i16.MatDatepickerInput, i16.MatDatepickerToggle, i6$1.MatTooltip, EntityTableRowDirective, i1.AsyncPipe, SanitizeHtmlPipe, SecureImagePipe, i6$2.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%;height:100%;display:block}.table-compact[_nghost-%COMP%] tr.mat-header-row[_ngcontent-%COMP%], .table-compact[_nghost-%COMP%] .mat-checkbox .mat-checkbox-ripple{height:36px}.table-compact[_nghost-%COMP%] tr.mat-row[_ngcontent-%COMP%], .table-compact[_nghost-%COMP%] .mat-checkbox .mat-checkbox-ripple{height:28px}.table-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text[_ngcontent-%COMP%]{overflow:hidden;word-wrap:break-word}th.mat-header-cell[_ngcontent-%COMP%], td.mat-cell[_ngcontent-%COMP%], td.mat-footer-cell[_ngcontent-%COMP%]{padding:0 3px}entity-table[_ngcontent-%COMP%] table.igo-entity-table-with-selection[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:7px}.class_hidden[_ngcontent-%COMP%]{visibility:hidden}.class_display_none[_ngcontent-%COMP%]{display:none}.class_boolean[_ngcontent-%COMP%], .class_icon[_ngcontent-%COMP%], .class_number[_ngcontent-%COMP%]{text-align:center;padding-right:35px!important}.class_sting[_ngcontent-%COMP%], .class_text[_ngcontent-%COMP%], .class_number_edition[_ngcontent-%COMP%]{text-align:left}td.edition[_ngcontent-%COMP%]{background:rgba(166,166,166,.2)}input[_ngcontent-%COMP%]{border-bottom:1px solid darkgrey}"], changeDetection: 0 });
3472
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i5.MatTable, i5.MatHeaderCellDef, i5.MatHeaderRowDef, i5.MatColumnDef, i5.MatCellDef, i5.MatRowDef, i5.MatHeaderCell, i5.MatCell, i5.MatHeaderRow, i5.MatRow, i6.MatAutocomplete, i6.MatAutocompleteTrigger, i3$1.MatOption, i7.MatSort, i7.MatSortHeader, i3$2.MatIcon, i2$2.MatButton, i10.MatCheckbox, i4.MatSuffix, i3.MatSelect, StopPropagationDirective, EntityTablePaginatorComponent, ImageErrorDirective, i1$4.DefaultValueAccessor, i1$4.NumberValueAccessor, i1$4.NgControlStatus, i1$4.NgControlStatusGroup, i1$4.RequiredValidator, i1$4.MinValidator, i1$4.MaxValidator, i1$4.FormGroupDirective, i1$4.FormControlName, i5$1.MatInput, i17.MatDatepicker, i17.MatDatepickerInput, i17.MatDatepickerToggle, i6$1.MatTooltip, EntityTableRowDirective, i1.AsyncPipe, SanitizeHtmlPipe, SecureImagePipe, i6$2.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%;height:100%;display:block}.table-compact[_nghost-%COMP%] tr.mat-header-row[_ngcontent-%COMP%], .table-compact[_nghost-%COMP%] .mat-checkbox .mat-checkbox-ripple{height:36px}.table-compact[_nghost-%COMP%] tr.mat-row[_ngcontent-%COMP%], .table-compact[_nghost-%COMP%] .mat-checkbox .mat-checkbox-ripple{height:28px}.table-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text[_ngcontent-%COMP%]{overflow:hidden;word-wrap:break-word}th.mat-header-cell[_ngcontent-%COMP%], td.mat-cell[_ngcontent-%COMP%], td.mat-footer-cell[_ngcontent-%COMP%]{padding:0 3px}entity-table[_ngcontent-%COMP%] table.igo-entity-table-with-selection[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:7px}.class_hidden[_ngcontent-%COMP%]{visibility:hidden}.class_display_none[_ngcontent-%COMP%]{display:none}.class_boolean[_ngcontent-%COMP%], .class_icon[_ngcontent-%COMP%], .class_number[_ngcontent-%COMP%]{text-align:center;padding-right:35px!important}.class_sting[_ngcontent-%COMP%], .class_text[_ngcontent-%COMP%], .class_number_edition[_ngcontent-%COMP%]{text-align:left}td.edition[_ngcontent-%COMP%]{background:rgba(166,166,166,.2)}input[_ngcontent-%COMP%]{border-bottom:1px solid darkgrey}"], changeDetection: 0 });
3407
3473
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTableComponent, [{
3408
3474
  type: Component,
3409
- args: [{ selector: 'igo-entity-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: EntityTableComponent }], template: "<div class=\"table-container\">\r\n <table mat-table matSort [ngClass]=\"getTableClass()\" [dataSource]=\"dataSource\" [trackBy]=\"getTrackByFunction()\" (matSortChange)=\"onSort($event)\">\r\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngIf=\"selectMany\">\r\n <ng-container *ngIf=\"selectionState$ | async as selectionState\">\r\n <mat-checkbox (change)=\"onToggleRows($event.checked)\" [checked]=\"selectionState === entityTableSelectionState.All\"\r\n [indeterminate]=\"selectionState === entityTableSelectionState.Some\">\r\n </mat-checkbox>\r\n </ng-container>\r\n </ng-container>\r\n </th>\r\n <td mat-cell *matCellDef=\"let record\">\r\n <mat-checkbox (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\" (click)=\"$event.shiftKey ?\r\n onShiftToggleRow(!rowIsSelected(record), record, $event) : $event.stopPropagation()\" (change)=\"onToggleRow($event.checked,record)\"\r\n [checked]=\"rowIsSelected(record)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container [matColumnDef]=\"column.name\" *ngFor=\"let column of template.columns\">\r\n <ng-container *ngIf=\"columnIsSortable(column)\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\r\n {{column.title}}\r\n </th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!columnIsSortable(column)\">\r\n <th mat-header-cell *matHeaderCellDef [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\r\n {{column.title}}\r\n </th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"getColumnRenderer(column) as columnRenderer\">\r\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Default\">\r\n <ng-container *matCellDef=\"let record\">\r\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlDefault\" [ngClass]=\"getCellClass(record, column)\">\r\n {{getValue(record, column)}}\r\n </td>\r\n <ng-template #isAnUrlDefault>\r\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\r\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\r\n <img *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\r\n <ng-template #notImg><span>{{\r\n 'igo.common.entity-table.targetHtmlUrl' | translate }}\r\n </span></ng-template>\r\n </a>\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.HTML\">\r\n <ng-container *matCellDef=\"let record\">\r\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlHTML\" [ngClass]=\"getCellClass(record, column)\"\r\n [innerHTML]=\"getValue(record, column)\">\r\n </td>\r\n <ng-template #isAnUrlHTML>\r\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\r\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\r\n <img *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\r\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' |\r\n translate }} </span></ng-template>\r\n </a>\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.UnsanitizedHTML\">\r\n <ng-container *matCellDef=\"let record\">\r\n <td mat-cell class=\"mat-cell-text edition\" [formGroup]=\"formGroup\" *ngIf=\"isEdition(record);else isUnsanitizedHTML\"\r\n [ngClass]=\"getCellClass(record, column)\">\r\n <div class=\"date-picker\" *ngIf=\"column.type === 'date'\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"column.name\" value=\"{{getValue(record, column)}}\"\r\n (dateChange)=\"onDateChange(column.name, record, $event)\">\r\n <mat-datepicker #picker></mat-datepicker>\r\n </div>\r\n <input matInput type=\"time\" *ngIf=\"column.type === 'time'\" [formControlName]=\"column.name\" step=\"900\" (focus)=\"column.onFocus($event)\"\r\n (keypress)=\"column.onChange($event)\" (blur)=\"column.onBlur($event)\">\r\n <input matInput type=\"number\" class=\"class_number_edition\" *ngIf=\"column.type === 'number'\" [formControlName]=\"column.name\" step=\"{{column.step}}\"\r\n value=\"{{getValue(record,column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\r\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\r\n min=\"{{getValidationAttributeValue(column, 'minValue')}}\" max=\"{{getValidationAttributeValue(column, 'maxValue')}}\">\r\n <input matInput type=\"text\" *ngIf=\"!column.type || column.type ==='string'\" [formControlName]=\"column.name\"\r\n value=\"{{getValue(record, column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\r\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\">\r\n <mat-checkbox *ngIf=\"column.type === 'boolean'\" [formControlName]=\"column.name\" [checked]=\"getValue(record,column)\"\r\n (change)=\"onBooleanValueChange(column.name, record,$event)\"></mat-checkbox>\r\n <mat-select *ngIf=\"column.type === 'list'\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\r\n [formControlName]=\"column.name\" [multiple]=\"column.multiple\" (selectionChange)=\"onSelectValueChange(column.name, record, $event)\"\r\n [value]=\"getValue(record, column)\">\r\n <mat-option *ngFor=\"let option of column.domainValues\" [value]=\"option.id\" [disabled]=\"option.disabled\">\r\n {{ option.value }}\r\n </mat-option>\r\n </mat-select>\r\n <input matInput type=\"text\" [formControlName]=\"column.name\" *ngIf=\"column.type === 'autocomplete'\"\r\n [matAutocomplete]=\"auto\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\" value=\"{{getValue(record, column)}}\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteValueChange(column.name, record, $event)\"\r\n panelWidth=\"430px\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option.id\">\r\n {{ option.value }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </td>\r\n <ng-template #isUnsanitizedHTML>\r\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlUnsanitizedHTML\" [ngClass]=\"getCellClass(record, column)\"\r\n [innerHTML]=\"getValue(record, column) | sanitizeHtml\">\r\n </td>\r\n <ng-template #isAnUrlUnsanitizedHTML>\r\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\r\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\r\n <img *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\r\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' | translate }} </span></ng-template>\r\n </a>\r\n </td>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Icon\">\r\n <td mat-cell *matCellDef=\"let record\" class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\r\n <mat-icon svgIcon=\"{{getValue(record, column)|| column.icon}}\" (click)=\"column.onClick($event)\"></mat-icon>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.ButtonGroup\">\r\n <ng-container *matCellDef=\"let record\">\r\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\r\n <span *ngFor=\"let button of getValue(record, column)\">\r\n <ng-container *ngIf=\"isEdition(record) === button.editMode\">\r\n <button *ngIf=\"button.style === 'mat-icon-button'\" igoStopPropagation mat-icon-button\r\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\r\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\r\n </button>\r\n <button *ngIf=\"button.style !== 'mat-icon-button'\" igoStopPropagation mat-mini-fab\r\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\r\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\r\n </button>\r\n </ng-container>\r\n </span>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"headers; sticky: fixedHeader;\" [ngClass]=\"getHeaderClass()\">\r\n </tr>\r\n <tr mat-row igoEntityTableRow *matRowDef=\"let record; columns: headers;\" [scrollBehavior]=\"scrollBehavior\" [ngClass]=\"getRowClass(record)\" [selection]=\"selection\" [selected]=\"rowIsSelected(record)\" (select)=\"onRowSelect(record)\" (click)=\"onRowClick(record)\">\r\n </tr>\r\n </table>\r\n <igo-entity-table-paginator *ngIf=\"withPaginator\" [store]=\"store\" [paginatorOptions]=\"paginatorOptions\" [entitySortChange$]=\"entitySortChange$\" (paginatorChange)=\"paginatorChange($event)\">\r\n </igo-entity-table-paginator>\r\n</div>", styles: [":host{width:100%;height:100%;display:block}:host.table-compact tr.mat-header-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:36px}:host.table-compact tr.mat-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0 3px}entity-table table.igo-entity-table-with-selection tr:hover{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_sting,.class_text,.class_number_edition{text-align:left}td.edition{background:rgba(166,166,166,.2)}input{border-bottom:1px solid darkgrey}\n"] }]
3410
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$4.FormBuilder }, { type: i2$1.FocusMonitor }, { type: i0.ElementRef }, { type: i1$4.NgControl, decorators: [{
3475
+ args: [{ selector: 'igo-entity-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: EntityTableComponent }], template: "<div class=\"table-container\" [ngStyle]=\"{'height': tableHeight}\">\n <table mat-table matSort [ngClass]=\"getTableClass()\" [dataSource]=\"dataSource\" [trackBy]=\"getTrackByFunction()\" (matSortChange)=\"onSort($event)\">\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container *ngIf=\"selectMany\">\n <ng-container *ngIf=\"selectionState$ | async as selectionState\">\n <mat-checkbox (change)=\"onToggleRows($event.checked)\" [checked]=\"selectionState === entityTableSelectionState.All\"\n [indeterminate]=\"selectionState === entityTableSelectionState.Some\">\n </mat-checkbox>\n </ng-container>\n </ng-container>\n </th>\n <td mat-cell *matCellDef=\"let record\">\n <mat-checkbox (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\" (click)=\"$event.shiftKey ?\n onShiftToggleRow(!rowIsSelected(record), record, $event) : $event.stopPropagation()\" (change)=\"onToggleRow($event.checked,record)\"\n [checked]=\"rowIsSelected(record)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container [matColumnDef]=\"column.name\" *ngFor=\"let column of template.columns\">\n <ng-container *ngIf=\"columnIsSortable(column)\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\n {{column.title}}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!columnIsSortable(column)\">\n <th mat-header-cell *matHeaderCellDef [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\n {{column.title}}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"getColumnRenderer(column) as columnRenderer\">\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Default\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlDefault\" [ngClass]=\"getCellClass(record, column)\">\n {{getValue(record, column)}}\n </td>\n <ng-template #isAnUrlDefault>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img igoImageError *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{\n 'igo.common.entity-table.targetHtmlUrl' | translate }}\n </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.HTML\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlHTML\" [ngClass]=\"getCellClass(record, column)\"\n [innerHTML]=\"getValue(record, column)\">\n </td>\n <ng-template #isAnUrlHTML>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img igoImageError *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' |\n translate }} </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.UnsanitizedHTML\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text edition\" [formGroup]=\"formGroup\" *ngIf=\"isEdition(record);else isUnsanitizedHTML\"\n [ngClass]=\"getCellClass(record, column)\">\n <div class=\"date-picker\" *ngIf=\"column.type === 'date'\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"column.name\" value=\"{{getValue(record, column)}}\"\n (dateChange)=\"onDateChange(column.name, record, $event)\">\n <mat-datepicker #picker></mat-datepicker>\n </div>\n <input matInput type=\"time\" *ngIf=\"column.type === 'time'\" [formControlName]=\"column.name\" step=\"900\" (focus)=\"column.onFocus($event)\"\n (keypress)=\"column.onChange($event)\" (blur)=\"column.onBlur($event)\">\n <input matInput type=\"number\" class=\"class_number_edition\" *ngIf=\"column.type === 'number'\" [formControlName]=\"column.name\" step=\"{{column.step}}\"\n value=\"{{getValue(record,column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\n min=\"{{getValidationAttributeValue(column, 'minValue')}}\" max=\"{{getValidationAttributeValue(column, 'maxValue')}}\">\n <input matInput type=\"text\" *ngIf=\"!column.type || column.type ==='string'\" [formControlName]=\"column.name\"\n value=\"{{getValue(record, column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\">\n <mat-checkbox *ngIf=\"column.type === 'boolean'\" [formControlName]=\"column.name\" [checked]=\"getValue(record,column)\"\n (change)=\"onBooleanValueChange(column.name, record,$event)\"></mat-checkbox>\n <mat-select *ngIf=\"column.type === 'list'\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\n [formControlName]=\"column.name\" [multiple]=\"column.multiple\" (selectionChange)=\"onSelectValueChange(column.name, record, $event)\"\n [value]=\"getValue(record, column)\">\n <mat-option *ngFor=\"let option of column.domainValues\" [value]=\"option.id\" [disabled]=\"option.disabled\">\n {{ option.value }}\n </mat-option>\n </mat-select>\n <input matInput type=\"text\" [formControlName]=\"column.name\" *ngIf=\"column.type === 'autocomplete'\" [matAutocomplete]=\"auto\"\n required=\"{{getValidationAttributeValue(column, 'mandatory')}}\" value=\"{{getValue(record, column)}}\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteValueChange(column, record, $event)\"\n panelWidth=\"430px\">\n <mat-option *ngFor=\"let option of filteredOptions[column.name] | async\"\n [value]=\"option.id\">\n {{ option.value }}\n </mat-option>\n </mat-autocomplete>\n </td>\n <ng-template #isUnsanitizedHTML>\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlUnsanitizedHTML\" [ngClass]=\"getCellClass(record, column)\"\n [innerHTML]=\"getValue(record, column) | sanitizeHtml\">\n </td>\n <ng-template #isAnUrlUnsanitizedHTML>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img igoImageError *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' | translate }} </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Icon\">\n <td mat-cell *matCellDef=\"let record\" class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <mat-icon *ngIf=\"column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\" (click)=\"column.onClick($event)\"></mat-icon>\n <mat-icon *ngIf=\"!column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\"></mat-icon>\n </td>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.ButtonGroup\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <span *ngFor=\"let button of getValue(record, column)\">\n <ng-container *ngIf=\"isEdition(record) === button.editMode || button.editMode === undefined\">\n <button *ngIf=\"button.style === 'mat-icon-button'\" igoStopPropagation mat-icon-button\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\n </button>\n <button *ngIf=\"button.style !== 'mat-icon-button'\" igoStopPropagation mat-mini-fab\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\n </button>\n </ng-container>\n </span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"headers; sticky: fixedHeader;\" [ngClass]=\"getHeaderClass()\">\n </tr>\n <tr mat-row igoEntityTableRow *matRowDef=\"let record; columns: headers;\" [scrollBehavior]=\"scrollBehavior\" [ngClass]=\"getRowClass(record)\" [selection]=\"selection\" [selected]=\"rowIsSelected(record)\" (select)=\"onRowSelect(record)\" (click)=\"onRowClick(record)\">\n </tr>\n </table>\n <igo-entity-table-paginator *ngIf=\"withPaginator\" [store]=\"store\" [paginatorOptions]=\"paginatorOptions\" [entitySortChange$]=\"entitySortChange$\" (paginatorChange)=\"paginatorChange($event)\">\n </igo-entity-table-paginator>\n</div>", styles: [":host{width:100%;height:100%;display:block}:host.table-compact tr.mat-header-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:36px}:host.table-compact tr.mat-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0 3px}entity-table table.igo-entity-table-with-selection tr:hover{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_sting,.class_text,.class_number_edition{text-align:left}td.edition{background:rgba(166,166,166,.2)}input{border-bottom:1px solid darkgrey}\n"] }]
3476
+ }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$4.UntypedFormBuilder }, { type: i2$1.FocusMonitor }, { type: i0.ElementRef }, { type: i1$4.NgControl, decorators: [{
3411
3477
  type: Optional
3412
3478
  }, {
3413
3479
  type: Self
@@ -3666,7 +3732,7 @@ ActionbarItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Acti
3666
3732
  } }, dependencies: [i1.NgClass, i1.NgIf, i2$2.MatButton, i3$2.MatIcon, i6$1.MatTooltip, i2$3.MatListItem, i2$3.MatListAvatarCssMatStyler, i3$1.MatLine, i10.MatCheckbox, i1.AsyncPipe, i6$2.TranslatePipe], styles: ["mat-list-item.igo-actionbar-item-disabled[_ngcontent-%COMP%]{color:#00000042;cursor:default!important}mat-list-item.igo-actionbar-item-no-display[_ngcontent-%COMP%]{display:none}mat-checkbox[_ngcontent-%COMP%]{padding:12px}.item-checkbox[_ngcontent-%COMP%]{height:56px}.item-checkbox[_ngcontent-%COMP%] .mat-checkbox-label{margin-left:20px}"], changeDetection: 0 });
3667
3733
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarItemComponent, [{
3668
3734
  type: Component,
3669
- args: [{ selector: 'igo-actionbar-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item *ngIf=\"!action.checkbox\"\r\n matTooltipClass=\"actionbarItemTooltip\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\r\n [ngClass]=\"ngClass$ | async\"\r\n (click)=\"onClick()\">\r\n <button *ngIf=\"withIcon\"\r\n mat-list-avatar\r\n mat-icon-button\r\n [color]=\"color\"\r\n [disabled]=\"disabled$ | async\">\r\n <mat-icon *ngIf=\"withIcon\" svgIcon=\"{{icon$ | async}}\"></mat-icon>\r\n </button>\r\n <h4 *ngIf=\"withTitle\" matLine>{{title | translate}}</h4>\r\n</mat-list-item>\r\n\r\n<mat-list-item class=\"item-checkbox\" *ngIf=\"action.checkbox\"\r\n matTooltipClass=\"actionbarItemTooltip\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\r\n [ngClass]=\"ngClass$ | async\">\r\n <mat-checkbox *ngIf=\"withTitle\"\r\n (change)=\"action.handler()\"\r\n [checked]=\"checkCondition$ | async\">\r\n {{title | translate}}\r\n </mat-checkbox>\r\n</mat-list-item>\r\n", styles: ["mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}mat-list-item.igo-actionbar-item-no-display{display:none}mat-checkbox{padding:12px}.item-checkbox{height:56px}.item-checkbox ::ng-deep .mat-checkbox-label{margin-left:20px}\n"] }]
3735
+ args: [{ selector: 'igo-actionbar-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item *ngIf=\"!action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\">\n <button *ngIf=\"withIcon\"\n mat-list-avatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\">\n <mat-icon *ngIf=\"withIcon\" svgIcon=\"{{icon$ | async}}\"></mat-icon>\n </button>\n <h4 *ngIf=\"withTitle\" matLine>{{title | translate}}</h4>\n</mat-list-item>\n\n<mat-list-item class=\"item-checkbox\" *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\">\n <mat-checkbox *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\">\n {{title | translate}}\n </mat-checkbox>\n</mat-list-item>\n", styles: ["mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}mat-list-item.igo-actionbar-item-no-display{display:none}mat-checkbox{padding:12px}.item-checkbox{height:56px}.item-checkbox ::ng-deep .mat-checkbox-label{margin-left:20px}\n"] }]
3670
3736
  }], function () { return []; }, { action: [{
3671
3737
  type: Input
3672
3738
  }], color: [{
@@ -3998,7 +4064,7 @@ ActionbarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Actionba
3998
4064
  } }, dependencies: [i1.NgForOf, i1.NgIf, i2$2.MatButton, i3$2.MatIcon, i6$1.MatTooltip, i7$1.MatMenu, i7$1.MatMenuTrigger, i2$3.MatList, i9.MatCard, ActionbarItemComponent, i1.AsyncPipe, i6$2.TranslatePipe], styles: ["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;position:relative}button[_ngcontent-%COMP%]{margin:4px}.buttonOverlay[_ngcontent-%COMP%]{margin:0}mat-list[_ngcontent-%COMP%]{padding-top:0}.horizontal[_nghost-%COMP%]{max-width:100%;overflow:visible;overflow:initial}.horizontal[_nghost-%COMP%] mat-list[_ngcontent-%COMP%]{width:auto;white-space:nowrap}.horizontal[_nghost-%COMP%] igo-actionbar-item[_ngcontent-%COMP%]{display:inline-block}[_nghost-%COMP%] .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}[_nghost-%COMP%] .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:46px}[_nghost-%COMP%] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}[_nghost-%COMP%] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content>mat-icon{padding:8px}igo-actionbar-item[_ngcontent-%COMP%] mat-list-item [mat-list-avatar]{height:auto;width:40px}igo-actionbar-item[_ngcontent-%COMP%] mat-list-item:hover{cursor:pointer}.context-menu-card[_ngcontent-%COMP%]{padding:8px 3px;margin:10px}#topChevron[_ngcontent-%COMP%]{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;z-index:3}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#topChevron[_ngcontent-%COMP%]{position:fixed;top:auto;top:initial}}@supports (-ms-accelerator: true){#topChevron[_ngcontent-%COMP%]{position:fixed;top:auto;top:initial}}#lowChevron[_ngcontent-%COMP%]{position:fixed;position:-webkit-sticky;position:sticky;bottom:0;background-color:#fff;z-index:3}"], changeDetection: 0 });
3999
4065
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarComponent, [{
4000
4066
  type: Component,
4001
- args: [{ selector: 'igo-actionbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list *ngIf=\"mode === actionbarMode.Dock\">\r\n\r\n <div *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\r\n id=\"topChevron\">\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\r\n (click)=\"scrollUp()\">\r\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\r\n </button>\r\n </div>\r\n\r\n <igo-actionbar-item\r\n *ngIf=\"withToggleButton\"\r\n color=\"accent\"\r\n [withTitle]=\"false\"\r\n [withIcon]=\"true\"\r\n [color]=\"color\"\r\n [disabled]=\"store.view.empty\"\r\n [action]=\"toggleCollapseAction\"\r\n (trigger)=\"onTriggerAction(toggleCollapseAction)\">\r\n </igo-actionbar-item>\r\n\r\n <ng-template #buttonContent *ngIf=\"!collapsed\" ngFor let-action [ngForOf]=\"store.view.all$() | async\">\r\n <igo-actionbar-item\r\n color=\"accent\"\r\n [withTitle]=\"withTitle\"\r\n [withIcon]=\"withIcon\"\r\n [withTooltip]=\"withTooltip\"\r\n [color]=\"color\"\r\n [disabled]=\"store.state.get(action).disabled\"\r\n [action]=\"action\"\r\n (trigger)=\"onTriggerAction(action)\">\r\n </igo-actionbar-item>\r\n </ng-template>\r\n\r\n <div *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\r\n id=\"lowChevron\">\r\n <button\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\r\n (click)=\"scrollDown()\">\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n </button>\r\n </div>\r\n\r\n</mat-list>\r\n\r\n<div *ngIf=\"mode === actionbarMode.Overlay\">\r\n <button class=\"buttonOverlay\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\r\n [matMenuTriggerFor]=\"actionbarMenu\"\r\n [disabled]=\"store.view.empty\"\r\n [color]=\"iconColor\">\r\n <mat-icon [svgIcon]=\"icon\"></mat-icon>\r\n </button>\r\n\r\n <mat-menu\r\n #actionbarMenu=\"matMenu\"\r\n class=\"igo-compact-menu igo-no-min-width-menu\"\r\n overlapTrigger=\"true\"\r\n [xPosition]=\"xPosition\"\r\n [yPosition]=\"yPosition\"\r\n [class]=\"overlayClass\">\r\n\r\n <mat-list>\r\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\r\n <igo-actionbar-item\r\n color=\"accent\"\r\n [withTitle]=\"withTitle\"\r\n [withIcon]=\"withIcon\"\r\n [color]=\"color\"\r\n [action]=\"action\"\r\n (trigger)=\"onTriggerAction(action)\">\r\n </igo-actionbar-item>\r\n </ng-template>\r\n </mat-list>\r\n </mat-menu>\r\n</div>\r\n<mat-card *ngIf=\"mode === actionbarMode.Context\" class=\"context-menu-card mat-elevation-z4\">\r\n <mat-list>\r\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\r\n <igo-actionbar-item\r\n color=\"accent\"\r\n [withTitle]=\"withTitle\"\r\n [withIcon]=\"withIcon\"\r\n [color]=\"color\"\r\n [action]=\"action\"\r\n (trigger)=\"onTriggerAction(action)\">\r\n </igo-actionbar-item>\r\n <br/>\r\n </ng-template>\r\n </mat-list>\r\n</mat-card>\r\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}button{margin:4px}.buttonOverlay{margin:0}mat-list{padding-top:0}:host.horizontal{max-width:100%;overflow:visible;overflow:initial}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host ::ng-deep .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:46px}:host ::ng-deep .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}:host ::ng-deep .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content>mat-icon{padding:8px}igo-actionbar-item ::ng-deep mat-list-item [mat-list-avatar]{height:auto;width:40px}igo-actionbar-item ::ng-deep mat-list-item:hover{cursor:pointer}.context-menu-card{padding:8px 3px;margin:10px}#topChevron{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;z-index:3}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#topChevron{position:fixed;top:auto;top:initial}}@supports (-ms-accelerator: true){#topChevron{position:fixed;top:auto;top:initial}}#lowChevron{position:fixed;position:-webkit-sticky;position:sticky;bottom:0;background-color:#fff;z-index:3}\n"] }]
4067
+ args: [{ selector: 'igo-actionbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list *ngIf=\"mode === actionbarMode.Dock\">\n\n <div *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\">\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\n </button>\n </div>\n\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\">\n </igo-actionbar-item>\n\n <ng-template #buttonContent *ngIf=\"!collapsed\" ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\">\n </igo-actionbar-item>\n </ng-template>\n\n <div *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n </div>\n\n</mat-list>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\">\n <mat-icon [svgIcon]=\"icon\"></mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\">\n\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\">\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card *ngIf=\"mode === actionbarMode.Context\" class=\"context-menu-card mat-elevation-z4\">\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\">\n </igo-actionbar-item>\n <br/>\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}button{margin:4px}.buttonOverlay{margin:0}mat-list{padding-top:0}:host.horizontal{max-width:100%;overflow:visible;overflow:initial}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host ::ng-deep .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:46px}:host ::ng-deep .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}:host ::ng-deep .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content>mat-icon{padding:8px}igo-actionbar-item ::ng-deep mat-list-item [mat-list-avatar]{height:auto;width:40px}igo-actionbar-item ::ng-deep mat-list-item:hover{cursor:pointer}.context-menu-card{padding:8px 3px;margin:10px}#topChevron{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;z-index:3}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){#topChevron{position:fixed;top:auto;top:initial}}@supports (-ms-accelerator: true){#topChevron{position:fixed;top:auto;top:initial}}#lowChevron{position:fixed;position:-webkit-sticky;position:sticky;bottom:0;background-color:#fff;z-index:3}\n"] }]
4002
4068
  }], function () { return [{ type: i1$5.Overlay }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.MediaService }]; }, { store: [{
4003
4069
  type: Input
4004
4070
  }], mode: [{
@@ -4123,7 +4189,7 @@ BackdropComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BackdropC
4123
4189
  } }, dependencies: [i1.NgClass], styles: ["[_nghost-%COMP%] > div[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0;background-color:#64646480;z-index:2;display:none}[_nghost-%COMP%] > div.igo-backdrop-shown[_ngcontent-%COMP%]{display:block}"] });
4124
4190
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BackdropComponent, [{
4125
4191
  type: Component,
4126
- args: [{ selector: 'igo-backdrop', template: "<div [ngClass]=\"{'igo-backdrop-shown': shown}\"></div>\r\n", styles: [":host>div{position:absolute;top:0;bottom:0;left:0;right:0;background-color:#64646480;z-index:2;display:none}:host>div.igo-backdrop-shown{display:block}\n"] }]
4192
+ args: [{ selector: 'igo-backdrop', template: "<div [ngClass]=\"{'igo-backdrop-shown': shown}\"></div>\n", styles: [":host>div{position:absolute;top:0;bottom:0;left:0;right:0;background-color:#64646480;z-index:2;display:none}:host>div.igo-backdrop-shown{display:block}\n"] }]
4127
4193
  }], function () { return []; }, { shown: [{
4128
4194
  type: Input
4129
4195
  }] }); })();
@@ -4481,7 +4547,7 @@ CollapsibleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Collap
4481
4547
  } }, dependencies: [i3$2.MatIcon, i2$3.MatListItem, i2$3.MatListAvatarCssMatStyler, i3$1.MatLine, CollapseDirective], styles: ["[_nghost-%COMP%] .mat-list .mat-list-item.mat-list-avatar{height:auto;width:auto;padding:0}mat-list-item[_ngcontent-%COMP%]{overflow:hidden}"] });
4482
4548
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollapsibleComponent, [{
4483
4549
  type: Component,
4484
- args: [{ selector: 'igo-collapsible', template: "<mat-list-item>\r\n <mat-icon\r\n svgIcon=\"chevron-up\" \r\n class=\"igo-chevron\"\r\n mat-list-avatar\r\n igoCollapse\r\n [target]=\"content\"\r\n [collapsed]=\"collapsed\"\r\n (toggle)=\"collapsed = $event\">\r\n </mat-icon>\r\n <h4 matLine>{{title}}</h4>\r\n</mat-list-item>\r\n\r\n<div #content>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host ::ng-deep .mat-list .mat-list-item.mat-list-avatar{height:auto;width:auto;padding:0}mat-list-item{overflow:hidden}\n"] }]
4550
+ args: [{ selector: 'igo-collapsible', template: "<mat-list-item>\n <mat-icon\n svgIcon=\"chevron-up\" \n class=\"igo-chevron\"\n mat-list-avatar\n igoCollapse\n [target]=\"content\"\n [collapsed]=\"collapsed\"\n (toggle)=\"collapsed = $event\">\n </mat-icon>\n <h4 matLine>{{title}}</h4>\n</mat-list-item>\n\n<div #content>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .mat-list .mat-list-item.mat-list-avatar{height:auto;width:auto;padding:0}mat-list-item{overflow:hidden}\n"] }]
4485
4551
  }], null, { title: [{
4486
4552
  type: Input
4487
4553
  }], collapsed: [{
@@ -4547,7 +4613,7 @@ ConfirmDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Conf
4547
4613
  } }, dependencies: [i2$2.MatButton, i1$6.MatDialogTitle, i1$6.MatDialogContent, i1$6.MatDialogActions, i6$2.TranslatePipe], styles: ["h2[_ngcontent-%COMP%]{margin:5px 0 10px}div[mat-dialog-content][_ngcontent-%COMP%]{max-width:200px}div[mat-dialog-actions][_ngcontent-%COMP%]{margin:10px 0 0}"] });
4548
4614
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmDialogComponent, [{
4549
4615
  type: Component,
4550
- args: [{ selector: 'igo-confirm-dialog', template: "<h2 mat-dialog-title class=\"mat-typography\">{{'igo.common.confirmDialog.title' |\u00A0translate}}</h2>\r\n<div mat-dialog-content class=\"mat-typography\">{{confirmMessage}}</div>\r\n<div mat-dialog-actions>\r\n <button mat-button color=\"primary\" (click)=\"dialogRef.close(true)\">{{'igo.common.confirmDialog.confirmBtn' | translate}}</button>\r\n <button mat-button (click)=\"dialogRef.close(false)\">{{'igo.common.confirmDialog.cancelBtn' |\u00A0translate}}</button>\r\n</div>\r\n", styles: ["h2{margin:5px 0 10px}div[mat-dialog-content]{max-width:200px}div[mat-dialog-actions]{margin:10px 0 0}\n"] }]
4616
+ args: [{ selector: 'igo-confirm-dialog', template: "<h2 mat-dialog-title class=\"mat-typography\">{{'igo.common.confirmDialog.title' |\u00A0translate}}</h2>\n<div mat-dialog-content class=\"mat-typography\">{{confirmMessage}}</div>\n<div mat-dialog-actions>\n <button mat-button color=\"primary\" (click)=\"dialogRef.close(true)\">{{'igo.common.confirmDialog.confirmBtn' | translate}}</button>\n <button mat-button (click)=\"dialogRef.close(false)\">{{'igo.common.confirmDialog.cancelBtn' |\u00A0translate}}</button>\n</div>\n", styles: ["h2{margin:5px 0 10px}div[mat-dialog-content]{max-width:200px}div[mat-dialog-actions]{margin:10px 0 0}\n"] }]
4551
4617
  }], function () { return [{ type: i1$6.MatDialogRef }]; }, null); })();
4552
4618
 
4553
4619
  class ConfirmDialogService {
@@ -4598,7 +4664,19 @@ class ContextMenuDirective {
4598
4664
  this.menuPosition = new EventEmitter();
4599
4665
  }
4600
4666
  onContextMenu(e) {
4601
- const { x, y } = e;
4667
+ let x;
4668
+ let y;
4669
+ if (e instanceof TouchEvent) {
4670
+ x = e.touches[0].pageX;
4671
+ y = e.touches[0].pageY;
4672
+ }
4673
+ else if (e instanceof MouseEvent) {
4674
+ x = e.x;
4675
+ y = e.y;
4676
+ }
4677
+ if (!x || !y) {
4678
+ return;
4679
+ }
4602
4680
  this.close();
4603
4681
  e.preventDefault();
4604
4682
  this.menuPosition.emit({ x, y });
@@ -4655,7 +4733,7 @@ class ContextMenuDirective {
4655
4733
  }
4656
4734
  ContextMenuDirective.ɵfac = function ContextMenuDirective_Factory(t) { return new (t || ContextMenuDirective)(i0.ɵɵdirectiveInject(i1$5.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef)); };
4657
4735
  ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ContextMenuDirective, selectors: [["", "igoContextMenu", ""]], hostBindings: function ContextMenuDirective_HostBindings(rf, ctx) { if (rf & 1) {
4658
- i0.ɵɵlistener("contextmenu", function ContextMenuDirective_contextmenu_HostBindingHandler($event) { return ctx.onContextMenu($event); });
4736
+ i0.ɵɵlistener("longpress", function ContextMenuDirective_longpress_HostBindingHandler($event) { return ctx.onContextMenu($event); })("contextmenu", function ContextMenuDirective_contextmenu_HostBindingHandler($event) { return ctx.onContextMenu($event); });
4659
4737
  } }, inputs: { menuContext: ["igoContextMenu", "menuContext"] }, outputs: { menuPosition: "menuPosition" } });
4660
4738
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextMenuDirective, [{
4661
4739
  type: Directive,
@@ -4668,10 +4746,54 @@ ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Contex
4668
4746
  }], menuPosition: [{
4669
4747
  type: Output
4670
4748
  }], onContextMenu: [{
4749
+ type: HostListener,
4750
+ args: ['longpress', ['$event']]
4751
+ }, {
4671
4752
  type: HostListener,
4672
4753
  args: ['contextmenu', ['$event']]
4673
4754
  }] }); })();
4674
4755
 
4756
+ class LongPressDirective {
4757
+ constructor() {
4758
+ this.longpress = new EventEmitter();
4759
+ }
4760
+ touchstart(e) {
4761
+ this.touchTimeout = setTimeout(() => {
4762
+ this.longpress.emit(e);
4763
+ }, 400);
4764
+ }
4765
+ touchend() {
4766
+ this.touchEnd();
4767
+ }
4768
+ touchEnd() {
4769
+ clearTimeout(this.touchTimeout);
4770
+ }
4771
+ }
4772
+ LongPressDirective.ɵfac = function LongPressDirective_Factory(t) { return new (t || LongPressDirective)(); };
4773
+ LongPressDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LongPressDirective, selectors: [["", "igoLongPress", ""]], hostBindings: function LongPressDirective_HostBindings(rf, ctx) { if (rf & 1) {
4774
+ i0.ɵɵlistener("touchstart", function LongPressDirective_touchstart_HostBindingHandler($event) { return ctx.touchstart($event); })("touchmove", function LongPressDirective_touchmove_HostBindingHandler() { return ctx.touchend(); })("touchcancel", function LongPressDirective_touchcancel_HostBindingHandler() { return ctx.touchend(); })("touchend", function LongPressDirective_touchend_HostBindingHandler() { return ctx.touchend(); });
4775
+ } }, outputs: { longpress: "longpress" } });
4776
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LongPressDirective, [{
4777
+ type: Directive,
4778
+ args: [{
4779
+ selector: '[igoLongPress]'
4780
+ }]
4781
+ }], function () { return []; }, { longpress: [{
4782
+ type: Output
4783
+ }], touchstart: [{
4784
+ type: HostListener,
4785
+ args: ['touchstart', ['$event']]
4786
+ }], touchend: [{
4787
+ type: HostListener,
4788
+ args: ['touchmove']
4789
+ }, {
4790
+ type: HostListener,
4791
+ args: ['touchcancel']
4792
+ }, {
4793
+ type: HostListener,
4794
+ args: ['touchend']
4795
+ }] }); })();
4796
+
4675
4797
  class IgoContextMenuModule {
4676
4798
  static forRoot() {
4677
4799
  return {
@@ -4687,11 +4809,11 @@ IgoContextMenuModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
4687
4809
  type: NgModule,
4688
4810
  args: [{
4689
4811
  imports: [],
4690
- declarations: [ContextMenuDirective],
4691
- exports: [ContextMenuDirective]
4812
+ declarations: [ContextMenuDirective, LongPressDirective],
4813
+ exports: [ContextMenuDirective, LongPressDirective]
4692
4814
  }]
4693
4815
  }], null, null); })();
4694
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextMenuModule, { declarations: [ContextMenuDirective], exports: [ContextMenuDirective] }); })();
4816
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextMenuModule, { declarations: [ContextMenuDirective, LongPressDirective], exports: [ContextMenuDirective, LongPressDirective] }); })();
4695
4817
 
4696
4818
  class CustomHtmlComponent {
4697
4819
  constructor() {
@@ -4713,7 +4835,7 @@ CustomHtmlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CustomH
4713
4835
  } }, dependencies: [SanitizeHtmlPipe], styles: [".custom-html[_ngcontent-%COMP%]{padding:20px}"] });
4714
4836
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomHtmlComponent, [{
4715
4837
  type: Component,
4716
- args: [{ selector: 'igo-custom-html', template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\r\n", styles: [".custom-html{padding:20px}\n"] }]
4838
+ args: [{ selector: 'igo-custom-html', template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [".custom-html{padding:20px}\n"] }]
4717
4839
  }], function () { return []; }, { html: [{
4718
4840
  type: Input
4719
4841
  }] }); })();
@@ -5211,7 +5333,7 @@ DynamicOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
5211
5333
  } }, styles: ["[_nghost-%COMP%]{display:block;width:100%;height:100%}"], changeDetection: 0 });
5212
5334
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicOutletComponent, [{
5213
5335
  type: Component,
5214
- args: [{ selector: 'igo-dynamic-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #target></ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
5336
+ args: [{ selector: 'igo-dynamic-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #target></ng-template>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
5215
5337
  }], function () { return [{ type: DynamicComponentService }, { type: i0.ChangeDetectorRef }]; }, { component: [{
5216
5338
  type: Input
5217
5339
  }], inputs: [{
@@ -5396,7 +5518,7 @@ FlexibleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FlexibleC
5396
5518
  } }, styles: ["[_nghost-%COMP%]{display:flex;height:100%;width:100%}.column[_nghost-%COMP%]{flex-direction:column}.row[_nghost-%COMP%]{flex-direction:row}.igo-flexible-main[_ngcontent-%COMP%]{flex:0 0 auto;overflow:hidden}.igo-flexible-main.column[_ngcontent-%COMP%]{transition:height .25s ease-in}.igo-flexible-main.row[_ngcontent-%COMP%]{transition:width .25s ease-in}.igo-flexible-fill[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.igo-container[_ngcontent-%COMP%]{width:calc(100% - 10px);height:100%;padding:5px 0;margin:0 5px;overflow:hidden;position:relative} .igo-flexible-fill{flex:1 1 auto;overflow:hidden;position:relative} .igo-content{height:100%;width:100%;overflow:auto} igo-panel{height:100%}"] });
5397
5519
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FlexibleComponent, [{
5398
5520
  type: Component,
5399
- args: [{ selector: 'igo-flexible', template: "<div #flexibleMain class=\"igo-flexible-main {{state}} {{direction}}\">\r\n <div class=\"igo-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"igo-flexible-fill\">\r\n <div>\r\n \t<div class=\"igo-container\">\r\n <ng-content select=\"[igoFlexibleFill]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%}:host.column{flex-direction:column}:host.row{flex-direction:row}.igo-flexible-main{flex:0 0 auto;overflow:hidden}.igo-flexible-main.column{transition:height .25s ease-in}.igo-flexible-main.row{transition:width .25s ease-in}.igo-flexible-fill>div{position:absolute;top:0;bottom:0;left:0;right:0}.igo-container{width:calc(100% - 10px);height:100%;padding:5px 0;margin:0 5px;overflow:hidden;position:relative}::ng-deep .igo-flexible-fill{flex:1 1 auto;overflow:hidden;position:relative}::ng-deep .igo-content{height:100%;width:100%;overflow:auto}::ng-deep igo-panel{height:100%}\n"] }]
5521
+ args: [{ selector: 'igo-flexible', template: "<div #flexibleMain class=\"igo-flexible-main {{state}} {{direction}}\">\n <div class=\"igo-container\">\n <ng-content></ng-content>\n </div>\n</div>\n<div class=\"igo-flexible-fill\">\n <div>\n \t<div class=\"igo-container\">\n <ng-content select=\"[igoFlexibleFill]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%}:host.column{flex-direction:column}:host.row{flex-direction:row}.igo-flexible-main{flex:0 0 auto;overflow:hidden}.igo-flexible-main.column{transition:height .25s ease-in}.igo-flexible-main.row{transition:width .25s ease-in}.igo-flexible-fill>div{position:absolute;top:0;bottom:0;left:0;right:0}.igo-container{width:calc(100% - 10px);height:100%;padding:5px 0;margin:0 5px;overflow:hidden;position:relative}::ng-deep .igo-flexible-fill{flex:1 1 auto;overflow:hidden;position:relative}::ng-deep .igo-content{height:100%;width:100%;overflow:auto}::ng-deep igo-panel{height:100%}\n"] }]
5400
5522
  }], function () { return [{ type: i0.ElementRef }, { type: i1$1.MediaService }]; }, { main: [{
5401
5523
  type: ViewChild,
5402
5524
  args: ['flexibleMain', { static: true }]
@@ -5576,7 +5698,7 @@ FormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormComponent
5576
5698
  } }, dependencies: [i1.NgClass, i1$4.ɵNgNoValidate, i1$4.NgControlStatusGroup, i1$4.FormGroupDirective], styles: ["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{width:100%;height:100%}.igo-form-body[_ngcontent-%COMP%], .igo-form-content[_ngcontent-%COMP%]{height:100%}.igo-form-body-with-buttons[_ngcontent-%COMP%] .igo-form-content[_ngcontent-%COMP%]{height:calc(100% - 56px)}.igo-form-content[_ngcontent-%COMP%]{display:flex}"], changeDetection: 0 });
5577
5699
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormComponent, [{
5578
5700
  type: Component,
5579
- args: [{ selector: 'igo-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<form\r\n [autocomplete]=\"autocomplete\"\r\n [formGroup]=\"form.control\"\r\n (ngSubmit)=\"onSubmit()\">\r\n <div class=\"igo-form-body\" [ngClass]=\"{'igo-form-body-with-buttons': hasButtons}\">\r\n <div class=\"igo-form-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div #buttons class=\"igo-form-buttons\">\r\n <ng-content select=\"[formButtons]\"></ng-content>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [":host{display:block}form{width:100%;height:100%}.igo-form-body,.igo-form-content{height:100%}.igo-form-body-with-buttons .igo-form-content{height:calc(100% - 56px)}.igo-form-content{display:flex}\n"] }]
5701
+ args: [{ selector: 'igo-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<form\n [autocomplete]=\"autocomplete\"\n [formGroup]=\"form.control\"\n (ngSubmit)=\"onSubmit()\">\n <div class=\"igo-form-body\" [ngClass]=\"{'igo-form-body-with-buttons': hasButtons}\">\n <div class=\"igo-form-content\">\n <ng-content></ng-content>\n </div>\n <div #buttons class=\"igo-form-buttons\">\n <ng-content select=\"[formButtons]\"></ng-content>\n </div>\n </div>\n</form>\n", styles: [":host{display:block}form{width:100%;height:100%}.igo-form-body,.igo-form-content{height:100%}.igo-form-body-with-buttons .igo-form-content{height:calc(100% - 56px)}.igo-form-content{display:flex}\n"] }]
5580
5702
  }], function () { return []; }, { form: [{
5581
5703
  type: Input
5582
5704
  }], formData: [{
@@ -5693,14 +5815,14 @@ class FormService {
5693
5815
  return Validators[name](args);
5694
5816
  }
5695
5817
  }
5696
- FormService.ɵfac = function FormService_Factory(t) { return new (t || FormService)(i0.ɵɵinject(i1$4.FormBuilder)); };
5818
+ FormService.ɵfac = function FormService_Factory(t) { return new (t || FormService)(i0.ɵɵinject(i1$4.UntypedFormBuilder)); };
5697
5819
  FormService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormService, factory: FormService.ɵfac, providedIn: 'root' });
5698
5820
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormService, [{
5699
5821
  type: Injectable,
5700
5822
  args: [{
5701
5823
  providedIn: 'root'
5702
5824
  }]
5703
- }], function () { return [{ type: i1$4.FormBuilder }]; }, null); })();
5825
+ }], function () { return [{ type: i1$4.UntypedFormBuilder }]; }, null); })();
5704
5826
 
5705
5827
  /**
5706
5828
  * Service where all available form fields are registered.
@@ -5796,7 +5918,7 @@ FormFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormFiel
5796
5918
  } }, dependencies: [i1.NgIf, DynamicOutletComponent], styles: ["mat-form-field{width:100%} .igo-form-disable-switch{margin-right:8px}"], changeDetection: 0 });
5797
5919
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldComponent, [{
5798
5920
  type: Component,
5799
- args: [{ selector: 'igo-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n\r\n<ng-container *ngIf=\"field !== undefined\">\r\n <igo-dynamic-outlet\r\n [component]=\"getFieldComponent()\"\r\n [inputs]=\"getFieldInputs()\"\r\n [subscribers]=\"getFieldSubscribers()\">\r\n </igo-dynamic-outlet>\r\n</ng-container>\r\n", styles: ["::ng-deep mat-form-field{width:100%}::ng-deep .igo-form-disable-switch{margin-right:8px}\n"] }]
5921
+ args: [{ selector: 'igo-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<ng-container *ngIf=\"field !== undefined\">\n <igo-dynamic-outlet\n [component]=\"getFieldComponent()\"\n [inputs]=\"getFieldInputs()\"\n [subscribers]=\"getFieldSubscribers()\">\n </igo-dynamic-outlet>\n</ng-container>\n", styles: ["::ng-deep mat-form-field{width:100%}::ng-deep .igo-form-disable-switch{margin-right:8px}\n"] }]
5800
5922
  }], function () { return [{ type: FormFieldService }]; }, { field: [{
5801
5923
  type: Input
5802
5924
  }] }); })();
@@ -5901,7 +6023,7 @@ FormFieldSelectComponent = __decorate([
5901
6023
  ], FormFieldSelectComponent);
5902
6024
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldSelectComponent, [{
5903
6025
  type: Component,
5904
- args: [{ selector: 'igo-form-field-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\r\n <mat-select\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"formControl\">\r\n <mat-option *ngFor=\"let choice of choices$ | async\" [value]=\"choice.value\">\r\n {{choice.title}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-icon\r\n *ngIf=\"disableSwitch === true\"\r\n class=\"igo-form-disable-switch\"\r\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\r\n (click)=\"onDisableSwitchClick()\"\r\n matPrefix>\r\n </mat-icon>\r\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\r\n</mat-form-field>\r\n" }]
6026
+ args: [{ selector: 'igo-form-field-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-select\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <mat-option *ngFor=\"let choice of choices$ | async\" [value]=\"choice.value\">\n {{choice.title}}\n </mat-option>\n </mat-select>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix>\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\n</mat-form-field>\n" }]
5905
6027
  }], null, { choices: [{
5906
6028
  type: Input
5907
6029
  }], formControl: [{
@@ -5994,7 +6116,7 @@ FormFieldTextComponent = __decorate([
5994
6116
  ], FormFieldTextComponent);
5995
6117
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldTextComponent, [{
5996
6118
  type: Component,
5997
- args: [{ selector: 'igo-form-field-text', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\r\n <input\r\n matInput\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"formControl\">\r\n <mat-icon\r\n *ngIf=\"disableSwitch === true\"\r\n class=\"igo-form-disable-switch\"\r\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\r\n (click)=\"onDisableSwitchClick()\"\r\n matPrefix>\r\n </mat-icon>\r\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\r\n</mat-form-field>\r\n" }]
6119
+ args: [{ selector: 'igo-form-field-text', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <input\n matInput\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix>\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\n</mat-form-field>\n" }]
5998
6120
  }], null, { formControl: [{
5999
6121
  type: Input
6000
6122
  }], placeholder: [{
@@ -6086,7 +6208,7 @@ FormFieldTextareaComponent = __decorate([
6086
6208
  ], FormFieldTextareaComponent);
6087
6209
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldTextareaComponent, [{
6088
6210
  type: Component,
6089
- args: [{ selector: 'igo-form-field-textarea', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\r\n <textarea\r\n matInput\r\n [required]=\"required\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"formControl\">\r\n </textarea>\r\n <mat-icon\r\n *ngIf=\"disableSwitch === true\"\r\n class=\"igo-form-disable-switch\"\r\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\r\n (click)=\"onDisableSwitchClick()\"\r\n matPrefix>\r\n </mat-icon>\r\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\r\n</mat-form-field>\r\n" }]
6211
+ args: [{ selector: 'igo-form-field-textarea', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <textarea\n matInput\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n </textarea>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix>\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\n</mat-form-field>\n" }]
6090
6212
  }], null, { formControl: [{
6091
6213
  type: Input
6092
6214
  }], placeholder: [{
@@ -6248,7 +6370,7 @@ FormGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGrou
6248
6370
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i4.MatError, FormFieldComponent, i6$2.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%;height:100%;display:block;overflow:auto;padding:10px 5px}.igo-form-field-wrapper[_ngcontent-%COMP%]{display:inline-block;padding:0 5px}.igo-form-field-colspan-2[_ngcontent-%COMP%]{width:100%}.igo-form-field-colspan-1[_ngcontent-%COMP%]{width:50%}"], changeDetection: 0 });
6249
6371
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormGroupComponent, [{
6250
6372
  type: Component,
6251
- args: [{ selector: 'igo-form-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n *ngIf=\"group && group.fields.length > 0\"\r\n class=\"igo-form-group-fields\">\r\n <div\r\n *ngFor=\"let field of group.fields\"\r\n class=\"igo-form-field-wrapper\"\r\n [ngClass]=\"getFieldNgClass(field)\">\r\n <igo-form-field [field]=\"field\"></igo-form-field>\r\n </div>\r\n</div>\r\n\r\n<div class=\"igo-form-group-extra-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\r\n", styles: [":host{width:100%;height:100%;display:block;overflow:auto;padding:10px 5px}.igo-form-field-wrapper{display:inline-block;padding:0 5px}.igo-form-field-colspan-2{width:100%}.igo-form-field-colspan-1{width:50%}\n"] }]
6373
+ args: [{ selector: 'igo-form-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"group && group.fields.length > 0\"\n class=\"igo-form-group-fields\">\n <div\n *ngFor=\"let field of group.fields\"\n class=\"igo-form-field-wrapper\"\n [ngClass]=\"getFieldNgClass(field)\">\n <igo-form-field [field]=\"field\"></igo-form-field>\n </div>\n</div>\n\n<div class=\"igo-form-group-extra-content\">\n <ng-content></ng-content>\n</div>\n\n<mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\n", styles: [":host{width:100%;height:100%;display:block;overflow:auto;padding:10px 5px}.igo-form-field-wrapper{display:inline-block;padding:0 5px}.igo-form-field-colspan-2{width:100%}.igo-form-field-colspan-1{width:50%}\n"] }]
6252
6374
  }], function () { return []; }, { group: [{
6253
6375
  type: Input
6254
6376
  }], errors: [{
@@ -6349,7 +6471,7 @@ HomeButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HomeBut
6349
6471
  } }, dependencies: [i3$2.MatIcon, i2$2.MatButton, i6$1.MatTooltip, i6$2.TranslatePipe], styles: ["#homeButton[_ngcontent-%COMP%]{position:absolute;top:50px;left:0px;border-radius:0;height:46px;width:48px}"] });
6350
6472
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HomeButtonComponent, [{
6351
6473
  type: Component,
6352
- args: [{ selector: 'igo-home-button', template: "<button\r\n id=\"homeButton\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.context.sidenav.mainMenu' | translate\"\r\n (click)=\"onUnselectButtonClick()\">\r\n <mat-icon svgIcon=\"home\"></mat-icon>\r\n</button>\r\n", styles: ["#homeButton{position:absolute;top:50px;left:0px;border-radius:0;height:46px;width:48px}\n"] }]
6474
+ args: [{ selector: 'igo-home-button', template: "<button\n id=\"homeButton\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.context.sidenav.mainMenu' | translate\"\n (click)=\"onUnselectButtonClick()\">\n <mat-icon svgIcon=\"home\"></mat-icon>\n</button>\n", styles: ["#homeButton{position:absolute;top:50px;left:0px;border-radius:0;height:46px;width:48px}\n"] }]
6353
6475
  }], function () { return []; }, { unselectButton: [{
6354
6476
  type: Output
6355
6477
  }] }); })();
@@ -6493,11 +6615,11 @@ IgoImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
6493
6615
  type: NgModule,
6494
6616
  args: [{
6495
6617
  imports: [],
6496
- declarations: [SecureImagePipe],
6497
- exports: [SecureImagePipe]
6618
+ declarations: [SecureImagePipe, ImageErrorDirective],
6619
+ exports: [SecureImagePipe, ImageErrorDirective]
6498
6620
  }]
6499
6621
  }], null, null); })();
6500
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe], exports: [SecureImagePipe] }); })();
6622
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] }); })();
6501
6623
 
6502
6624
  /**
6503
6625
  * @ignore
@@ -7256,7 +7378,7 @@ InteractiveTourComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: In
7256
7378
  } }, dependencies: [i1.NgClass, i1.NgIf, i3$2.MatIcon, i2$2.MatButton, i6$1.MatTooltip, i1.AsyncPipe, i6$2.TranslatePipe], styles: [".shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-text{font-size:14px!important}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"], encapsulation: 2 });
7257
7379
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InteractiveTourComponent, [{
7258
7380
  type: Component,
7259
- args: [{ selector: 'igo-interactive-tour', encapsulation: ViewEncapsulation.None, template: "<button *ngIf=\"showTourButton\"\r\n (click) = \"startInteractiveTour()\"\r\n [ngClass]=\"getClass()\"\r\n mat-raised-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [disabled]=disabledTourButton>\r\n <span class=\"interactive-tour-button-title\">{{'igo.common.interactiveTour.buttonTitle' | translate}} {{(discoverTitleInLocale$ | async) | translate}}</span>\r\n <mat-icon\r\n svgIcon=\"presentation-play\"\r\n [matTooltip]=\"disabledTourButton ?\r\n ('igo.common.interactiveTour.disaledTooltipTourToolButton' | translate) :\r\n ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\">\r\n </mat-icon>\r\n</button>\r\n", styles: [".shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-text{font-size:14px!important}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"] }]
7381
+ args: [{ selector: 'igo-interactive-tour', encapsulation: ViewEncapsulation.None, template: "<button *ngIf=\"showTourButton\"\n (click) = \"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=disabledTourButton>\n <span class=\"interactive-tour-button-title\">{{'igo.common.interactiveTour.buttonTitle' | translate}} {{(discoverTitleInLocale$ | async) | translate}}</span>\n <mat-icon\n svgIcon=\"presentation-play\"\n [matTooltip]=\"disabledTourButton ?\n ('igo.common.interactiveTour.disaledTooltipTourToolButton' | translate) :\n ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\">\n </mat-icon>\n</button>\n", styles: [".shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-text{font-size:14px!important}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"] }]
7260
7382
  }], function () { return [{ type: InteractiveTourService }, { type: ToolService }]; }, { tourToStart: [{
7261
7383
  type: Input
7262
7384
  }], styleButton: [{
@@ -7432,7 +7554,7 @@ JsonDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JsonDia
7432
7554
  } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2$2.MatButton, i1$6.MatDialogTitle, i1$6.MatDialogContent, i1$6.MatDialogActions, KeyValuePipe], encapsulation: 2 });
7433
7555
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JsonDialogComponent, [{
7434
7556
  type: Component,
7435
- args: [{ selector: 'igo-json-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ title }}</h1>\r\n\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <ng-container *ngTemplateOutlet=\"loopObject;context:{ obj: data }\"></ng-container>\r\n\r\n <ng-template #loopObject let-obj='obj' let-baseKey='baseKey'>\r\n <ng-container *ngFor=\"let property of obj | keyvalue\">\r\n <ng-container *ngIf=\"ignoreKeys.indexOf(getKey(baseKey, property.key)) === -1\">\r\n\r\n <ng-container *ngIf=\"isObject(property.value); else notObject\">\r\n <ng-container *ngTemplateOutlet=\"loopObject;context:{ obj: property.value, baseKey: getKey(baseKey, property.key) }\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notObject>\r\n <p><span><b>{{getKey(baseKey, property.key)}}</b> : </span><span class=\"propertyValue\" [innerHtml]=\"property.value\"></span></p>\r\n </ng-template>\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<div mat-dialog-actions>\r\n <button mat-button color=\"primary\"\r\n (click)=\"dialogRef.close(false)\">\r\n OK\r\n </button>\r\n</div>\r\n" }]
7557
+ args: [{ selector: 'igo-json-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ title }}</h1>\n\n<div mat-dialog-content class=\"mat-typography\">\n <ng-container *ngTemplateOutlet=\"loopObject;context:{ obj: data }\"></ng-container>\n\n <ng-template #loopObject let-obj='obj' let-baseKey='baseKey'>\n <ng-container *ngFor=\"let property of obj | keyvalue\">\n <ng-container *ngIf=\"ignoreKeys.indexOf(getKey(baseKey, property.key)) === -1\">\n\n <ng-container *ngIf=\"isObject(property.value); else notObject\">\n <ng-container *ngTemplateOutlet=\"loopObject;context:{ obj: property.value, baseKey: getKey(baseKey, property.key) }\"></ng-container>\n </ng-container>\n\n <ng-template #notObject>\n <p><span><b>{{getKey(baseKey, property.key)}}</b> : </span><span class=\"propertyValue\" [innerHtml]=\"property.value\"></span></p>\n </ng-template>\n\n </ng-container>\n </ng-container>\n </ng-template>\n</div>\n\n<div mat-dialog-actions>\n <button mat-button color=\"primary\"\n (click)=\"dialogRef.close(false)\">\n OK\n </button>\n</div>\n" }]
7436
7558
  }], function () { return [{ type: i1$6.MatDialogRef }]; }, null); })();
7437
7559
 
7438
7560
  class JsonDialogService {
@@ -7876,10 +7998,10 @@ ListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListComponent
7876
7998
  i0.ɵɵelementEnd();
7877
7999
  } if (rf & 2) {
7878
8000
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c0$4, ctx.selection));
7879
- } }, dependencies: [i1.NgClass, i2$3.MatList, ClickoutDirective], styles: ["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;position:relative}mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%]{position:static}[_nghost-%COMP%] .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}[_nghost-%COMP%] .mat-list .mat-list-item.mat-list-item-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}[_nghost-%COMP%] .mat-list .mat-list-item.mat-list-item-avatar{height:46px}[_nghost-%COMP%] .mat-list igo-collapsible>.mat-list-item>.mat-list-item-content>.mat-list-text>.mat-line{font-weight:700;opacity:.9}[_nghost-%COMP%] .mat-list .mat-list-item.mat-list-item-avatar .mat-list-item-content>mat-icon{padding:8px}[_nghost-%COMP%] [igolistitem] mat-list-item [mat-list-avatar]{height:auto;width:40px}[_nghost-%COMP%] mat-list.selectable[_ngcontent-%COMP%] [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}[_nghost-%COMP%] [igolistitem]:focus{outline:none}"] });
8001
+ } }, dependencies: [i1.NgClass, i2$3.MatList, ClickoutDirective], styles: ["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;position:relative}mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%]{position:static}[_nghost-%COMP%] .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}[_nghost-%COMP%] .mat-list .mat-list-item.mat-list-item-with-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}[_nghost-%COMP%] .mat-list .mat-list-item.mat-list-item-with-avatar{height:46px}[_nghost-%COMP%] .mat-list igo-collapsible>.mat-list-item>.mat-list-item-content>.mat-list-text>.mat-line{font-weight:700;opacity:.9}[_nghost-%COMP%] .mat-list .mat-list-item.mat-list-item-with-avatar .mat-list-item-content>mat-icon{padding:8px}[_nghost-%COMP%] [igolistitem] mat-list-item [mat-list-avatar]{height:auto;width:40px}[_nghost-%COMP%] mat-list.selectable[_ngcontent-%COMP%] [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}[_nghost-%COMP%] [igolistitem]:focus{outline:none}"] });
7880
8002
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListComponent, [{
7881
8003
  type: Component,
7882
- args: [{ selector: 'igo-list', template: "<mat-list\r\n igoClickout\r\n [ngClass]=\"{'selectable': selection}\"\r\n (clickout)=\"disableNavigation()\"\r\n (click)=\"enableNavigation()\">\r\n <ng-content></ng-content>\r\n</mat-list>\r\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}mat-list{padding-top:0}:host{position:static}:host ::ng-deep .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-list .mat-list-item.mat-list-item-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}:host ::ng-deep .mat-list .mat-list-item.mat-list-item-avatar{height:46px}:host ::ng-deep .mat-list ::ng-deep igo-collapsible>.mat-list-item>.mat-list-item-content>.mat-list-text>.mat-line{font-weight:700;opacity:.9}:host ::ng-deep .mat-list .mat-list-item.mat-list-item-avatar .mat-list-item-content>mat-icon{padding:8px}:host ::ng-deep [igolistitem] mat-list-item [mat-list-avatar]{height:auto;width:40px}:host mat-list.selectable ::ng-deep [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}:host ::ng-deep [igolistitem]:focus{outline:none}\n"] }]
8004
+ args: [{ selector: 'igo-list', template: "<mat-list\n igoClickout\n [ngClass]=\"{'selectable': selection}\"\n (clickout)=\"disableNavigation()\"\n (click)=\"enableNavigation()\">\n <ng-content></ng-content>\n</mat-list>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}mat-list{padding-top:0}:host{position:static}:host ::ng-deep .mat-list .mat-list-item .mat-list-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-list .mat-list-item.mat-list-item-with-avatar .mat-list-item-content{display:-webkit-flex;height:46px;padding:3px}:host ::ng-deep .mat-list .mat-list-item.mat-list-item-with-avatar{height:46px}:host ::ng-deep .mat-list ::ng-deep igo-collapsible>.mat-list-item>.mat-list-item-content>.mat-list-text>.mat-line{font-weight:700;opacity:.9}:host ::ng-deep .mat-list .mat-list-item.mat-list-item-with-avatar .mat-list-item-content>mat-icon{padding:8px}:host ::ng-deep [igolistitem] mat-list-item [mat-list-avatar]{height:auto;width:40px}:host mat-list.selectable ::ng-deep [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}:host ::ng-deep [igolistitem]:focus{outline:none}\n"] }]
7883
8005
  }], function () { return [{ type: i0.ElementRef }]; }, { navigation: [{
7884
8006
  type: Input
7885
8007
  }], selection: [{
@@ -7963,7 +8085,7 @@ PanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PanelCompone
7963
8085
  } }, dependencies: [i1.NgIf], styles: ["[_nghost-%COMP%]{display:block}.igo-panel-header[_ngcontent-%COMP%]{height:46px;padding:3px;text-align:center}.igo-panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;height:40px}.igo-panel-header[_ngcontent-%COMP%] [panelleftbutton]{float:left;margin-right:-40px}.igo-panel-header[_ngcontent-%COMP%] [panelrightbutton]{float:right}.igo-panel-content[_ngcontent-%COMP%]{overflow:auto}.igo-panel-with-header[_nghost-%COMP%] .igo-panel-content[_ngcontent-%COMP%]{height:calc(100% - 46px)}[_nghost-%COMP%]:not(.igo-panel-with-header) .igo-panel-content[_ngcontent-%COMP%]{height:100%}.igo-panel-title[_ngcontent-%COMP%]{display:block;width:calc(100% - 80px);margin-left:40px;height:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:40px;float:left;font-weight:700;font-size:1.17em}"], changeDetection: 0 });
7964
8086
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PanelComponent, [{
7965
8087
  type: Component,
7966
- args: [{ selector: 'igo-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"withHeader\" class=\"igo-panel-header mat-typography\" title=\"\">\r\n <h3>\r\n <ng-content select=\"[panelLeftButton]\"></ng-content>\r\n <div class=\"igo-panel-title\">\r\n {{ title }}\r\n <ng-content select=\"[panelHeader]\"></ng-content>\r\n </div>\r\n <ng-content select=\"[panelRightButton]\"></ng-content>\r\n </h3>\r\n</div>\r\n<div class=\"igo-panel-content\" title=\"\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{display:block}.igo-panel-header{height:46px;padding:3px;text-align:center}.igo-panel-header h3{margin:0;height:40px}.igo-panel-header ::ng-deep [panelleftbutton]{float:left;margin-right:-40px}.igo-panel-header ::ng-deep [panelrightbutton]{float:right}.igo-panel-content{overflow:auto}:host.igo-panel-with-header .igo-panel-content{height:calc(100% - 46px)}:host:not(.igo-panel-with-header) .igo-panel-content{height:100%}.igo-panel-title{display:block;width:calc(100% - 80px);margin-left:40px;height:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:40px;float:left;font-weight:700;font-size:1.17em}\n"] }]
8088
+ args: [{ selector: 'igo-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"withHeader\" class=\"igo-panel-header mat-typography\" title=\"\">\n <h3>\n <ng-content select=\"[panelLeftButton]\"></ng-content>\n <div class=\"igo-panel-title\">\n {{ title }}\n <ng-content select=\"[panelHeader]\"></ng-content>\n </div>\n <ng-content select=\"[panelRightButton]\"></ng-content>\n </h3>\n</div>\n<div class=\"igo-panel-content\" title=\"\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}.igo-panel-header{height:46px;padding:3px;text-align:center}.igo-panel-header h3{margin:0;height:40px}.igo-panel-header ::ng-deep [panelleftbutton]{float:left;margin-right:-40px}.igo-panel-header ::ng-deep [panelrightbutton]{float:right}.igo-panel-content{overflow:auto}:host.igo-panel-with-header .igo-panel-content{height:calc(100% - 46px)}:host:not(.igo-panel-with-header) .igo-panel-content{height:100%}.igo-panel-title{display:block;width:calc(100% - 80px);margin-left:40px;height:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:40px;float:left;font-weight:700;font-size:1.17em}\n"] }]
7967
8089
  }], null, { title: [{
7968
8090
  type: Input
7969
8091
  }], withHeader: [{
@@ -8086,7 +8208,7 @@ SpinnerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpinnerCom
8086
8208
  } }, dependencies: [i1.NgClass, i2$4.MatProgressSpinner, i1.AsyncPipe], styles: [".igo-spinner-container[_ngcontent-%COMP%]{display:none;pointer-events:none}.igo-spinner-container.igo-spinner-shown[_ngcontent-%COMP%]{display:block}mat-progress-spinner[_ngcontent-%COMP%]{height:40px;width:40px;border-radius:50%}.igo-spinner-background[_ngcontent-%COMP%]{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}"] });
8087
8209
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpinnerComponent, [{
8088
8210
  type: Component,
8089
- args: [{ selector: 'igo-spinner', template: "<div\r\n [ngClass]=\"{'igo-spinner-container': true, 'igo-spinner-shown': (shown$ | async)}\">\r\n <div class=\"igo-spinner-background\"></div>\r\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".igo-spinner-container{display:none;pointer-events:none}.igo-spinner-container.igo-spinner-shown{display:block}mat-progress-spinner{height:40px;width:40px;border-radius:50%}.igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"] }]
8211
+ args: [{ selector: 'igo-spinner', template: "<div\n [ngClass]=\"{'igo-spinner-container': true, 'igo-spinner-shown': (shown$ | async)}\">\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\"></mat-progress-spinner>\n</div>\n", styles: [".igo-spinner-container{display:none;pointer-events:none}.igo-spinner-container.igo-spinner-shown{display:block}mat-progress-spinner{height:40px;width:40px;border-radius:50%}.igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"] }]
8090
8212
  }], function () { return []; }, { shown: [{
8091
8213
  type: Input
8092
8214
  }] }); })();
@@ -8474,7 +8596,7 @@ TableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableCompone
8474
8596
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i3$2.MatIcon, i2$2.MatButton, i5.MatTable, i5.MatHeaderCellDef, i5.MatHeaderRowDef, i5.MatColumnDef, i5.MatCellDef, i5.MatRowDef, i5.MatHeaderCell, i5.MatCell, i5.MatHeaderRow, i5.MatRow, i4.MatFormField, i5$1.MatInput, i7.MatSort, i7.MatSortHeader, i10.MatCheckbox, i6$2.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%;height:100%;display:block}.table-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.table-box[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column}.table-header[_ngcontent-%COMP%]{min-height:64px;max-width:500px;display:flex;flex:0 1 auto;align-items:baseline;padding:8px 24px 0;font-size:20px;justify-content:space-between}tr[mat-header-row][_ngcontent-%COMP%], tr[mat-row][_ngcontent-%COMP%]{height:60px}.mat-cell-text[_ngcontent-%COMP%]{overflow:hidden;word-wrap:break-word}td[mat-cell][_ngcontent-%COMP%]{padding-right:15px}th.mat-header-cell[_ngcontent-%COMP%]{padding-right:5px}button[_ngcontent-%COMP%]{margin-right:10px}"] });
8475
8597
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
8476
8598
  type: Component,
8477
- args: [{ selector: 'igo-table', template: "<div class='table-box'>\r\n <div class='table-header' *ngIf=\"hasFilterInput\">\r\n <mat-form-field floatPlaceholder='never'>\r\n <input matInput #filter [placeholder]=\"'igo.common.table.filter' | translate\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class='table-container'>\r\n <table mat-table #table [dataSource]='dataSource' matSort>\r\n\r\n <!-- Checkbox Column -->\r\n <ng-container matColumnDef=\"selectionCheckbox\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection.toggle(row) : null\"\r\n [checked]=\"selection.isSelected(row)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container [matColumnDef]='column.name' *ngFor='let column of model.columns'>\r\n <ng-container *ngIf='column.sortable'>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{column.title}} </th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf='!column.sortable'>\r\n <th mat-header-cell *matHeaderCellDef> {{column.title}} </th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!column.html; else cellHTML\">\r\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\r\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\">\r\n {{getValue(row, column.name)}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-template #cellHTML>\r\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\r\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\"\r\n [innerHTML]=\"getValue(row, column.name)\">\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef='action'>\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef='let row'>\r\n <button *ngFor='let action of model.actions'\r\n mat-mini-fab\r\n [color]='getActionColor(action.color)'\r\n (click)='handleClickAction($event, action, row)'>\r\n <mat-icon svgIcon=\"{{action.icon}}\"></mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef='displayedColumns;'></tr>\r\n <tr mat-row\r\n *matRowDef='let row; columns: displayedColumns;'\r\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\r\n (click)=\"selection.toggle(row)\">\r\n </tr>\r\n\r\n </table>\r\n </div>\r\n\r\n</div>\r\n", styles: [":host{width:100%;height:100%;display:block}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.table-box{height:100%;display:flex;flex-direction:column}.table-header{min-height:64px;max-width:500px;display:flex;flex:0 1 auto;align-items:baseline;padding:8px 24px 0;font-size:20px;justify-content:space-between}tr[mat-header-row],tr[mat-row]{height:60px}.mat-cell-text{overflow:hidden;word-wrap:break-word}td[mat-cell]{padding-right:15px}th.mat-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
8599
+ args: [{ selector: 'igo-table', template: "<div class='table-box'>\n <div class='table-header' *ngIf=\"hasFilterInput\">\n <mat-form-field floatPlaceholder='never'>\n <input matInput #filter [placeholder]=\"'igo.common.table.filter' | translate\">\n </mat-form-field>\n </div>\n\n <div class='table-container'>\n <table mat-table #table [dataSource]='dataSource' matSort>\n\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container [matColumnDef]='column.name' *ngFor='let column of model.columns'>\n <ng-container *ngIf='column.sortable'>\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{column.title}} </th>\n </ng-container>\n\n <ng-container *ngIf='!column.sortable'>\n <th mat-header-cell *matHeaderCellDef> {{column.title}} </th>\n </ng-container>\n\n <ng-container *ngIf=\"!column.html; else cellHTML\">\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\">\n {{getValue(row, column.name)}}\n </td>\n </ng-container>\n\n <ng-template #cellHTML>\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\"\n [innerHTML]=\"getValue(row, column.name)\">\n </td>\n </ng-template>\n </ng-container>\n\n <!-- Action Column -->\n <ng-container matColumnDef='action'>\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef='let row'>\n <button *ngFor='let action of model.actions'\n mat-mini-fab\n [color]='getActionColor(action.color)'\n (click)='handleClickAction($event, action, row)'>\n <mat-icon svgIcon=\"{{action.icon}}\"></mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef='displayedColumns;'></tr>\n <tr mat-row\n *matRowDef='let row; columns: displayedColumns;'\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\">\n </tr>\n\n </table>\n </div>\n\n</div>\n", styles: [":host{width:100%;height:100%;display:block}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.table-box{height:100%;display:flex;flex-direction:column}.table-header{min-height:64px;max-width:500px;display:flex;flex:0 1 auto;align-items:baseline;padding:8px 24px 0;font-size:20px;justify-content:space-between}tr[mat-header-row],tr[mat-row]{height:60px}.mat-cell-text{overflow:hidden;word-wrap:break-word}td[mat-cell]{padding-right:15px}th.mat-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
8478
8600
  }], null, { database: [{
8479
8601
  type: Input
8480
8602
  }], model: [{
@@ -8797,7 +8919,7 @@ ToolboxComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToolboxCom
8797
8919
  } }, dependencies: [i1.NgClass, i1.NgIf, ActionbarComponent, DynamicOutletComponent, i1.AsyncPipe], styles: ["[_nghost-%COMP%]{display:block;position:relative;overflow:hidden;width:100%;height:100%}.igo-tool-container[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.igo-tool-container-with-animation[_ngcontent-%COMP%]{transform:translate3d(100%,0,0)}.igo-tool-container-with-toolbar[_ngcontent-%COMP%]{left:50px}igo-actionbar[_ngcontent-%COMP%]{height:100%}igo-actionbar.with-title[_ngcontent-%COMP%]{width:100%;overflow:auto}igo-actionbar[_ngcontent-%COMP%]:not(.with-title){width:48px;overflow:hidden;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){igo-actionbar[_ngcontent-%COMP%]:not(.with-title){overflow:auto}}igo-dynamic-outlet[_ngcontent-%COMP%]{overflow:auto}"], data: { animation: [toolSlideInOut()] }, changeDetection: 0 });
8798
8920
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolboxComponent, [{
8799
8921
  type: Component,
8800
- args: [{ selector: 'igo-toolbox', animations: [toolSlideInOut()], changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-actionbar\r\n *ngIf=\"(toolbar$ | async).length > 0\"\r\n [store]=\"actionStore\"\r\n [withIcon]=\"true\"\r\n [withTitle]=\"toolbarWithTitle$ | async\"\r\n [withTooltip]=\"(toolbarWithTitle$ | async) === false\"\r\n [scrollActive]=\"toolbarWithTitle$ | async\"\r\n [horizontal]=\"false\">\r\n</igo-actionbar>\r\n\r\n<div\r\n *ngIf=\"activeTool$ | async as tool\"\r\n class=\"igo-tool-container\"\r\n [ngClass]=\"{'igo-tool-container-with-toolbar': !actionStore.empty, 'igo-tool-container-with-animation': animate}\"\r\n [@toolSlideInOut]=\"animation$ | async\"\r\n (@toolSlideInOut.start)=\"onAnimationStart()\"\r\n (@toolSlideInOut.done)=\"onAnimationComplete()\">\r\n\r\n <igo-dynamic-outlet\r\n [component]=\"tool.component\"\r\n [inputs]=\"getToolInputs(tool)\">\r\n </igo-dynamic-outlet>\r\n\r\n</div>\r\n", styles: [":host{display:block;position:relative;overflow:hidden;width:100%;height:100%}.igo-tool-container{position:absolute;top:0;bottom:0;left:0;right:0}.igo-tool-container-with-animation{transform:translate3d(100%,0,0)}.igo-tool-container-with-toolbar{left:50px}igo-actionbar{height:100%}igo-actionbar.with-title{width:100%;overflow:auto}igo-actionbar:not(.with-title){width:48px;overflow:hidden;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){igo-actionbar:not(.with-title){overflow:auto}}igo-dynamic-outlet{overflow:auto}\n"] }]
8922
+ args: [{ selector: 'igo-toolbox', animations: [toolSlideInOut()], changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-actionbar\n *ngIf=\"(toolbar$ | async).length > 0\"\n [store]=\"actionStore\"\n [withIcon]=\"true\"\n [withTitle]=\"toolbarWithTitle$ | async\"\n [withTooltip]=\"(toolbarWithTitle$ | async) === false\"\n [scrollActive]=\"toolbarWithTitle$ | async\"\n [horizontal]=\"false\">\n</igo-actionbar>\n\n<div\n *ngIf=\"activeTool$ | async as tool\"\n class=\"igo-tool-container\"\n [ngClass]=\"{'igo-tool-container-with-toolbar': !actionStore.empty, 'igo-tool-container-with-animation': animate}\"\n [@toolSlideInOut]=\"animation$ | async\"\n (@toolSlideInOut.start)=\"onAnimationStart()\"\n (@toolSlideInOut.done)=\"onAnimationComplete()\">\n\n <igo-dynamic-outlet\n [component]=\"tool.component\"\n [inputs]=\"getToolInputs(tool)\">\n </igo-dynamic-outlet>\n\n</div>\n", styles: [":host{display:block;position:relative;overflow:hidden;width:100%;height:100%}.igo-tool-container{position:absolute;top:0;bottom:0;left:0;right:0}.igo-tool-container-with-animation{transform:translate3d(100%,0,0)}.igo-tool-container-with-toolbar{left:50px}igo-actionbar{height:100%}igo-actionbar.with-title{width:100%;overflow:auto}igo-actionbar:not(.with-title){width:48px;overflow:hidden;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){igo-actionbar:not(.with-title){overflow:auto}}igo-dynamic-outlet{overflow:auto}\n"] }]
8801
8923
  }], null, { toolbox: [{
8802
8924
  type: Input
8803
8925
  }], animate: [{
@@ -8968,7 +9090,7 @@ WidgetOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Widge
8968
9090
  } }, dependencies: [i1.NgIf, DynamicOutletComponent], styles: ["igo-dynamic-outlet[_ngcontent-%COMP%]{height:100%}"], changeDetection: 0 });
8969
9091
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WidgetOutletComponent, [{
8970
9092
  type: Component,
8971
- args: [{ selector: 'igo-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-dynamic-outlet\r\n *ngIf=\"widget\"\r\n [component]=\"widget\"\r\n [inputs]=\"inputs\"\r\n [subscribers]=\"getEffectiveSubscribers()\">\r\n</igo-dynamic-outlet>\r\n", styles: ["igo-dynamic-outlet{height:100%}\n"] }]
9093
+ args: [{ selector: 'igo-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-dynamic-outlet\n *ngIf=\"widget\"\n [component]=\"widget\"\n [inputs]=\"inputs\"\n [subscribers]=\"getEffectiveSubscribers()\">\n</igo-dynamic-outlet>\n", styles: ["igo-dynamic-outlet{height:100%}\n"] }]
8972
9094
  }], function () { return []; }, { widget: [{
8973
9095
  type: Input
8974
9096
  }], inputs: [{
@@ -9090,7 +9212,7 @@ WorkspaceSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
9090
9212
  } }, dependencies: [EntitySelectorComponent], styles: ["igo-entity-selector[_ngcontent-%COMP%] mat-form-field .mat-form-field-infix{padding:0}igo-entity-selector[_ngcontent-%COMP%] mat-form-field .mat-form-field-wrapper{padding-bottom:1.75em}"], changeDetection: 0 });
9091
9213
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceSelectorComponent, [{
9092
9214
  type: Component,
9093
- args: [{ selector: 'igo-workspace-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-entity-selector\r\n [store]=\"store\"\r\n [multi]=\"false\"\r\n [titleAccessor]=\"getWorkspaceTitle\"\r\n [disabled]=\"disabled\"\r\n (selectedChange)=\"onSelectedChange($event)\">\r\n</igo-entity-selector>\r\n", styles: ["igo-entity-selector ::ng-deep mat-form-field .mat-form-field-infix{padding:0}igo-entity-selector ::ng-deep mat-form-field .mat-form-field-wrapper{padding-bottom:1.75em}\n"] }]
9215
+ args: [{ selector: 'igo-workspace-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-entity-selector\n [store]=\"store\"\n [multi]=\"false\"\n [titleAccessor]=\"getWorkspaceTitle\"\n [disabled]=\"disabled\"\n (selectedChange)=\"onSelectedChange($event)\">\n</igo-entity-selector>\n", styles: ["igo-entity-selector ::ng-deep mat-form-field .mat-form-field-infix{padding:0}igo-entity-selector ::ng-deep mat-form-field .mat-form-field-wrapper{padding-bottom:1.75em}\n"] }]
9094
9216
  }], null, { store: [{
9095
9217
  type: Input
9096
9218
  }], disabled: [{
@@ -9203,7 +9325,7 @@ WorkspaceWidgetOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
9203
9325
  } }, dependencies: [i1.NgIf, WidgetOutletComponent, i1.AsyncPipe], styles: ["igo-widget-outlet[_ngcontent-%COMP%]{height:100%}"], changeDetection: 0 });
9204
9326
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceWidgetOutletComponent, [{
9205
9327
  type: Component,
9206
- args: [{ selector: 'igo-workspace-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"widget$ | async as widget\">\r\n <igo-widget-outlet\r\n [widget]=\"widget\"\r\n [inputs]=\"widgetInputs$ | async\"\r\n [subscribers]=\"widgetSubscribers$ | async\"\r\n (cancel)=\"onWidgetCancel(widget)\"\r\n (complete)=\"onWidgetComplete(widget)\">\r\n </igo-widget-outlet>\r\n</ng-container>\r\n", styles: ["igo-widget-outlet{height:100%}\n"] }]
9328
+ args: [{ selector: 'igo-workspace-widget-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"widget$ | async as widget\">\n <igo-widget-outlet\n [widget]=\"widget\"\n [inputs]=\"widgetInputs$ | async\"\n [subscribers]=\"widgetSubscribers$ | async\"\n (cancel)=\"onWidgetCancel(widget)\"\n (complete)=\"onWidgetComplete(widget)\">\n </igo-widget-outlet>\n</ng-container>\n", styles: ["igo-widget-outlet{height:100%}\n"] }]
9207
9329
  }], function () { return []; }, { workspace: [{
9208
9330
  type: Input
9209
9331
  }], deactivateWidget: [{
@@ -9459,5 +9581,5 @@ class Workspace {
9459
9581
  * Generated bundle index. Do not edit.
9460
9582
  */
9461
9583
 
9462
- export { ActionStore, ActionbarComponent, ActionbarMode, BackdropComponent, ClickoutDirective, ClonePipe, CollapseDirective, CollapsibleComponent, ConfirmDialogComponent, ConfirmDialogService, ContextMenuDirective, CustomHtmlComponent, DOMService, DragAndDropDirective, DynamicComponent, DynamicComponentService, DynamicOutletComponent, EntityOperationType, EntitySelectorComponent, EntityStateManager, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityStoreStrategy, EntityStoreWatcher, EntityTableColumnRenderer, EntityTableComponent, EntityTablePaginatorComponent, EntityTableScrollBehavior, EntityTableSelectionState, EntityTransaction, EntityView, FlexibleComponent, FormComponent, FormFieldComponent, FormFieldSelectComponent, FormFieldService, FormFieldTextComponent, FormFieldTextareaComponent, FormGroupComponent, FormService, HomeButtonComponent, IgoActionModule, IgoActionbarModule, IgoBackdropModule, IgoBadgeIconDirective, IgoClickoutModule, IgoCloneModule, IgoCollapsibleModule, IgoConfirmDialogModule, IgoContextMenuModule, IgoCustomHtmlModule, IgoDOMModule, IgoDrapDropModule, IgoDynamicComponentModule, IgoDynamicOutletModule, IgoEntityModule, IgoEntitySelectorModule, IgoEntityTableModule, IgoEntityTablePaginatorModule, IgoFlexibleModule, IgoFormFieldComponent, IgoFormFieldModule, IgoFormFormModule, IgoFormGroupModule, IgoFormModule, IgoHomeButtonModule, IgoImageModule, IgoInteractiveTourModule, IgoJsonDialogModule, IgoKeyValueModule, IgoListModule, IgoMatBadgeIconModule, IgoPanelModule, IgoSidenavModule, IgoSpinnerModule, IgoStopPropagationModule, IgoTableModule, IgoToolModule, IgoToolboxModule, IgoWidgetModule, IgoWidgetOutletModule, IgoWorkspaceModule, IgoWorkspaceSelectorModule, IgoWorkspaceWidgetOutletModule, InteractiveTourComponent, InteractiveTourLoader, InteractiveTourService, JsonDialogComponent, JsonDialogService, KeyValuePipe, ListComponent, ListItemDirective, PanelComponent, SanitizeHtmlPipe, SecureImagePipe, SidenavShimDirective, SpinnerActivityDirective, SpinnerComponent, StopDropPropagationDirective, StopPropagationDirective, TableActionColor, TableComponent, TableDataSource, TableDatabase, ToolComponent, ToolService, Toolbox, ToolboxColor, ToolboxComponent, Widget, WidgetOutletComponent, WidgetService, Workspace, WorkspaceSelectorComponent, WorkspaceStore, WorkspaceWidgetOutletComponent, formControlIsRequired, getAllFormFields, getControlErrorMessage, getDefaultErrorMessages, getEntityIcon, getEntityId, getEntityProperty, getEntityRevision, getEntityTitle, getEntityTitleHtml, getFormFieldByName };
9584
+ export { ActionStore, ActionbarComponent, ActionbarMode, BackdropComponent, ClickoutDirective, ClonePipe, CollapseDirective, CollapsibleComponent, ConfirmDialogComponent, ConfirmDialogService, ContextMenuDirective, CustomHtmlComponent, DOMService, DragAndDropDirective, DynamicComponent, DynamicComponentService, DynamicOutletComponent, EntityOperationType, EntitySelectorComponent, EntityStateManager, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityStoreStrategy, EntityStoreWatcher, EntityTableColumnRenderer, EntityTableComponent, EntityTablePaginatorComponent, EntityTableScrollBehavior, EntityTableSelectionState, EntityTransaction, EntityView, FlexibleComponent, FormComponent, FormFieldComponent, FormFieldSelectComponent, FormFieldService, FormFieldTextComponent, FormFieldTextareaComponent, FormGroupComponent, FormService, HomeButtonComponent, IgoActionModule, IgoActionbarModule, IgoBackdropModule, IgoBadgeIconDirective, IgoClickoutModule, IgoCloneModule, IgoCollapsibleModule, IgoConfirmDialogModule, IgoContextMenuModule, IgoCustomHtmlModule, IgoDOMModule, IgoDrapDropModule, IgoDynamicComponentModule, IgoDynamicOutletModule, IgoEntityModule, IgoEntitySelectorModule, IgoEntityTableModule, IgoEntityTablePaginatorModule, IgoFlexibleModule, IgoFormFieldComponent, IgoFormFieldModule, IgoFormFormModule, IgoFormGroupModule, IgoFormModule, IgoHomeButtonModule, IgoImageModule, IgoInteractiveTourModule, IgoJsonDialogModule, IgoKeyValueModule, IgoListModule, IgoMatBadgeIconModule, IgoPanelModule, IgoSidenavModule, IgoSpinnerModule, IgoStopPropagationModule, IgoTableModule, IgoToolModule, IgoToolboxModule, IgoWidgetModule, IgoWidgetOutletModule, IgoWorkspaceModule, IgoWorkspaceSelectorModule, IgoWorkspaceWidgetOutletModule, ImageErrorDirective, InteractiveTourComponent, InteractiveTourLoader, InteractiveTourService, JsonDialogComponent, JsonDialogService, KeyValuePipe, ListComponent, ListItemDirective, LongPressDirective, PanelComponent, SanitizeHtmlPipe, SecureImagePipe, SidenavShimDirective, SpinnerActivityDirective, SpinnerComponent, StopDropPropagationDirective, StopPropagationDirective, TableActionColor, TableComponent, TableDataSource, TableDatabase, ToolComponent, ToolService, Toolbox, ToolboxColor, ToolboxComponent, Widget, WidgetOutletComponent, WidgetService, Workspace, WorkspaceSelectorComponent, WorkspaceStore, WorkspaceWidgetOutletComponent, formControlIsRequired, getAllFormFields, getControlErrorMessage, getDefaultErrorMessages, getEntityIcon, getEntityId, getEntityProperty, getEntityRevision, getEntityTitle, getEntityTitleHtml, getFormFieldByName };
9463
9585
  //# sourceMappingURL=igo2-common.mjs.map