@igo2/common 1.13.0 → 1.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) 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 +15 -11
  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 +1 -1
  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 +2 -2
  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 +147 -42
  174. package/fesm2015/igo2-common.mjs.map +1 -1
  175. package/fesm2020/igo2-common.mjs +139 -42
  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 +1 -0
  182. package/lib/entity/shared/entity.interfaces.d.ts +2 -0
  183. package/lib/image/image-error.directive.d.ts +11 -0
  184. package/lib/image/image.module.d.ts +2 -1
  185. package/lib/image/index.d.ts +1 -0
  186. package/package.json +4 -4
  187. package/style/common.theming.scss +12 -12
  188. package/style/partial/action.scss +18 -18
  189. package/style/partial/common.variables.scss +8 -8
@@ -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\">\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"] }]
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"] }]
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 \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"] }]
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"] }]
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);
@@ -2727,6 +2765,7 @@ function EntityTableComponent_igo_entity_table_paginator_8_Template(rf, ctx) { i
2727
2765
  const ctx_r5 = i0.ɵɵnextContext();
2728
2766
  i0.ɵɵproperty("store", ctx_r5.store)("paginatorOptions", ctx_r5.paginatorOptions)("entitySortChange$", ctx_r5.entitySortChange$);
2729
2767
  } }
2768
+ const _c0$c = function (a0) { return { "height": a0 }; };
2730
2769
  class EntityTableComponent {
2731
2770
  constructor(cdRef, formBuilder, _focusMonitor, _elementRef, ngControl, _parentForm, _controlName, _defaultErrorStateMatcher, dateAdapter) {
2732
2771
  this.cdRef = cdRef;
@@ -2830,6 +2869,7 @@ class EntityTableComponent {
2830
2869
  * @internal
2831
2870
  */
2832
2871
  get fixedHeader() { return this.template.fixedHeader === undefined ? true : this.template.fixedHeader; }
2872
+ get tableHeight() { return this.template.tableHeight ? this.template.tableHeight : 'auto'; }
2833
2873
  /**
2834
2874
  * Track the selection state to properly display the selection checkboxes
2835
2875
  * @internal
@@ -3404,7 +3444,7 @@ class EntityTableComponent {
3404
3444
  }
3405
3445
  }
3406
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)); };
3407
- 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", "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) {
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) {
3408
3448
  i0.ɵɵelementStart(0, "div", 0)(1, "table", 1);
3409
3449
  i0.ɵɵlistener("matSortChange", function EntityTableComponent_Template_table_matSortChange_1_listener($event) { return ctx.onSort($event); });
3410
3450
  i0.ɵɵelementContainerStart(2, 2);
@@ -3418,6 +3458,7 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
3418
3458
  i0.ɵɵtemplate(8, EntityTableComponent_igo_entity_table_paginator_8_Template, 1, 3, "igo-entity-table-paginator", 8);
3419
3459
  i0.ɵɵelementEnd();
3420
3460
  } if (rf & 2) {
3461
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(9, _c0$c, ctx.tableHeight));
3421
3462
  i0.ɵɵadvance(1);
3422
3463
  i0.ɵɵproperty("ngClass", ctx.getTableClass())("dataSource", ctx.dataSource)("trackBy", ctx.getTrackByFunction());
3423
3464
  i0.ɵɵadvance(4);
@@ -3428,10 +3469,10 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
3428
3469
  i0.ɵɵproperty("matRowDefColumns", ctx.headers);
3429
3470
  i0.ɵɵadvance(1);
3430
3471
  i0.ɵɵproperty("ngIf", ctx.withPaginator);
3431
- } }, 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 });
3432
3473
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTableComponent, [{
3433
3474
  type: Component,
3434
- args: [{ selector: 'igo-entity-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: EntityTableComponent }], template: "<div class=\"table-container\">\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 *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 *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 *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"] }]
3475
+ args: [{ selector: 'igo-entity-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: EntityTableComponent }], template: "<div class=\"table-container\" [ngStyle]=\"{'height': tableHeight}\">\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 igoImageError *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 igoImageError *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'\" [matAutocomplete]=\"auto\"\r\n required=\"{{getValidationAttributeValue(column, 'mandatory')}}\" value=\"{{getValue(record, column)}}\"\r\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteValueChange(column, record, $event)\"\r\n panelWidth=\"430px\">\r\n <mat-option *ngFor=\"let option of filteredOptions[column.name] | async\"\r\n [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 igoImageError *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 *ngIf=\"column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\" (click)=\"column.onClick($event)\"></mat-icon>\r\n <mat-icon *ngIf=\"!column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\"></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 || button.editMode === undefined\">\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"] }]
3435
3476
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$4.UntypedFormBuilder }, { type: i2$1.FocusMonitor }, { type: i0.ElementRef }, { type: i1$4.NgControl, decorators: [{
3436
3477
  type: Optional
3437
3478
  }, {
@@ -3691,7 +3732,7 @@ ActionbarItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Acti
3691
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 });
3692
3733
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarItemComponent, [{
3693
3734
  type: Component,
3694
- 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"] }]
3735
+ 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"] }]
3695
3736
  }], function () { return []; }, { action: [{
3696
3737
  type: Input
3697
3738
  }], color: [{
@@ -4023,7 +4064,7 @@ ActionbarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Actionba
4023
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 });
4024
4065
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarComponent, [{
4025
4066
  type: Component,
4026
- 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"] }]
4067
+ 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"] }]
4027
4068
  }], function () { return [{ type: i1$5.Overlay }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.MediaService }]; }, { store: [{
4028
4069
  type: Input
4029
4070
  }], mode: [{
@@ -4148,7 +4189,7 @@ BackdropComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BackdropC
4148
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}"] });
4149
4190
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BackdropComponent, [{
4150
4191
  type: Component,
4151
- 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"] }]
4192
+ 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"] }]
4152
4193
  }], function () { return []; }, { shown: [{
4153
4194
  type: Input
4154
4195
  }] }); })();
@@ -4506,7 +4547,7 @@ CollapsibleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Collap
4506
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}"] });
4507
4548
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollapsibleComponent, [{
4508
4549
  type: Component,
4509
- 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"] }]
4550
+ 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"] }]
4510
4551
  }], null, { title: [{
4511
4552
  type: Input
4512
4553
  }], collapsed: [{
@@ -4572,7 +4613,7 @@ ConfirmDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Conf
4572
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}"] });
4573
4614
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmDialogComponent, [{
4574
4615
  type: Component,
4575
- 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"] }]
4616
+ 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"] }]
4576
4617
  }], function () { return [{ type: i1$6.MatDialogRef }]; }, null); })();
4577
4618
 
4578
4619
  class ConfirmDialogService {
@@ -4623,7 +4664,19 @@ class ContextMenuDirective {
4623
4664
  this.menuPosition = new EventEmitter();
4624
4665
  }
4625
4666
  onContextMenu(e) {
4626
- 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
+ }
4627
4680
  this.close();
4628
4681
  e.preventDefault();
4629
4682
  this.menuPosition.emit({ x, y });
@@ -4680,7 +4733,7 @@ class ContextMenuDirective {
4680
4733
  }
4681
4734
  ContextMenuDirective.ɵfac = function ContextMenuDirective_Factory(t) { return new (t || ContextMenuDirective)(i0.ɵɵdirectiveInject(i1$5.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef)); };
4682
4735
  ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ContextMenuDirective, selectors: [["", "igoContextMenu", ""]], hostBindings: function ContextMenuDirective_HostBindings(rf, ctx) { if (rf & 1) {
4683
- 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); });
4684
4737
  } }, inputs: { menuContext: ["igoContextMenu", "menuContext"] }, outputs: { menuPosition: "menuPosition" } });
4685
4738
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextMenuDirective, [{
4686
4739
  type: Directive,
@@ -4693,10 +4746,54 @@ ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Contex
4693
4746
  }], menuPosition: [{
4694
4747
  type: Output
4695
4748
  }], onContextMenu: [{
4749
+ type: HostListener,
4750
+ args: ['longpress', ['$event']]
4751
+ }, {
4696
4752
  type: HostListener,
4697
4753
  args: ['contextmenu', ['$event']]
4698
4754
  }] }); })();
4699
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
+
4700
4797
  class IgoContextMenuModule {
4701
4798
  static forRoot() {
4702
4799
  return {
@@ -4712,11 +4809,11 @@ IgoContextMenuModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
4712
4809
  type: NgModule,
4713
4810
  args: [{
4714
4811
  imports: [],
4715
- declarations: [ContextMenuDirective],
4716
- exports: [ContextMenuDirective]
4812
+ declarations: [ContextMenuDirective, LongPressDirective],
4813
+ exports: [ContextMenuDirective, LongPressDirective]
4717
4814
  }]
4718
4815
  }], null, null); })();
4719
- (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] }); })();
4720
4817
 
4721
4818
  class CustomHtmlComponent {
4722
4819
  constructor() {
@@ -4738,7 +4835,7 @@ CustomHtmlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CustomH
4738
4835
  } }, dependencies: [SanitizeHtmlPipe], styles: [".custom-html[_ngcontent-%COMP%]{padding:20px}"] });
4739
4836
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomHtmlComponent, [{
4740
4837
  type: Component,
4741
- args: [{ selector: 'igo-custom-html', template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [".custom-html{padding:20px}\n"] }]
4838
+ args: [{ selector: 'igo-custom-html', template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\r\n", styles: [".custom-html{padding:20px}\n"] }]
4742
4839
  }], function () { return []; }, { html: [{
4743
4840
  type: Input
4744
4841
  }] }); })();
@@ -5236,7 +5333,7 @@ DynamicOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
5236
5333
  } }, styles: ["[_nghost-%COMP%]{display:block;width:100%;height:100%}"], changeDetection: 0 });
5237
5334
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicOutletComponent, [{
5238
5335
  type: Component,
5239
- args: [{ selector: 'igo-dynamic-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #target></ng-template>\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>\r\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
5240
5337
  }], function () { return [{ type: DynamicComponentService }, { type: i0.ChangeDetectorRef }]; }, { component: [{
5241
5338
  type: Input
5242
5339
  }], inputs: [{
@@ -5421,7 +5518,7 @@ FlexibleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FlexibleC
5421
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%}"] });
5422
5519
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FlexibleComponent, [{
5423
5520
  type: Component,
5424
- 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"] }]
5521
+ 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"] }]
5425
5522
  }], function () { return [{ type: i0.ElementRef }, { type: i1$1.MediaService }]; }, { main: [{
5426
5523
  type: ViewChild,
5427
5524
  args: ['flexibleMain', { static: true }]
@@ -5601,7 +5698,7 @@ FormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormComponent
5601
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 });
5602
5699
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormComponent, [{
5603
5700
  type: Component,
5604
- 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"] }]
5701
+ 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"] }]
5605
5702
  }], function () { return []; }, { form: [{
5606
5703
  type: Input
5607
5704
  }], formData: [{
@@ -5821,7 +5918,7 @@ FormFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormFiel
5821
5918
  } }, dependencies: [i1.NgIf, DynamicOutletComponent], styles: ["mat-form-field{width:100%} .igo-form-disable-switch{margin-right:8px}"], changeDetection: 0 });
5822
5919
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldComponent, [{
5823
5920
  type: Component,
5824
- 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"] }]
5921
+ 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"] }]
5825
5922
  }], function () { return [{ type: FormFieldService }]; }, { field: [{
5826
5923
  type: Input
5827
5924
  }] }); })();
@@ -5926,7 +6023,7 @@ FormFieldSelectComponent = __decorate([
5926
6023
  ], FormFieldSelectComponent);
5927
6024
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldSelectComponent, [{
5928
6025
  type: Component,
5929
- 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" }]
6026
+ 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" }]
5930
6027
  }], null, { choices: [{
5931
6028
  type: Input
5932
6029
  }], formControl: [{
@@ -6019,7 +6116,7 @@ FormFieldTextComponent = __decorate([
6019
6116
  ], FormFieldTextComponent);
6020
6117
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldTextComponent, [{
6021
6118
  type: Component,
6022
- 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" }]
6119
+ 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" }]
6023
6120
  }], null, { formControl: [{
6024
6121
  type: Input
6025
6122
  }], placeholder: [{
@@ -6111,7 +6208,7 @@ FormFieldTextareaComponent = __decorate([
6111
6208
  ], FormFieldTextareaComponent);
6112
6209
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldTextareaComponent, [{
6113
6210
  type: Component,
6114
- 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" }]
6211
+ 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" }]
6115
6212
  }], null, { formControl: [{
6116
6213
  type: Input
6117
6214
  }], placeholder: [{
@@ -6273,7 +6370,7 @@ FormGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGrou
6273
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 });
6274
6371
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormGroupComponent, [{
6275
6372
  type: Component,
6276
- 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"] }]
6373
+ 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"] }]
6277
6374
  }], function () { return []; }, { group: [{
6278
6375
  type: Input
6279
6376
  }], errors: [{
@@ -6374,7 +6471,7 @@ HomeButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HomeBut
6374
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}"] });
6375
6472
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HomeButtonComponent, [{
6376
6473
  type: Component,
6377
- 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"] }]
6474
+ 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"] }]
6378
6475
  }], function () { return []; }, { unselectButton: [{
6379
6476
  type: Output
6380
6477
  }] }); })();
@@ -6518,11 +6615,11 @@ IgoImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
6518
6615
  type: NgModule,
6519
6616
  args: [{
6520
6617
  imports: [],
6521
- declarations: [SecureImagePipe],
6522
- exports: [SecureImagePipe]
6618
+ declarations: [SecureImagePipe, ImageErrorDirective],
6619
+ exports: [SecureImagePipe, ImageErrorDirective]
6523
6620
  }]
6524
6621
  }], null, null); })();
6525
- (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] }); })();
6526
6623
 
6527
6624
  /**
6528
6625
  * @ignore
@@ -7281,7 +7378,7 @@ InteractiveTourComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: In
7281
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 });
7282
7379
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InteractiveTourComponent, [{
7283
7380
  type: Component,
7284
- 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"] }]
7381
+ 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"] }]
7285
7382
  }], function () { return [{ type: InteractiveTourService }, { type: ToolService }]; }, { tourToStart: [{
7286
7383
  type: Input
7287
7384
  }], styleButton: [{
@@ -7457,7 +7554,7 @@ JsonDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JsonDia
7457
7554
  } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2$2.MatButton, i1$6.MatDialogTitle, i1$6.MatDialogContent, i1$6.MatDialogActions, KeyValuePipe], encapsulation: 2 });
7458
7555
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JsonDialogComponent, [{
7459
7556
  type: Component,
7460
- 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" }]
7557
+ 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" }]
7461
7558
  }], function () { return [{ type: i1$6.MatDialogRef }]; }, null); })();
7462
7559
 
7463
7560
  class JsonDialogService {
@@ -7904,7 +8001,7 @@ ListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListComponent
7904
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}"] });
7905
8002
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListComponent, [{
7906
8003
  type: Component,
7907
- 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"] }]
8004
+ 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-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"] }]
7908
8005
  }], function () { return [{ type: i0.ElementRef }]; }, { navigation: [{
7909
8006
  type: Input
7910
8007
  }], selection: [{
@@ -7988,7 +8085,7 @@ PanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PanelCompone
7988
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 });
7989
8086
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PanelComponent, [{
7990
8087
  type: Component,
7991
- 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"] }]
8088
+ 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"] }]
7992
8089
  }], null, { title: [{
7993
8090
  type: Input
7994
8091
  }], withHeader: [{
@@ -8111,7 +8208,7 @@ SpinnerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpinnerCom
8111
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}"] });
8112
8209
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpinnerComponent, [{
8113
8210
  type: Component,
8114
- 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"] }]
8211
+ 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"] }]
8115
8212
  }], function () { return []; }, { shown: [{
8116
8213
  type: Input
8117
8214
  }] }); })();
@@ -8499,7 +8596,7 @@ TableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableCompone
8499
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}"] });
8500
8597
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
8501
8598
  type: Component,
8502
- 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"] }]
8599
+ 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"] }]
8503
8600
  }], null, { database: [{
8504
8601
  type: Input
8505
8602
  }], model: [{
@@ -8822,7 +8919,7 @@ ToolboxComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToolboxCom
8822
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 });
8823
8920
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolboxComponent, [{
8824
8921
  type: Component,
8825
- 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"] }]
8922
+ 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"] }]
8826
8923
  }], null, { toolbox: [{
8827
8924
  type: Input
8828
8925
  }], animate: [{
@@ -8993,7 +9090,7 @@ WidgetOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Widge
8993
9090
  } }, dependencies: [i1.NgIf, DynamicOutletComponent], styles: ["igo-dynamic-outlet[_ngcontent-%COMP%]{height:100%}"], changeDetection: 0 });
8994
9091
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WidgetOutletComponent, [{
8995
9092
  type: Component,
8996
- 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"] }]
9093
+ 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"] }]
8997
9094
  }], function () { return []; }, { widget: [{
8998
9095
  type: Input
8999
9096
  }], inputs: [{
@@ -9115,7 +9212,7 @@ WorkspaceSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
9115
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 });
9116
9213
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceSelectorComponent, [{
9117
9214
  type: Component,
9118
- 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"] }]
9215
+ 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"] }]
9119
9216
  }], null, { store: [{
9120
9217
  type: Input
9121
9218
  }], disabled: [{
@@ -9228,7 +9325,7 @@ WorkspaceWidgetOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
9228
9325
  } }, dependencies: [i1.NgIf, WidgetOutletComponent, i1.AsyncPipe], styles: ["igo-widget-outlet[_ngcontent-%COMP%]{height:100%}"], changeDetection: 0 });
9229
9326
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceWidgetOutletComponent, [{
9230
9327
  type: Component,
9231
- 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"] }]
9328
+ 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"] }]
9232
9329
  }], function () { return []; }, { workspace: [{
9233
9330
  type: Input
9234
9331
  }], deactivateWidget: [{
@@ -9484,5 +9581,5 @@ class Workspace {
9484
9581
  * Generated bundle index. Do not edit.
9485
9582
  */
9486
9583
 
9487
- 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 };
9488
9585
  //# sourceMappingURL=igo2-common.mjs.map