@igo2/common 20.0.1 → 20.1.0-next.10

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 (84) hide show
  1. package/action/index.d.ts +22 -22
  2. package/clickout/index.d.ts +2 -2
  3. package/collapsible/index.d.ts +6 -10
  4. package/color/index.d.ts +3 -4
  5. package/context-menu/index.d.ts +9 -9
  6. package/datepicker/index.d.ts +65 -0
  7. package/drag-drop/index.d.ts +21 -23
  8. package/dynamic-component/index.d.ts +7 -7
  9. package/entity/index.d.ts +135 -72
  10. package/fesm2022/igo2-common-action.mjs +60 -97
  11. package/fesm2022/igo2-common-action.mjs.map +1 -1
  12. package/fesm2022/igo2-common-backdrop.mjs +7 -7
  13. package/fesm2022/igo2-common-badge.mjs +7 -7
  14. package/fesm2022/igo2-common-clickout.mjs +10 -12
  15. package/fesm2022/igo2-common-clickout.mjs.map +1 -1
  16. package/fesm2022/igo2-common-clone.mjs +7 -7
  17. package/fesm2022/igo2-common-collapsible.mjs +18 -39
  18. package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
  19. package/fesm2022/igo2-common-color.mjs +14 -18
  20. package/fesm2022/igo2-common-color.mjs.map +1 -1
  21. package/fesm2022/igo2-common-confirm-dialog.mjs +10 -10
  22. package/fesm2022/igo2-common-context-menu.mjs +22 -31
  23. package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
  24. package/fesm2022/igo2-common-custom-html.mjs +10 -10
  25. package/fesm2022/igo2-common-datepicker.mjs +316 -0
  26. package/fesm2022/igo2-common-datepicker.mjs.map +1 -0
  27. package/fesm2022/igo2-common-dom.mjs +7 -7
  28. package/fesm2022/igo2-common-drag-drop.mjs +59 -75
  29. package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
  30. package/fesm2022/igo2-common-dynamic-component.mjs +34 -52
  31. package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
  32. package/fesm2022/igo2-common-entity.mjs +284 -220
  33. package/fesm2022/igo2-common-entity.mjs.map +1 -1
  34. package/fesm2022/igo2-common-flexible.mjs +13 -16
  35. package/fesm2022/igo2-common-flexible.mjs.map +1 -1
  36. package/fesm2022/igo2-common-form.mjs +120 -174
  37. package/fesm2022/igo2-common-form.mjs.map +1 -1
  38. package/fesm2022/igo2-common-home-button.mjs +11 -12
  39. package/fesm2022/igo2-common-home-button.mjs.map +1 -1
  40. package/fesm2022/igo2-common-icon.mjs +18 -24
  41. package/fesm2022/igo2-common-icon.mjs.map +1 -1
  42. package/fesm2022/igo2-common-image.mjs +16 -20
  43. package/fesm2022/igo2-common-image.mjs.map +1 -1
  44. package/fesm2022/igo2-common-interactive-tour.mjs +28 -33
  45. package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
  46. package/fesm2022/igo2-common-json-dialog.mjs +11 -11
  47. package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
  48. package/fesm2022/igo2-common-keyvalue.mjs +7 -7
  49. package/fesm2022/igo2-common-list.mjs +49 -66
  50. package/fesm2022/igo2-common-list.mjs.map +1 -1
  51. package/fesm2022/igo2-common-panel.mjs +15 -28
  52. package/fesm2022/igo2-common-panel.mjs.map +1 -1
  53. package/fesm2022/igo2-common-resizable-bar.mjs +25 -32
  54. package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
  55. package/fesm2022/igo2-common-select-value-dialog.mjs +10 -10
  56. package/fesm2022/igo2-common-sidenav.mjs +7 -7
  57. package/fesm2022/igo2-common-spinner.mjs +11 -11
  58. package/fesm2022/igo2-common-spinner.mjs.map +1 -1
  59. package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
  60. package/fesm2022/igo2-common-table.mjs +57 -87
  61. package/fesm2022/igo2-common-table.mjs.map +1 -1
  62. package/fesm2022/igo2-common-timepicker.mjs +105 -0
  63. package/fesm2022/igo2-common-timepicker.mjs.map +1 -0
  64. package/fesm2022/igo2-common-tool.mjs +29 -35
  65. package/fesm2022/igo2-common-tool.mjs.map +1 -1
  66. package/fesm2022/igo2-common-widget.mjs +27 -36
  67. package/fesm2022/igo2-common-widget.mjs.map +1 -1
  68. package/fesm2022/igo2-common-workspace.mjs +34 -44
  69. package/fesm2022/igo2-common-workspace.mjs.map +1 -1
  70. package/flexible/index.d.ts +2 -2
  71. package/form/index.d.ts +31 -33
  72. package/home-button/index.d.ts +1 -2
  73. package/icon/index.d.ts +4 -5
  74. package/image/index.d.ts +3 -3
  75. package/interactive-tour/index.d.ts +5 -5
  76. package/list/index.d.ts +23 -23
  77. package/package.json +13 -4
  78. package/panel/index.d.ts +4 -6
  79. package/resizable-bar/index.d.ts +11 -13
  80. package/table/index.d.ts +13 -19
  81. package/timepicker/index.d.ts +33 -0
  82. package/tool/index.d.ts +5 -5
  83. package/widget/index.d.ts +9 -9
  84. package/workspace/index.d.ts +13 -12
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-common-resizable-bar.mjs","sources":["../../../packages/common/resizable-bar/src/shared/resize.directive.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.html","../../../packages/common/resizable-bar/src/igo2-common-resizable-bar.ts"],"sourcesContent":["import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[igoResize]'\n})\nexport class ResizeDirective {\n mouseMove$$: Subscription;\n mouseUp$$: Subscription;\n\n @Output() change: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n this.mouseUp$$ = fromEvent(document, 'mouseup').subscribe(() => {\n this._unsubscribe();\n });\n\n this.mouseMove$$ = fromEvent(document, 'mousemove').subscribe(\n (moveEvent: MouseEvent) => {\n this.change.emit(moveEvent);\n }\n );\n\n event.preventDefault();\n }\n\n private _unsubscribe(): void {\n this.mouseUp$$.unsubscribe();\n this.mouseUp$$ = null;\n\n this.mouseMove$$.unsubscribe();\n this.mouseMove$$ = null;\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n numberAttribute\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ResizeDirective } from './shared/resize.directive';\n\nexport const ResizeAnchorType = ['top', 'left', 'bottom', 'right'] as const;\nexport type ResizeAnchorType = (typeof ResizeAnchorType)[number];\n\nexport const AlignmentType = ['vertical', 'horizontal'] as const;\nexport type AlignmentType = (typeof AlignmentType)[number];\n\n@Component({\n selector: 'igo-resizable-bar',\n templateUrl: './resizable-bar.component.html',\n styleUrls: ['./resizable-bar.component.scss'],\n imports: [MatIconModule, MatButtonModule, ResizeDirective, NgClass],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResizableBarComponent implements OnInit {\n alignement: AlignmentType;\n iconRotation: string;\n\n @Input() anchor: ResizeAnchorType = 'right';\n\n /** En pixel */\n @Input({ transform: numberAttribute }) min: number;\n\n /** En pixel */\n @Input({ transform: numberAttribute }) max: number;\n\n @Output() change = new EventEmitter<MouseEvent>();\n\n @HostBinding('class') get cssClass() {\n return `${this.alignement} ${this.anchor}`;\n }\n\n ngOnInit(): void {\n this.alignement =\n this.anchor === 'top' || this.anchor === 'bottom'\n ? 'horizontal'\n : 'vertical';\n\n this.iconRotation = this.alignement === 'vertical' ? 'rotate(90deg)' : '';\n }\n\n onChange(event: MouseEvent): void {\n const value =\n this.alignement === 'horizontal' ? event.clientX : event.clientX;\n if ((this.min && value <= this.min) || (this.max && value >= this.max)) {\n return;\n }\n this.change.emit(event);\n }\n}\n","<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igo2-common-resizable-bar.mjs","sources":["../../../packages/common/resizable-bar/src/shared/resize.directive.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.html","../../../packages/common/resizable-bar/src/igo2-common-resizable-bar.ts"],"sourcesContent":["import { Directive, HostListener, output } from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[igoResize]'\n})\nexport class ResizeDirective {\n mouseMove$$: Subscription;\n mouseUp$$: Subscription;\n\n readonly change = output<MouseEvent>();\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n this.mouseUp$$ = fromEvent(document, 'mouseup').subscribe(() => {\n this._unsubscribe();\n });\n\n this.mouseMove$$ = fromEvent(document, 'mousemove').subscribe(\n (moveEvent: MouseEvent) => {\n this.change.emit(moveEvent);\n }\n );\n\n event.preventDefault();\n }\n\n private _unsubscribe(): void {\n this.mouseUp$$.unsubscribe();\n this.mouseUp$$ = null;\n\n this.mouseMove$$.unsubscribe();\n this.mouseMove$$ = null;\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnInit,\n input,\n numberAttribute,\n output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ResizeDirective } from './shared/resize.directive';\n\nexport const ResizeAnchorType = ['top', 'left', 'bottom', 'right'] as const;\nexport type ResizeAnchorType = (typeof ResizeAnchorType)[number];\n\nexport const AlignmentType = ['vertical', 'horizontal'] as const;\nexport type AlignmentType = (typeof AlignmentType)[number];\n\n@Component({\n selector: 'igo-resizable-bar',\n templateUrl: './resizable-bar.component.html',\n styleUrls: ['./resizable-bar.component.scss'],\n imports: [MatIconModule, MatButtonModule, ResizeDirective, NgClass],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResizableBarComponent implements OnInit {\n alignement: AlignmentType;\n iconRotation: string;\n\n readonly anchor = input<ResizeAnchorType>('right');\n\n /** En pixel */\n readonly min = input<number, unknown>(undefined, {\n transform: numberAttribute\n });\n\n /** En pixel */\n readonly max = input<number, unknown>(undefined, {\n transform: numberAttribute\n });\n\n readonly change = output<MouseEvent>();\n\n @HostBinding('class') get cssClass() {\n return `${this.alignement} ${this.anchor()}`;\n }\n\n ngOnInit(): void {\n const anchor = this.anchor();\n this.alignement =\n anchor === 'top' || anchor === 'bottom' ? 'horizontal' : 'vertical';\n\n this.iconRotation = this.alignement === 'vertical' ? 'rotate(90deg)' : '';\n }\n\n onChange(event: MouseEvent): void {\n const value =\n this.alignement === 'horizontal' ? event.clientX : event.clientX;\n const min = this.min();\n const max = this.max();\n if ((min && value <= min) || (max && value >= max)) {\n return;\n }\n this.change.emit(event);\n }\n}\n","<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor()]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -75,10 +75,10 @@ class SelectValueCheckRadioDialogComponent {
75
75
  choices[e.value] = true;
76
76
  this.formGroup.setValue(choices);
77
77
  }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectValueCheckRadioDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
79
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: SelectValueCheckRadioDialogComponent, isStandalone: true, selector: "igo-select-value-check-radio-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{ data.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data.choices; track choice; let i = $index) {\n @if (data.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n", styles: [":host::ng-deep div[mat-dialog-actions]{margin:10px 0 0}:host::ng-deep section.choices-section{max-width:auto;display:grid;grid-template-columns:auto auto;grid-gap:0px;padding:5px}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SelectValueCheckRadioDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
79
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SelectValueCheckRadioDialogComponent, isStandalone: true, selector: "igo-select-value-check-radio-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{ data.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data.choices; track choice; let i = $index) {\n @if (data.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n", styles: [":host::ng-deep div[mat-dialog-actions]{margin:10px 0 0}:host::ng-deep section.choices-section{max-width:auto;display:grid;grid-template-columns:auto auto;grid-gap:0px;padding:5px}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectValueCheckRadioDialogComponent, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SelectValueCheckRadioDialogComponent, decorators: [{
82
82
  type: Component,
83
83
  args: [{ selector: 'igo-select-value-check-radio-dialog', imports: [
84
84
  MatDialogTitle,
@@ -107,10 +107,10 @@ class SelectValueDialogService {
107
107
  });
108
108
  return dialogRef.afterClosed();
109
109
  }
110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectValueDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
111
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectValueDialogService });
110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SelectValueDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
111
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SelectValueDialogService });
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SelectValueDialogService, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SelectValueDialogService, decorators: [{
114
114
  type: Injectable
115
115
  }] });
116
116
 
@@ -124,11 +124,11 @@ class IgoSelectValueDialogModule {
124
124
  providers: []
125
125
  };
126
126
  }
127
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSelectValueDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
128
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: IgoSelectValueDialogModule, imports: [SelectValueCheckRadioDialogComponent], exports: [SelectValueCheckRadioDialogComponent] });
129
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSelectValueDialogModule, providers: [SelectValueDialogService], imports: [SelectValueCheckRadioDialogComponent] });
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSelectValueDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
128
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: IgoSelectValueDialogModule, imports: [SelectValueCheckRadioDialogComponent], exports: [SelectValueCheckRadioDialogComponent] });
129
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSelectValueDialogModule, providers: [SelectValueDialogService], imports: [SelectValueCheckRadioDialogComponent] });
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSelectValueDialogModule, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSelectValueDialogModule, decorators: [{
132
132
  type: NgModule,
133
133
  args: [{
134
134
  imports: [SelectValueCheckRadioDialogComponent],
@@ -30,10 +30,10 @@ class SidenavShimDirective {
30
30
  this.blurElement = undefined;
31
31
  this.focusedElement = undefined;
32
32
  }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SidenavShimDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
34
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: SidenavShimDirective, isStandalone: true, selector: "[igoSidenavShim]", host: { listeners: { "open": "onOpen($event)", "close-start": "onCloseStart($event)", "close": "onClose($event)" } }, ngImport: i0 });
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SidenavShimDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
34
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: SidenavShimDirective, isStandalone: true, selector: "[igoSidenavShim]", host: { listeners: { "open": "onOpen($event)", "close-start": "onCloseStart($event)", "close": "onClose($event)" } }, ngImport: i0 });
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SidenavShimDirective, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SidenavShimDirective, decorators: [{
37
37
  type: Directive,
38
38
  args: [{
39
39
  selector: '[igoSidenavShim]',
@@ -60,11 +60,11 @@ class IgoSidenavModule {
60
60
  providers: []
61
61
  };
62
62
  }
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSidenavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
64
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: IgoSidenavModule, imports: [SidenavShimDirective], exports: [SidenavShimDirective] });
65
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSidenavModule });
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSidenavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
64
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: IgoSidenavModule, imports: [SidenavShimDirective], exports: [SidenavShimDirective] });
65
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSidenavModule });
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSidenavModule, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSidenavModule, decorators: [{
68
68
  type: NgModule,
69
69
  args: [{
70
70
  imports: [SidenavShimDirective],
@@ -20,12 +20,12 @@ class SpinnerComponent {
20
20
  hide() {
21
21
  this.shown = false;
22
22
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: SpinnerComponent, isStandalone: true, selector: "igo-spinner", inputs: { shown: "shown" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner\n diameter=\"40\"\n mode=\"indeterminate\"\n ></mat-progress-spinner>\n</div>\n", styles: [":host .igo-spinner-container{display:none;position:relative;pointer-events:none}:host .igo-spinner-container.igo-spinner-shown{display:block}:host mat-progress-spinner{height:40px;width:40px;border-radius:50%}:host .igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SpinnerComponent, isStandalone: true, selector: "igo-spinner", inputs: { shown: "shown" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\" />\n</div>\n", styles: [":host .igo-spinner-container{display:none;position:relative;pointer-events:none}:host .igo-spinner-container.igo-spinner-shown{display:block}:host mat-progress-spinner{height:40px;width:40px;border-radius:50%}:host .igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SpinnerComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpinnerComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'igo-spinner', imports: [NgClass, MatProgressSpinner, AsyncPipe], template: "<div\n [ngClass]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner\n diameter=\"40\"\n mode=\"indeterminate\"\n ></mat-progress-spinner>\n</div>\n", styles: [":host .igo-spinner-container{display:none;position:relative;pointer-events:none}:host .igo-spinner-container.igo-spinner-shown{display:block}:host mat-progress-spinner{height:40px;width:40px;border-radius:50%}:host .igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"] }]
28
+ args: [{ selector: 'igo-spinner', imports: [NgClass, MatProgressSpinner, AsyncPipe], template: "<div\n [ngClass]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\" />\n</div>\n", styles: [":host .igo-spinner-container{display:none;position:relative;pointer-events:none}:host .igo-spinner-container.igo-spinner-shown{display:block}:host mat-progress-spinner{height:40px;width:40px;border-radius:50%}:host .igo-spinner-background{height:36px;width:36px;border-radius:50%;border:4px solid #ffffff;position:absolute;top:2px;left:2px}\n"] }]
29
29
  }], propDecorators: { shown: [{
30
30
  type: Input
31
31
  }] } });
@@ -62,10 +62,10 @@ class SpinnerActivityDirective {
62
62
  ngOnDestroy() {
63
63
  this.counter$$.unsubscribe();
64
64
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SpinnerActivityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: SpinnerActivityDirective, isStandalone: true, selector: "[igoSpinnerActivity]", ngImport: i0 });
65
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpinnerActivityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: SpinnerActivityDirective, isStandalone: true, selector: "[igoSpinnerActivity]", ngImport: i0 });
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SpinnerActivityDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpinnerActivityDirective, decorators: [{
69
69
  type: Directive,
70
70
  args: [{
71
71
  selector: '[igoSpinnerActivity]',
@@ -81,13 +81,13 @@ const SPINNER_DIRECTIVES = [
81
81
  * @deprecated import the components/directives directly or SPINNER_DIRECTIVES for every components/directives
82
82
  */
83
83
  class IgoSpinnerModule {
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
85
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: IgoSpinnerModule, imports: [SpinnerActivityDirective,
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
85
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: IgoSpinnerModule, imports: [SpinnerActivityDirective,
86
86
  SpinnerComponent], exports: [SpinnerActivityDirective,
87
87
  SpinnerComponent] });
88
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSpinnerModule, imports: [SpinnerComponent] });
88
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSpinnerModule, imports: [SpinnerComponent] });
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoSpinnerModule, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoSpinnerModule, decorators: [{
91
91
  type: NgModule,
92
92
  args: [{
93
93
  imports: [...SPINNER_DIRECTIVES],
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-common-spinner.mjs","sources":["../../../packages/common/spinner/src/spinner.component.ts","../../../packages/common/spinner/src/spinner.component.html","../../../packages/common/spinner/src/spinner-activity.directive.ts","../../../packages/common/spinner/src/spinner.module.ts","../../../packages/common/spinner/src/igo2-common-spinner.ts"],"sourcesContent":["import { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'igo-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n imports: [NgClass, MatProgressSpinner, AsyncPipe]\n})\nexport class SpinnerComponent {\n public shown$ = new BehaviorSubject<boolean>(false);\n\n @Input()\n set shown(value: boolean) {\n this.shown$.next(value);\n }\n get shown(): boolean {\n return this.shown$.value;\n }\n\n show() {\n this.shown = true;\n }\n\n hide() {\n this.shown = false;\n }\n}\n","<div\n [ngClass]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner\n diameter=\"40\"\n mode=\"indeterminate\"\n ></mat-progress-spinner>\n</div>\n","import { Directive, OnDestroy, OnInit, inject } from '@angular/core';\n\nimport { ActivityService } from '@igo2/core/activity';\n\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SpinnerComponent } from './spinner.component';\n\n/**\n * A directive to bind a SpinnerComponent to the activity service.\n * The activity service tracks any HTTP request and this directive\n * will display the spinner it's attached to when the activity counter\n * is greater than 0.\n */\n@Directive({\n selector: '[igoSpinnerActivity]',\n standalone: true\n})\nexport class SpinnerActivityDirective implements OnInit, OnDestroy {\n private spinner = inject(SpinnerComponent, { self: true });\n private activityService = inject(ActivityService);\n\n /**\n * Subscription to the activity service counter\n */\n private counter$$: Subscription;\n\n /**\n * Subscribe to the activity service counter and display the spinner\n * when it's is greater than 0.\n * @internal\n */\n ngOnInit() {\n this.counter$$ = this.activityService.counter$\n .pipe(debounceTime(50))\n .subscribe((count: number) => {\n count > 0 ? this.spinner.show() : this.spinner.hide();\n });\n }\n\n /**\n * Unsubcribe to the activity service counter.\n * @internal\n */\n ngOnDestroy() {\n this.counter$$.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerActivityDirective } from './spinner-activity.directive';\nimport { SpinnerComponent } from './spinner.component';\n\nexport const SPINNER_DIRECTIVES = [\n SpinnerActivityDirective,\n SpinnerComponent\n] as const;\n\n/**\n * @deprecated import the components/directives directly or SPINNER_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...SPINNER_DIRECTIVES],\n exports: [...SPINNER_DIRECTIVES]\n})\nexport class IgoSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igo2-common-spinner.mjs","sources":["../../../packages/common/spinner/src/spinner.component.ts","../../../packages/common/spinner/src/spinner.component.html","../../../packages/common/spinner/src/spinner-activity.directive.ts","../../../packages/common/spinner/src/spinner.module.ts","../../../packages/common/spinner/src/igo2-common-spinner.ts"],"sourcesContent":["import { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'igo-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n imports: [NgClass, MatProgressSpinner, AsyncPipe]\n})\nexport class SpinnerComponent {\n public shown$ = new BehaviorSubject<boolean>(false);\n\n @Input()\n set shown(value: boolean) {\n this.shown$.next(value);\n }\n get shown(): boolean {\n return this.shown$.value;\n }\n\n show() {\n this.shown = true;\n }\n\n hide() {\n this.shown = false;\n }\n}\n","<div\n [ngClass]=\"{\n 'igo-spinner-container': true,\n 'igo-spinner-shown': (shown$ | async)\n }\"\n>\n <div class=\"igo-spinner-background\"></div>\n <mat-progress-spinner diameter=\"40\" mode=\"indeterminate\" />\n</div>\n","import { Directive, OnDestroy, OnInit, inject } from '@angular/core';\n\nimport { ActivityService } from '@igo2/core/activity';\n\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { SpinnerComponent } from './spinner.component';\n\n/**\n * A directive to bind a SpinnerComponent to the activity service.\n * The activity service tracks any HTTP request and this directive\n * will display the spinner it's attached to when the activity counter\n * is greater than 0.\n */\n@Directive({\n selector: '[igoSpinnerActivity]',\n standalone: true\n})\nexport class SpinnerActivityDirective implements OnInit, OnDestroy {\n private spinner = inject(SpinnerComponent, { self: true });\n private activityService = inject(ActivityService);\n\n /**\n * Subscription to the activity service counter\n */\n private counter$$: Subscription;\n\n /**\n * Subscribe to the activity service counter and display the spinner\n * when it's is greater than 0.\n * @internal\n */\n ngOnInit() {\n this.counter$$ = this.activityService.counter$\n .pipe(debounceTime(50))\n .subscribe((count: number) => {\n count > 0 ? this.spinner.show() : this.spinner.hide();\n });\n }\n\n /**\n * Unsubcribe to the activity service counter.\n * @internal\n */\n ngOnDestroy() {\n this.counter$$.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SpinnerActivityDirective } from './spinner-activity.directive';\nimport { SpinnerComponent } from './spinner.component';\n\nexport const SPINNER_DIRECTIVES = [\n SpinnerActivityDirective,\n SpinnerComponent\n] as const;\n\n/**\n * @deprecated import the components/directives directly or SPINNER_DIRECTIVES for every components/directives\n */\n@NgModule({\n imports: [...SPINNER_DIRECTIVES],\n exports: [...SPINNER_DIRECTIVES]\n})\nexport class IgoSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ class StopDropPropagationDirective {
6
6
  event.preventDefault();
7
7
  event.stopPropagation();
8
8
  }
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: StopDropPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: StopDropPropagationDirective, isStandalone: true, selector: "[igoStopDropPropagation]", host: { listeners: { "drop": "onDrop($event)" } }, ngImport: i0 });
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: StopDropPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: StopDropPropagationDirective, isStandalone: true, selector: "[igoStopDropPropagation]", host: { listeners: { "drop": "onDrop($event)" } }, ngImport: i0 });
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: StopDropPropagationDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: StopDropPropagationDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[igoStopDropPropagation]',
@@ -24,10 +24,10 @@ class StopPropagationDirective {
24
24
  onClick(event) {
25
25
  event.stopPropagation();
26
26
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: StopPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: StopPropagationDirective, isStandalone: true, selector: "[igoStopPropagation]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: StopPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: StopPropagationDirective, isStandalone: true, selector: "[igoStopPropagation]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: StopPropagationDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: StopPropagationDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[igoStopPropagation]',
@@ -48,11 +48,11 @@ class IgoStopPropagationModule {
48
48
  providers: []
49
49
  };
50
50
  }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoStopPropagationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
52
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: IgoStopPropagationModule, imports: [StopDropPropagationDirective, StopPropagationDirective], exports: [StopDropPropagationDirective, StopPropagationDirective] });
53
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoStopPropagationModule });
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoStopPropagationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
52
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: IgoStopPropagationModule, imports: [StopDropPropagationDirective, StopPropagationDirective], exports: [StopDropPropagationDirective, StopPropagationDirective] });
53
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoStopPropagationModule });
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoStopPropagationModule, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoStopPropagationModule, decorators: [{
56
56
  type: NgModule,
57
57
  args: [{
58
58
  imports: [StopDropPropagationDirective, StopPropagationDirective],
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, ViewChild, Output, Input, Component, NgModule } from '@angular/core';
2
+ import { input, output, viewChild, Component, NgModule } from '@angular/core';
3
3
  import { SelectionModel } from '@angular/cdk/collections';
4
4
  import { NgClass } from '@angular/common';
5
5
  import * as i6 from '@angular/material/button';
@@ -13,7 +13,7 @@ import { MatIconModule } from '@angular/material/icon';
13
13
  import * as i2 from '@angular/material/input';
14
14
  import { MatInputModule } from '@angular/material/input';
15
15
  import * as i4 from '@angular/material/sort';
16
- import { MatSortModule, MatSort } from '@angular/material/sort';
16
+ import { MatSort, MatSortModule } from '@angular/material/sort';
17
17
  import * as i3 from '@angular/material/table';
18
18
  import { MatTableModule } from '@angular/material/table';
19
19
  import { IgoLanguageModule } from '@igo2/core/language';
@@ -30,33 +30,6 @@ var TableActionColor;
30
30
  TableActionColor[TableActionColor["warn"] = 2] = "warn";
31
31
  })(TableActionColor || (TableActionColor = {}));
32
32
 
33
- class TableDatabase {
34
- /** Stream that emits whenever the data has been modified. */
35
- dataChange = new BehaviorSubject([]);
36
- get data() {
37
- return this.dataChange.value;
38
- }
39
- constructor(data) {
40
- if (data) {
41
- this.dataChange.next(data);
42
- }
43
- }
44
- set(data) {
45
- this.dataChange.next(data);
46
- }
47
- add(item) {
48
- const copiedData = this.data.slice();
49
- copiedData.push(item);
50
- this.set(copiedData);
51
- }
52
- remove(item) {
53
- const copiedData = this.data.slice();
54
- const index = copiedData.indexOf(item);
55
- copiedData.splice(index, 1);
56
- this.set(copiedData);
57
- }
58
- }
59
-
60
33
  class TableDataSource extends DataSource {
61
34
  _database;
62
35
  _model;
@@ -120,63 +93,47 @@ class TableDataSource extends DataSource {
120
93
  }
121
94
 
122
95
  class TableComponent {
123
- get database() {
124
- return this._database;
125
- }
126
- set database(value) {
127
- this._database = value;
128
- }
129
- _database;
130
- get model() {
131
- return this._model;
132
- }
133
- set model(value) {
134
- this._model = value;
135
- }
136
- _model;
137
- get hasFilterInput() {
138
- return this._hasFIlterInput;
139
- }
140
- set hasFilterInput(value) {
141
- this._hasFIlterInput = value;
142
- }
143
- _hasFIlterInput = true;
96
+ database = input(undefined, ...(ngDevMode ? [{ debugName: "database" }] : []));
97
+ model = input(undefined, ...(ngDevMode ? [{ debugName: "model" }] : []));
98
+ hasFilterInput = input(true, ...(ngDevMode ? [{ debugName: "hasFilterInput" }] : []));
144
99
  displayedColumns;
145
100
  dataSource;
146
101
  selection = new SelectionModel(true, []);
147
- select = new EventEmitter();
148
- filter;
149
- sort;
102
+ select = output();
103
+ filter = viewChild('filter', ...(ngDevMode ? [{ debugName: "filter" }] : []));
104
+ sort = viewChild(MatSort, ...(ngDevMode ? [{ debugName: "sort" }] : []));
150
105
  ngOnInit() {
151
- this.dataSource = new TableDataSource(this.database, this.model, this.sort);
152
- if (this.model) {
153
- this.displayedColumns = this.model.columns
106
+ const model = this.model();
107
+ this.dataSource = new TableDataSource(this.database(), model, this.sort());
108
+ if (model) {
109
+ this.displayedColumns = model.columns
154
110
  .filter((c) => c.displayed !== false)
155
111
  .map((c) => c.name);
156
- if (this.model.selectionCheckbox) {
112
+ if (model.selectionCheckbox) {
157
113
  this.displayedColumns.unshift('selectionCheckbox');
158
114
  }
159
- if (this.model.actions && this.model.actions.length) {
115
+ if (model.actions && model.actions.length) {
160
116
  this.displayedColumns.push('action');
161
117
  }
162
118
  }
163
119
  this.selection.changed.subscribe((e) => this.select.emit(e));
164
120
  }
165
121
  ngAfterViewInit() {
166
- if (this.filter) {
167
- fromEvent(this.filter.nativeElement, 'keyup')
122
+ const filter = this.filter();
123
+ if (filter) {
124
+ fromEvent(filter.nativeElement, 'keyup')
168
125
  .pipe(debounceTime(150), distinctUntilChanged())
169
126
  .subscribe(() => {
170
127
  if (!this.dataSource) {
171
128
  return;
172
129
  }
173
- this.dataSource.filter = this.filter.nativeElement.value;
130
+ this.dataSource.filter = this.filter().nativeElement.value;
174
131
  });
175
132
  }
176
133
  }
177
134
  ngOnChanges(change) {
178
135
  if (change.database) {
179
- this.dataSource = new TableDataSource(this.database, this.model, this.sort);
136
+ this.dataSource = new TableDataSource(this.database(), this.model(), this.sort());
180
137
  this.selection.clear();
181
138
  }
182
139
  }
@@ -189,23 +146,23 @@ class TableComponent {
189
146
  /** Whether the number of selected elements matches the total number of rows. */
190
147
  isAllSelected() {
191
148
  const numSelected = this.selection.selected.length;
192
- const numRows = this.database.data.length;
149
+ const numRows = this.database().data.length;
193
150
  return numSelected === numRows;
194
151
  }
195
152
  /** Selects all rows if they are not all selected; otherwise clear selection. */
196
153
  masterToggle() {
197
154
  this.isAllSelected()
198
155
  ? this.selection.clear()
199
- : this.database.data.forEach((row) => this.selection.select(row));
156
+ : this.database().data.forEach((row) => this.selection.select(row));
200
157
  }
201
158
  handleClickAction(event, action, row) {
202
159
  event.stopPropagation();
203
160
  action.click(row);
204
161
  }
205
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: TableComponent, isStandalone: true, selector: "igo-table", inputs: { database: "database", model: "model", hasFilterInput: "hasFilterInput" }, outputs: { select: "select" }, viewQueries: [{ propertyName: "filter", first: true, predicate: ["filter"], descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-box\">\n @if (hasFilterInput) {\n <div class=\"table-header\">\n <mat-form-field floatPlaceholder=\"never\">\n <input\n matInput\n #filter\n [placeholder]=\"'igo.common.table.filter' | translate\"\n />\n </mat-form-field>\n </div>\n }\n\n <div class=\"table-container\">\n <table mat-table #table [dataSource]=\"dataSource\" matSort>\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n >\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </td>\n </ng-container>\n\n @for (column of model.columns; track column) {\n <ng-container [matColumnDef]=\"column.name\">\n @if (column.sortable) {\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ column.title }}\n </th>\n }\n @if (!column.sortable) {\n <th mat-header-cell *matHeaderCellDef>{{ column.title }}</th>\n }\n @if (!column.html) {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\n \"\n >\n {{ getValue(row, column.name) }}\n </td>\n } @else {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\n \"\n [innerHTML]=\"getValue(row, column.name)\"\n ></td>\n }\n </ng-container>\n }\n\n <!-- Action Column -->\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n @for (action of model.actions; track action) {\n <button\n mat-mini-fab\n [color]=\"getActionColor(action.color)\"\n (click)=\"handleClickAction($event, action, row)\"\n >\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n }\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\"\n ></tr>\n </table>\n </div>\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-mdc-header-cell{padding-right:5px}button{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
163
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TableComponent, isStandalone: true, selector: "igo-table", inputs: { database: { classPropertyName: "database", publicName: "database", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, hasFilterInput: { classPropertyName: "hasFilterInput", publicName: "hasFilterInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { select: "select" }, viewQueries: [{ propertyName: "filter", first: true, predicate: ["filter"], descendants: true, isSignal: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-box\">\n @if (hasFilterInput()) {\n <div class=\"table-header\">\n <mat-form-field floatPlaceholder=\"never\">\n <input\n matInput\n #filter\n [placeholder]=\"'igo.common.table.filter' | translate\"\n />\n </mat-form-field>\n </div>\n }\n\n <div class=\"table-container\">\n <table mat-table #table [dataSource]=\"dataSource\" matSort>\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n />\n </td>\n </ng-container>\n\n @for (column of model().columns; track column) {\n <ng-container [matColumnDef]=\"column.name\">\n @if (column.sortable) {\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ column.title }}\n </th>\n }\n @if (!column.sortable) {\n <th mat-header-cell *matHeaderCellDef>{{ column.title }}</th>\n }\n @if (!column.html) {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model().cellClassFunc ? model().cellClassFunc(row, column) : {}\n \"\n >\n {{ getValue(row, column.name) }}\n </td>\n } @else {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model().cellClassFunc ? model().cellClassFunc(row, column) : {}\n \"\n [innerHTML]=\"getValue(row, column.name)\"\n ></td>\n }\n </ng-container>\n }\n\n <!-- Action Column -->\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n @for (action of model().actions; track action) {\n <button\n mat-mini-fab\n [color]=\"getActionColor(action.color)\"\n (click)=\"handleClickAction($event, action, row)\"\n >\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n }\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"model().rowClassFunc ? model().rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\"\n ></tr>\n </table>\n </div>\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-mdc-header-cell{padding-right:5px}button{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
207
164
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TableComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableComponent, decorators: [{
209
166
  type: Component,
210
167
  args: [{ selector: 'igo-table', imports: [
211
168
  MatFormFieldModule,
@@ -217,22 +174,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
217
174
  MatButtonModule,
218
175
  MatIconModule,
219
176
  IgoLanguageModule
220
- ], template: "<div class=\"table-box\">\n @if (hasFilterInput) {\n <div class=\"table-header\">\n <mat-form-field floatPlaceholder=\"never\">\n <input\n matInput\n #filter\n [placeholder]=\"'igo.common.table.filter' | translate\"\n />\n </mat-form-field>\n </div>\n }\n\n <div class=\"table-container\">\n <table mat-table #table [dataSource]=\"dataSource\" matSort>\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n >\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </td>\n </ng-container>\n\n @for (column of model.columns; track column) {\n <ng-container [matColumnDef]=\"column.name\">\n @if (column.sortable) {\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ column.title }}\n </th>\n }\n @if (!column.sortable) {\n <th mat-header-cell *matHeaderCellDef>{{ column.title }}</th>\n }\n @if (!column.html) {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\n \"\n >\n {{ getValue(row, column.name) }}\n </td>\n } @else {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\n \"\n [innerHTML]=\"getValue(row, column.name)\"\n ></td>\n }\n </ng-container>\n }\n\n <!-- Action Column -->\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n @for (action of model.actions; track action) {\n <button\n mat-mini-fab\n [color]=\"getActionColor(action.color)\"\n (click)=\"handleClickAction($event, action, row)\"\n >\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n }\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\"\n ></tr>\n </table>\n </div>\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-mdc-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
221
- }], propDecorators: { database: [{
222
- type: Input
223
- }], model: [{
224
- type: Input
225
- }], hasFilterInput: [{
226
- type: Input
227
- }], select: [{
228
- type: Output
229
- }], filter: [{
230
- type: ViewChild,
231
- args: ['filter']
232
- }], sort: [{
233
- type: ViewChild,
234
- args: [MatSort, { static: true }]
235
- }] } });
177
+ ], template: "<div class=\"table-box\">\n @if (hasFilterInput()) {\n <div class=\"table-header\">\n <mat-form-field floatPlaceholder=\"never\">\n <input\n matInput\n #filter\n [placeholder]=\"'igo.common.table.filter' | translate\"\n />\n </mat-form-field>\n </div>\n }\n\n <div class=\"table-container\">\n <table mat-table #table [dataSource]=\"dataSource\" matSort>\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n />\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n />\n </td>\n </ng-container>\n\n @for (column of model().columns; track column) {\n <ng-container [matColumnDef]=\"column.name\">\n @if (column.sortable) {\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ column.title }}\n </th>\n }\n @if (!column.sortable) {\n <th mat-header-cell *matHeaderCellDef>{{ column.title }}</th>\n }\n @if (!column.html) {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model().cellClassFunc ? model().cellClassFunc(row, column) : {}\n \"\n >\n {{ getValue(row, column.name) }}\n </td>\n } @else {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model().cellClassFunc ? model().cellClassFunc(row, column) : {}\n \"\n [innerHTML]=\"getValue(row, column.name)\"\n ></td>\n }\n </ng-container>\n }\n\n <!-- Action Column -->\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n @for (action of model().actions; track action) {\n <button\n mat-mini-fab\n [color]=\"getActionColor(action.color)\"\n (click)=\"handleClickAction($event, action, row)\"\n >\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n }\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"model().rowClassFunc ? model().rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\"\n ></tr>\n </table>\n </div>\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-mdc-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
178
+ }], propDecorators: { database: [{ type: i0.Input, args: [{ isSignal: true, alias: "database", required: false }] }], model: [{ type: i0.Input, args: [{ isSignal: true, alias: "model", required: false }] }], hasFilterInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFilterInput", required: false }] }], select: [{ type: i0.Output, args: ["select"] }], filter: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }], sort: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSort), { isSignal: true }] }] } });
236
179
 
237
180
  /**
238
181
  * @deprecated import the TableComponent directly
@@ -244,11 +187,11 @@ class IgoTableModule {
244
187
  providers: []
245
188
  };
246
189
  }
247
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
248
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: IgoTableModule, imports: [TableComponent], exports: [TableComponent] });
249
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoTableModule, imports: [TableComponent] });
190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
191
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: IgoTableModule, imports: [TableComponent], exports: [TableComponent] });
192
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoTableModule, imports: [TableComponent] });
250
193
  }
251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: IgoTableModule, decorators: [{
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IgoTableModule, decorators: [{
252
195
  type: NgModule,
253
196
  args: [{
254
197
  imports: [TableComponent],
@@ -256,6 +199,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
256
199
  }]
257
200
  }] });
258
201
 
202
+ class TableDatabase {
203
+ /** Stream that emits whenever the data has been modified. */
204
+ dataChange = new BehaviorSubject([]);
205
+ get data() {
206
+ return this.dataChange.value;
207
+ }
208
+ constructor(data) {
209
+ if (data) {
210
+ this.dataChange.next(data);
211
+ }
212
+ }
213
+ set(data) {
214
+ this.dataChange.next(data);
215
+ }
216
+ add(item) {
217
+ const copiedData = this.data.slice();
218
+ copiedData.push(item);
219
+ this.set(copiedData);
220
+ }
221
+ remove(item) {
222
+ const copiedData = this.data.slice();
223
+ const index = copiedData.indexOf(item);
224
+ copiedData.splice(index, 1);
225
+ this.set(copiedData);
226
+ }
227
+ }
228
+
259
229
  /**
260
230
  * Generated bundle index. Do not edit.
261
231
  */