coer-elements 2.0.74 → 2.0.78

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { viewChild, input, output, Component, computed, effect, signal, contentChildren, inject, Input, viewChildren, NgModule } from '@angular/core';
2
+ import { viewChild, input, output, Component, computed, effect, Injectable, signal, contentChildren, inject, Input, viewChildren, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2$1 from '@angular/router';
@@ -28,7 +28,7 @@ import * as i3$3 from '@angular/material/input';
28
28
  import { MatInputModule } from '@angular/material/input';
29
29
  import * as i2$7 from '@angular/material/list';
30
30
  import { MatListModule } from '@angular/material/list';
31
- import { provideNativeDateAdapter, MatNativeDateModule } from '@angular/material/core';
31
+ import { NativeDateAdapter, provideNativeDateAdapter, DateAdapter, MAT_DATE_FORMATS, MatNativeDateModule } from '@angular/material/core';
32
32
  import * as i2$5 from '@angular/material/slide-toggle';
33
33
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
34
34
  import * as i3$4 from '@angular/material/tabs';
@@ -38,7 +38,7 @@ import * as i3$5 from '@angular/material/toolbar';
38
38
  import { MatToolbarModule } from '@angular/material/toolbar';
39
39
  import * as i3$1 from '@angular/material/tooltip';
40
40
  import { MatTooltipModule } from '@angular/material/tooltip';
41
- import { Tools, Strings, ControlValue, CONTROL_VALUE, HTMLElements, Dates, Screen, CoerAlert, Files, Collections, Numbers, Source, Menu, Breadcrumbs } from 'coer-elements/tools';
41
+ import { Tools, Strings, ControlValue, CONTROL_VALUE, Dates, HTMLElements, Screen, CoerAlert, Files, Collections, Numbers, Source, Menu, Breadcrumbs } from 'coer-elements/tools';
42
42
  import { breakpointSIGNAL, isModalOpenSIGNAL, colorsSIGNAL, menuSelectedSIGNAL, isMenuOpenSIGNAL, isLoadingSIGNAL, navigationSIGNAL } from 'coer-elements/signals';
43
43
  import { Modal } from 'bootstrap';
44
44
 
@@ -219,8 +219,8 @@ class CoerButton {
219
219
  });
220
220
  //computed
221
221
  this._icon = computed(() => {
222
- const icon = Tools.IsNotNull(this.icon()) ? this.icon() : '';
223
- switch (this.icon()) {
222
+ const icon = Tools.IsNotOnlyWhiteSpace(this.icon()) ? this.icon() : '';
223
+ switch (icon) {
224
224
  case 'new': return 'icon-plus';
225
225
  case 'save': return 'icon-disk-floppy icon-fill';
226
226
  case 'cancel': return 'icon-x';
@@ -234,8 +234,7 @@ class CoerButton {
234
234
  case 'pointer': return 'icon-pointer icon-fill';
235
235
  }
236
236
  return ['icon', 'icon-outline', 'icon-no-border'].includes(this.type())
237
- && Tools.IsOnlyWhiteSpace(icon)
238
- ? 'icon-pointer icon-fill' : icon;
237
+ && Tools.IsOnlyWhiteSpace(icon) ? 'icon-pointer icon-fill' : icon;
239
238
  });
240
239
  //computed
241
240
  this._buttonType = computed(() => {
@@ -414,6 +413,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
414
413
  args: [{ selector: 'coer-checkbox', providers: [CONTROL_VALUE(CoerCheckbox)], standalone: false, template: "<div [ngClass]=\"{ 'coer-checkbox': true, 'placeholder-glow': isLoading(), 'invisible': isInvisible() }\">\r\n <div [id]=\"_id\" [ngClass]=\"{ 'placeholder': isLoading() }\">\r\n <mat-checkbox\r\n [ngModel]=\"_value\"\r\n [indeterminate]=\"false\"\r\n [labelPosition]=\"labelPosition()\"\r\n [disabled]=\"!_isEnable()\"\r\n (change)=\"this.SetValue($event.checked)\"\r\n >{{ label() }}</mat-checkbox>\r\n </div>\r\n</div>", styles: ["div.coer-checkbox{display:inline-flex!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox{padding:10px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:var(--smoke)!important;border-radius:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple{width:30px!important;height:30px!important;top:5px!important;left:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-ripple.mat-mdc-checkbox-ripple.mat-mdc-focus-indicator *{display:none!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label:empty{display:none!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label{padding-top:3px!important;padding-left:0!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label::selection{background-color:transparent!important}div.coer-checkbox mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}\n"] }]
415
414
  }], ctorParameters: () => [] });
416
415
 
416
+ class DATE_ADAPTER extends NativeDateAdapter {
417
+ format(date) {
418
+ return Dates.GetFormatDate(date);
419
+ }
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
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DATE_ADAPTER }); }
422
+ }
423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DATE_ADAPTER, decorators: [{
424
+ type: Injectable
425
+ }] });
417
426
  class CoerDateBox extends ControlValue {
418
427
  //Constructor
419
428
  constructor() {
@@ -569,32 +578,17 @@ class CoerDateBox extends ControlValue {
569
578
  return Tools.IsNotNull(this._externalButton()?.isDisabled)
570
579
  ? this._externalButton().isDisabled : false;
571
580
  }
581
+ //getter
582
+ get _valueDate() {
583
+ return typeof this._value === 'string' ? new Date(this._value) : this._value;
584
+ }
572
585
  //ControlValueAccessor
573
586
  SetValue(value) {
574
- if (value === undefined)
575
- value = null;
576
- if (Tools.IsNotNull(this._value) && Tools.IsNull(value)) {
577
- this.onChangeValue.emit(null);
578
- }
579
- if (Tools.IsNotOnlyWhiteSpace(value)) {
580
- if (Dates.IsValidDate(value)) {
581
- value = Dates.GetFormatDB(value);
582
- this._value = new Date(value);
583
- this.onChangeValue.emit(Dates.GetFormatDB(this._value));
584
- }
585
- else
586
- this._value = null;
587
- }
588
- else
589
- this._value = null;
587
+ this._value = Tools.IsNotOnlyWhiteSpace(value) && Dates.IsValidDate(value)
588
+ ? Dates.GetFormatDB(value) : null;
590
589
  if (typeof this._UpdateValue === 'function') {
591
590
  this._UpdateValue(this._value);
592
- }
593
- }
594
- /** */
595
- writeValue(value) {
596
- if (Tools.IsNotOnlyWhiteSpace(value)) {
597
- this.SetValue(value);
591
+ this.onChangeValue.emit(this._value);
598
592
  }
599
593
  }
600
594
  /** */
@@ -665,16 +659,46 @@ class CoerDateBox extends ControlValue {
665
659
  }
666
660
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
667
661
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDateBox, isStandalone: false, selector: "coer-datebox", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, textPosition: { classPropertyName: "textPosition", publicName: "textPosition", isSignal: true, isRequired: false, transformFunction: null }, isWritable: { classPropertyName: "isWritable", publicName: "isWritable", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", isSignal: true, isRequired: false, transformFunction: null }, externalButton: { classPropertyName: "externalButton", publicName: "externalButton", 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 }, 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 }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOpen: "onOpen", onClose: "onClose", onChangeValue: "onChangeValue", onClickExternalButton: "onClickExternalButton" }, providers: [
668
- provideNativeDateAdapter(),
669
662
  CONTROL_VALUE(CoerDateBox),
670
- ], viewQueries: [{ propertyName: "_datepicker", first: true, predicate: ["datepicker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div [id]=\"_id + '-coer-date-box'\" class=\"coer-form-field-component\"> \r\n <div class=\"coer-form-field-content\" [ngStyle]=\"{ \r\n width : width(), \r\n minWidth : minWidth(), \r\n maxWidth : maxWidth(),\r\n marginTop : marginTop(),\r\n marginRight : marginRight(),\r\n marginBottom: marginBottom(),\r\n marginLeft : marginLeft()\r\n }\">\r\n \r\n @if(_showexternalButtonLeft) {\r\n <div class=\"external-button-container-left\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n \r\n <mat-form-field \r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"_floatLabel()\"\r\n [ngClass]=\"{\r\n 'width-100' : true,\r\n 'readonly' : isReadonly() && !isLoading(),\r\n 'display-none': isInvisible() || isLoading()\r\n }\"\r\n [style]=\"{ \r\n 'border-top-left-radius' : (_showexternalButtonLeft ? '0px': '4px'),\r\n 'border-top-right-radius': (_showexternalButtonRight ? '0px': '4px'),\r\n }\">\r\n \r\n <mat-label> {{ label() }} </mat-label>\r\n \r\n <input #coerTextBox matInput \r\n [id]=\"_id\"\r\n [placeholder]=\"placeholder()\"\r\n [matDatepicker]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\"\r\n [readonly]=\"!isWritable()\"\r\n [value]=\"_value\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n (dateInput)=\"_dateInput()\"\r\n [style]=\"{ \r\n 'margin-top' : (_floatLabel() == 'auto') ? '15px' : '9px',\r\n 'padding-right': _paddingRight(),\r\n 'text-align' : textPosition()\r\n }\">\r\n \r\n <mat-datepicker #datepicker (closed)=\"_pickerButton?.click()\"></mat-datepicker>\r\n \r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\" [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"icon-calendar-days icon-fill\"></i> \r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n } \r\n \r\n @if(isInvalid() || isValid()) {\r\n <span ngClass=\"icon-container\">\r\n @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-exclamation icon-fill\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-check icon-fill\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n \r\n <!-- Loading || Invisible -->\r\n @if(isLoading() || isInvisible()) {\r\n <div [ngClass]=\"{ \r\n 'width-100': true,\r\n 'border-radius-top-left-5px': true,\r\n 'border-radius-top-right-5px': true,\r\n 'loading' : isLoading(),\r\n 'invisible' : isInvisible() \r\n }\" \r\n > {{ isInvisible() ? '' : _value }} </div>\r\n }\r\n \r\n @if(_showexternalButtonRight) {\r\n <div class=\"external-button-container-right\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </div>\r\n</div> ", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2$3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i2$3.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "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"] }] }); }
663
+ provideNativeDateAdapter(),
664
+ { provide: DateAdapter, useClass: DATE_ADAPTER },
665
+ {
666
+ provide: MAT_DATE_FORMATS,
667
+ useValue: {
668
+ parse: {
669
+ dateInput: 'dd-MM-yyyy',
670
+ },
671
+ display: {
672
+ dateInput: 'dd-MM-yyyy',
673
+ monthYearLabel: 'MMMM yyyy',
674
+ dateA11yLabel: 'dd-MM-yyyy',
675
+ monthYearA11yLabel: 'MMMM yyyy',
676
+ },
677
+ }
678
+ },
679
+ ], viewQueries: [{ propertyName: "_datepicker", first: true, predicate: ["datepicker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div [id]=\"_id + '-coer-date-box'\" class=\"coer-form-field-component\"> \r\n <div class=\"coer-form-field-content\" [ngStyle]=\"{ \r\n width : width(), \r\n minWidth : minWidth(), \r\n maxWidth : maxWidth(),\r\n marginTop : marginTop(),\r\n marginRight : marginRight(),\r\n marginBottom: marginBottom(),\r\n marginLeft : marginLeft()\r\n }\">\r\n \r\n @if(_showexternalButtonLeft) {\r\n <div class=\"external-button-container-left\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n \r\n <mat-form-field \r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"_floatLabel()\"\r\n [ngClass]=\"{\r\n 'width-100' : true,\r\n 'readonly' : isReadonly() && !isLoading(),\r\n 'display-none': isInvisible() || isLoading()\r\n }\"\r\n [style]=\"{ \r\n 'border-top-left-radius' : (_showexternalButtonLeft ? '0px': '4px'),\r\n 'border-top-right-radius': (_showexternalButtonRight ? '0px': '4px'),\r\n }\">\r\n \r\n <mat-label> {{ label() }} </mat-label>\r\n \r\n <input #coerTextBox matInput \r\n [id]=\"_id\"\r\n [placeholder]=\"placeholder()\"\r\n [matDatepicker]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\"\r\n [readonly]=\"!isWritable()\"\r\n [value]=\"_valueDate\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n (dateInput)=\"_dateInput()\"\r\n [style]=\"{ \r\n 'margin-top' : (_floatLabel() == 'auto') ? '15px' : '9px',\r\n 'padding-right': _paddingRight(),\r\n 'text-align' : textPosition()\r\n }\"> \r\n\r\n <mat-datepicker #datepicker (closed)=\"_pickerButton?.click()\"></mat-datepicker>\r\n \r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\" [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"icon-calendar-days icon-fill\"></i> \r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n } \r\n \r\n @if(isInvalid() || isValid()) {\r\n <span ngClass=\"icon-container\">\r\n @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-exclamation icon-fill\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-check icon-fill\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n \r\n <!-- Loading || Invisible -->\r\n @if(isLoading() || isInvisible()) {\r\n <div [ngClass]=\"{ \r\n 'width-100': true,\r\n 'border-radius-top-left-5px': true,\r\n 'border-radius-top-right-5px': true,\r\n 'loading' : isLoading(),\r\n 'invisible' : isInvisible() \r\n }\" \r\n > {{ isInvisible() ? '' : _value }} </div>\r\n }\r\n \r\n @if(_showexternalButtonRight) {\r\n <div class=\"external-button-container-right\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </div>\r\n</div> ", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2$3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i2$3.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "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"] }] }); }
671
680
  }
672
681
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, decorators: [{
673
682
  type: Component,
674
- args: [{ selector: 'coer-datebox', providers: [
675
- provideNativeDateAdapter(),
683
+ args: [{ selector: 'coer-datebox', standalone: false, providers: [
676
684
  CONTROL_VALUE(CoerDateBox),
677
- ], standalone: false, template: "<div [id]=\"_id + '-coer-date-box'\" class=\"coer-form-field-component\"> \r\n <div class=\"coer-form-field-content\" [ngStyle]=\"{ \r\n width : width(), \r\n minWidth : minWidth(), \r\n maxWidth : maxWidth(),\r\n marginTop : marginTop(),\r\n marginRight : marginRight(),\r\n marginBottom: marginBottom(),\r\n marginLeft : marginLeft()\r\n }\">\r\n \r\n @if(_showexternalButtonLeft) {\r\n <div class=\"external-button-container-left\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n \r\n <mat-form-field \r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"_floatLabel()\"\r\n [ngClass]=\"{\r\n 'width-100' : true,\r\n 'readonly' : isReadonly() && !isLoading(),\r\n 'display-none': isInvisible() || isLoading()\r\n }\"\r\n [style]=\"{ \r\n 'border-top-left-radius' : (_showexternalButtonLeft ? '0px': '4px'),\r\n 'border-top-right-radius': (_showexternalButtonRight ? '0px': '4px'),\r\n }\">\r\n \r\n <mat-label> {{ label() }} </mat-label>\r\n \r\n <input #coerTextBox matInput \r\n [id]=\"_id\"\r\n [placeholder]=\"placeholder()\"\r\n [matDatepicker]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\"\r\n [readonly]=\"!isWritable()\"\r\n [value]=\"_value\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n (dateInput)=\"_dateInput()\"\r\n [style]=\"{ \r\n 'margin-top' : (_floatLabel() == 'auto') ? '15px' : '9px',\r\n 'padding-right': _paddingRight(),\r\n 'text-align' : textPosition()\r\n }\">\r\n \r\n <mat-datepicker #datepicker (closed)=\"_pickerButton?.click()\"></mat-datepicker>\r\n \r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\" [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"icon-calendar-days icon-fill\"></i> \r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n } \r\n \r\n @if(isInvalid() || isValid()) {\r\n <span ngClass=\"icon-container\">\r\n @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-exclamation icon-fill\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-check icon-fill\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n \r\n <!-- Loading || Invisible -->\r\n @if(isLoading() || isInvisible()) {\r\n <div [ngClass]=\"{ \r\n 'width-100': true,\r\n 'border-radius-top-left-5px': true,\r\n 'border-radius-top-right-5px': true,\r\n 'loading' : isLoading(),\r\n 'invisible' : isInvisible() \r\n }\" \r\n > {{ isInvisible() ? '' : _value }} </div>\r\n }\r\n \r\n @if(_showexternalButtonRight) {\r\n <div class=\"external-button-container-right\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </div>\r\n</div> " }]
685
+ provideNativeDateAdapter(),
686
+ { provide: DateAdapter, useClass: DATE_ADAPTER },
687
+ {
688
+ provide: MAT_DATE_FORMATS,
689
+ useValue: {
690
+ parse: {
691
+ dateInput: 'dd-MM-yyyy',
692
+ },
693
+ display: {
694
+ dateInput: 'dd-MM-yyyy',
695
+ monthYearLabel: 'MMMM yyyy',
696
+ dateA11yLabel: 'dd-MM-yyyy',
697
+ monthYearA11yLabel: 'MMMM yyyy',
698
+ },
699
+ }
700
+ },
701
+ ], template: "<div [id]=\"_id + '-coer-date-box'\" class=\"coer-form-field-component\"> \r\n <div class=\"coer-form-field-content\" [ngStyle]=\"{ \r\n width : width(), \r\n minWidth : minWidth(), \r\n maxWidth : maxWidth(),\r\n marginTop : marginTop(),\r\n marginRight : marginRight(),\r\n marginBottom: marginBottom(),\r\n marginLeft : marginLeft()\r\n }\">\r\n \r\n @if(_showexternalButtonLeft) {\r\n <div class=\"external-button-container-left\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n \r\n <mat-form-field \r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"_floatLabel()\"\r\n [ngClass]=\"{\r\n 'width-100' : true,\r\n 'readonly' : isReadonly() && !isLoading(),\r\n 'display-none': isInvisible() || isLoading()\r\n }\"\r\n [style]=\"{ \r\n 'border-top-left-radius' : (_showexternalButtonLeft ? '0px': '4px'),\r\n 'border-top-right-radius': (_showexternalButtonRight ? '0px': '4px'),\r\n }\">\r\n \r\n <mat-label> {{ label() }} </mat-label>\r\n \r\n <input #coerTextBox matInput \r\n [id]=\"_id\"\r\n [placeholder]=\"placeholder()\"\r\n [matDatepicker]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\"\r\n [readonly]=\"!isWritable()\"\r\n [value]=\"_valueDate\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n (dateInput)=\"_dateInput()\"\r\n [style]=\"{ \r\n 'margin-top' : (_floatLabel() == 'auto') ? '15px' : '9px',\r\n 'padding-right': _paddingRight(),\r\n 'text-align' : textPosition()\r\n }\"> \r\n\r\n <mat-datepicker #datepicker (closed)=\"_pickerButton?.click()\"></mat-datepicker>\r\n \r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\" [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"icon-calendar-days icon-fill\"></i> \r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n } \r\n \r\n @if(isInvalid() || isValid()) {\r\n <span ngClass=\"icon-container\">\r\n @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-exclamation icon-fill\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"icon-circle-check icon-fill\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n \r\n <!-- Loading || Invisible -->\r\n @if(isLoading() || isInvisible()) {\r\n <div [ngClass]=\"{ \r\n 'width-100': true,\r\n 'border-radius-top-left-5px': true,\r\n 'border-radius-top-right-5px': true,\r\n 'loading' : isLoading(),\r\n 'invisible' : isInvisible() \r\n }\" \r\n > {{ isInvisible() ? '' : _value }} </div>\r\n }\r\n \r\n @if(_showexternalButtonRight) {\r\n <div class=\"external-button-container-right\">\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"dark\"\r\n [icon]=\"_externalButtonIcon\" \r\n [isDisabled]=\"_isDisabledExternalButton\" \r\n (onClick)=\"_isEnable() ? onClickExternalButton.emit() : null\"\r\n ></coer-button>\r\n </div>\r\n }\r\n </div>\r\n</div> " }]
678
702
  }], ctorParameters: () => [] });
679
703
 
680
704
  class CoerModal {
@@ -1110,6 +1134,7 @@ class CoerGridExtension extends ControlValue {
1110
1134
  this.onCheckboxChange = output();
1111
1135
  this.onClickDeleteRow = output();
1112
1136
  this.onClickEditRow = output();
1137
+ this.onClickModalRow = output();
1113
1138
  this.onClickGoRow = output();
1114
1139
  this.onKeyupEnter = output();
1115
1140
  this.onKeyupEnterLast = output();
@@ -1284,7 +1309,7 @@ class CoerGridExtension extends ControlValue {
1284
1309
  : this.height();
1285
1310
  }
1286
1311
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1287
- 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", 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 }); }
1312
+ 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 }); }
1288
1313
  }
1289
1314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, decorators: [{
1290
1315
  type: Component,
@@ -2513,7 +2538,7 @@ class CoerGridCell {
2513
2538
  property: this.header()?.config?.property,
2514
2539
  row: { ...this.row() },
2515
2540
  value: this.row()[Strings.FirstCharToLower(this.header().property)]
2516
- }) ? Dates.GetDateTimeFormat(response) : response;
2541
+ }) ? Dates.GetFormatDateTime(response) : response;
2517
2542
  }
2518
2543
  if (Tools.IsNotNull(this.header().config?.typeDate)) {
2519
2544
  response = (typeof this.header()?.config?.typeDate === 'boolean' && this.header()?.config?.typeDate === true) ||
@@ -2522,7 +2547,7 @@ class CoerGridCell {
2522
2547
  property: this.header()?.config?.property,
2523
2548
  row: { ...this.row() },
2524
2549
  value: this.row()[Strings.FirstCharToLower(this.header().property)]
2525
- }) ? Dates.GetDateFormat(response) : response;
2550
+ }) ? Dates.GetFormatDate(response) : response;
2526
2551
  }
2527
2552
  return response;
2528
2553
  }
@@ -2742,6 +2767,7 @@ class CoerGridBody {
2742
2767
  this.onCheckboxChange = output();
2743
2768
  this.onClickDeleteRow = output();
2744
2769
  this.onClickEditRow = output();
2770
+ this.onClickModalRow = output();
2745
2771
  this.onClickGoRow = output();
2746
2772
  this.onSwitchChange = output();
2747
2773
  this.onTextboxChange = output();
@@ -2790,6 +2816,12 @@ class CoerGridBody {
2790
2816
  : 'primary';
2791
2817
  });
2792
2818
  /** */
2819
+ this._ButtonByRowColorModal = computed(() => {
2820
+ return Tools.IsNotOnlyWhiteSpace(this.buttonByRow()?.modalButtonColor)
2821
+ ? this.buttonByRow()?.modalButtonColor
2822
+ : 'primary';
2823
+ });
2824
+ /** */
2793
2825
  this._ButtonByRowColorGo = computed(() => {
2794
2826
  return Tools.IsNotOnlyWhiteSpace(this.buttonByRow()?.goButtonColor)
2795
2827
  ? this.buttonByRow()?.goButtonColor
@@ -3154,11 +3186,11 @@ class CoerGridBody {
3154
3186
  }
3155
3187
  }
3156
3188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3157
- 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", 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 <!-- 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 <!-- 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"] }] }); }
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 <!-- 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('showModalButton')) { \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 <!-- 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\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 <!-- 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"] }] }); }
3158
3190
  }
3159
3191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridBody, decorators: [{
3160
3192
  type: Component,
3161
- 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 <!-- 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 <!-- 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"] }]
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 <!-- 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('showModalButton')) { \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 <!-- 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\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 <!-- 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"] }]
3162
3194
  }] });
3163
3195
 
3164
3196
  class CoerGridfooter {
@@ -3335,11 +3367,11 @@ class CoerGrid extends CoerGridExtension {
3335
3367
  return dataSource.shift();
3336
3368
  }
3337
3369
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3338
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGrid, isStandalone: false, selector: "coer-grid", providers: [CONTROL_VALUE(CoerGrid)], usesInheritance: true, ngImport: i0, template: "<div [id]=\"_GetIdCalculated(-1, -1, 'coer-grid-inner')\" class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <!-- HEADER -->\r\n <coer-grid-header \r\n #coerGridHeader \r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [GetColumnName]=\"_GetColumnName\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [exportButton]=\"exportButton\"\r\n [importButton]=\"importButton\"\r\n [addButton]=\"addButton\"\r\n [saveButton]=\"saveButton\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\" \r\n (onClickExport)=\"onClickExport.emit($event)\"\r\n (onClickImport)=\"_Import($event)\"\r\n (onClickAdd)=\"onClickAdd.emit()\"\r\n (onClickSave)=\"onClickSave.emit()\"\r\n (onInputSearch)=\"_UpdateSearchInner($event)\"\r\n (onClickClearSearch)=\"_UpdateSearchInner($event)\"\r\n (onKeyupEnterSearch)=\"onKeyupEnter.emit($event)\"> \r\n <ng-content></ng-content> \r\n </coer-grid-header>\r\n\r\n <section class=\"coer-grid-container\" [ngStyle]=\"{ 'overflow': !isLoading() ? 'auto' : 'hidden' }\"> \r\n <div [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n <!-- BODY --> \r\n <coer-grid-body\r\n #coerGridBody\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [value]=\"_valueSignal()\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_dataSource()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [checkbox]=\"checkbox\"\r\n [buttonByRow]=\"buttonByRow\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\"\r\n [isEnabled]=\"_isEnabled()\"\r\n [enableSort]=\"enableSort()\"\r\n [tooltipByRow]=\"tooltipByRow()\"\r\n [enableFocusNext]=\"enableFocusNext()\"\r\n [enableFocusRow]=\"enableFocusRow()\"\r\n [enableHoverRow]=\"enableHoverRow()\"\r\n [isStriped]=\"isStriped()\"\r\n (onValueChange)=\"SetValue($event)\"\r\n (onClickRow)=\"onClickRow.emit($event)\"\r\n (onDoubleClickRow)=\"onDoubleClickRow.emit($event)\"\r\n (onCheckboxChange)=\"onCheckboxChange.emit($event)\"\r\n (onInnerLoadingChange)=\"_isLoadingInner.set($event)\"\r\n (onClickDeleteRow)=\"onClickDeleteRow.emit($event)\"\r\n (onClickEditRow)=\"onClickEditRow.emit($event)\" \r\n (onClickGoRow)=\"onClickGoRow.emit($event)\" \r\n (onSwitchChange)=\"_SetValueInput($event, 'coer-switch')\"\r\n (onTextboxChange)=\"_SetValueInput($event, 'coer-textbox')\"\r\n (onNumberboxChange)=\"_SetValueInput($event, 'coer-numberbox')\"\r\n (onSelectboxChange)=\"_SetValueInput($event, 'coer-selectbox')\"\r\n (onKeyupEnter)=\"onKeyupEnter.emit($event)\"\r\n (onKeyupEnterLast)=\"onKeyupEnterLast.emit($event)\"\r\n ></coer-grid-body>\r\n\r\n <!-- Loading / Empty -->\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <div class=\"loading-content\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n </div> \r\n } \r\n\r\n @else if(_isEnabled() && _valueSignal().length <= 0) {\r\n <div class=\"empty-data\">\r\n <div class=\"empty-data-content\"> No Data </div>\r\n </div>\r\n } \r\n </div>\r\n </section> \r\n\r\n <!-- FOOTER -->\r\n <coer-grid-footer\r\n #coerGridFooter\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [footer]=\"footer\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\" \r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n ></coer-grid-footer>\r\n</div>", styles: ["div.coer-grid section.coer-grid-container{position:relative!important}div.coer-grid section.coer-grid-container div.loading,div.coer-grid section.coer-grid-container div.empty-data{position:absolute!important;inset:0!important;z-index:100!important;display:flex!important;align-items:center!important;justify-content:center!important}div.coer-grid section.coer-grid-container div.loading div.loading-content,div.coer-grid section.coer-grid-container div.loading div.empty-data-content,div.coer-grid section.coer-grid-container div.empty-data div.loading-content,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content{flex-flow:column!important;display:inherit!important;justify-content:inherit!important;align-items:inherit!important;font-size:35px!important;color:var(--gray)!important}div.coer-grid section.coer-grid-container div.loading div.loading-content::selection,div.coer-grid section.coer-grid-container div.loading div.empty-data-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.loading-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content::selection{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerGridHeader, selector: "coer-grid-header", inputs: ["GetIdCalculated", "GetColumnName", "columns", "dataSource", "dataSourceFiltered", "dataSourceSelected", "exportButton", "importButton", "addButton", "saveButton", "search", "searchInner", "isLoadingInner", "isLoading", "isDisabled", "isReadonly", "isInvisible"], outputs: ["onClickExport", "onClickImport", "onClickAdd", "onClickSave", "onInputSearch", "onClickClearSearch", "onKeyupEnterSearch"] }, { kind: "component", type: CoerGridBody, selector: "coer-grid-body", inputs: ["GetIdCalculated", "value", "columns", "dataSource", "dataSourceSelected", "search", "searchInner", "checkbox", "buttonByRow", "isLoadingInner", "isLoading", "isDisabled", "isReadonly", "isInvisible", "isEnabled", "enableSort", "enableFocusNext", "enableFocusRow", "enableHoverRow", "isStriped", "tooltipByRow"], outputs: ["onValueChange", "onClickRow", "onDoubleClickRow", "onInnerLoadingChange", "onCheckboxChange", "onClickDeleteRow", "onClickEditRow", "onClickGoRow", "onSwitchChange", "onTextboxChange", "onNumberboxChange", "onSelectboxChange", "onKeyupEnter", "onKeyupEnterLast"] }, { kind: "component", type: CoerGridfooter, selector: "coer-grid-footer", inputs: ["GetIdCalculated", "footer", "dataSource", "dataSourceFiltered", "dataSourceSelected", "isLoadingInner"] }] }); }
3370
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGrid, isStandalone: false, selector: "coer-grid", providers: [CONTROL_VALUE(CoerGrid)], usesInheritance: true, ngImport: i0, template: "<div [id]=\"_GetIdCalculated(-1, -1, 'coer-grid-inner')\" class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <!-- HEADER -->\r\n <coer-grid-header \r\n #coerGridHeader \r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [GetColumnName]=\"_GetColumnName\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [exportButton]=\"exportButton\"\r\n [importButton]=\"importButton\"\r\n [addButton]=\"addButton\"\r\n [saveButton]=\"saveButton\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\" \r\n (onClickExport)=\"onClickExport.emit($event)\"\r\n (onClickImport)=\"_Import($event)\"\r\n (onClickAdd)=\"onClickAdd.emit()\"\r\n (onClickSave)=\"onClickSave.emit()\"\r\n (onInputSearch)=\"_UpdateSearchInner($event)\"\r\n (onClickClearSearch)=\"_UpdateSearchInner($event)\"\r\n (onKeyupEnterSearch)=\"onKeyupEnter.emit($event)\"> \r\n <ng-content></ng-content> \r\n </coer-grid-header>\r\n\r\n <section class=\"coer-grid-container\" [ngStyle]=\"{ 'overflow': !isLoading() ? 'auto' : 'hidden' }\"> \r\n <div [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n <!-- BODY --> \r\n <coer-grid-body\r\n #coerGridBody\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [value]=\"_valueSignal()\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_dataSource()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [checkbox]=\"checkbox\"\r\n [buttonByRow]=\"buttonByRow\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\"\r\n [isEnabled]=\"_isEnabled()\"\r\n [enableSort]=\"enableSort()\"\r\n [tooltipByRow]=\"tooltipByRow()\"\r\n [enableFocusNext]=\"enableFocusNext()\"\r\n [enableFocusRow]=\"enableFocusRow()\"\r\n [enableHoverRow]=\"enableHoverRow()\"\r\n [isStriped]=\"isStriped()\"\r\n (onValueChange)=\"SetValue($event)\"\r\n (onClickRow)=\"onClickRow.emit($event)\"\r\n (onDoubleClickRow)=\"onDoubleClickRow.emit($event)\"\r\n (onCheckboxChange)=\"onCheckboxChange.emit($event)\"\r\n (onInnerLoadingChange)=\"_isLoadingInner.set($event)\"\r\n (onClickDeleteRow)=\"onClickDeleteRow.emit($event)\"\r\n (onClickEditRow)=\"onClickEditRow.emit($event)\" \r\n (onClickModalRow)=\"onClickModalRow.emit($event)\" \r\n (onClickGoRow)=\"onClickGoRow.emit($event)\" \r\n (onSwitchChange)=\"_SetValueInput($event, 'coer-switch')\"\r\n (onTextboxChange)=\"_SetValueInput($event, 'coer-textbox')\"\r\n (onNumberboxChange)=\"_SetValueInput($event, 'coer-numberbox')\"\r\n (onSelectboxChange)=\"_SetValueInput($event, 'coer-selectbox')\"\r\n (onKeyupEnter)=\"onKeyupEnter.emit($event)\"\r\n (onKeyupEnterLast)=\"onKeyupEnterLast.emit($event)\"\r\n ></coer-grid-body>\r\n\r\n <!-- Loading / Empty -->\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <div class=\"loading-content\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n </div> \r\n } \r\n\r\n @else if(_isEnabled() && _valueSignal().length <= 0) {\r\n <div class=\"empty-data\">\r\n <div class=\"empty-data-content\"> No Data </div>\r\n </div>\r\n } \r\n </div>\r\n </section> \r\n\r\n <!-- FOOTER -->\r\n <coer-grid-footer\r\n #coerGridFooter\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [footer]=\"footer\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\" \r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n ></coer-grid-footer>\r\n</div>", styles: ["div.coer-grid section.coer-grid-container{position:relative!important}div.coer-grid section.coer-grid-container div.loading,div.coer-grid section.coer-grid-container div.empty-data{position:absolute!important;inset:0!important;z-index:100!important;display:flex!important;align-items:center!important;justify-content:center!important}div.coer-grid section.coer-grid-container div.loading div.loading-content,div.coer-grid section.coer-grid-container div.loading div.empty-data-content,div.coer-grid section.coer-grid-container div.empty-data div.loading-content,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content{flex-flow:column!important;display:inherit!important;justify-content:inherit!important;align-items:inherit!important;font-size:35px!important;color:var(--gray)!important}div.coer-grid section.coer-grid-container div.loading div.loading-content::selection,div.coer-grid section.coer-grid-container div.loading div.empty-data-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.loading-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content::selection{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerGridHeader, selector: "coer-grid-header", inputs: ["GetIdCalculated", "GetColumnName", "columns", "dataSource", "dataSourceFiltered", "dataSourceSelected", "exportButton", "importButton", "addButton", "saveButton", "search", "searchInner", "isLoadingInner", "isLoading", "isDisabled", "isReadonly", "isInvisible"], outputs: ["onClickExport", "onClickImport", "onClickAdd", "onClickSave", "onInputSearch", "onClickClearSearch", "onKeyupEnterSearch"] }, { kind: "component", type: CoerGridBody, selector: "coer-grid-body", inputs: ["GetIdCalculated", "value", "columns", "dataSource", "dataSourceSelected", "search", "searchInner", "checkbox", "buttonByRow", "isLoadingInner", "isLoading", "isDisabled", "isReadonly", "isInvisible", "isEnabled", "enableSort", "enableFocusNext", "enableFocusRow", "enableHoverRow", "isStriped", "tooltipByRow"], outputs: ["onValueChange", "onClickRow", "onDoubleClickRow", "onInnerLoadingChange", "onCheckboxChange", "onClickDeleteRow", "onClickEditRow", "onClickModalRow", "onClickGoRow", "onSwitchChange", "onTextboxChange", "onNumberboxChange", "onSelectboxChange", "onKeyupEnter", "onKeyupEnterLast"] }, { kind: "component", type: CoerGridfooter, selector: "coer-grid-footer", inputs: ["GetIdCalculated", "footer", "dataSource", "dataSourceFiltered", "dataSourceSelected", "isLoadingInner"] }] }); }
3339
3371
  }
3340
3372
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, decorators: [{
3341
3373
  type: Component,
3342
- args: [{ selector: 'coer-grid', providers: [CONTROL_VALUE(CoerGrid)], standalone: false, template: "<div [id]=\"_GetIdCalculated(-1, -1, 'coer-grid-inner')\" class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <!-- HEADER -->\r\n <coer-grid-header \r\n #coerGridHeader \r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [GetColumnName]=\"_GetColumnName\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [exportButton]=\"exportButton\"\r\n [importButton]=\"importButton\"\r\n [addButton]=\"addButton\"\r\n [saveButton]=\"saveButton\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\" \r\n (onClickExport)=\"onClickExport.emit($event)\"\r\n (onClickImport)=\"_Import($event)\"\r\n (onClickAdd)=\"onClickAdd.emit()\"\r\n (onClickSave)=\"onClickSave.emit()\"\r\n (onInputSearch)=\"_UpdateSearchInner($event)\"\r\n (onClickClearSearch)=\"_UpdateSearchInner($event)\"\r\n (onKeyupEnterSearch)=\"onKeyupEnter.emit($event)\"> \r\n <ng-content></ng-content> \r\n </coer-grid-header>\r\n\r\n <section class=\"coer-grid-container\" [ngStyle]=\"{ 'overflow': !isLoading() ? 'auto' : 'hidden' }\"> \r\n <div [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n <!-- BODY --> \r\n <coer-grid-body\r\n #coerGridBody\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [value]=\"_valueSignal()\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_dataSource()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [checkbox]=\"checkbox\"\r\n [buttonByRow]=\"buttonByRow\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\"\r\n [isEnabled]=\"_isEnabled()\"\r\n [enableSort]=\"enableSort()\"\r\n [tooltipByRow]=\"tooltipByRow()\"\r\n [enableFocusNext]=\"enableFocusNext()\"\r\n [enableFocusRow]=\"enableFocusRow()\"\r\n [enableHoverRow]=\"enableHoverRow()\"\r\n [isStriped]=\"isStriped()\"\r\n (onValueChange)=\"SetValue($event)\"\r\n (onClickRow)=\"onClickRow.emit($event)\"\r\n (onDoubleClickRow)=\"onDoubleClickRow.emit($event)\"\r\n (onCheckboxChange)=\"onCheckboxChange.emit($event)\"\r\n (onInnerLoadingChange)=\"_isLoadingInner.set($event)\"\r\n (onClickDeleteRow)=\"onClickDeleteRow.emit($event)\"\r\n (onClickEditRow)=\"onClickEditRow.emit($event)\" \r\n (onClickGoRow)=\"onClickGoRow.emit($event)\" \r\n (onSwitchChange)=\"_SetValueInput($event, 'coer-switch')\"\r\n (onTextboxChange)=\"_SetValueInput($event, 'coer-textbox')\"\r\n (onNumberboxChange)=\"_SetValueInput($event, 'coer-numberbox')\"\r\n (onSelectboxChange)=\"_SetValueInput($event, 'coer-selectbox')\"\r\n (onKeyupEnter)=\"onKeyupEnter.emit($event)\"\r\n (onKeyupEnterLast)=\"onKeyupEnterLast.emit($event)\"\r\n ></coer-grid-body>\r\n\r\n <!-- Loading / Empty -->\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <div class=\"loading-content\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n </div> \r\n } \r\n\r\n @else if(_isEnabled() && _valueSignal().length <= 0) {\r\n <div class=\"empty-data\">\r\n <div class=\"empty-data-content\"> No Data </div>\r\n </div>\r\n } \r\n </div>\r\n </section> \r\n\r\n <!-- FOOTER -->\r\n <coer-grid-footer\r\n #coerGridFooter\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [footer]=\"footer\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\" \r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n ></coer-grid-footer>\r\n</div>", styles: ["div.coer-grid section.coer-grid-container{position:relative!important}div.coer-grid section.coer-grid-container div.loading,div.coer-grid section.coer-grid-container div.empty-data{position:absolute!important;inset:0!important;z-index:100!important;display:flex!important;align-items:center!important;justify-content:center!important}div.coer-grid section.coer-grid-container div.loading div.loading-content,div.coer-grid section.coer-grid-container div.loading div.empty-data-content,div.coer-grid section.coer-grid-container div.empty-data div.loading-content,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content{flex-flow:column!important;display:inherit!important;justify-content:inherit!important;align-items:inherit!important;font-size:35px!important;color:var(--gray)!important}div.coer-grid section.coer-grid-container div.loading div.loading-content::selection,div.coer-grid section.coer-grid-container div.loading div.empty-data-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.loading-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content::selection{background-color:transparent!important}\n"] }]
3374
+ args: [{ selector: 'coer-grid', providers: [CONTROL_VALUE(CoerGrid)], standalone: false, template: "<div [id]=\"_GetIdCalculated(-1, -1, 'coer-grid-inner')\" class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <!-- HEADER -->\r\n <coer-grid-header \r\n #coerGridHeader \r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [GetColumnName]=\"_GetColumnName\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [exportButton]=\"exportButton\"\r\n [importButton]=\"importButton\"\r\n [addButton]=\"addButton\"\r\n [saveButton]=\"saveButton\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\" \r\n (onClickExport)=\"onClickExport.emit($event)\"\r\n (onClickImport)=\"_Import($event)\"\r\n (onClickAdd)=\"onClickAdd.emit()\"\r\n (onClickSave)=\"onClickSave.emit()\"\r\n (onInputSearch)=\"_UpdateSearchInner($event)\"\r\n (onClickClearSearch)=\"_UpdateSearchInner($event)\"\r\n (onKeyupEnterSearch)=\"onKeyupEnter.emit($event)\"> \r\n <ng-content></ng-content> \r\n </coer-grid-header>\r\n\r\n <section class=\"coer-grid-container\" [ngStyle]=\"{ 'overflow': !isLoading() ? 'auto' : 'hidden' }\"> \r\n <div [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n <!-- BODY --> \r\n <coer-grid-body\r\n #coerGridBody\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [value]=\"_valueSignal()\"\r\n [columns]=\"_columns()\"\r\n [dataSource]=\"_dataSource()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\"\r\n [search]=\"search\"\r\n [searchInner]=\"_searchInner()\"\r\n [checkbox]=\"checkbox\"\r\n [buttonByRow]=\"buttonByRow\"\r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isInvisible]=\"isInvisible()\"\r\n [isEnabled]=\"_isEnabled()\"\r\n [enableSort]=\"enableSort()\"\r\n [tooltipByRow]=\"tooltipByRow()\"\r\n [enableFocusNext]=\"enableFocusNext()\"\r\n [enableFocusRow]=\"enableFocusRow()\"\r\n [enableHoverRow]=\"enableHoverRow()\"\r\n [isStriped]=\"isStriped()\"\r\n (onValueChange)=\"SetValue($event)\"\r\n (onClickRow)=\"onClickRow.emit($event)\"\r\n (onDoubleClickRow)=\"onDoubleClickRow.emit($event)\"\r\n (onCheckboxChange)=\"onCheckboxChange.emit($event)\"\r\n (onInnerLoadingChange)=\"_isLoadingInner.set($event)\"\r\n (onClickDeleteRow)=\"onClickDeleteRow.emit($event)\"\r\n (onClickEditRow)=\"onClickEditRow.emit($event)\" \r\n (onClickModalRow)=\"onClickModalRow.emit($event)\" \r\n (onClickGoRow)=\"onClickGoRow.emit($event)\" \r\n (onSwitchChange)=\"_SetValueInput($event, 'coer-switch')\"\r\n (onTextboxChange)=\"_SetValueInput($event, 'coer-textbox')\"\r\n (onNumberboxChange)=\"_SetValueInput($event, 'coer-numberbox')\"\r\n (onSelectboxChange)=\"_SetValueInput($event, 'coer-selectbox')\"\r\n (onKeyupEnter)=\"onKeyupEnter.emit($event)\"\r\n (onKeyupEnterLast)=\"onKeyupEnterLast.emit($event)\"\r\n ></coer-grid-body>\r\n\r\n <!-- Loading / Empty -->\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <div class=\"loading-content\">\r\n <i class=\"icon-circle-notch animation-spin text-primary\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n </div> \r\n } \r\n\r\n @else if(_isEnabled() && _valueSignal().length <= 0) {\r\n <div class=\"empty-data\">\r\n <div class=\"empty-data-content\"> No Data </div>\r\n </div>\r\n } \r\n </div>\r\n </section> \r\n\r\n <!-- FOOTER -->\r\n <coer-grid-footer\r\n #coerGridFooter\r\n [GetIdCalculated]=\"_GetIdCalculated\"\r\n [footer]=\"footer\"\r\n [dataSource]=\"_valueSignal()\"\r\n [dataSourceFiltered]=\"_dataSourceFiltered()\"\r\n [dataSourceSelected]=\"dataSourceSelected()\" \r\n [isLoadingInner]=\"_isLoadingInner()\"\r\n ></coer-grid-footer>\r\n</div>", styles: ["div.coer-grid section.coer-grid-container{position:relative!important}div.coer-grid section.coer-grid-container div.loading,div.coer-grid section.coer-grid-container div.empty-data{position:absolute!important;inset:0!important;z-index:100!important;display:flex!important;align-items:center!important;justify-content:center!important}div.coer-grid section.coer-grid-container div.loading div.loading-content,div.coer-grid section.coer-grid-container div.loading div.empty-data-content,div.coer-grid section.coer-grid-container div.empty-data div.loading-content,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content{flex-flow:column!important;display:inherit!important;justify-content:inherit!important;align-items:inherit!important;font-size:35px!important;color:var(--gray)!important}div.coer-grid section.coer-grid-container div.loading div.loading-content::selection,div.coer-grid section.coer-grid-container div.loading div.empty-data-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.loading-content::selection,div.coer-grid section.coer-grid-container div.empty-data div.empty-data-content::selection{background-color:transparent!important}\n"] }]
3343
3375
  }] });
3344
3376
 
3345
3377
  class CoerList {