coer-elements 2.0.80 → 2.0.82

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 (29) hide show
  1. package/components/lib/coer-datebox/coer-datebox.component.d.ts +1 -1
  2. package/components/lib/coer-grid/coer-grid.extension.d.ts +6 -4
  3. package/components/lib/coer-modal/coer-modal.component.d.ts +1 -1
  4. package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -1
  5. package/components/lib/coer-secretbox/coer-secretbox.component.d.ts +1 -1
  6. package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
  7. package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
  8. package/extensions/lib/array.extension.d.ts +2 -2
  9. package/extensions/lib/date.extension.d.ts +61 -0
  10. package/extensions/lib/string.extension.d.ts +2 -0
  11. package/extensions/public-api.d.ts +1 -0
  12. package/fesm2022/coer-elements-components.mjs +26 -24
  13. package/fesm2022/coer-elements-components.mjs.map +1 -1
  14. package/fesm2022/coer-elements-extensions.mjs +91 -3
  15. package/fesm2022/coer-elements-extensions.mjs.map +1 -1
  16. package/fesm2022/coer-elements-pages.mjs +9 -8
  17. package/fesm2022/coer-elements-pages.mjs.map +1 -1
  18. package/fesm2022/coer-elements-services.mjs +1 -1
  19. package/fesm2022/coer-elements-services.mjs.map +1 -1
  20. package/fesm2022/coer-elements-tools.mjs +106 -60
  21. package/fesm2022/coer-elements-tools.mjs.map +1 -1
  22. package/package.json +1 -1
  23. package/styles/coer-elements.css +1 -1
  24. package/styles/index.scss +4 -4
  25. package/styles/layout-grid.scss +5 -1
  26. package/tools/lib/date-time.tools.d.ts +46 -32
  27. package/tools/lib/numbers.tools.d.ts +2 -0
  28. package/tools/lib/strings.tools.d.ts +2 -0
  29. /package/styles/{orders.scss → order.scss} +0 -0
@@ -22,7 +22,7 @@ export declare class CoerDateBox extends ControlValue implements AfterViewInit,
22
22
  value: import("@angular/core").InputSignal<string | Date | null | undefined>;
23
23
  label: import("@angular/core").InputSignal<string>;
24
24
  placeholder: import("@angular/core").InputSignal<string>;
25
- textPosition: import("@angular/core").InputSignal<"left" | "right" | "center">;
25
+ textPosition: import("@angular/core").InputSignal<"left" | "center" | "right">;
26
26
  isWritable: import("@angular/core").InputSignal<boolean>;
27
27
  isInvalid: import("@angular/core").InputSignal<boolean>;
28
28
  isValid: import("@angular/core").InputSignal<boolean>;
@@ -1,11 +1,11 @@
1
1
  import { IGridButtonByRow, IGridColumn, IGridImport, IGridHeaderButton, IGridHeaderExportButton, IGridKeyupEnter, IGridSearch, IGridInput, IGridCheckbox, IGridInputCheckbox, IGridHeaderImportButton, IGridDataSource, IGridHeader, IGridFooter } from "coer-elements/interfaces";
2
- import { AfterViewInit } from "@angular/core";
2
+ import { AfterContentChecked, AfterViewInit } from "@angular/core";
3
3
  import { ControlValue } from 'coer-elements/tools';
4
4
  import { CoerGridHeader } from "./coer-grid-header/coer-grid-header.component";
5
5
  import { CoerGridBody } from "./coer-grid-body/coer-grid-body.component";
6
6
  import { CoerGridfooter } from "./coer-grid-footer/coer-grid-footer.component";
7
7
  import * as i0 from "@angular/core";
8
- export declare class CoerGridExtension<T> extends ControlValue implements AfterViewInit {
8
+ export declare class CoerGridExtension<T> extends ControlValue implements AfterViewInit, AfterContentChecked {
9
9
  protected readonly _coerGridHeader: import("@angular/core").Signal<CoerGridHeader<T> | undefined>;
10
10
  protected readonly _coerGridBody: import("@angular/core").Signal<CoerGridBody<T> | undefined>;
11
11
  protected readonly _coerGridFooter: import("@angular/core").Signal<CoerGridfooter<T> | undefined>;
@@ -16,6 +16,7 @@ export declare class CoerGridExtension<T> extends ControlValue implements AfterV
16
16
  protected readonly _id: string;
17
17
  protected readonly _searchInner: import("@angular/core").WritableSignal<string | number>;
18
18
  protected readonly _isLoadingInner: import("@angular/core").WritableSignal<boolean>;
19
+ protected _height: string;
19
20
  columns: import("@angular/core").InputSignal<IGridColumn<T>[]>;
20
21
  cleanColumnName: import("@angular/core").InputSignal<boolean>;
21
22
  search: IGridSearch;
@@ -62,8 +63,10 @@ export declare class CoerGridExtension<T> extends ControlValue implements AfterV
62
63
  protected onNumberboxChange: import("@angular/core").OutputEmitterRef<IGridInput<T>>;
63
64
  protected onSelectboxChange: import("@angular/core").OutputEmitterRef<IGridInput<T>>;
64
65
  ngAfterViewInit(): void;
66
+ ngAfterContentChecked(): void;
65
67
  SetValue(value: T[]): void;
66
- writeValue(value: T[]): void;
68
+ /** */
69
+ protected _SetHeight(): void;
67
70
  protected _SetValueInput(row: IGridInput<T>, input: 'coer-switch' | 'coer-textbox' | 'coer-numberbox' | 'coer-selectbox'): void;
68
71
  protected _columns: import("@angular/core").Signal<IGridHeader<T>[]>;
69
72
  /** */
@@ -81,7 +84,6 @@ export declare class CoerGridExtension<T> extends ControlValue implements AfterV
81
84
  protected _Import(value: IGridImport<T>): void;
82
85
  /** */
83
86
  protected _buildRow<T>(data: any): T;
84
- protected get _height(): string;
85
87
  static ɵfac: i0.ɵɵFactoryDeclaration<CoerGridExtension<any>, never>;
86
88
  static ɵcmp: i0.ɵɵComponentDeclaration<CoerGridExtension<any>, "coer-grid-extension", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "cleanColumnName": { "alias": "cleanColumnName"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; }; "exportButton": { "alias": "exportButton"; "required": false; }; "importButton": { "alias": "importButton"; "required": false; }; "addButton": { "alias": "addButton"; "required": false; }; "saveButton": { "alias": "saveButton"; "required": false; }; "checkbox": { "alias": "checkbox"; "required": false; }; "buttonByRow": { "alias": "buttonByRow"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isReadonly": { "alias": "isReadonly"; "required": false; "isSignal": true; }; "isInvisible": { "alias": "isInvisible"; "required": false; "isSignal": true; }; "rowsByPage": { "alias": "rowsByPage"; "required": false; "isSignal": true; }; "tooltipByRow": { "alias": "tooltipByRow"; "required": false; "isSignal": true; }; "enableSort": { "alias": "enableSort"; "required": false; "isSignal": true; }; "enableFocusNext": { "alias": "enableFocusNext"; "required": false; "isSignal": true; }; "enableFocusRow": { "alias": "enableFocusRow"; "required": false; "isSignal": true; }; "enableHoverRow": { "alias": "enableHoverRow"; "required": false; "isSignal": true; }; "isStriped": { "alias": "isStriped"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "MinWidth": { "alias": "MinWidth"; "required": false; "isSignal": true; }; "MaxWidth": { "alias": "MaxWidth"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; }, { "onClickExport": "onClickExport"; "onClickImport": "onClickImport"; "onClickAdd": "onClickAdd"; "onClickSave": "onClickSave"; "onClickRow": "onClickRow"; "onDoubleClickRow": "onDoubleClickRow"; "onCheckboxChange": "onCheckboxChange"; "onClickDeleteRow": "onClickDeleteRow"; "onClickEditRow": "onClickEditRow"; "onClickModalRow": "onClickModalRow"; "onClickGoRow": "onClickGoRow"; "onKeyupEnter": "onKeyupEnter"; "onKeyupEnterLast": "onKeyupEnterLast"; "onSwitchChange": "onSwitchChange"; "onTextboxChange": "onTextboxChange"; "onNumberboxChange": "onNumberboxChange"; "onSelectboxChange": "onSelectboxChange"; }, never, never, true, never>;
87
89
  }
@@ -16,7 +16,7 @@ export declare class CoerModal implements AfterViewInit {
16
16
  width: import("@angular/core").InputSignal<"auto" | "small" | "full">;
17
17
  height: import("@angular/core").InputSignal<string>;
18
18
  maxHeight: import("@angular/core").InputSignal<string>;
19
- verticalPosition: import("@angular/core").InputSignal<"top" | "bottom" | "middle">;
19
+ verticalPosition: import("@angular/core").InputSignal<"top" | "middle" | "bottom">;
20
20
  onOpen: import("@angular/core").OutputEmitterRef<void>;
21
21
  onClose: import("@angular/core").OutputEmitterRef<void>;
22
22
  protected IsNull: (value: any) => boolean;
@@ -16,7 +16,7 @@ export declare class CoerNumberBox extends ControlValue implements AfterViewInit
16
16
  value: import("@angular/core").InputSignal<string | number | null | undefined>;
17
17
  label: import("@angular/core").InputSignal<string>;
18
18
  placeholder: import("@angular/core").InputSignal<string>;
19
- textPosition: import("@angular/core").InputSignal<"left" | "right" | "center">;
19
+ textPosition: import("@angular/core").InputSignal<"left" | "center" | "right">;
20
20
  min: import("@angular/core").InputSignal<number>;
21
21
  max: import("@angular/core").InputSignal<number>;
22
22
  isInvalid: import("@angular/core").InputSignal<boolean>;
@@ -17,7 +17,7 @@ export declare class CoerSecretBox extends ControlValue implements AfterViewInit
17
17
  value: import("@angular/core").InputSignal<string | number | null | undefined>;
18
18
  label: import("@angular/core").InputSignal<string>;
19
19
  placeholder: import("@angular/core").InputSignal<string>;
20
- textPosition: import("@angular/core").InputSignal<"left" | "right" | "center">;
20
+ textPosition: import("@angular/core").InputSignal<"left" | "center" | "right">;
21
21
  minLength: import("@angular/core").InputSignal<string | number>;
22
22
  maxLength: import("@angular/core").InputSignal<string | number>;
23
23
  isInvalid: import("@angular/core").InputSignal<boolean>;
@@ -12,7 +12,7 @@ export declare class CoerTextarea extends ControlValue implements AfterViewInit,
12
12
  value: import("@angular/core").InputSignal<string | number | null | undefined>;
13
13
  label: import("@angular/core").InputSignal<string>;
14
14
  placeholder: import("@angular/core").InputSignal<string>;
15
- textPosition: import("@angular/core").InputSignal<"left" | "right" | "center">;
15
+ textPosition: import("@angular/core").InputSignal<"left" | "center" | "right">;
16
16
  minLength: import("@angular/core").InputSignal<string | number>;
17
17
  maxLength: import("@angular/core").InputSignal<string | number>;
18
18
  isInvalid: import("@angular/core").InputSignal<boolean>;
@@ -16,7 +16,7 @@ export declare class CoerTextBox extends ControlValue implements AfterViewInit,
16
16
  value: import("@angular/core").InputSignal<string | number | null | undefined>;
17
17
  label: import("@angular/core").InputSignal<string>;
18
18
  placeholder: import("@angular/core").InputSignal<string>;
19
- textPosition: import("@angular/core").InputSignal<"left" | "right" | "center">;
19
+ textPosition: import("@angular/core").InputSignal<"left" | "center" | "right">;
20
20
  minLength: import("@angular/core").InputSignal<string | number>;
21
21
  maxLength: import("@angular/core").InputSignal<string | number>;
22
22
  isInvalid: import("@angular/core").InputSignal<boolean>;
@@ -1,9 +1,9 @@
1
1
  declare global {
2
2
  interface Array<T> {
3
3
  /** */
4
- Distinct(): T[];
4
+ distinct(): T[];
5
5
  /** */
6
- Except(exceptions: T[]): T[];
6
+ except(exceptions: T[]): T[];
7
7
  }
8
8
  }
9
9
  export {};
@@ -0,0 +1,61 @@
1
+ declare global {
2
+ interface Date {
3
+ /** */
4
+ getOffset(): number;
5
+ /** */
6
+ getLastDay(): number;
7
+ /** */
8
+ isValidDate(): boolean;
9
+ /** */
10
+ getCurrentDate(): Date;
11
+ /** Convert UTC Date to Local Zone */
12
+ toLocalZone(): Date;
13
+ /** Convert Local Zone Date to UTC */
14
+ toUTC(): Date;
15
+ /** YYYY-MM-DD HH:mm:ss */
16
+ toFormatDB(): string;
17
+ /** */
18
+ toFormatDate(format?: 'MDY' | 'DMY' | 'YMD'): string;
19
+ /** */
20
+ toFormatDateTime(ampm?: boolean, format?: 'MDY' | 'DMY' | 'YMD'): string;
21
+ /** */
22
+ addMilliseconds(milliseconds: number): Date;
23
+ /** */
24
+ addSeconds(seconds: number): Date;
25
+ /** */
26
+ addMinutes(minutes: number): Date;
27
+ /** */
28
+ addHours(hours: number): Date;
29
+ /** */
30
+ addDays(days: number): Date;
31
+ /** */
32
+ addWeeks(weeks: number): Date;
33
+ /** */
34
+ addMonths(months: number): Date;
35
+ /** */
36
+ addYears(years: number): Date;
37
+ /** */
38
+ setMillisecond(millisecond?: number): Date;
39
+ /** */
40
+ setSecond(second?: number): Date;
41
+ /** */
42
+ setMinute(minute?: number): Date;
43
+ /** */
44
+ setHour(hour?: number): Date;
45
+ /** */
46
+ setFirstHour(): Date;
47
+ /** */
48
+ setLastHour(): Date;
49
+ /** */
50
+ setDay(day?: number): Date;
51
+ /** */
52
+ setFirstDay(): Date;
53
+ /** */
54
+ setLastDay(): Date;
55
+ /** */
56
+ getDiffNow(unit?: 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days'): number;
57
+ /** */
58
+ getDiff(date: string | Date, unit?: 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days'): number;
59
+ }
60
+ }
61
+ export {};
@@ -8,6 +8,8 @@ declare global {
8
8
  cleanUpBlanks(): string;
9
9
  /** Apply title formatting */
10
10
  toTitle(): string;
11
+ /** Remove whitespaces */
12
+ removeWhiteSpaces(): string;
11
13
  /** Removes the last character */
12
14
  removeLastChar(): string;
13
15
  /** Removes accents */
@@ -1,3 +1,4 @@
1
1
  import './lib/array.extension';
2
+ import './lib/date.extension';
2
3
  import './lib/object.extension';
3
4
  import './lib/string.extension';
@@ -415,7 +415,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
415
415
 
416
416
  class DATE_ADAPTER extends NativeDateAdapter {
417
417
  format(date) {
418
- return Dates.GetFormatDate(date);
418
+ return Dates.ToFormatDate(date);
419
419
  }
420
420
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DATE_ADAPTER, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
421
421
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DATE_ADAPTER }); }
@@ -585,7 +585,7 @@ class CoerDateBox extends ControlValue {
585
585
  //ControlValueAccessor
586
586
  SetValue(value) {
587
587
  this._value = Tools.IsNotOnlyWhiteSpace(value) && Dates.IsValidDate(value)
588
- ? Dates.GetFormatDB(value) : null;
588
+ ? Dates.ToFormatDB(value) : null;
589
589
  if (typeof this._UpdateValue === 'function') {
590
590
  this._UpdateValue(this._value);
591
591
  this.onChangeValue.emit(this._value);
@@ -1091,6 +1091,7 @@ class CoerGridExtension extends ControlValue {
1091
1091
  this._id = Tools.GetGuid('coer-grid');
1092
1092
  this._searchInner = signal('');
1093
1093
  this._isLoadingInner = signal(true);
1094
+ this._height = '0px';
1094
1095
  // protected _expandedGroups: string[] = [];
1095
1096
  //Inputs
1096
1097
  this.columns = input([]);
@@ -1237,6 +1238,10 @@ class CoerGridExtension extends ControlValue {
1237
1238
  this._isLoadingInner.set(false);
1238
1239
  });
1239
1240
  }
1241
+ //AfterViewChecked
1242
+ ngAfterContentChecked() {
1243
+ this._SetHeight();
1244
+ }
1240
1245
  //ControlValueAccessor
1241
1246
  SetValue(value) {
1242
1247
  if (Tools.IsNull(value))
@@ -1247,9 +1252,17 @@ class CoerGridExtension extends ControlValue {
1247
1252
  }
1248
1253
  this._valueSignal.set(this._value);
1249
1254
  }
1250
- //ControlValueAccessor
1251
- writeValue(value) {
1252
- this.SetValue(value);
1255
+ /** */
1256
+ _SetHeight() {
1257
+ this._height = (this.height() == 'full')
1258
+ ? (Screen.WINDOW_HEIGHT - (45 //Toolbar
1259
+ + 15
1260
+ + (this._coerGridHeader()?.heigth || 0)
1261
+ + (this._coerGridFooter()?.heigth || 0)
1262
+ + HTMLElements.GetOffsetTop(this._grid)
1263
+ + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-top').split('px')[0])
1264
+ + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-bottom').split('px')[0]))) + 'px'
1265
+ : this.height();
1253
1266
  }
1254
1267
  //ControlValueAccessor
1255
1268
  _SetValueInput(row, input) {
@@ -1297,17 +1310,6 @@ class CoerGridExtension extends ControlValue {
1297
1310
  }
1298
1311
  return { ...row };
1299
1312
  }
1300
- //getter
1301
- get _height() {
1302
- return (this.height() == 'full')
1303
- ? (Screen.WINDOW_HEIGHT - (45 //Toolbar
1304
- + (this._coerGridHeader()?.heigth || 0)
1305
- + (this._coerGridFooter()?.heigth || 0)
1306
- + HTMLElements.GetOffsetTop(this._grid)
1307
- + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-top').split('px')[0])
1308
- + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-bottom').split('px')[0]))) + 'px'
1309
- : this.height();
1310
- }
1311
1313
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1312
1314
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.1", type: CoerGridExtension, isStandalone: true, selector: "coer-grid-extension", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, cleanColumnName: { classPropertyName: "cleanColumnName", publicName: "cleanColumnName", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: false, isRequired: false, transformFunction: null }, exportButton: { classPropertyName: "exportButton", publicName: "exportButton", isSignal: false, isRequired: false, transformFunction: null }, importButton: { classPropertyName: "importButton", publicName: "importButton", isSignal: false, isRequired: false, transformFunction: null }, addButton: { classPropertyName: "addButton", publicName: "addButton", isSignal: false, isRequired: false, transformFunction: null }, saveButton: { classPropertyName: "saveButton", publicName: "saveButton", isSignal: false, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: false, isRequired: false, transformFunction: null }, buttonByRow: { classPropertyName: "buttonByRow", publicName: "buttonByRow", isSignal: false, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: false, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", isSignal: true, isRequired: false, transformFunction: null }, tooltipByRow: { classPropertyName: "tooltipByRow", publicName: "tooltipByRow", isSignal: true, isRequired: false, transformFunction: null }, enableSort: { classPropertyName: "enableSort", publicName: "enableSort", isSignal: true, isRequired: false, transformFunction: null }, enableFocusNext: { classPropertyName: "enableFocusNext", publicName: "enableFocusNext", isSignal: true, isRequired: false, transformFunction: null }, enableFocusRow: { classPropertyName: "enableFocusRow", publicName: "enableFocusRow", isSignal: true, isRequired: false, transformFunction: null }, enableHoverRow: { classPropertyName: "enableHoverRow", publicName: "enableHoverRow", isSignal: true, isRequired: false, transformFunction: null }, isStriped: { classPropertyName: "isStriped", publicName: "isStriped", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, MinWidth: { classPropertyName: "MinWidth", publicName: "MinWidth", isSignal: true, isRequired: false, transformFunction: null }, MaxWidth: { classPropertyName: "MaxWidth", publicName: "MaxWidth", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickExport: "onClickExport", onClickImport: "onClickImport", onClickAdd: "onClickAdd", onClickSave: "onClickSave", onClickRow: "onClickRow", onDoubleClickRow: "onDoubleClickRow", onCheckboxChange: "onCheckboxChange", onClickDeleteRow: "onClickDeleteRow", onClickEditRow: "onClickEditRow", onClickModalRow: "onClickModalRow", onClickGoRow: "onClickGoRow", onKeyupEnter: "onKeyupEnter", onKeyupEnterLast: "onKeyupEnterLast", onSwitchChange: "onSwitchChange", onTextboxChange: "onTextboxChange", onNumberboxChange: "onNumberboxChange", onSelectboxChange: "onSelectboxChange" }, viewQueries: [{ propertyName: "_coerGridHeader", first: true, predicate: ["coerGridHeader"], descendants: true, isSignal: true }, { propertyName: "_coerGridBody", first: true, predicate: ["coerGridBody"], descendants: true, isSignal: true }, { propertyName: "_coerGridFooter", first: true, predicate: ["coerGridFooter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
1313
1315
  }
@@ -1660,7 +1662,7 @@ class CoerGridHeader {
1660
1662
  };
1661
1663
  }
1662
1664
  ngAfterViewInit() {
1663
- Tools.Sleep(1000).then(_ => {
1665
+ Tools.Sleep().then(_ => {
1664
1666
  this._header = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'header')}`);
1665
1667
  this._headerSlots = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'header-slots')}`);
1666
1668
  this._headerButtons = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'header-buttons')}`);
@@ -2538,7 +2540,7 @@ class CoerGridCell {
2538
2540
  property: this.header()?.config?.property,
2539
2541
  row: { ...this.row() },
2540
2542
  value: this.row()[Strings.FirstCharToLower(this.header().property)]
2541
- }) ? Dates.GetFormatDateTime(response) : response;
2543
+ }) ? Dates.ToFormatDateTime(response) : response;
2542
2544
  }
2543
2545
  if (Tools.IsNotNull(this.header().config?.typeDate)) {
2544
2546
  response = (typeof this.header()?.config?.typeDate === 'boolean' && this.header()?.config?.typeDate === true) ||
@@ -2547,7 +2549,7 @@ class CoerGridCell {
2547
2549
  property: this.header()?.config?.property,
2548
2550
  row: { ...this.row() },
2549
2551
  value: this.row()[Strings.FirstCharToLower(this.header().property)]
2550
- }) ? Dates.GetFormatDate(response) : response;
2552
+ }) ? Dates.ToFormatDate(response) : response;
2551
2553
  }
2552
2554
  return response;
2553
2555
  }
@@ -3186,11 +3188,11 @@ class CoerGridBody {
3186
3188
  }
3187
3189
  }
3188
3190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3189
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGridBody, isStandalone: false, selector: "coer-grid-body", inputs: { GetIdCalculated: { classPropertyName: "GetIdCalculated", publicName: "GetIdCalculated", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, dataSourceSelected: { classPropertyName: "dataSourceSelected", publicName: "dataSourceSelected", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, searchInner: { classPropertyName: "searchInner", publicName: "searchInner", isSignal: true, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: true, isRequired: false, transformFunction: null }, buttonByRow: { classPropertyName: "buttonByRow", publicName: "buttonByRow", isSignal: true, isRequired: false, transformFunction: null }, isLoadingInner: { classPropertyName: "isLoadingInner", publicName: "isLoadingInner", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, isEnabled: { classPropertyName: "isEnabled", publicName: "isEnabled", isSignal: true, isRequired: false, transformFunction: null }, enableSort: { classPropertyName: "enableSort", publicName: "enableSort", isSignal: true, isRequired: false, transformFunction: null }, enableFocusNext: { classPropertyName: "enableFocusNext", publicName: "enableFocusNext", isSignal: true, isRequired: false, transformFunction: null }, enableFocusRow: { classPropertyName: "enableFocusRow", publicName: "enableFocusRow", isSignal: true, isRequired: false, transformFunction: null }, enableHoverRow: { classPropertyName: "enableHoverRow", publicName: "enableHoverRow", isSignal: true, isRequired: false, transformFunction: null }, isStriped: { classPropertyName: "isStriped", publicName: "isStriped", isSignal: true, isRequired: false, transformFunction: null }, tooltipByRow: { classPropertyName: "tooltipByRow", publicName: "tooltipByRow", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChange: "onValueChange", onClickRow: "onClickRow", onDoubleClickRow: "onDoubleClickRow", onInnerLoadingChange: "onInnerLoadingChange", onCheckboxChange: "onCheckboxChange", onClickDeleteRow: "onClickDeleteRow", onClickEditRow: "onClickEditRow", onClickModalRow: "onClickModalRow", onClickGoRow: "onClickGoRow", onSwitchChange: "onSwitchChange", onTextboxChange: "onTextboxChange", onNumberboxChange: "onNumberboxChange", onSelectboxChange: "onSelectboxChange", onKeyupEnter: "onKeyupEnter", onKeyupEnterLast: "onKeyupEnterLast" }, viewQueries: [{ propertyName: "_coerCheckboxList", predicate: CoerCheckbox, descendants: true, isSignal: true }, { propertyName: "_coerGridCellList", predicate: (CoerGridCell), descendants: true, isSignal: true }], ngImport: i0, template: "<section class=\"coer-grid-body\">\r\n <table [ngClass]=\"{ \r\n 'table' : true,\r\n 'table-sm': true, \r\n 'table-responsive': true,\r\n 'table-striped' : isStriped()\r\n }\">\r\n \r\n <thead>\r\n <tr>\r\n <!-- Checkbox All -->\r\n @if(_showCheckbox()) {\r\n <th class=\"action-column\" scope=\"col\"> \r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isInvisibleCheckboxAll }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(-1, -1, 'checkbox-all')\"\r\n [ignoreDataBinding]=\"true\" \r\n (onChange)=\"_ClickCheckAll($event)\"\r\n ></coer-checkbox>\r\n </div> \r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div> \r\n </div>\r\n </th>\r\n }\r\n\r\n @if(_ShowButtonByRow('showModalButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <th scope=\"col\" [class]=\"_cursorHeader()\" (dblclick)=\"_SortToggle(header.property)\" [ngStyle]=\"{ 'width': header.config?.width || 'auto' }\"> \r\n <div class=\"th-content\">\r\n <span> {{ header.columnName }} </span>\r\n <i [class]=\"_IconShortHeader(header.property)\"></i>\r\n <i [class]=\"_IconSearchHeader(header.property)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showEditButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of dataSource(); track group.indexGroup) {\r\n <tbody> \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"GetIdCalculated()(row.indexRow, 0, 'row')\" \r\n (click)=\"_focusRowIndex.set(row.indexRow)\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'row-focus': (row.indexRow == _focusRowIndex() && enableFocusRow()),\r\n 'row-hover-none': !enableHoverRow()\r\n }\">\r\n \r\n <!-- CheckBox Column -->\r\n @if(_showCheckbox()) {\r\n <td class=\"action-column\">\r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isLoadingInner }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"!isEnabled()\"\r\n (onChange)=\"_ClickCheck($event, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div>\r\n </div>\r\n </td>\r\n }\r\n\r\n <!-- Modal Button -->\r\n @if(_ShowButtonByRow('showModalButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showModalButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorModal()\"\r\n icon=\"icon-modal icon-fill\"\r\n [tooltip]=\"_GetTooltip('Open', row)\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickModalRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <td class=\"td-content\">\r\n <coer-grid-cell\r\n [id]=\"GetIdCalculated()(row.indexRow, header.indexColumn)\"\r\n [header]=\"header\"\r\n [row]=\"row\"\r\n [checkOnRow]=\"_checkOnRow()\"\r\n [enableInputs]=\"isEnabled() && !_isLoadingInner\"\r\n (onClickRow)=\"isEnabled() ? _ClickOnRow(row) : null\"\r\n (onDoubleClickRow)=\"isEnabled() ? onDoubleClickRow.emit(row) : null\"\r\n (onSwitchChange)=\"onSwitchChange.emit($event)\"\r\n (onTextboxChange)=\"onTextboxChange.emit($event)\"\r\n (onNumberboxChange)=\"onNumberboxChange.emit($event)\"\r\n (onSelectboxChange)=\"onSelectboxChange.emit($event)\"\r\n (onKeyupEnter)=\"_NextInput(row.indexRow, header.indexColumn, $event)\"\r\n ></coer-grid-cell>\r\n </td>\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showDeleteButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorDelete()\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\" \r\n tooltipPosition=\"left\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(_ShowButtonByRow('showEditButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showEditButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorEdit()\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n } \r\n \r\n <!-- Go Button -->\r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showGoButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorGo()\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table> \r\n</section>", styles: ["section.coer-grid-body table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}section.coer-grid-body table thead tr th{position:sticky!important;top:0!important;z-index:100!important;vertical-align:middle!important;background-color:var(--gray)!important;color:var(--smoke)!important;overflow:hidden;white-space:nowrap!important;word-wrap:break-word;text-overflow:ellipsis;min-width:30px!important;max-height:30px!important;height:30px!important}section.coer-grid-body table thead tr th div.th-content{display:flex!important;align-items:center!important}section.coer-grid-body table thead tr th div.th-content::selection{background-color:transparent!important}section.coer-grid-body table tbody tr td{border:0px!important;white-space:break-spaces!important;text-overflow:ellipsis!important;overflow:hidden!important;min-height:30px!important;background-color:inherit!important}section.coer-grid-body table tbody tr td.td-content{padding:0!important;vertical-align:middle!important;overflow:visible!important}section.coer-grid-body table tbody tr:not(.row-focus):not(.row-hover-none):hover td{color:#000!important;background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 95%)!important}section.coer-grid-body table tbody tr.row-focus td{background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 65%)!important}section.coer-grid-body table th.action-column,section.coer-grid-body table td.action-column{width:30px!important;min-width:30px!important;max-width:30px!important;padding:0!important;overflow:hidden!important;vertical-align:middle!important}section.coer-grid-body table th.action-column div.action-column-content,section.coer-grid-body table td.action-column div.action-column-content{display:flex!important;align-items:center!important;justify-content:center!important;max-height:30px!important;height:30px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "typeBreakpoint", "icon", "iconPosition", "path", "isLoading", "isDisabled", "isReadonly", "isInvisible", "isHidde", "width", "widthBreakpoint", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltip", "tooltipPosition"], outputs: ["onClick"] }, { kind: "component", type: CoerCheckbox, selector: "coer-checkbox", inputs: ["id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "ignoreDataBinding", "value"], outputs: ["onChange"] }, { kind: "component", type: CoerGridCell, selector: "coer-grid-cell", inputs: ["id", "header", "row", "checkOnRow", "enableInputs"], outputs: ["onClickRow", "onDoubleClickRow", "onSwitchChange", "onTextboxChange", "onNumberboxChange", "onSelectboxChange", "onKeyupEnter"] }] }); }
3191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGridBody, isStandalone: false, selector: "coer-grid-body", inputs: { GetIdCalculated: { classPropertyName: "GetIdCalculated", publicName: "GetIdCalculated", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, dataSourceSelected: { classPropertyName: "dataSourceSelected", publicName: "dataSourceSelected", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, searchInner: { classPropertyName: "searchInner", publicName: "searchInner", isSignal: true, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: true, isRequired: false, transformFunction: null }, buttonByRow: { classPropertyName: "buttonByRow", publicName: "buttonByRow", isSignal: true, isRequired: false, transformFunction: null }, isLoadingInner: { classPropertyName: "isLoadingInner", publicName: "isLoadingInner", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, isEnabled: { classPropertyName: "isEnabled", publicName: "isEnabled", isSignal: true, isRequired: false, transformFunction: null }, enableSort: { classPropertyName: "enableSort", publicName: "enableSort", isSignal: true, isRequired: false, transformFunction: null }, enableFocusNext: { classPropertyName: "enableFocusNext", publicName: "enableFocusNext", isSignal: true, isRequired: false, transformFunction: null }, enableFocusRow: { classPropertyName: "enableFocusRow", publicName: "enableFocusRow", isSignal: true, isRequired: false, transformFunction: null }, enableHoverRow: { classPropertyName: "enableHoverRow", publicName: "enableHoverRow", isSignal: true, isRequired: false, transformFunction: null }, isStriped: { classPropertyName: "isStriped", publicName: "isStriped", isSignal: true, isRequired: false, transformFunction: null }, tooltipByRow: { classPropertyName: "tooltipByRow", publicName: "tooltipByRow", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChange: "onValueChange", onClickRow: "onClickRow", onDoubleClickRow: "onDoubleClickRow", onInnerLoadingChange: "onInnerLoadingChange", onCheckboxChange: "onCheckboxChange", onClickDeleteRow: "onClickDeleteRow", onClickEditRow: "onClickEditRow", onClickModalRow: "onClickModalRow", onClickGoRow: "onClickGoRow", onSwitchChange: "onSwitchChange", onTextboxChange: "onTextboxChange", onNumberboxChange: "onNumberboxChange", onSelectboxChange: "onSelectboxChange", onKeyupEnter: "onKeyupEnter", onKeyupEnterLast: "onKeyupEnterLast" }, viewQueries: [{ propertyName: "_coerCheckboxList", predicate: CoerCheckbox, descendants: true, isSignal: true }, { propertyName: "_coerGridCellList", predicate: (CoerGridCell), descendants: true, isSignal: true }], ngImport: i0, template: "<section class=\"coer-grid-body\">\r\n <table [ngClass]=\"{ \r\n 'table' : true,\r\n 'table-sm': true, \r\n 'table-responsive': true,\r\n 'table-striped' : isStriped()\r\n }\">\r\n \r\n <thead>\r\n <tr>\r\n <!-- Checkbox All -->\r\n @if(_showCheckbox()) {\r\n <th class=\"action-column\" scope=\"col\"> \r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isInvisibleCheckboxAll }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(-1, -1, 'checkbox-all')\"\r\n [ignoreDataBinding]=\"true\" \r\n (onChange)=\"_ClickCheckAll($event)\"\r\n ></coer-checkbox>\r\n </div> \r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div> \r\n </div>\r\n </th>\r\n }\r\n\r\n @if(_ShowButtonByRow('showModalButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <th scope=\"col\" [class]=\"_cursorHeader()\" (dblclick)=\"_SortToggle(header.property)\" [ngStyle]=\"{ 'width': header.config?.width || 'auto' }\"> \r\n <div class=\"th-content\">\r\n <span> {{ header.columnName }} </span>\r\n <i [class]=\"_IconShortHeader(header.property)\"></i>\r\n <i [class]=\"_IconSearchHeader(header.property)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showEditButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of dataSource(); track group.indexGroup) {\r\n <tbody> \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"GetIdCalculated()(row.indexRow, 0, 'row')\" \r\n (click)=\"_focusRowIndex.set(row.indexRow)\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'row-focus': (row.indexRow == _focusRowIndex() && enableFocusRow()),\r\n 'row-hover-none': !enableHoverRow()\r\n }\">\r\n \r\n <!-- CheckBox Column -->\r\n @if(_showCheckbox()) {\r\n <td class=\"action-column\">\r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isLoadingInner }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"!isEnabled()\"\r\n (onChange)=\"_ClickCheck($event, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div>\r\n </div>\r\n </td>\r\n }\r\n\r\n <!-- Modal Button -->\r\n @if(_ShowButtonByRow('showModalButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showModalButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorModal()\"\r\n icon=\"icon-modal icon-fill\"\r\n [tooltip]=\"_GetTooltip('Open', row)\" \r\n tooltipPosition=\"right\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickModalRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <td class=\"td-content\">\r\n <coer-grid-cell\r\n [id]=\"GetIdCalculated()(row.indexRow, header.indexColumn)\"\r\n [header]=\"header\"\r\n [row]=\"row\"\r\n [checkOnRow]=\"_checkOnRow()\"\r\n [enableInputs]=\"isEnabled() && !_isLoadingInner\"\r\n (onClickRow)=\"isEnabled() ? _ClickOnRow(row) : null\"\r\n (onDoubleClickRow)=\"isEnabled() ? onDoubleClickRow.emit(row) : null\"\r\n (onSwitchChange)=\"onSwitchChange.emit($event)\"\r\n (onTextboxChange)=\"onTextboxChange.emit($event)\"\r\n (onNumberboxChange)=\"onNumberboxChange.emit($event)\"\r\n (onSelectboxChange)=\"onSelectboxChange.emit($event)\"\r\n (onKeyupEnter)=\"_NextInput(row.indexRow, header.indexColumn, $event)\"\r\n ></coer-grid-cell>\r\n </td>\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showDeleteButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorDelete()\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\" \r\n tooltipPosition=\"left\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(_ShowButtonByRow('showEditButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showEditButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorEdit()\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n } \r\n \r\n <!-- Go Button -->\r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showGoButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorGo()\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table> \r\n</section>", styles: ["section.coer-grid-body table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}section.coer-grid-body table thead tr th{position:sticky!important;top:0!important;z-index:100!important;vertical-align:middle!important;background-color:var(--gray)!important;color:var(--smoke)!important;overflow:hidden;white-space:nowrap!important;word-wrap:break-word;text-overflow:ellipsis;min-width:30px!important;max-height:30px!important;height:30px!important}section.coer-grid-body table thead tr th div.th-content{display:flex!important;align-items:center!important}section.coer-grid-body table thead tr th div.th-content::selection{background-color:transparent!important}section.coer-grid-body table tbody tr td{border:0px!important;white-space:break-spaces!important;text-overflow:ellipsis!important;overflow:hidden!important;min-height:30px!important;background-color:inherit!important}section.coer-grid-body table tbody tr td.td-content{padding:0!important;vertical-align:middle!important;overflow:visible!important}section.coer-grid-body table tbody tr:not(.row-focus):not(.row-hover-none):hover td{color:#000!important;background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 95%)!important}section.coer-grid-body table tbody tr.row-focus td{background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 65%)!important}section.coer-grid-body table th.action-column,section.coer-grid-body table td.action-column{width:30px!important;min-width:30px!important;max-width:30px!important;padding:0!important;overflow:hidden!important;vertical-align:middle!important}section.coer-grid-body table th.action-column div.action-column-content,section.coer-grid-body table td.action-column div.action-column-content{display:flex!important;align-items:center!important;justify-content:center!important;max-height:30px!important;height:30px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "typeBreakpoint", "icon", "iconPosition", "path", "isLoading", "isDisabled", "isReadonly", "isInvisible", "isHidde", "width", "widthBreakpoint", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltip", "tooltipPosition"], outputs: ["onClick"] }, { kind: "component", type: CoerCheckbox, selector: "coer-checkbox", inputs: ["id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "ignoreDataBinding", "value"], outputs: ["onChange"] }, { kind: "component", type: CoerGridCell, selector: "coer-grid-cell", inputs: ["id", "header", "row", "checkOnRow", "enableInputs"], outputs: ["onClickRow", "onDoubleClickRow", "onSwitchChange", "onTextboxChange", "onNumberboxChange", "onSelectboxChange", "onKeyupEnter"] }] }); }
3190
3192
  }
3191
3193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridBody, decorators: [{
3192
3194
  type: Component,
3193
- args: [{ selector: 'coer-grid-body', standalone: false, template: "<section class=\"coer-grid-body\">\r\n <table [ngClass]=\"{ \r\n 'table' : true,\r\n 'table-sm': true, \r\n 'table-responsive': true,\r\n 'table-striped' : isStriped()\r\n }\">\r\n \r\n <thead>\r\n <tr>\r\n <!-- Checkbox All -->\r\n @if(_showCheckbox()) {\r\n <th class=\"action-column\" scope=\"col\"> \r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isInvisibleCheckboxAll }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(-1, -1, 'checkbox-all')\"\r\n [ignoreDataBinding]=\"true\" \r\n (onChange)=\"_ClickCheckAll($event)\"\r\n ></coer-checkbox>\r\n </div> \r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div> \r\n </div>\r\n </th>\r\n }\r\n\r\n @if(_ShowButtonByRow('showModalButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <th scope=\"col\" [class]=\"_cursorHeader()\" (dblclick)=\"_SortToggle(header.property)\" [ngStyle]=\"{ 'width': header.config?.width || 'auto' }\"> \r\n <div class=\"th-content\">\r\n <span> {{ header.columnName }} </span>\r\n <i [class]=\"_IconShortHeader(header.property)\"></i>\r\n <i [class]=\"_IconSearchHeader(header.property)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showEditButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of dataSource(); track group.indexGroup) {\r\n <tbody> \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"GetIdCalculated()(row.indexRow, 0, 'row')\" \r\n (click)=\"_focusRowIndex.set(row.indexRow)\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'row-focus': (row.indexRow == _focusRowIndex() && enableFocusRow()),\r\n 'row-hover-none': !enableHoverRow()\r\n }\">\r\n \r\n <!-- CheckBox Column -->\r\n @if(_showCheckbox()) {\r\n <td class=\"action-column\">\r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isLoadingInner }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"!isEnabled()\"\r\n (onChange)=\"_ClickCheck($event, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div>\r\n </div>\r\n </td>\r\n }\r\n\r\n <!-- Modal Button -->\r\n @if(_ShowButtonByRow('showModalButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showModalButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorModal()\"\r\n icon=\"icon-modal icon-fill\"\r\n [tooltip]=\"_GetTooltip('Open', row)\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickModalRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <td class=\"td-content\">\r\n <coer-grid-cell\r\n [id]=\"GetIdCalculated()(row.indexRow, header.indexColumn)\"\r\n [header]=\"header\"\r\n [row]=\"row\"\r\n [checkOnRow]=\"_checkOnRow()\"\r\n [enableInputs]=\"isEnabled() && !_isLoadingInner\"\r\n (onClickRow)=\"isEnabled() ? _ClickOnRow(row) : null\"\r\n (onDoubleClickRow)=\"isEnabled() ? onDoubleClickRow.emit(row) : null\"\r\n (onSwitchChange)=\"onSwitchChange.emit($event)\"\r\n (onTextboxChange)=\"onTextboxChange.emit($event)\"\r\n (onNumberboxChange)=\"onNumberboxChange.emit($event)\"\r\n (onSelectboxChange)=\"onSelectboxChange.emit($event)\"\r\n (onKeyupEnter)=\"_NextInput(row.indexRow, header.indexColumn, $event)\"\r\n ></coer-grid-cell>\r\n </td>\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showDeleteButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorDelete()\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\" \r\n tooltipPosition=\"left\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(_ShowButtonByRow('showEditButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showEditButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorEdit()\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n } \r\n \r\n <!-- Go Button -->\r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showGoButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorGo()\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table> \r\n</section>", styles: ["section.coer-grid-body table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}section.coer-grid-body table thead tr th{position:sticky!important;top:0!important;z-index:100!important;vertical-align:middle!important;background-color:var(--gray)!important;color:var(--smoke)!important;overflow:hidden;white-space:nowrap!important;word-wrap:break-word;text-overflow:ellipsis;min-width:30px!important;max-height:30px!important;height:30px!important}section.coer-grid-body table thead tr th div.th-content{display:flex!important;align-items:center!important}section.coer-grid-body table thead tr th div.th-content::selection{background-color:transparent!important}section.coer-grid-body table tbody tr td{border:0px!important;white-space:break-spaces!important;text-overflow:ellipsis!important;overflow:hidden!important;min-height:30px!important;background-color:inherit!important}section.coer-grid-body table tbody tr td.td-content{padding:0!important;vertical-align:middle!important;overflow:visible!important}section.coer-grid-body table tbody tr:not(.row-focus):not(.row-hover-none):hover td{color:#000!important;background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 95%)!important}section.coer-grid-body table tbody tr.row-focus td{background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 65%)!important}section.coer-grid-body table th.action-column,section.coer-grid-body table td.action-column{width:30px!important;min-width:30px!important;max-width:30px!important;padding:0!important;overflow:hidden!important;vertical-align:middle!important}section.coer-grid-body table th.action-column div.action-column-content,section.coer-grid-body table td.action-column div.action-column-content{display:flex!important;align-items:center!important;justify-content:center!important;max-height:30px!important;height:30px!important}\n"] }]
3195
+ args: [{ selector: 'coer-grid-body', standalone: false, template: "<section class=\"coer-grid-body\">\r\n <table [ngClass]=\"{ \r\n 'table' : true,\r\n 'table-sm': true, \r\n 'table-responsive': true,\r\n 'table-striped' : isStriped()\r\n }\">\r\n \r\n <thead>\r\n <tr>\r\n <!-- Checkbox All -->\r\n @if(_showCheckbox()) {\r\n <th class=\"action-column\" scope=\"col\"> \r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isInvisibleCheckboxAll }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(-1, -1, 'checkbox-all')\"\r\n [ignoreDataBinding]=\"true\" \r\n (onChange)=\"_ClickCheckAll($event)\"\r\n ></coer-checkbox>\r\n </div> \r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div> \r\n </div>\r\n </th>\r\n }\r\n\r\n @if(_ShowButtonByRow('showModalButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <th scope=\"col\" [class]=\"_cursorHeader()\" (dblclick)=\"_SortToggle(header.property)\" [ngStyle]=\"{ 'width': header.config?.width || 'auto' }\"> \r\n <div class=\"th-content\">\r\n <span> {{ header.columnName }} </span>\r\n <i [class]=\"_IconShortHeader(header.property)\"></i>\r\n <i [class]=\"_IconSearchHeader(header.property)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n \r\n @if(_ShowButtonByRow('showEditButton')) { \r\n <th class=\"action-column\" scope=\"col\"></th>\r\n } \r\n \r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <th class=\"action-column\" scope=\"col\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of dataSource(); track group.indexGroup) {\r\n <tbody> \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"GetIdCalculated()(row.indexRow, 0, 'row')\" \r\n (click)=\"_focusRowIndex.set(row.indexRow)\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'row-focus': (row.indexRow == _focusRowIndex() && enableFocusRow()),\r\n 'row-hover-none': !enableHoverRow()\r\n }\">\r\n \r\n <!-- CheckBox Column -->\r\n @if(_showCheckbox()) {\r\n <td class=\"action-column\">\r\n <div class=\"action-column-content\">\r\n <div [ngClass]=\"{ 'display-none': _isLoadingInner }\">\r\n <coer-checkbox\r\n [id]=\"GetIdCalculated()(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"!isEnabled()\"\r\n (onChange)=\"_ClickCheck($event, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [class]=\"_isLoadingInner ? 'display-contents' : 'display-none'\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i> \r\n </div>\r\n </div>\r\n </td>\r\n }\r\n\r\n <!-- Modal Button -->\r\n @if(_ShowButtonByRow('showModalButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showModalButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorModal()\"\r\n icon=\"icon-modal icon-fill\"\r\n [tooltip]=\"_GetTooltip('Open', row)\" \r\n tooltipPosition=\"right\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickModalRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of columns(); track header.indexColumn) {\r\n <td class=\"td-content\">\r\n <coer-grid-cell\r\n [id]=\"GetIdCalculated()(row.indexRow, header.indexColumn)\"\r\n [header]=\"header\"\r\n [row]=\"row\"\r\n [checkOnRow]=\"_checkOnRow()\"\r\n [enableInputs]=\"isEnabled() && !_isLoadingInner\"\r\n (onClickRow)=\"isEnabled() ? _ClickOnRow(row) : null\"\r\n (onDoubleClickRow)=\"isEnabled() ? onDoubleClickRow.emit(row) : null\"\r\n (onSwitchChange)=\"onSwitchChange.emit($event)\"\r\n (onTextboxChange)=\"onTextboxChange.emit($event)\"\r\n (onNumberboxChange)=\"onNumberboxChange.emit($event)\"\r\n (onSelectboxChange)=\"onSelectboxChange.emit($event)\"\r\n (onKeyupEnter)=\"_NextInput(row.indexRow, header.indexColumn, $event)\"\r\n ></coer-grid-cell>\r\n </td>\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(_ShowButtonByRow('showDeleteButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showDeleteButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorDelete()\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\" \r\n tooltipPosition=\"left\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(_ShowButtonByRow('showEditButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showEditButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorEdit()\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n } \r\n \r\n <!-- Go Button -->\r\n @if(_ShowButtonByRow('showGoButton')) {\r\n <td class=\"action-column\">\r\n @if(_ShowButtonByRow('showGoButton', row)) {\r\n <div class=\"action-column-content\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ButtonByRowColorGo()\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\" \r\n tooltipPosition=\"left\"\r\n [isDisabled]=\"_isLoadingInner\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table> \r\n</section>", styles: ["section.coer-grid-body table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}section.coer-grid-body table thead tr th{position:sticky!important;top:0!important;z-index:100!important;vertical-align:middle!important;background-color:var(--gray)!important;color:var(--smoke)!important;overflow:hidden;white-space:nowrap!important;word-wrap:break-word;text-overflow:ellipsis;min-width:30px!important;max-height:30px!important;height:30px!important}section.coer-grid-body table thead tr th div.th-content{display:flex!important;align-items:center!important}section.coer-grid-body table thead tr th div.th-content::selection{background-color:transparent!important}section.coer-grid-body table tbody tr td{border:0px!important;white-space:break-spaces!important;text-overflow:ellipsis!important;overflow:hidden!important;min-height:30px!important;background-color:inherit!important}section.coer-grid-body table tbody tr td.td-content{padding:0!important;vertical-align:middle!important;overflow:visible!important}section.coer-grid-body table tbody tr:not(.row-focus):not(.row-hover-none):hover td{color:#000!important;background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 95%)!important}section.coer-grid-body table tbody tr.row-focus td{background-color:color-mix(in srgb,var(--inputs-items-inner),var(--white) 65%)!important}section.coer-grid-body table th.action-column,section.coer-grid-body table td.action-column{width:30px!important;min-width:30px!important;max-width:30px!important;padding:0!important;overflow:hidden!important;vertical-align:middle!important}section.coer-grid-body table th.action-column div.action-column-content,section.coer-grid-body table td.action-column div.action-column-content{display:flex!important;align-items:center!important;justify-content:center!important;max-height:30px!important;height:30px!important}\n"] }]
3194
3196
  }] });
3195
3197
 
3196
3198
  class CoerGridfooter {
@@ -3207,7 +3209,7 @@ class CoerGridfooter {
3207
3209
  this.isLoadingInner = input(true);
3208
3210
  }
3209
3211
  ngAfterViewInit() {
3210
- Tools.Sleep(1000).then(_ => {
3212
+ Tools.Sleep().then(_ => {
3211
3213
  this._footer = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'footer')}`);
3212
3214
  });
3213
3215
  }
@@ -3216,11 +3218,11 @@ class CoerGridfooter {
3216
3218
  return Number(HTMLElements.GetElementHeight(this._footer).split('px')[0]);
3217
3219
  }
3218
3220
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridfooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGridfooter, isStandalone: false, selector: "coer-grid-footer", inputs: { GetIdCalculated: { classPropertyName: "GetIdCalculated", publicName: "GetIdCalculated", isSignal: true, isRequired: true, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, dataSourceFiltered: { classPropertyName: "dataSourceFiltered", publicName: "dataSourceFiltered", isSignal: true, isRequired: false, transformFunction: null }, dataSourceSelected: { classPropertyName: "dataSourceSelected", publicName: "dataSourceSelected", isSignal: true, isRequired: false, transformFunction: null }, isLoadingInner: { classPropertyName: "isLoadingInner", publicName: "isLoadingInner", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n}", dependencies: [{ kind: "pipe", type: i5.NumericFormatPipe, name: "numericFormat" }] }); }
3221
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGridfooter, isStandalone: false, selector: "coer-grid-footer", inputs: { GetIdCalculated: { classPropertyName: "GetIdCalculated", publicName: "GetIdCalculated", isSignal: true, isRequired: true, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, dataSourceFiltered: { classPropertyName: "dataSourceFiltered", publicName: "dataSourceFiltered", isSignal: true, isRequired: false, transformFunction: null }, dataSourceSelected: { classPropertyName: "dataSourceSelected", publicName: "dataSourceSelected", isSignal: true, isRequired: false, transformFunction: null }, isLoadingInner: { classPropertyName: "isLoadingInner", publicName: "isLoadingInner", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n} ", dependencies: [{ kind: "pipe", type: i5.NumericFormatPipe, name: "numericFormat" }] }); }
3220
3222
  }
3221
3223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridfooter, decorators: [{
3222
3224
  type: Component,
3223
- args: [{ selector: 'coer-grid-footer', standalone: false, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n}" }]
3225
+ args: [{ selector: 'coer-grid-footer', standalone: false, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n} " }]
3224
3226
  }] });
3225
3227
 
3226
3228
  class CoerGrid extends CoerGridExtension {