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.
- package/components/lib/coer-datebox/coer-datebox.component.d.ts +1 -1
- package/components/lib/coer-grid/coer-grid.extension.d.ts +6 -4
- package/components/lib/coer-modal/coer-modal.component.d.ts +1 -1
- package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -1
- package/components/lib/coer-secretbox/coer-secretbox.component.d.ts +1 -1
- package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
- package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
- package/extensions/lib/array.extension.d.ts +2 -2
- package/extensions/lib/date.extension.d.ts +61 -0
- package/extensions/lib/string.extension.d.ts +2 -0
- package/extensions/public-api.d.ts +1 -0
- package/fesm2022/coer-elements-components.mjs +26 -24
- package/fesm2022/coer-elements-components.mjs.map +1 -1
- package/fesm2022/coer-elements-extensions.mjs +91 -3
- package/fesm2022/coer-elements-extensions.mjs.map +1 -1
- package/fesm2022/coer-elements-pages.mjs +9 -8
- package/fesm2022/coer-elements-pages.mjs.map +1 -1
- package/fesm2022/coer-elements-services.mjs +1 -1
- package/fesm2022/coer-elements-services.mjs.map +1 -1
- package/fesm2022/coer-elements-tools.mjs +106 -60
- package/fesm2022/coer-elements-tools.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/coer-elements.css +1 -1
- package/styles/index.scss +4 -4
- package/styles/layout-grid.scss +5 -1
- package/tools/lib/date-time.tools.d.ts +46 -32
- package/tools/lib/numbers.tools.d.ts +2 -0
- package/tools/lib/strings.tools.d.ts +2 -0
- /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" | "
|
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
|
-
|
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" | "
|
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" | "
|
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" | "
|
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" | "
|
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" | "
|
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>;
|
@@ -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 {};
|
@@ -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.
|
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.
|
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
|
-
|
1251
|
-
|
1252
|
-
this.
|
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(
|
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.
|
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.
|
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(
|
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 {
|