@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';
@@ -1782,7 +1782,7 @@ EntitySelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ent
1782
1782
  (function () {
1783
1783
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntitySelectorComponent, [{
1784
1784
  type: Component,
1785
- 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"] }]
1785
+ 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"] }]
1786
1786
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { store: [{
1787
1787
  type: Input
1788
1788
  }], titleAccessor: [{
@@ -1945,7 +1945,7 @@ EntityTablePaginatorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
1945
1945
  (function () {
1946
1946
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTablePaginatorComponent, [{
1947
1947
  type: Component,
1948
- 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"] }]
1948
+ 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"] }]
1949
1949
  }], function () { return [{ type: i1$1.LanguageService }, { type: i1$1.MediaService }]; }, { entitySortChange$: [{
1950
1950
  type: Input
1951
1951
  }], store: [{
@@ -1962,6 +1962,43 @@ EntityTablePaginatorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
1962
1962
  }] });
1963
1963
  })();
1964
1964
 
1965
+ class ImageErrorDirective {
1966
+ constructor(el) {
1967
+ this.el = el;
1968
+ this.errorImageUrl = '/assets/igo2/common/images/na.png';
1969
+ this.hideError = false;
1970
+ }
1971
+ onError(event) {
1972
+ if (this.hideError) {
1973
+ this.el.nativeElement.style.display = "none";
1974
+ }
1975
+ else {
1976
+ event.target.src = this.errorImageUrl;
1977
+ }
1978
+ }
1979
+ }
1980
+ ImageErrorDirective.ɵfac = function ImageErrorDirective_Factory(t) { return new (t || ImageErrorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
1981
+ ImageErrorDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImageErrorDirective, selectors: [["", "igoImageError", ""]], hostBindings: function ImageErrorDirective_HostBindings(rf, ctx) {
1982
+ if (rf & 1) {
1983
+ i0.ɵɵlistener("error", function ImageErrorDirective_error_HostBindingHandler($event) { return ctx.onError($event); });
1984
+ }
1985
+ }, inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" } });
1986
+ (function () {
1987
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageErrorDirective, [{
1988
+ type: Directive,
1989
+ args: [{
1990
+ selector: '[igoImageError]'
1991
+ }]
1992
+ }], function () { return [{ type: i0.ElementRef }]; }, { errorImageUrl: [{
1993
+ type: Input
1994
+ }], hideError: [{
1995
+ type: Input
1996
+ }], onError: [{
1997
+ type: HostListener,
1998
+ args: ["error", ['$event']]
1999
+ }] });
2000
+ })();
2001
+
1965
2002
  /**
1966
2003
  * Directive that handles an entity table row click and selection.
1967
2004
  */
@@ -2125,7 +2162,8 @@ class SecureImagePipe {
2125
2162
  var _a;
2126
2163
  const headers = new HttpHeaders({
2127
2164
  'Content-Type': 'text/plain',
2128
- activityInterceptor: 'false'
2165
+ activityInterceptor: 'false',
2166
+ interceptError: 'false'
2129
2167
  });
2130
2168
  const regexDepot = new RegExp(((_a = this.configService) === null || _a === void 0 ? void 0 : _a.getConfig('depot.url')) + '.*?(?="|$)');
2131
2169
  if (regexDepot.test(url)) {
@@ -2136,7 +2174,11 @@ class SecureImagePipe {
2136
2174
  headers,
2137
2175
  responseType: 'blob'
2138
2176
  })
2139
- .pipe(switchMap((blob) => {
2177
+ .pipe(catchError((err) => {
2178
+ err.error.caught = true;
2179
+ err.error.toDisplay = false;
2180
+ throw err;
2181
+ }), switchMap((blob) => {
2140
2182
  return new Observable((observer) => {
2141
2183
  const reader = new FileReader();
2142
2184
  reader.readAsDataURL(blob);
@@ -2912,6 +2954,7 @@ function EntityTableComponent_igo_entity_table_paginator_8_Template(rf, ctx) {
2912
2954
  i0.ɵɵproperty("store", ctx_r5.store)("paginatorOptions", ctx_r5.paginatorOptions)("entitySortChange$", ctx_r5.entitySortChange$);
2913
2955
  }
2914
2956
  }
2957
+ const _c0$c = function (a0) { return { "height": a0 }; };
2915
2958
  class EntityTableComponent {
2916
2959
  constructor(cdRef, formBuilder, _focusMonitor, _elementRef, ngControl, _parentForm, _controlName, _defaultErrorStateMatcher, dateAdapter) {
2917
2960
  this.cdRef = cdRef;
@@ -3015,6 +3058,7 @@ class EntityTableComponent {
3015
3058
  * @internal
3016
3059
  */
3017
3060
  get fixedHeader() { return this.template.fixedHeader === undefined ? true : this.template.fixedHeader; }
3061
+ get tableHeight() { return this.template.tableHeight ? this.template.tableHeight : 'auto'; }
3018
3062
  /**
3019
3063
  * Track the selection state to properly display the selection checkboxes
3020
3064
  * @internal
@@ -3591,7 +3635,7 @@ class EntityTableComponent {
3591
3635
  }
3592
3636
  }
3593
3637
  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)); };
3594
- 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) {
3638
+ 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) {
3595
3639
  if (rf & 1) {
3596
3640
  i0.ɵɵelementStart(0, "div", 0)(1, "table", 1);
3597
3641
  i0.ɵɵlistener("matSortChange", function EntityTableComponent_Template_table_matSortChange_1_listener($event) { return ctx.onSort($event); });
@@ -3607,6 +3651,7 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
3607
3651
  i0.ɵɵelementEnd();
3608
3652
  }
3609
3653
  if (rf & 2) {
3654
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(9, _c0$c, ctx.tableHeight));
3610
3655
  i0.ɵɵadvance(1);
3611
3656
  i0.ɵɵproperty("ngClass", ctx.getTableClass())("dataSource", ctx.dataSource)("trackBy", ctx.getTrackByFunction());
3612
3657
  i0.ɵɵadvance(4);
@@ -3618,11 +3663,11 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
3618
3663
  i0.ɵɵadvance(1);
3619
3664
  i0.ɵɵproperty("ngIf", ctx.withPaginator);
3620
3665
  }
3621
- }, 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 });
3666
+ }, 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 });
3622
3667
  (function () {
3623
3668
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTableComponent, [{
3624
3669
  type: Component,
3625
- 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"] }]
3670
+ 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"] }]
3626
3671
  }], function () {
3627
3672
  return [{ type: i0.ChangeDetectorRef }, { type: i1$4.UntypedFormBuilder }, { type: i2$1.FocusMonitor }, { type: i0.ElementRef }, { type: i1$4.NgControl, decorators: [{
3628
3673
  type: Optional
@@ -3907,7 +3952,7 @@ ActionbarItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Acti
3907
3952
  (function () {
3908
3953
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarItemComponent, [{
3909
3954
  type: Component,
3910
- 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"] }]
3955
+ 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"] }]
3911
3956
  }], function () { return []; }, { action: [{
3912
3957
  type: Input
3913
3958
  }], color: [{
@@ -4276,7 +4321,7 @@ ActionbarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Actionba
4276
4321
  (function () {
4277
4322
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarComponent, [{
4278
4323
  type: Component,
4279
- 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"] }]
4324
+ 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"] }]
4280
4325
  }], function () { return [{ type: i1$5.Overlay }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.MediaService }]; }, { store: [{
4281
4326
  type: Input
4282
4327
  }], mode: [{
@@ -4414,7 +4459,7 @@ BackdropComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BackdropC
4414
4459
  (function () {
4415
4460
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BackdropComponent, [{
4416
4461
  type: Component,
4417
- 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"] }]
4462
+ 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"] }]
4418
4463
  }], function () { return []; }, { shown: [{
4419
4464
  type: Input
4420
4465
  }] });
@@ -4797,7 +4842,7 @@ CollapsibleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Collap
4797
4842
  (function () {
4798
4843
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollapsibleComponent, [{
4799
4844
  type: Component,
4800
- 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"] }]
4845
+ 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"] }]
4801
4846
  }], null, { title: [{
4802
4847
  type: Input
4803
4848
  }], collapsed: [{
@@ -4870,7 +4915,7 @@ ConfirmDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Conf
4870
4915
  (function () {
4871
4916
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmDialogComponent, [{
4872
4917
  type: Component,
4873
- 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"] }]
4918
+ 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"] }]
4874
4919
  }], function () { return [{ type: i1$6.MatDialogRef }]; }, null);
4875
4920
  })();
4876
4921
 
@@ -4926,7 +4971,19 @@ class ContextMenuDirective {
4926
4971
  this.menuPosition = new EventEmitter();
4927
4972
  }
4928
4973
  onContextMenu(e) {
4929
- const { x, y } = e;
4974
+ let x;
4975
+ let y;
4976
+ if (e instanceof TouchEvent) {
4977
+ x = e.touches[0].pageX;
4978
+ y = e.touches[0].pageY;
4979
+ }
4980
+ else if (e instanceof MouseEvent) {
4981
+ x = e.x;
4982
+ y = e.y;
4983
+ }
4984
+ if (!x || !y) {
4985
+ return;
4986
+ }
4930
4987
  this.close();
4931
4988
  e.preventDefault();
4932
4989
  this.menuPosition.emit({ x, y });
@@ -4984,7 +5041,7 @@ class ContextMenuDirective {
4984
5041
  ContextMenuDirective.ɵfac = function ContextMenuDirective_Factory(t) { return new (t || ContextMenuDirective)(i0.ɵɵdirectiveInject(i1$5.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef)); };
4985
5042
  ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ContextMenuDirective, selectors: [["", "igoContextMenu", ""]], hostBindings: function ContextMenuDirective_HostBindings(rf, ctx) {
4986
5043
  if (rf & 1) {
4987
- i0.ɵɵlistener("contextmenu", function ContextMenuDirective_contextmenu_HostBindingHandler($event) { return ctx.onContextMenu($event); });
5044
+ i0.ɵɵlistener("longpress", function ContextMenuDirective_longpress_HostBindingHandler($event) { return ctx.onContextMenu($event); })("contextmenu", function ContextMenuDirective_contextmenu_HostBindingHandler($event) { return ctx.onContextMenu($event); });
4988
5045
  }
4989
5046
  }, inputs: { menuContext: ["igoContextMenu", "menuContext"] }, outputs: { menuPosition: "menuPosition" } });
4990
5047
  (function () {
@@ -4999,11 +5056,59 @@ ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Contex
4999
5056
  }], menuPosition: [{
5000
5057
  type: Output
5001
5058
  }], onContextMenu: [{
5059
+ type: HostListener,
5060
+ args: ['longpress', ['$event']]
5061
+ }, {
5002
5062
  type: HostListener,
5003
5063
  args: ['contextmenu', ['$event']]
5004
5064
  }] });
5005
5065
  })();
5006
5066
 
5067
+ class LongPressDirective {
5068
+ constructor() {
5069
+ this.longpress = new EventEmitter();
5070
+ }
5071
+ touchstart(e) {
5072
+ this.touchTimeout = setTimeout(() => {
5073
+ this.longpress.emit(e);
5074
+ }, 400);
5075
+ }
5076
+ touchend() {
5077
+ this.touchEnd();
5078
+ }
5079
+ touchEnd() {
5080
+ clearTimeout(this.touchTimeout);
5081
+ }
5082
+ }
5083
+ LongPressDirective.ɵfac = function LongPressDirective_Factory(t) { return new (t || LongPressDirective)(); };
5084
+ LongPressDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LongPressDirective, selectors: [["", "igoLongPress", ""]], hostBindings: function LongPressDirective_HostBindings(rf, ctx) {
5085
+ if (rf & 1) {
5086
+ 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(); });
5087
+ }
5088
+ }, outputs: { longpress: "longpress" } });
5089
+ (function () {
5090
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LongPressDirective, [{
5091
+ type: Directive,
5092
+ args: [{
5093
+ selector: '[igoLongPress]'
5094
+ }]
5095
+ }], function () { return []; }, { longpress: [{
5096
+ type: Output
5097
+ }], touchstart: [{
5098
+ type: HostListener,
5099
+ args: ['touchstart', ['$event']]
5100
+ }], touchend: [{
5101
+ type: HostListener,
5102
+ args: ['touchmove']
5103
+ }, {
5104
+ type: HostListener,
5105
+ args: ['touchcancel']
5106
+ }, {
5107
+ type: HostListener,
5108
+ args: ['touchend']
5109
+ }] });
5110
+ })();
5111
+
5007
5112
  class IgoContextMenuModule {
5008
5113
  static forRoot() {
5009
5114
  return {
@@ -5020,12 +5125,12 @@ IgoContextMenuModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
5020
5125
  type: NgModule,
5021
5126
  args: [{
5022
5127
  imports: [],
5023
- declarations: [ContextMenuDirective],
5024
- exports: [ContextMenuDirective]
5128
+ declarations: [ContextMenuDirective, LongPressDirective],
5129
+ exports: [ContextMenuDirective, LongPressDirective]
5025
5130
  }]
5026
5131
  }], null, null);
5027
5132
  })();
5028
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextMenuModule, { declarations: [ContextMenuDirective], exports: [ContextMenuDirective] }); })();
5133
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextMenuModule, { declarations: [ContextMenuDirective, LongPressDirective], exports: [ContextMenuDirective, LongPressDirective] }); })();
5029
5134
 
5030
5135
  class CustomHtmlComponent {
5031
5136
  constructor() {
@@ -5051,7 +5156,7 @@ CustomHtmlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CustomH
5051
5156
  (function () {
5052
5157
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomHtmlComponent, [{
5053
5158
  type: Component,
5054
- args: [{ selector: 'igo-custom-html', template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [".custom-html{padding:20px}\n"] }]
5159
+ args: [{ selector: 'igo-custom-html', template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\r\n", styles: [".custom-html{padding:20px}\n"] }]
5055
5160
  }], function () { return []; }, { html: [{
5056
5161
  type: Input
5057
5162
  }] });
@@ -5575,7 +5680,7 @@ DynamicOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
5575
5680
  (function () {
5576
5681
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicOutletComponent, [{
5577
5682
  type: Component,
5578
- args: [{ selector: 'igo-dynamic-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #target></ng-template>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
5683
+ 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"] }]
5579
5684
  }], function () { return [{ type: DynamicComponentService }, { type: i0.ChangeDetectorRef }]; }, { component: [{
5580
5685
  type: Input
5581
5686
  }], inputs: [{
@@ -5774,7 +5879,7 @@ FlexibleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FlexibleC
5774
5879
  (function () {
5775
5880
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FlexibleComponent, [{
5776
5881
  type: Component,
5777
- 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"] }]
5882
+ 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"] }]
5778
5883
  }], function () { return [{ type: i0.ElementRef }, { type: i1$1.MediaService }]; }, { main: [{
5779
5884
  type: ViewChild,
5780
5885
  args: ['flexibleMain', { static: true }]
@@ -5964,7 +6069,7 @@ FormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormComponent
5964
6069
  (function () {
5965
6070
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormComponent, [{
5966
6071
  type: Component,
5967
- 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"] }]
6072
+ 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"] }]
5968
6073
  }], function () { return []; }, { form: [{
5969
6074
  type: Input
5970
6075
  }], formData: [{
@@ -6200,7 +6305,7 @@ FormFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormFiel
6200
6305
  (function () {
6201
6306
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldComponent, [{
6202
6307
  type: Component,
6203
- 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"] }]
6308
+ 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"] }]
6204
6309
  }], function () { return [{ type: FormFieldService }]; }, { field: [{
6205
6310
  type: Input
6206
6311
  }] });
@@ -6319,7 +6424,7 @@ FormFieldSelectComponent = __decorate([
6319
6424
  (function () {
6320
6425
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldSelectComponent, [{
6321
6426
  type: Component,
6322
- 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" }]
6427
+ 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" }]
6323
6428
  }], null, { choices: [{
6324
6429
  type: Input
6325
6430
  }], formControl: [{
@@ -6423,7 +6528,7 @@ FormFieldTextComponent = __decorate([
6423
6528
  (function () {
6424
6529
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldTextComponent, [{
6425
6530
  type: Component,
6426
- 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" }]
6531
+ 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" }]
6427
6532
  }], null, { formControl: [{
6428
6533
  type: Input
6429
6534
  }], placeholder: [{
@@ -6526,7 +6631,7 @@ FormFieldTextareaComponent = __decorate([
6526
6631
  (function () {
6527
6632
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldTextareaComponent, [{
6528
6633
  type: Component,
6529
- 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" }]
6634
+ 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" }]
6530
6635
  }], null, { formControl: [{
6531
6636
  type: Input
6532
6637
  }], placeholder: [{
@@ -6706,7 +6811,7 @@ FormGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGrou
6706
6811
  (function () {
6707
6812
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormGroupComponent, [{
6708
6813
  type: Component,
6709
- 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"] }]
6814
+ 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"] }]
6710
6815
  }], function () { return []; }, { group: [{
6711
6816
  type: Input
6712
6817
  }], errors: [{
@@ -6820,7 +6925,7 @@ HomeButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HomeBut
6820
6925
  (function () {
6821
6926
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HomeButtonComponent, [{
6822
6927
  type: Component,
6823
- 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"] }]
6928
+ 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"] }]
6824
6929
  }], function () { return []; }, { unselectButton: [{
6825
6930
  type: Output
6826
6931
  }] });
@@ -6982,12 +7087,12 @@ IgoImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
6982
7087
  type: NgModule,
6983
7088
  args: [{
6984
7089
  imports: [],
6985
- declarations: [SecureImagePipe],
6986
- exports: [SecureImagePipe]
7090
+ declarations: [SecureImagePipe, ImageErrorDirective],
7091
+ exports: [SecureImagePipe, ImageErrorDirective]
6987
7092
  }]
6988
7093
  }], null, null);
6989
7094
  })();
6990
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe], exports: [SecureImagePipe] }); })();
7095
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] }); })();
6991
7096
 
6992
7097
  /**
6993
7098
  * @ignore
@@ -7767,7 +7872,7 @@ InteractiveTourComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: In
7767
7872
  (function () {
7768
7873
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InteractiveTourComponent, [{
7769
7874
  type: Component,
7770
- 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"] }]
7875
+ 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"] }]
7771
7876
  }], function () { return [{ type: InteractiveTourService }, { type: ToolService }]; }, { tourToStart: [{
7772
7877
  type: Input
7773
7878
  }], styleButton: [{
@@ -7975,7 +8080,7 @@ JsonDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JsonDia
7975
8080
  (function () {
7976
8081
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JsonDialogComponent, [{
7977
8082
  type: Component,
7978
- 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" }]
8083
+ 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" }]
7979
8084
  }], function () { return [{ type: i1$6.MatDialogRef }]; }, null);
7980
8085
  })();
7981
8086
 
@@ -8440,7 +8545,7 @@ ListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListComponent
8440
8545
  (function () {
8441
8546
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListComponent, [{
8442
8547
  type: Component,
8443
- 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"] }]
8548
+ 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"] }]
8444
8549
  }], function () { return [{ type: i0.ElementRef }]; }, { navigation: [{
8445
8550
  type: Input
8446
8551
  }], selection: [{
@@ -8536,7 +8641,7 @@ PanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PanelCompone
8536
8641
  (function () {
8537
8642
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PanelComponent, [{
8538
8643
  type: Component,
8539
- 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"] }]
8644
+ 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"] }]
8540
8645
  }], null, { title: [{
8541
8646
  type: Input
8542
8647
  }], withHeader: [{
@@ -8674,7 +8779,7 @@ SpinnerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpinnerCom
8674
8779
  (function () {
8675
8780
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpinnerComponent, [{
8676
8781
  type: Component,
8677
- 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"] }]
8782
+ 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"] }]
8678
8783
  }], function () { return []; }, { shown: [{
8679
8784
  type: Input
8680
8785
  }] });
@@ -9121,7 +9226,7 @@ TableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableCompone
9121
9226
  (function () {
9122
9227
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
9123
9228
  type: Component,
9124
- 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"] }]
9229
+ 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"] }]
9125
9230
  }], null, { database: [{
9126
9231
  type: Input
9127
9232
  }], model: [{
@@ -9461,7 +9566,7 @@ ToolboxComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToolboxCom
9461
9566
  (function () {
9462
9567
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolboxComponent, [{
9463
9568
  type: Component,
9464
- 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"] }]
9569
+ 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"] }]
9465
9570
  }], null, { toolbox: [{
9466
9571
  type: Input
9467
9572
  }], animate: [{
@@ -9646,7 +9751,7 @@ WidgetOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Widge
9646
9751
  (function () {
9647
9752
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WidgetOutletComponent, [{
9648
9753
  type: Component,
9649
- 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"] }]
9754
+ 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"] }]
9650
9755
  }], function () { return []; }, { widget: [{
9651
9756
  type: Input
9652
9757
  }], inputs: [{
@@ -9783,7 +9888,7 @@ WorkspaceSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
9783
9888
  (function () {
9784
9889
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceSelectorComponent, [{
9785
9890
  type: Component,
9786
- 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"] }]
9891
+ 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"] }]
9787
9892
  }], null, { store: [{
9788
9893
  type: Input
9789
9894
  }], disabled: [{
@@ -9908,7 +10013,7 @@ WorkspaceWidgetOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
9908
10013
  (function () {
9909
10014
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceWidgetOutletComponent, [{
9910
10015
  type: Component,
9911
- 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"] }]
10016
+ 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"] }]
9912
10017
  }], function () { return []; }, { workspace: [{
9913
10018
  type: Input
9914
10019
  }], deactivateWidget: [{
@@ -10173,5 +10278,5 @@ class Workspace {
10173
10278
  * Generated bundle index. Do not edit.
10174
10279
  */
10175
10280
 
10176
- 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 };
10281
+ 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 };
10177
10282
  //# sourceMappingURL=igo2-common.mjs.map