coer-elements 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/lib/coer-button/coer-button.component.d.ts +7 -7
- package/components/lib/coer-checkbox/coer-checkbox.component.d.ts +1 -1
- package/components/lib/coer-datebox/coer-datebox.component.d.ts +8 -7
- package/components/lib/coer-dropdown/coer-dropdown.component.d.ts +12 -12
- package/components/lib/coer-filebox/coer-filebox.component.d.ts +7 -7
- package/components/lib/coer-form/coer-form.component.d.ts +1 -1
- package/components/lib/coer-grid/coer-grid.component.d.ts +9 -9
- package/components/lib/coer-grid/coer-grid.extension.d.ts +19 -15
- package/components/lib/coer-list/coer-list.component.d.ts +9 -9
- package/components/lib/coer-modal/coer-modal.component.d.ts +1 -1
- package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -1
- package/components/lib/coer-secretbox/coer-secretbox.component.d.ts +1 -1
- package/components/lib/coer-sidenav/coer-toolbar/coer-toolbar.component.d.ts +8 -7
- package/components/lib/coer-switch/coer-switch.component.d.ts +1 -1
- package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
- package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
- package/fesm2022/coer-elements-components.mjs +190 -190
- package/fesm2022/coer-elements-components.mjs.map +1 -1
- package/fesm2022/coer-elements-guards.mjs +6 -6
- package/fesm2022/coer-elements-guards.mjs.map +1 -1
- package/fesm2022/coer-elements-interceptors.mjs +1 -1
- package/fesm2022/coer-elements-interceptors.mjs.map +1 -1
- package/fesm2022/coer-elements-interfaces.mjs.map +1 -1
- package/fesm2022/coer-elements-pages.mjs +213 -174
- package/fesm2022/coer-elements-pages.mjs.map +1 -1
- package/fesm2022/coer-elements-services.mjs +1 -1
- package/fesm2022/coer-elements-services.mjs.map +1 -1
- package/fesm2022/coer-elements-signals.mjs.map +1 -1
- package/fesm2022/coer-elements-tools.mjs +13 -1
- package/fesm2022/coer-elements-tools.mjs.map +1 -1
- package/fesm2022/coer-elements.mjs.map +1 -1
- package/interfaces/lib/coer-grid/grid-button-by-row.interface.d.ts +3 -0
- package/interfaces/lib/coer-grid/grid-header-button.interface.d.ts +1 -0
- package/interfaces/lib/coer-grid/grid-header-export-button.interface.d.ts +1 -0
- package/interfaces/lib/coer-grid/grid-header-import-button.interface.d.ts +1 -0
- package/interfaces/lib/coer-menu/menu-toolbar.interface.d.ts +6 -0
- package/interfaces/lib/login/user-login-response.interface.d.ts +12 -0
- package/interfaces/lib/login/user-login.interface.d.ts +10 -0
- package/interfaces/public-api.d.ts +4 -4
- package/package.json +5 -5
- package/pages/lib/coer-system/coer-system.component.d.ts +53 -34
- package/pages/lib/coer-system/login/login.component.d.ts +15 -15
- package/styles/coer-elements.css +2 -2
- package/tools/lib/user.class.d.ts +3 -2
- package/interfaces/lib/image.interface.d.ts +0 -11
- package/interfaces/lib/login-response.interface.d.ts +0 -10
- package/interfaces/lib/toolbar-menu.interface.d.ts +0 -5
- /package/interfaces/lib/{login.interface.d.ts → login/login.interface.d.ts} +0 -0
@@ -127,8 +127,8 @@ class CoerButton {
|
|
127
127
|
//Variables
|
128
128
|
this._id = Tools.GetGuid('coer-button');
|
129
129
|
this._tooltip = '';
|
130
|
-
//Inputs
|
131
|
-
this.id = '';
|
130
|
+
//Inputs
|
131
|
+
this.id = input('');
|
132
132
|
this.color = input('default');
|
133
133
|
this.type = input('filled');
|
134
134
|
this.icon = input('');
|
@@ -186,8 +186,8 @@ class CoerButton {
|
|
186
186
|
}
|
187
187
|
}
|
188
188
|
ngOnInit() {
|
189
|
-
this.
|
190
|
-
this.
|
189
|
+
this._SetToolTip();
|
190
|
+
this._SetEvents();
|
191
191
|
}
|
192
192
|
ngOnDestroy() {
|
193
193
|
if (this._tooltipElement) {
|
@@ -195,7 +195,7 @@ class CoerButton {
|
|
195
195
|
}
|
196
196
|
}
|
197
197
|
/** */
|
198
|
-
|
198
|
+
_SetEvents() {
|
199
199
|
Tools.Sleep().then(() => {
|
200
200
|
this._element = document.getElementById(`${this._id}-inner-button`);
|
201
201
|
if (Tools.IsNotNull(this._element)) {
|
@@ -206,7 +206,7 @@ class CoerButton {
|
|
206
206
|
}
|
207
207
|
});
|
208
208
|
}
|
209
|
-
|
209
|
+
_SetToolTip() {
|
210
210
|
Tools.Sleep().then(() => {
|
211
211
|
const htmlElement = document.getElementById(`${this._id}-container`);
|
212
212
|
if (Tools.IsNotNull(htmlElement)) {
|
@@ -224,7 +224,7 @@ class CoerButton {
|
|
224
224
|
});
|
225
225
|
}
|
226
226
|
/** */
|
227
|
-
|
227
|
+
_Click() {
|
228
228
|
if (this._isEnable()) {
|
229
229
|
this.onClick.emit();
|
230
230
|
}
|
@@ -239,19 +239,15 @@ class CoerButton {
|
|
239
239
|
}
|
240
240
|
/** */
|
241
241
|
Blur() {
|
242
|
-
Tools.Sleep().then(() =>
|
243
|
-
this._element.blur();
|
244
|
-
});
|
242
|
+
Tools.Sleep().then(() => this._element.blur());
|
245
243
|
}
|
246
244
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerButton, isStandalone: false, selector: "coer-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", 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 }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", 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 }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-button': true }\">\r\n <a [id]=\"_id + '-container'\"\r\n [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation(), 'invisible': isInvisible() || isReadonly() }\"\r\n [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft() }\">\r\n @if(type() =='filled' || type() == 'outline') {\r\n <button mat-button\r\n [id]=\"_id + '-inner-button'\"\r\n type=\"button\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary' && type() =='filled'),\r\n 'secondary-filled' : (color() == 'secondary' && type() =='filled'),\r\n 'success-filled' : (color() == 'success' && type() =='filled'),\r\n 'warning-filled' : (color() == 'warning' && type() =='filled'),\r\n 'danger-filled' : (color() == 'danger' && type() =='filled'),\r\n 'navigation-filled' : (color() == 'navigation' && type() =='filled'),\r\n 'dark-filled' : (color() == 'dark' && type() =='filled'),\r\n 'primary-outline' : (color() == 'primary' && type() =='outline'),\r\n 'secondary-outline' : (color() == 'secondary' && type() =='outline'),\r\n 'success-outline' : (color() == 'success' && type() =='outline'),\r\n 'warning-outline' : (color() == 'warning' && type() =='outline'),\r\n 'danger-outline' : (color() == 'danger' && type() =='outline'),\r\n 'navigation-outline': (color() == 'navigation' && type() =='outline'),\r\n 'dark-outline' : (color() == 'dark' && type() =='outline'),\r\n 'readonly': isDisabled(),\r\n 'cursor-wait': isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width' : width(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(),\r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n <span *ngIf=\"(iconPosition() == 'left')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n\r\n <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n <ng-content></ng-content>\r\n </span>\r\n\r\n <span *ngIf=\"(iconPosition() == 'right')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n </span>\r\n\r\n <ng-template #loading>\r\n <span class=\"slot fa-fade\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"spinner-border\"></i>\r\n </span>\r\n </ng-template>\r\n </button>\r\n }\r\n\r\n @else {\r\n @if (type() == 'icon') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary'),\r\n 'secondary-filled' : (color() == 'secondary'),\r\n 'success-filled' : (color() == 'success'),\r\n 'warning-filled' : (color() == 'warning'),\r\n 'danger-filled' : (color() == 'danger'),\r\n 'navigation-filled': (color() == 'navigation'),\r\n 'dark-filled' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-outline') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-no-border') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'icon-no-border' : true\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n }\r\n </a>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--orange)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(---navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!important;border:1px solid var(--black)!important;color:var(--black)!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus,div.coer-button button.navigation-filled:not(.readonly):hover,div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):hover,div.coer-button button.navigation-outline:not(.readonly):focus,div.coer-button button.dark-filled:not(.readonly):hover,div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):hover,div.coer-button button.dark-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--primary-inner)!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--secondary-inner)!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px var(--success-inner)!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px var(--warning-inner)!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px var(--danger-inner)!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px var(--navigation-inner)!important}div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):focus{box-shadow:0 0 20px var(--black)!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:var(--white)!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
|
245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerButton, isStandalone: false, selector: "coer-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", 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 }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", 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 }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-button': true }\">\r\n <a [id]=\"_id + '-container'\"\r\n [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation(), 'invisible': isInvisible() || isReadonly() }\"\r\n [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft() }\">\r\n @if(type() =='filled' || type() == 'outline') {\r\n <button mat-button\r\n [id]=\"_id + '-inner-button'\"\r\n type=\"button\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary' && type() =='filled'),\r\n 'secondary-filled' : (color() == 'secondary' && type() =='filled'),\r\n 'success-filled' : (color() == 'success' && type() =='filled'),\r\n 'warning-filled' : (color() == 'warning' && type() =='filled'),\r\n 'danger-filled' : (color() == 'danger' && type() =='filled'),\r\n 'navigation-filled' : (color() == 'navigation' && type() =='filled'),\r\n 'dark-filled' : (color() == 'dark' && type() =='filled'),\r\n 'primary-outline' : (color() == 'primary' && type() =='outline'),\r\n 'secondary-outline' : (color() == 'secondary' && type() =='outline'),\r\n 'success-outline' : (color() == 'success' && type() =='outline'),\r\n 'warning-outline' : (color() == 'warning' && type() =='outline'),\r\n 'danger-outline' : (color() == 'danger' && type() =='outline'),\r\n 'navigation-outline': (color() == 'navigation' && type() =='outline'),\r\n 'dark-outline' : (color() == 'dark' && type() =='outline'),\r\n 'readonly': isDisabled(),\r\n 'cursor-wait': isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width' : width(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(),\r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n <span *ngIf=\"(iconPosition() == 'left')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n\r\n <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n <ng-content></ng-content>\r\n </span>\r\n\r\n <span *ngIf=\"(iconPosition() == 'right')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n </span>\r\n\r\n <ng-template #loading>\r\n <span class=\"slot fa-fade\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"spinner-border\"></i>\r\n </span>\r\n </ng-template>\r\n </button>\r\n }\r\n\r\n @else {\r\n @if (type() == 'icon') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary'),\r\n 'secondary-filled' : (color() == 'secondary'),\r\n 'success-filled' : (color() == 'success'),\r\n 'warning-filled' : (color() == 'warning'),\r\n 'danger-filled' : (color() == 'danger'),\r\n 'navigation-filled': (color() == 'navigation'),\r\n 'dark-filled' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-outline') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-no-border') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'icon-no-border' : true\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n }\r\n </a>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--navigation-inner)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(--navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!important;border:1px solid var(--black)!important;color:var(--black)!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus,div.coer-button button.navigation-filled:not(.readonly):hover,div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):hover,div.coer-button button.navigation-outline:not(.readonly):focus,div.coer-button button.dark-filled:not(.readonly):hover,div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):hover,div.coer-button button.dark-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--primary-inner)!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--secondary-inner)!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px var(--success-inner)!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px var(--warning-inner)!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px var(--danger-inner)!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px var(--navigation-inner)!important}div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):focus{box-shadow:0 0 20px var(--black)!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:var(--white)!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
|
248
246
|
}
|
249
247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, decorators: [{
|
250
248
|
type: Component,
|
251
|
-
args: [{ selector: 'coer-button', standalone: false, template: "<div [ngClass]=\"{ 'coer-button': true }\">\r\n <a [id]=\"_id + '-container'\"\r\n [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation(), 'invisible': isInvisible() || isReadonly() }\"\r\n [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft() }\">\r\n @if(type() =='filled' || type() == 'outline') {\r\n <button mat-button\r\n [id]=\"_id + '-inner-button'\"\r\n type=\"button\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary' && type() =='filled'),\r\n 'secondary-filled' : (color() == 'secondary' && type() =='filled'),\r\n 'success-filled' : (color() == 'success' && type() =='filled'),\r\n 'warning-filled' : (color() == 'warning' && type() =='filled'),\r\n 'danger-filled' : (color() == 'danger' && type() =='filled'),\r\n 'navigation-filled' : (color() == 'navigation' && type() =='filled'),\r\n 'dark-filled' : (color() == 'dark' && type() =='filled'),\r\n 'primary-outline' : (color() == 'primary' && type() =='outline'),\r\n 'secondary-outline' : (color() == 'secondary' && type() =='outline'),\r\n 'success-outline' : (color() == 'success' && type() =='outline'),\r\n 'warning-outline' : (color() == 'warning' && type() =='outline'),\r\n 'danger-outline' : (color() == 'danger' && type() =='outline'),\r\n 'navigation-outline': (color() == 'navigation' && type() =='outline'),\r\n 'dark-outline' : (color() == 'dark' && type() =='outline'),\r\n 'readonly': isDisabled(),\r\n 'cursor-wait': isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width' : width(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(),\r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n <span *ngIf=\"(iconPosition() == 'left')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n\r\n <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n <ng-content></ng-content>\r\n </span>\r\n\r\n <span *ngIf=\"(iconPosition() == 'right')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n </span>\r\n\r\n <ng-template #loading>\r\n <span class=\"slot fa-fade\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"spinner-border\"></i>\r\n </span>\r\n </ng-template>\r\n </button>\r\n }\r\n\r\n @else {\r\n @if (type() == 'icon') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary'),\r\n 'secondary-filled' : (color() == 'secondary'),\r\n 'success-filled' : (color() == 'success'),\r\n 'warning-filled' : (color() == 'warning'),\r\n 'danger-filled' : (color() == 'danger'),\r\n 'navigation-filled': (color() == 'navigation'),\r\n 'dark-filled' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-outline') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-no-border') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'icon-no-border' : true\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n }\r\n </a>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--orange)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(---navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!important;border:1px solid var(--black)!important;color:var(--black)!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus,div.coer-button button.navigation-filled:not(.readonly):hover,div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):hover,div.coer-button button.navigation-outline:not(.readonly):focus,div.coer-button button.dark-filled:not(.readonly):hover,div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):hover,div.coer-button button.dark-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--primary-inner)!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--secondary-inner)!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px var(--success-inner)!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px var(--warning-inner)!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px var(--danger-inner)!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px var(--navigation-inner)!important}div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):focus{box-shadow:0 0 20px var(--black)!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:var(--white)!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}\n"] }]
|
252
|
-
}], propDecorators: {
|
253
|
-
type: Input
|
254
|
-
}], tooltip: [{
|
249
|
+
args: [{ selector: 'coer-button', standalone: false, template: "<div [ngClass]=\"{ 'coer-button': true }\">\r\n <a [id]=\"_id + '-container'\"\r\n [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation(), 'invisible': isInvisible() || isReadonly() }\"\r\n [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft() }\">\r\n @if(type() =='filled' || type() == 'outline') {\r\n <button mat-button\r\n [id]=\"_id + '-inner-button'\"\r\n type=\"button\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary' && type() =='filled'),\r\n 'secondary-filled' : (color() == 'secondary' && type() =='filled'),\r\n 'success-filled' : (color() == 'success' && type() =='filled'),\r\n 'warning-filled' : (color() == 'warning' && type() =='filled'),\r\n 'danger-filled' : (color() == 'danger' && type() =='filled'),\r\n 'navigation-filled' : (color() == 'navigation' && type() =='filled'),\r\n 'dark-filled' : (color() == 'dark' && type() =='filled'),\r\n 'primary-outline' : (color() == 'primary' && type() =='outline'),\r\n 'secondary-outline' : (color() == 'secondary' && type() =='outline'),\r\n 'success-outline' : (color() == 'success' && type() =='outline'),\r\n 'warning-outline' : (color() == 'warning' && type() =='outline'),\r\n 'danger-outline' : (color() == 'danger' && type() =='outline'),\r\n 'navigation-outline': (color() == 'navigation' && type() =='outline'),\r\n 'dark-outline' : (color() == 'dark' && type() =='outline'),\r\n 'readonly': isDisabled(),\r\n 'cursor-wait': isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width' : width(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(),\r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n <span *ngIf=\"(iconPosition() == 'left')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n\r\n <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n <ng-content></ng-content>\r\n </span>\r\n\r\n <span *ngIf=\"(iconPosition() == 'right')\">\r\n <i [class]=\"_icon()\"></i>\r\n </span>\r\n </span>\r\n\r\n <ng-template #loading>\r\n <span class=\"slot fa-fade\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"spinner-border\"></i>\r\n </span>\r\n </ng-template>\r\n </button>\r\n }\r\n\r\n @else {\r\n @if (type() == 'icon') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-filled' : (color() == 'primary'),\r\n 'secondary-filled' : (color() == 'secondary'),\r\n 'success-filled' : (color() == 'success'),\r\n 'warning-filled' : (color() == 'warning'),\r\n 'danger-filled' : (color() == 'danger'),\r\n 'navigation-filled': (color() == 'navigation'),\r\n 'dark-filled' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-outline') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'cursor-wait' : isLoading()\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n\r\n @else if (type() == 'icon-no-border') {\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [ngClass]=\"{\r\n 'primary-outline' : (color() == 'primary'),\r\n 'secondary-outline' : (color() == 'secondary'),\r\n 'success-outline' : (color() == 'success'),\r\n 'warning-outline' : (color() == 'warning'),\r\n 'danger-outline' : (color() == 'danger'),\r\n 'navigation-outline': (color() == 'navigation'),\r\n 'dark-outline' : (color() == 'dark'),\r\n 'readonly' : (isDisabled() || isLoading()),\r\n 'icon-no-border' : true\r\n }\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n }\r\n }\r\n </a>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--navigation-inner)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(--navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!important;border:1px solid var(--black)!important;color:var(--black)!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus,div.coer-button button.navigation-filled:not(.readonly):hover,div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):hover,div.coer-button button.navigation-outline:not(.readonly):focus,div.coer-button button.dark-filled:not(.readonly):hover,div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):hover,div.coer-button button.dark-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--primary-inner)!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--secondary-inner)!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px var(--success-inner)!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px var(--warning-inner)!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px var(--danger-inner)!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px var(--navigation-inner)!important}div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):focus{box-shadow:0 0 20px var(--black)!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:var(--white)!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}\n"] }]
|
250
|
+
}], propDecorators: { tooltip: [{
|
255
251
|
type: Input
|
256
252
|
}] } });
|
257
253
|
|
@@ -345,7 +341,7 @@ class CoerDateBox extends ControlValue {
|
|
345
341
|
this._datepicker = viewChild('datepicker');
|
346
342
|
this._isLoadingEvent = signal(false);
|
347
343
|
this._isOpen = false;
|
348
|
-
this.id = '';
|
344
|
+
this.id = input('');
|
349
345
|
this.label = input('');
|
350
346
|
this.placeholder = input('');
|
351
347
|
this.textPosition = input('left');
|
@@ -367,11 +363,11 @@ class CoerDateBox extends ControlValue {
|
|
367
363
|
this.onClose = output();
|
368
364
|
this.onChangeValue = output();
|
369
365
|
//computed
|
370
|
-
this.
|
366
|
+
this._floatLabel = computed(() => {
|
371
367
|
return this.label() == '' ? 'always' : 'auto';
|
372
368
|
});
|
373
369
|
//computed
|
374
|
-
this.
|
370
|
+
this._paddingRight = computed(() => {
|
375
371
|
return this.isInvalid() || this.isValid()
|
376
372
|
? '18px' : '0px';
|
377
373
|
});
|
@@ -387,7 +383,7 @@ class CoerDateBox extends ControlValue {
|
|
387
383
|
this.SetValue(value);
|
388
384
|
}
|
389
385
|
ngOnInit() {
|
390
|
-
this.
|
386
|
+
this._SetEvents();
|
391
387
|
}
|
392
388
|
//getter
|
393
389
|
get value() {
|
@@ -399,6 +395,10 @@ class CoerDateBox extends ControlValue {
|
|
399
395
|
get isOpen() {
|
400
396
|
return this._isOpen;
|
401
397
|
}
|
398
|
+
//getter
|
399
|
+
get isClose() {
|
400
|
+
return !this._isOpen;
|
401
|
+
}
|
402
402
|
//ControlValueAccessor
|
403
403
|
SetValue(value) {
|
404
404
|
if (value === undefined)
|
@@ -428,13 +428,13 @@ class CoerDateBox extends ControlValue {
|
|
428
428
|
}
|
429
429
|
}
|
430
430
|
/** */
|
431
|
-
|
431
|
+
_SetEvents() {
|
432
432
|
Tools.Sleep().then(() => {
|
433
433
|
//input
|
434
434
|
this._input = document.getElementById(this._id);
|
435
435
|
if (this._input) {
|
436
|
-
this._input.addEventListener('focus', () => this.
|
437
|
-
this._input.addEventListener('blur', () => this.
|
436
|
+
this._input.addEventListener('focus', () => this._Blur());
|
437
|
+
this._input.addEventListener('blur', () => this._Blur());
|
438
438
|
}
|
439
439
|
//container
|
440
440
|
this._container = document.getElementById(`${this._id}-container`);
|
@@ -457,7 +457,7 @@ class CoerDateBox extends ControlValue {
|
|
457
457
|
});
|
458
458
|
}
|
459
459
|
/** */
|
460
|
-
async
|
460
|
+
async _Blur() {
|
461
461
|
if (this._isLoadingEvent())
|
462
462
|
return;
|
463
463
|
else
|
@@ -482,13 +482,13 @@ class CoerDateBox extends ControlValue {
|
|
482
482
|
this.onOpen.emit();
|
483
483
|
}
|
484
484
|
else
|
485
|
-
this.
|
485
|
+
this._Blur();
|
486
486
|
}
|
487
487
|
/** */
|
488
488
|
Close() {
|
489
489
|
if (this.isOpen) {
|
490
490
|
this._datepicker()?.close();
|
491
|
-
this.
|
491
|
+
this._Blur();
|
492
492
|
this.onClose.emit();
|
493
493
|
}
|
494
494
|
}
|
@@ -497,21 +497,19 @@ class CoerDateBox extends ControlValue {
|
|
497
497
|
this.SetValue(null);
|
498
498
|
}
|
499
499
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
500
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDateBox, isStandalone: false, selector: "coer-datebox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal:
|
500
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDateBox, isStandalone: false, selector: "coer-datebox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", 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 }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", 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" }, providers: [
|
501
501
|
provideNativeDateAdapter(),
|
502
502
|
CONTROL_VALUE(CoerDateBox),
|
503
|
-
], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }, { propertyName: "_datepicker", first: true, predicate: ["datepicker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-date-box\">\r\n <mat-form-field\r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"floatLabel()\"\r\n [ngClass]=\"{\r\n 'readonly': isReadonly() && !isLoading(),\r\n 'd-none': isInvisible()\r\n }\"\r\n [style]=\"{\r\n 'width': width(),\r\n 'min-width': minWidth(),\r\n 'max-width': maxWidth(),\r\n 'margin-top': marginTop(),\r\n 'margin-right': marginRight(),\r\n 'margin-bottom': marginBottom(),\r\n 'margin-left': marginLeft(), \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]=\"true\"\r\n [value]=\"_value\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n [style]=\"{\r\n 'cursor': isLoading() ? 'wait' : 'pointer',\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)=\"Close()\"/>\r\n\r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle \r\n matSuffix\r\n [for]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n }\r\n\r\n @if(isLoading()) {\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\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=\"fa-solid fa-circle-exclamation\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n\r\n @if(isInvisible()) {\r\n <mat-form-field class=\"invisible\">\r\n <input matInput [disabled]=\"true\"> \r\n </mat-form-field> \r\n }\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--primary-inner);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--primary-inner)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active *{color:var(--primary-inner)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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$2.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"] }] }); }
|
503
|
+
], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }, { propertyName: "_datepicker", first: true, predicate: ["datepicker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-date-box\">\r\n <mat-form-field\r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"_floatLabel()\"\r\n [ngClass]=\"{\r\n 'readonly': isReadonly() && !isLoading(),\r\n 'd-none': isInvisible()\r\n }\"\r\n [style]=\"{\r\n 'width': width(),\r\n 'min-width': minWidth(),\r\n 'max-width': maxWidth(),\r\n 'margin-top': marginTop(),\r\n 'margin-right': marginRight(),\r\n 'margin-bottom': marginBottom(),\r\n 'margin-left': marginLeft(), \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]=\"true\"\r\n [value]=\"_value\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n [style]=\"{\r\n 'cursor': isLoading() ? 'wait' : 'pointer',\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)=\"Close()\"/>\r\n\r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle \r\n matSuffix\r\n [for]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n }\r\n\r\n @if(isLoading()) {\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\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=\"fa-solid fa-circle-exclamation\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n\r\n @if(isInvisible()) {\r\n <mat-form-field class=\"invisible\">\r\n <input matInput [disabled]=\"true\"> \r\n </mat-form-field> \r\n }\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--primary-inner);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--primary-inner)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active *{color:var(--primary-inner)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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$2.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"] }] }); }
|
504
504
|
}
|
505
505
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, decorators: [{
|
506
506
|
type: Component,
|
507
507
|
args: [{ selector: 'coer-datebox', providers: [
|
508
508
|
provideNativeDateAdapter(),
|
509
509
|
CONTROL_VALUE(CoerDateBox),
|
510
|
-
], standalone: false, template: "<div class=\"coer-date-box\">\r\n <mat-form-field\r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"floatLabel()\"\r\n [ngClass]=\"{\r\n 'readonly': isReadonly() && !isLoading(),\r\n 'd-none': isInvisible()\r\n }\"\r\n [style]=\"{\r\n 'width': width(),\r\n 'min-width': minWidth(),\r\n 'max-width': maxWidth(),\r\n 'margin-top': marginTop(),\r\n 'margin-right': marginRight(),\r\n 'margin-bottom': marginBottom(),\r\n 'margin-left': marginLeft(), \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]=\"true\"\r\n [value]=\"_value\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n [style]=\"{\r\n 'cursor': isLoading() ? 'wait' : 'pointer',\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)=\"Close()\"/>\r\n\r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle \r\n matSuffix\r\n [for]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n }\r\n\r\n @if(isLoading()) {\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\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=\"fa-solid fa-circle-exclamation\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n\r\n @if(isInvisible()) {\r\n <mat-form-field class=\"invisible\">\r\n <input matInput [disabled]=\"true\"> \r\n </mat-form-field> \r\n }\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--primary-inner);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--primary-inner)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active *{color:var(--primary-inner)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"] }]
|
510
|
+
], standalone: false, template: "<div class=\"coer-date-box\">\r\n <mat-form-field\r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"_floatLabel()\"\r\n [ngClass]=\"{\r\n 'readonly': isReadonly() && !isLoading(),\r\n 'd-none': isInvisible()\r\n }\"\r\n [style]=\"{\r\n 'width': width(),\r\n 'min-width': minWidth(),\r\n 'max-width': maxWidth(),\r\n 'margin-top': marginTop(),\r\n 'margin-right': marginRight(),\r\n 'margin-bottom': marginBottom(),\r\n 'margin-left': marginLeft(), \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]=\"true\"\r\n [value]=\"_value\"\r\n (dateChange)=\"SetValue(coerTextBox.value)\"\r\n [style]=\"{\r\n 'cursor': isLoading() ? 'wait' : 'pointer',\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)=\"Close()\"/>\r\n\r\n @if(!isLoading()) { \r\n <mat-datepicker-toggle \r\n matSuffix\r\n [for]=\"datepicker\" \r\n [disabled]=\"!_isEnable()\">\r\n <mat-icon matDatepickerToggleIcon>\r\n <i class=\"fa-solid fa-calendar-days\"></i>\r\n </mat-icon>\r\n </mat-datepicker-toggle>\r\n }\r\n\r\n @if(isLoading()) {\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\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=\"fa-solid fa-circle-exclamation\"></i>\r\n }\r\n \r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n }\r\n </span>\r\n }\r\n </mat-form-field> \r\n\r\n @if(isInvisible()) {\r\n <mat-form-field class=\"invisible\">\r\n <input matInput [disabled]=\"true\"> \r\n </mat-form-field> \r\n }\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--primary-inner);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--primary-inner)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active *{color:var(--primary-inner)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"] }]
|
511
511
|
}], propDecorators: { value: [{
|
512
512
|
type: Input
|
513
|
-
}], id: [{
|
514
|
-
type: Input
|
515
513
|
}] } });
|
516
514
|
|
517
515
|
class CoerModal {
|
@@ -623,12 +621,12 @@ class CoerFilebox {
|
|
623
621
|
this.IsNotNull = Tools.IsNotNull;
|
624
622
|
this.IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace;
|
625
623
|
//Elements
|
626
|
-
this.
|
627
|
-
this.
|
624
|
+
this._inputFileImage = viewChild.required('inputFileImage');
|
625
|
+
this._modal = viewChild.required('modal');
|
628
626
|
//Variables
|
629
627
|
this._base64 = '';
|
630
628
|
this._image = null;
|
631
|
-
this.
|
629
|
+
this._imageExtensions = ['png', 'jpeg', 'jpg', 'gif', 'svg'];
|
632
630
|
//Inputs
|
633
631
|
this.type = input('image');
|
634
632
|
this.multiple = input(false);
|
@@ -644,7 +642,7 @@ class CoerFilebox {
|
|
644
642
|
return !this.isLoading() && !this.isDisabled() && !this.isInvisible();
|
645
643
|
});
|
646
644
|
/** */
|
647
|
-
this.
|
645
|
+
this._GetExtensionFile = (fileName) => {
|
648
646
|
if (fileName.includes('.')) {
|
649
647
|
let worlds = fileName.split('.');
|
650
648
|
if (worlds.length > 0) {
|
@@ -674,13 +672,13 @@ class CoerFilebox {
|
|
674
672
|
}
|
675
673
|
}
|
676
674
|
/** */
|
677
|
-
async
|
675
|
+
async _UploadImages(event) {
|
678
676
|
const selectedFiles = Array.from(event.target.files);
|
679
677
|
const files = [];
|
680
678
|
let extension = null;
|
681
679
|
for (const file of selectedFiles) {
|
682
|
-
extension = this.
|
683
|
-
if (this.
|
680
|
+
extension = this._GetExtensionFile(file.name) || '';
|
681
|
+
if (this._imageExtensions.includes(extension)) {
|
684
682
|
files.push({
|
685
683
|
file: file,
|
686
684
|
extension: extension,
|
@@ -691,27 +689,27 @@ class CoerFilebox {
|
|
691
689
|
this.alert.Warning(`<b>.${extension}</b> extension not allowed`, 'Files');
|
692
690
|
}
|
693
691
|
//Response
|
694
|
-
this.
|
692
|
+
this._inputFileImage().nativeElement.value = null;
|
695
693
|
this.onSelected.emit([...files]);
|
696
694
|
}
|
697
695
|
/** */
|
698
|
-
|
696
|
+
_DeleteImage(event) {
|
699
697
|
event.stopPropagation();
|
700
698
|
if (this._isEnable()) {
|
701
699
|
this.onDeleteImage.emit();
|
702
700
|
}
|
703
701
|
}
|
704
702
|
/** */
|
705
|
-
|
703
|
+
_ExpandImage(event) {
|
706
704
|
event.stopPropagation();
|
707
|
-
this.
|
705
|
+
this._modal().Open();
|
708
706
|
}
|
709
707
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerFilebox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
710
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerFilebox, isStandalone: false, selector: "coer-filebox", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", 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 }, image: { classPropertyName: "image", publicName: "image", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onDeleteImage: "onDeleteImage" }, viewQueries: [{ propertyName: "inputFileImage", first: true, predicate: ["inputFileImage"], descendants: true, isSignal: true }, { propertyName: "modal", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerModal, selector: "coer-modal", inputs: ["id", "title", "icon", "showCloseButton", "width", "height", "maxHeight"], outputs: ["onOpen", "onClose"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
|
708
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerFilebox, isStandalone: false, selector: "coer-filebox", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", 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 }, image: { classPropertyName: "image", publicName: "image", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onDeleteImage: "onDeleteImage" }, viewQueries: [{ propertyName: "_inputFileImage", first: true, predicate: ["inputFileImage"], descendants: true, isSignal: true }, { propertyName: "_modal", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"_UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"_DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"_ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerModal, selector: "coer-modal", inputs: ["id", "title", "icon", "showCloseButton", "width", "height", "maxHeight"], outputs: ["onOpen", "onClose"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
|
711
709
|
}
|
712
710
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerFilebox, decorators: [{
|
713
711
|
type: Component,
|
714
|
-
args: [{ selector: 'coer-filebox', standalone: false, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"] }]
|
712
|
+
args: [{ selector: 'coer-filebox', standalone: false, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"_UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"_DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"_ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"] }]
|
715
713
|
}], propDecorators: { image: [{
|
716
714
|
type: Input
|
717
715
|
}] } });
|
@@ -750,10 +748,10 @@ class CoerForm {
|
|
750
748
|
}
|
751
749
|
}
|
752
750
|
/** */
|
753
|
-
GetControlValue(formControlName, alternative
|
751
|
+
GetControlValue(formControlName, alternative) {
|
754
752
|
return Tools.IsNotNull(this.formGroup().get(formControlName))
|
755
753
|
? this.formGroup().get(formControlName).value
|
756
|
-
: alternative;
|
754
|
+
: (Tools.IsNotNull(alternative) ? alternative : null);
|
757
755
|
}
|
758
756
|
/** */
|
759
757
|
HasControlValue(formControlName) {
|
@@ -1623,15 +1621,15 @@ class CoerGridExtension extends ControlValue {
|
|
1623
1621
|
//Injections
|
1624
1622
|
this.alert = inject(CoerAlert);
|
1625
1623
|
//Elements
|
1626
|
-
this.
|
1627
|
-
this.
|
1628
|
-
this.
|
1629
|
-
this.
|
1630
|
-
this.
|
1631
|
-
this.
|
1624
|
+
this._inputFile = viewChild.required('inputFileRef');
|
1625
|
+
this._inputSearch = viewChild.required('inputSearch');
|
1626
|
+
this._coerTextboxList = viewChildren(CoerTextBox);
|
1627
|
+
this._coerNumberboxList = viewChildren(CoerNumberBox);
|
1628
|
+
this._coerSelectboxList = viewChildren(CoerSelectbox);
|
1629
|
+
this._coerCheckboxList = viewChildren(CoerCheckbox);
|
1632
1630
|
//Variables
|
1633
1631
|
this._value = [];
|
1634
|
-
this.
|
1632
|
+
this._value_signal = signal([]);
|
1635
1633
|
this._gridSearch = signal('');
|
1636
1634
|
this._isLoading = signal(true);
|
1637
1635
|
this._isLoadingMessage = true;
|
@@ -1645,8 +1643,6 @@ class CoerGridExtension extends ControlValue {
|
|
1645
1643
|
this.GetElementWidth = ElementsHTML.GetElementWidth;
|
1646
1644
|
this.GetElementHeight = ElementsHTML.GetElementHeight;
|
1647
1645
|
//Inputs
|
1648
|
-
this.columns = input([]);
|
1649
|
-
this.cleanColumnName = input(true);
|
1650
1646
|
this.saveButton = { show: false };
|
1651
1647
|
this.addButton = { show: false };
|
1652
1648
|
this.exportButton = { show: false };
|
@@ -1654,6 +1650,8 @@ class CoerGridExtension extends ControlValue {
|
|
1654
1650
|
this.search = { show: false, ignore: false };
|
1655
1651
|
this.buttonByRow = {};
|
1656
1652
|
this.checkbox = { show: false };
|
1653
|
+
this.columns = input([]);
|
1654
|
+
this.cleanColumnName = input(true);
|
1657
1655
|
this.tooltipByRow = input('');
|
1658
1656
|
this.isLoading = input(false);
|
1659
1657
|
this.isDisabled = input(false);
|
@@ -1699,7 +1697,7 @@ class CoerGridExtension extends ControlValue {
|
|
1699
1697
|
return this.groupBy().length > 0;
|
1700
1698
|
});
|
1701
1699
|
//computed
|
1702
|
-
this.
|
1700
|
+
this._gridColumns = computed(() => {
|
1703
1701
|
const SET_COLUMNS = new Set();
|
1704
1702
|
//Has filter columns?
|
1705
1703
|
if (this.columns().length > 0) {
|
@@ -1709,7 +1707,7 @@ class CoerGridExtension extends ControlValue {
|
|
1709
1707
|
}
|
1710
1708
|
//Get all columns
|
1711
1709
|
else
|
1712
|
-
for (const row of this.
|
1710
|
+
for (const row of this._value_signal()) {
|
1713
1711
|
for (const property in row) {
|
1714
1712
|
SET_COLUMNS.add(property);
|
1715
1713
|
}
|
@@ -1735,8 +1733,8 @@ class CoerGridExtension extends ControlValue {
|
|
1735
1733
|
}));
|
1736
1734
|
});
|
1737
1735
|
//computed
|
1738
|
-
this.
|
1739
|
-
let list = this.
|
1736
|
+
this._gridDataSource = computed(() => {
|
1737
|
+
let list = this._gridDataSourceFiltered();
|
1740
1738
|
//It's Grouped?
|
1741
1739
|
if (this._isGrouped()) {
|
1742
1740
|
//let indexRow = 0;
|
@@ -1769,9 +1767,9 @@ class CoerGridExtension extends ControlValue {
|
|
1769
1767
|
}];
|
1770
1768
|
});
|
1771
1769
|
//computed
|
1772
|
-
this.
|
1770
|
+
this._gridDataSourceFiltered = computed(() => {
|
1773
1771
|
let list = [];
|
1774
|
-
const dataSource = Tools.BreakReference(this.
|
1772
|
+
const dataSource = Tools.BreakReference(this._value_signal());
|
1775
1773
|
//Ignore Filter
|
1776
1774
|
if (this._gridSearch() == '' || this.search?.ignore) {
|
1777
1775
|
list = dataSource;
|
@@ -1782,7 +1780,7 @@ class CoerGridExtension extends ControlValue {
|
|
1782
1780
|
const SET_ROW = new Set();
|
1783
1781
|
const columnList = Tools.IsNotNull(this.search?.columns)
|
1784
1782
|
? this.search.columns.map(x => Tools.FirstCharToLower(x))
|
1785
|
-
: this.
|
1783
|
+
: this._gridColumns().map(x => x.columnName);
|
1786
1784
|
for (const columnName of columnList) {
|
1787
1785
|
listFiltered = dataSource.filter((item) => !SET_ROW.has(item['indexRow'])
|
1788
1786
|
&& String(item[Tools.FirstCharToLower(columnName)]).trim().toUpperCase().includes(String(this._gridSearch()).trim().toUpperCase()));
|
@@ -1903,7 +1901,7 @@ class CoerGridExtension extends ControlValue {
|
|
1903
1901
|
const dataSource = Tools.BreakReference(value).map((item) => Object.assign({ checked: false }, { ...item }, { indexRow: indexRow++ }));
|
1904
1902
|
this._UpdateValue(dataSource);
|
1905
1903
|
this._value = dataSource;
|
1906
|
-
this.
|
1904
|
+
this._value_signal.set(dataSource);
|
1907
1905
|
}
|
1908
1906
|
//ControlValueAccessor
|
1909
1907
|
writeValue(value) {
|
@@ -1912,7 +1910,7 @@ class CoerGridExtension extends ControlValue {
|
|
1912
1910
|
value = [];
|
1913
1911
|
const dataSource = Tools.BreakReference(value).map((item) => Object.assign({ checked: false }, { ...item }, { indexRow: indexRow++ }));
|
1914
1912
|
this._value = dataSource;
|
1915
|
-
this.
|
1913
|
+
this._value_signal.set(dataSource);
|
1916
1914
|
}
|
1917
1915
|
/** */
|
1918
1916
|
_IsCellType(property, data, type) {
|
@@ -2002,7 +2000,7 @@ class CoerGridExtension extends ControlValue {
|
|
2002
2000
|
return response;
|
2003
2001
|
}
|
2004
2002
|
/** */
|
2005
|
-
|
2003
|
+
_GetAttribute(property, data, attribute, type) {
|
2006
2004
|
const columnConfig = this._GetColumnConfig(property);
|
2007
2005
|
const value = Tools.IsNotNull(data) ? data[property] : null;
|
2008
2006
|
const row = Tools.BreakReference(data);
|
@@ -2035,7 +2033,7 @@ class CoerGridExtension extends ControlValue {
|
|
2035
2033
|
return null;
|
2036
2034
|
}
|
2037
2035
|
/** */
|
2038
|
-
|
2036
|
+
_ButtonByRow(property, data = null) {
|
2039
2037
|
let response = false;
|
2040
2038
|
const buttonByRow = this.buttonByRow;
|
2041
2039
|
const row = Tools.IsNotNull(data) ? Tools.BreakReference(data) : null;
|
@@ -2052,8 +2050,35 @@ class CoerGridExtension extends ControlValue {
|
|
2052
2050
|
}
|
2053
2051
|
return response ? (this._value && this._value.length > 0) : false;
|
2054
2052
|
}
|
2053
|
+
/** */
|
2054
|
+
_ColorButton(button) {
|
2055
|
+
return Tools.IsNotNull(button) && Tools.IsNotOnlyWhiteSpace(button?.color)
|
2056
|
+
? button.color : 'primary';
|
2057
|
+
}
|
2058
|
+
/** */
|
2059
|
+
_ColorButtonByRow(property) {
|
2060
|
+
const BUTTON_ROW = Tools.BreakReference(this.buttonByRow);
|
2061
|
+
switch (property) {
|
2062
|
+
case 'editButtonColor': {
|
2063
|
+
return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
|
2064
|
+
? BUTTON_ROW[property] : 'primary';
|
2065
|
+
}
|
2066
|
+
case 'deleteButtonColor': {
|
2067
|
+
return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
|
2068
|
+
? BUTTON_ROW[property] : 'danger';
|
2069
|
+
}
|
2070
|
+
case 'goButtonColor': {
|
2071
|
+
return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
|
2072
|
+
? BUTTON_ROW[property] : 'navigation';
|
2073
|
+
}
|
2074
|
+
default: {
|
2075
|
+
return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
|
2076
|
+
? BUTTON_ROW[property] : 'primary';
|
2077
|
+
}
|
2078
|
+
}
|
2079
|
+
}
|
2055
2080
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
2056
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.1", type: CoerGridExtension, isStandalone: true, selector: "coer-grid-extension", inputs: {
|
2081
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.1", type: CoerGridExtension, isStandalone: true, selector: "coer-grid-extension", inputs: { saveButton: { classPropertyName: "saveButton", publicName: "saveButton", isSignal: false, isRequired: false, transformFunction: null }, addButton: { classPropertyName: "addButton", publicName: "addButton", 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 }, search: { classPropertyName: "search", publicName: "search", isSignal: false, isRequired: false, transformFunction: null }, buttonByRow: { classPropertyName: "buttonByRow", publicName: "buttonByRow", isSignal: false, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: false, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, cleanColumnName: { classPropertyName: "cleanColumnName", publicName: "cleanColumnName", isSignal: true, isRequired: false, transformFunction: null }, tooltipByRow: { classPropertyName: "tooltipByRow", publicName: "tooltipByRow", 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 }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", isSignal: true, isRequired: false, transformFunction: null }, groupBy: { classPropertyName: "groupBy", publicName: "groupBy", isSignal: true, isRequired: false, transformFunction: null }, showColumnGrouped: { classPropertyName: "showColumnGrouped", publicName: "showColumnGrouped", isSignal: true, isRequired: false, transformFunction: null }, rowsByGroup: { classPropertyName: "rowsByGroup", publicName: "rowsByGroup", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, enableSort: { classPropertyName: "enableSort", publicName: "enableSort", isSignal: true, isRequired: false, transformFunction: null }, enableRowFocus: { classPropertyName: "enableRowFocus", publicName: "enableRowFocus", isSignal: true, isRequired: false, transformFunction: null }, enableNext: { classPropertyName: "enableNext", publicName: "enableNext", 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: { onClickSave: "onClickSave", onClickAdd: "onClickAdd", onClickImport: "onClickImport", onClickExport: "onClickExport", onClickRow: "onClickRow", onDoubleClickRow: "onDoubleClickRow", onClickDeleteRow: "onClickDeleteRow", onClickEditRow: "onClickEditRow", onClickGoRow: "onClickGoRow", onKeyupEnter: "onKeyupEnter", onKeyupEnterLast: "onKeyupEnterLast", onSwitchChange: "onSwitchChange", onTextboxChange: "onTextboxChange", onSelectboxChange: "onSelectboxChange", onCheckboxChange: "onCheckboxChange" }, viewQueries: [{ propertyName: "_inputFile", first: true, predicate: ["inputFileRef"], descendants: true, isSignal: true }, { propertyName: "_inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "_coerTextboxList", predicate: CoerTextBox, descendants: true, isSignal: true }, { propertyName: "_coerNumberboxList", predicate: CoerNumberBox, descendants: true, isSignal: true }, { propertyName: "_coerSelectboxList", predicate: CoerSelectbox, descendants: true, isSignal: true }, { propertyName: "_coerCheckboxList", predicate: CoerCheckbox, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
2057
2082
|
}
|
2058
2083
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, decorators: [{
|
2059
2084
|
type: Component,
|
@@ -2170,7 +2195,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2170
2195
|
super(...arguments);
|
2171
2196
|
//computed
|
2172
2197
|
this.dataSource = computed(() => {
|
2173
|
-
return Tools.BreakReference(this.
|
2198
|
+
return Tools.BreakReference(this._value_signal()).map(item => {
|
2174
2199
|
if (item.hasOwnProperty('checked'))
|
2175
2200
|
delete item.checked;
|
2176
2201
|
if (item.hasOwnProperty('indexRow'))
|
@@ -2180,7 +2205,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2180
2205
|
});
|
2181
2206
|
//computed
|
2182
2207
|
this.selectedItems = computed(() => {
|
2183
|
-
return Tools.BreakReference(this.
|
2208
|
+
return Tools.BreakReference(this._value_signal()).filter(item => item.checked).map(item => {
|
2184
2209
|
if (item.hasOwnProperty('checked'))
|
2185
2210
|
delete item.checked;
|
2186
2211
|
if (item.hasOwnProperty('indexRow'))
|
@@ -2191,17 +2216,17 @@ class CoerGrid extends CoerGridExtension {
|
|
2191
2216
|
//computed
|
2192
2217
|
this.gridLength = computed(() => {
|
2193
2218
|
return {
|
2194
|
-
dataSource: this.
|
2195
|
-
dataSourceFiltered: this.
|
2219
|
+
dataSource: this._value_signal()?.length || 0,
|
2220
|
+
dataSourceFiltered: this._gridDataSourceFiltered()?.length || 0,
|
2196
2221
|
dataSourceSelected: this.selectedItems()?.length || 0
|
2197
2222
|
};
|
2198
2223
|
});
|
2199
2224
|
}
|
2200
2225
|
//getter
|
2201
2226
|
get isValid() {
|
2202
|
-
return (this.
|
2203
|
-
&& (this.
|
2204
|
-
&& (this.
|
2227
|
+
return (this._coerTextboxList().length > 0 ? this._coerTextboxList().every(x => !x.isInvalid()) : true)
|
2228
|
+
&& (this._coerNumberboxList().length > 0 ? this._coerNumberboxList().every(x => !x.isInvalid()) : true)
|
2229
|
+
&& (this._coerSelectboxList().length > 0 ? this._coerSelectboxList().every(x => !x.isInvalid()) : true);
|
2205
2230
|
}
|
2206
2231
|
//computed
|
2207
2232
|
//protected _columnsFiltered = computed<IGridHeader[]>(() => {
|
@@ -2210,17 +2235,10 @@ class CoerGrid extends CoerGridExtension {
|
|
2210
2235
|
// : this._columns();
|
2211
2236
|
//});
|
2212
2237
|
/** */
|
2213
|
-
FocusSearch() {
|
2214
|
-
Tools.Sleep(
|
2215
|
-
if (this.
|
2216
|
-
this.
|
2217
|
-
});
|
2218
|
-
}
|
2219
|
-
/** */
|
2220
|
-
SelectSearch() {
|
2221
|
-
Tools.Sleep(0).then(() => {
|
2222
|
-
if (this.inputSearch)
|
2223
|
-
this.inputSearch().Focus(true);
|
2238
|
+
FocusSearch(select = false) {
|
2239
|
+
Tools.Sleep().then(() => {
|
2240
|
+
if (this._inputSearch)
|
2241
|
+
this._inputSearch().Focus(select);
|
2224
2242
|
});
|
2225
2243
|
}
|
2226
2244
|
/** */
|
@@ -2229,14 +2247,18 @@ class CoerGrid extends CoerGridExtension {
|
|
2229
2247
|
return (row === undefined) ? null : row;
|
2230
2248
|
}
|
2231
2249
|
/** */
|
2232
|
-
|
2250
|
+
Import() {
|
2251
|
+
this._Import();
|
2252
|
+
}
|
2253
|
+
/** */
|
2254
|
+
async _Import(event = null) {
|
2233
2255
|
if (this.importButton?.preventDefault) {
|
2234
2256
|
this.onClickImport.emit({ data: [], file: null });
|
2235
2257
|
return;
|
2236
2258
|
}
|
2237
2259
|
if (event === null) {
|
2238
|
-
this.
|
2239
|
-
this.
|
2260
|
+
this._inputFile().nativeElement.value = null;
|
2261
|
+
this._inputFile().nativeElement.click();
|
2240
2262
|
return;
|
2241
2263
|
}
|
2242
2264
|
else if (event.target.files.length > 0) {
|
@@ -2261,7 +2283,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2261
2283
|
this.alert.Warning(message, 'Invalid File Type', 'bi bi-filetype-xlsx fa-lg');
|
2262
2284
|
this.onClickImport.emit({ data: [], file: null });
|
2263
2285
|
}
|
2264
|
-
this.
|
2286
|
+
this._inputFile().nativeElement.value = null;
|
2265
2287
|
Tools.Sleep(1000).then(() => this._isLoading.set(false));
|
2266
2288
|
}
|
2267
2289
|
}
|
@@ -2276,11 +2298,11 @@ class CoerGrid extends CoerGridExtension {
|
|
2276
2298
|
}
|
2277
2299
|
else {
|
2278
2300
|
ROW_DATA_SOURCE = (this.exportButton.hasOwnProperty('onlyRowFiltered') && !this.exportButton.onlyRowFiltered)
|
2279
|
-
? this.
|
2301
|
+
? this._value_signal() : this._gridDataSourceFiltered();
|
2280
2302
|
}
|
2281
2303
|
const COLUMN_DATA_SOURCE = new Set();
|
2282
2304
|
if (this.exportButton.hasOwnProperty('onlyColumnFiltered') && !this.exportButton.onlyColumnFiltered) {
|
2283
|
-
for (const row of this.
|
2305
|
+
for (const row of this._value_signal()) {
|
2284
2306
|
for (const columnName in row) {
|
2285
2307
|
if (columnName == 'indexRow')
|
2286
2308
|
continue;
|
@@ -2289,7 +2311,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2289
2311
|
}
|
2290
2312
|
}
|
2291
2313
|
else {
|
2292
|
-
for (const { columnName } of this.
|
2314
|
+
for (const { columnName } of this._gridColumns()) {
|
2293
2315
|
if (columnName == 'indexRow')
|
2294
2316
|
continue;
|
2295
2317
|
COLUMN_DATA_SOURCE.add(Tools.FirstCharToLower(columnName));
|
@@ -2310,7 +2332,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2310
2332
|
Tools.Sleep(3000).then(() => this._isLoading.set(false));
|
2311
2333
|
}
|
2312
2334
|
/** */
|
2313
|
-
|
2335
|
+
_InputChange(indexRow, columnName, value, input) {
|
2314
2336
|
if (input === 'coer-textbox-search') {
|
2315
2337
|
if (this._isLoading())
|
2316
2338
|
return;
|
@@ -2345,11 +2367,11 @@ class CoerGrid extends CoerGridExtension {
|
|
2345
2367
|
}
|
2346
2368
|
Tools.Sleep(1000, `coerGridInputChange${indexRow}${columnName}`).then(_ => {
|
2347
2369
|
this._UpdateValue(this._value);
|
2348
|
-
this.
|
2370
|
+
this._value_signal.set(this._value);
|
2349
2371
|
});
|
2350
2372
|
}
|
2351
2373
|
/** */
|
2352
|
-
|
2374
|
+
_KeyupEnter(indexColumn, row, input, value) {
|
2353
2375
|
if (['coer-textbox', 'coer-numberbox', 'coer-selectbox'].includes(input)) {
|
2354
2376
|
this.onKeyupEnter.emit({
|
2355
2377
|
id: this._GetId(indexColumn, row.indexRow, input),
|
@@ -2374,7 +2396,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2374
2396
|
let index = 0;
|
2375
2397
|
const COLUMNS = [];
|
2376
2398
|
const INPUT_COLUMNS = [];
|
2377
|
-
for (const { columnName } of this.
|
2399
|
+
for (const { columnName } of this._gridColumns()) {
|
2378
2400
|
if (INPUT_TEXT.some(property => property.toUpperCase() == columnName.toUpperCase())) {
|
2379
2401
|
COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
|
2380
2402
|
INPUT_COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
|
@@ -2393,7 +2415,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2393
2415
|
++index;
|
2394
2416
|
}
|
2395
2417
|
let lastRow = -1;
|
2396
|
-
for (const { rows } of this.
|
2418
|
+
for (const { rows } of this._gridDataSource()) {
|
2397
2419
|
lastRow += rows.length;
|
2398
2420
|
}
|
2399
2421
|
let firstColumn = -1;
|
@@ -2435,7 +2457,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2435
2457
|
const INPUT_SELECT = this.columns().filter(x => Tools.IsNotNull(x.coerSelectbox)).map(x => x.property);
|
2436
2458
|
let index = 0;
|
2437
2459
|
const COLUMNS = [];
|
2438
|
-
for (const { columnName } of this.
|
2460
|
+
for (const { columnName } of this._gridColumns()) {
|
2439
2461
|
if (INPUT_TEXT.some(property => property.toUpperCase() == columnName.toUpperCase())) {
|
2440
2462
|
COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
|
2441
2463
|
}
|
@@ -2462,19 +2484,19 @@ class CoerGrid extends CoerGridExtension {
|
|
2462
2484
|
let element;
|
2463
2485
|
this._indexFocus.set(indexRow);
|
2464
2486
|
//Focus Textbox
|
2465
|
-
element = this.
|
2487
|
+
element = this._coerTextboxList().find(x => x.id == id);
|
2466
2488
|
if (element) {
|
2467
2489
|
element.Focus(!onlyFocus);
|
2468
2490
|
return;
|
2469
2491
|
}
|
2470
2492
|
//Focus Numberbox
|
2471
|
-
element = this.
|
2493
|
+
element = this._coerNumberboxList().find(x => x.id == id);
|
2472
2494
|
if (element) {
|
2473
2495
|
element.Focus(!onlyFocus);
|
2474
2496
|
return;
|
2475
2497
|
}
|
2476
2498
|
//Focus Selectbox
|
2477
|
-
element = this.
|
2499
|
+
element = this._coerSelectboxList().find(x => x.id == id);
|
2478
2500
|
if (element) {
|
2479
2501
|
Tools.Sleep(100).then(_ => element.Focus(!onlyFocus));
|
2480
2502
|
return;
|
@@ -2492,7 +2514,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2492
2514
|
const INPUT_SELECT = this.columns().filter(x => Tools.IsNotNull(x.coerSelectbox)).map(x => x.property);
|
2493
2515
|
let index = 0;
|
2494
2516
|
const COLUMNS = [];
|
2495
|
-
for (const { columnName } of this.
|
2517
|
+
for (const { columnName } of this._gridColumns()) {
|
2496
2518
|
if (INPUT_TEXT.some(property => property.toUpperCase() == columnName.toUpperCase())) {
|
2497
2519
|
COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
|
2498
2520
|
}
|
@@ -2527,7 +2549,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2527
2549
|
});
|
2528
2550
|
}
|
2529
2551
|
/** */
|
2530
|
-
|
2552
|
+
Sort(columnName) {
|
2531
2553
|
if (this.enableSort()) {
|
2532
2554
|
if (this._isLoading())
|
2533
2555
|
return;
|
@@ -2535,7 +2557,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2535
2557
|
this._isLoadingMessage = true;
|
2536
2558
|
const { direction } = this._sort();
|
2537
2559
|
let dataSource = Tools.BreakReference(this._value);
|
2538
|
-
for (const checkbox of this.
|
2560
|
+
for (const checkbox of this._coerCheckboxList())
|
2539
2561
|
checkbox.Uncheck();
|
2540
2562
|
if (direction == 'descendant') {
|
2541
2563
|
Tools.SortByDesc(dataSource, columnName);
|
@@ -2549,20 +2571,20 @@ class CoerGrid extends CoerGridExtension {
|
|
2549
2571
|
dataSource = Tools.BreakReference(dataSource).map((item) => Object.assign(item, { indexRow: indexRow++ }));
|
2550
2572
|
this.SetValue(dataSource);
|
2551
2573
|
this._isLoading.set(false);
|
2552
|
-
|
2553
|
-
|
2554
|
-
|
2555
|
-
|
2556
|
-
|
2574
|
+
Tools.Sleep().then(() => {
|
2575
|
+
for (const row of dataSource.filter((x) => x.checked)) {
|
2576
|
+
this.CheckBy((x) => x.indexRow == row.indexRow);
|
2577
|
+
}
|
2578
|
+
this._isLoadingMessage = false;
|
2579
|
+
});
|
2557
2580
|
}
|
2558
|
-
return;
|
2559
2581
|
}
|
2560
2582
|
/** */
|
2561
|
-
|
2583
|
+
_ClickCheck(id, checked, all, row = null) {
|
2562
2584
|
if (!this._isLoading())
|
2563
2585
|
Tools.Sleep().then(async (_) => {
|
2564
2586
|
this._isLoading.set(true);
|
2565
|
-
let element = this.
|
2587
|
+
let element = this._coerCheckboxList().find(x => x.id() == id);
|
2566
2588
|
if (Tools.IsNotNull(element)) {
|
2567
2589
|
let response = { all, checked, rows: [] };
|
2568
2590
|
//All Checkbox
|
@@ -2581,7 +2603,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2581
2603
|
for (const row of this._value) {
|
2582
2604
|
row.checked = false;
|
2583
2605
|
}
|
2584
|
-
for (const checkbox of this.
|
2606
|
+
for (const checkbox of this._coerCheckboxList()) {
|
2585
2607
|
if (checkbox.id() != id)
|
2586
2608
|
checkbox.Uncheck();
|
2587
2609
|
}
|
@@ -2589,8 +2611,8 @@ class CoerGrid extends CoerGridExtension {
|
|
2589
2611
|
this._value[row.indexRow].checked = checked;
|
2590
2612
|
this.SetValue(this._value);
|
2591
2613
|
//Mark All checkbox
|
2592
|
-
const checkboxAll = this.
|
2593
|
-
if (this.
|
2614
|
+
const checkboxAll = this._coerCheckboxList().find(x => x.id() == this._GetId(0, 0, 'checkboxAll'));
|
2615
|
+
if (this._value_signal().every((x) => x.checked)) {
|
2594
2616
|
checkboxAll?.Check();
|
2595
2617
|
}
|
2596
2618
|
else {
|
@@ -2611,7 +2633,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2611
2633
|
row.checked = true;
|
2612
2634
|
}
|
2613
2635
|
this.SetValue(this._value);
|
2614
|
-
for (const checkbox of this.
|
2636
|
+
for (const checkbox of this._coerCheckboxList()) {
|
2615
2637
|
checkbox.Check();
|
2616
2638
|
}
|
2617
2639
|
this._isLoading.set(false);
|
@@ -2623,7 +2645,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2623
2645
|
row.checked = false;
|
2624
2646
|
}
|
2625
2647
|
this.SetValue(this._value);
|
2626
|
-
for (const checkbox of this.
|
2648
|
+
for (const checkbox of this._coerCheckboxList()) {
|
2627
2649
|
checkbox.Uncheck();
|
2628
2650
|
}
|
2629
2651
|
this._isLoading.set(false);
|
@@ -2635,7 +2657,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2635
2657
|
const rowList = Tools.BreakReference(this._value.filter(callback));
|
2636
2658
|
let element;
|
2637
2659
|
for (const { indexRow } of rowList) {
|
2638
|
-
element = this.
|
2660
|
+
element = this._coerCheckboxList().find(x => x.id() == this._GetId(indexRow, 0, 'checkbox'));
|
2639
2661
|
if (Tools.IsNotNull(element)) {
|
2640
2662
|
element?.Check();
|
2641
2663
|
}
|
@@ -2650,7 +2672,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2650
2672
|
const rowList = Tools.BreakReference(this._value.filter(callback));
|
2651
2673
|
let element;
|
2652
2674
|
for (const { indexRow } of rowList) {
|
2653
|
-
element = this.
|
2675
|
+
element = this._coerCheckboxList().find(x => x.id() == this._GetId(indexRow, 0, 'checkbox'));
|
2654
2676
|
if (Tools.IsNotNull(element)) {
|
2655
2677
|
element?.Uncheck();
|
2656
2678
|
}
|
@@ -2659,7 +2681,7 @@ class CoerGrid extends CoerGridExtension {
|
|
2659
2681
|
});
|
2660
2682
|
}
|
2661
2683
|
/** */
|
2662
|
-
|
2684
|
+
_ClickOnRow(row) {
|
2663
2685
|
if (this._isDisabled())
|
2664
2686
|
return;
|
2665
2687
|
if (Tools.IsNotNull(this.checkbox.checkOnRow) && this.checkbox.checkOnRow) {
|
@@ -2701,11 +2723,11 @@ class CoerGrid extends CoerGridExtension {
|
|
2701
2723
|
}
|
2702
2724
|
}
|
2703
2725
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
2704
|
-
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 class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <header [id]=\"_id + '-header'\" class=\"row\">\r\n <!-- Slot -->\r\n <ng-content></ng-content>\r\n\r\n <!-- Export Button -->\r\n @if(exportButton.show && gridLength().dataSource > 0) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"excel\"\r\n [tooltip]=\"_isLoading() ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n [isDisabled]=\"_isDisabled() || _isLoading() || (exportButton.isDisabled || false)\"\r\n [isLoading]=\"_isLoading()\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"Export(!exportButton.preventDefault)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Import Button -->\r\n @if(importButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"Import($event)\">\r\n\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"import\"\r\n [tooltip]=\"importButton.tooltip || 'Import'\"\r\n [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n [isDisabled]=\"importButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"Import()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Add Button -->\r\n @if(addButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"new\"\r\n [tooltip]=\"addButton.tooltip || 'New'\"\r\n [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n [isDisabled]=\"addButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickAdd.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Search -->\r\n @if(search.show) {\r\n <div class=\"col-auto\">\r\n <coer-textbox\r\n #inputSearch\r\n [id]=\"_GetId(-1, -1, 'search')\"\r\n [ngModel]=\"_gridSearch()\"\r\n placeholder=\"Search\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n (onInput)=\"InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n (onClickClear)=\"InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n (onKeyupEnter)=\"KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\"> \r\n <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n \r\n @if(!isLoading()) {\r\n <table class=\"table table-sm table-responsive table-striped\">\r\n <thead>\r\n <tr>\r\n @if(checkbox.show && gridLength().dataSource > 0) {\r\n <!-- CheckBox Column -->\r\n <th scope=\"col\" class=\"check-box\">\r\n <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n ></coer-checkbox>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of gridColumns(); track header.indexColumn) {\r\n <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n [ngClass]=\"{\r\n 'no-selection': true,\r\n 'cursor-default': !enableSort() && !_isLoading(),\r\n 'cursor-pointer': enableSort() && !_isLoading(),\r\n 'cursor-wait': _isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width': header.width,\r\n 'text-align': GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n }\">\r\n <div class=\"no-selection d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(header.columnName)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Delete Button Column -->\r\n @if(ButtonByRow('showDeleteButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(ButtonByRow('showEditButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(ButtonByRow('showGoButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of gridDataSource(); track group.indexGroup) {\r\n <tbody>\r\n <!--<tr v-if=\"_isGrouped\">\r\n <td :colspan=\"_colspan\" class=\"group\">\r\n <MesAccordion\r\n :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n :title=\"`${_CleanHeaderName(groupBy)} (${group.length}): ${group.groupBy}`\"\r\n :isLoading=\"_isLoading()\"\r\n @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n ></MesAccordion>\r\n </td>\r\n </tr>-->\r\n \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n (click)=\"_indexFocus.set(row.indexRow)\">\r\n \r\n @if(checkbox.show) {\r\n <!-- CheckBox Column -->\r\n <td class=\"check-box\">\r\n <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of gridColumns(); track header.indexColumn) {\r\n @if(_IsCellType(header.columnName, row, 'template')) {\r\n <td class=\"template\"\r\n (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n <div [innerHTML]=\"GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n </td>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n <!-- coer-textbox -->\r\n <td class=\"coer-textbox\">\r\n <coer-textbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n [minLength]=\"GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n [maxLength]=\"GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n ></coer-textbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-numberbox\">\r\n <coer-numberbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n [min]=\"GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n [max]=\"GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n [decimals]=\"GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n ></coer-numberbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-selectbox\">\r\n <coer-selectbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n [dataSource]=\"GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n [propDisplay]=\"GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n (onSelected)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n ></coer-selectbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n <!-- coer-switch -->\r\n <td>\r\n <coer-switch\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading()\"\r\n [tooltip]=\"GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n [tooltipPosition]=\"GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n [isInvisible]=\"_isDisabled()\"\r\n (onChange)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n ></coer-switch>\r\n </td>\r\n }\r\n \r\n @else {\r\n <!-- Default Cell -->\r\n <td class=\"default-cell\"\r\n (click)=\"ClickOnRow(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n [ngStyle]=\"{\r\n 'text-align': GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n 'white-space': 'normal'\r\n }\">\r\n \r\n <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [ngClass]=\"{\r\n 'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n 'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n 'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n 'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n 'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n }\">\r\n \r\n @if(_IsCellType(header.columnName, row, 'number')) {\r\n <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date')) {\r\n <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else {\r\n <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n }\r\n </div>\r\n </td>\r\n }\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(ButtonByRow('showDeleteButton')) {\r\n <td class=\"action-button\">\r\n @if(ButtonByRow('showDeleteButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"navigation\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(ButtonByRow('showEditButton')) {\r\n <td class=\"action-button\">\r\n @if(ButtonByRow('showEditButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"navigation\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- GO Button -->\r\n @if(ButtonByRow('showGoButton')) {\r\n <td class=\"action-button\">\r\n @if(ButtonByRow('showGoButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"navigation\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table>\r\n }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\r\n 'bottom': showFooter() ? '35px' : '10px'\r\n }\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div> \r\n }\r\n </div>\r\n </section>\r\n\r\n @if(showFooter()) {\r\n <footer class=\"grid-footer\">\r\n <span>\r\n @if(_isLoadingMessage) {\r\n <span class=\"fa-fade\"> Loading </span>\r\n }\r\n\r\n @else if(gridLength().dataSourceSelected > 0) {\r\n <span>\r\n <i class=\"bi bi-check2-square ms-1\"></i>\r\n {{ gridLength().dataSourceSelected }}\r\n </span>\r\n }\r\n </span>\r\n\r\n <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n </footer>\r\n }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--smoke)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--primary-inner)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerCheckbox, selector: "coer-checkbox", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "ignoreDataBinding"], outputs: ["onChange"] }, { kind: "component", type: CoerNumberBox, selector: "coer-numberbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "min", "max", "isInvalid", "isValid", "selectOnFocus", "decimals", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput"] }, { kind: "component", type: CoerSelectbox, selector: "coer-selectbox", inputs: ["value", "id", "label", "placeholder", "isInvalid", "isValid", "dataSource", "propDisplay", "rowsByPage", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onSelected", "onUnselect"] }, { kind: "component", type: CoerSwitch, selector: "coer-switch", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "tooltipPosition", "tooltip"], outputs: ["onChange"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }, { kind: "pipe", type: i9.NumericFormatPipe, name: "numericFormat" }] }); }
|
2726
|
+
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 class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <header [id]=\"_id + '-header'\" class=\"row\">\r\n <!-- Slot -->\r\n <ng-content></ng-content>\r\n\r\n <!-- Export Button -->\r\n @if(exportButton.show && gridLength().dataSource > 0) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(exportButton)\"\r\n icon=\"excel\"\r\n [tooltip]=\"_isLoading() ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n [isDisabled]=\"_isDisabled() || _isLoading() || (exportButton.isDisabled || false)\"\r\n [isLoading]=\"_isLoading()\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"Export(!exportButton.preventDefault)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Import Button -->\r\n @if(importButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"_Import($event)\">\r\n\r\n <coer-button\r\n type=\"icon\"\r\n color=\"primary\"\r\n [color]=\"_ColorButton(importButton)\"\r\n [tooltip]=\"importButton.tooltip || 'Import'\"\r\n [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n [isDisabled]=\"importButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"_Import()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Add Button -->\r\n @if(addButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(addButton)\"\r\n icon=\"new\"\r\n [tooltip]=\"addButton.tooltip || 'New'\"\r\n [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n [isDisabled]=\"addButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickAdd.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(saveButton)\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Search -->\r\n @if(search.show) {\r\n <div class=\"col-auto\">\r\n <coer-textbox\r\n #inputSearch\r\n [id]=\"_GetId(-1, -1, 'search')\"\r\n [ngModel]=\"_gridSearch()\"\r\n placeholder=\"Search\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n (onInput)=\"_InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n (onClickClear)=\"_InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n (onKeyupEnter)=\"_KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\"> \r\n <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n \r\n @if(!isLoading()) {\r\n <table class=\"table table-sm table-responsive table-striped\">\r\n <thead>\r\n <tr>\r\n @if(checkbox.show && gridLength().dataSource > 0) {\r\n <!-- CheckBox Column -->\r\n <th scope=\"col\" class=\"check-box\">\r\n <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"_ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n ></coer-checkbox>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of _gridColumns(); track header.indexColumn) {\r\n <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n [ngClass]=\"{\r\n 'no-selection': true,\r\n 'cursor-default': !enableSort() && !_isLoading(),\r\n 'cursor-pointer': enableSort() && !_isLoading(),\r\n 'cursor-wait': _isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width': header.width,\r\n 'text-align': _GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n }\">\r\n <div class=\"no-selection d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(header.columnName)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Delete Button Column -->\r\n @if(_ButtonByRow('showDeleteButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(_ButtonByRow('showEditButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(_ButtonByRow('showGoButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of _gridDataSource(); track group.indexGroup) {\r\n <tbody>\r\n <!--<tr v-if=\"_isGrouped\">\r\n <td :colspan=\"_colspan\" class=\"group\">\r\n <MesAccordion\r\n :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n :title=\"`${_CleanHeaderName(groupBy)} (${group.length}): ${group.groupBy}`\"\r\n :isLoading=\"_isLoading()\"\r\n @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n ></MesAccordion>\r\n </td>\r\n </tr>-->\r\n \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n (click)=\"_indexFocus.set(row.indexRow)\">\r\n \r\n @if(checkbox.show) {\r\n <!-- CheckBox Column -->\r\n <td class=\"check-box\">\r\n <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"_ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of _gridColumns(); track header.indexColumn) {\r\n @if(_IsCellType(header.columnName, row, 'template')) {\r\n <td class=\"template\"\r\n (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n <div [innerHTML]=\"_GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n </td>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n <!-- coer-textbox -->\r\n <td class=\"coer-textbox\">\r\n <coer-textbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"_GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n [isInvalid]=\"_GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n [selectOnFocus]=\"_GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n [placeholder]=\"_GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n [textPosition]=\"_GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n [minLength]=\"_GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n [maxLength]=\"_GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n (onInput)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n (onKeyupEnter)=\"_KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n ></coer-textbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-numberbox\">\r\n <coer-numberbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"_GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n [isInvalid]=\"_GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n [selectOnFocus]=\"_GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n [placeholder]=\"_GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n [textPosition]=\"_GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n [min]=\"_GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n [max]=\"_GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n [decimals]=\"_GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n (onInput)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n (onKeyupEnter)=\"_KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n ></coer-numberbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-selectbox\">\r\n <coer-selectbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"_GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n [isInvalid]=\"_GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n [dataSource]=\"_GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n [placeholder]=\"_GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n [propDisplay]=\"_GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n (onSelected)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); _KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n ></coer-selectbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n <!-- coer-switch -->\r\n <td>\r\n <coer-switch\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading()\"\r\n [tooltip]=\"_GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n [tooltipPosition]=\"_GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n [isInvisible]=\"_isDisabled()\"\r\n (onChange)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n ></coer-switch>\r\n </td>\r\n }\r\n \r\n @else {\r\n <!-- Default Cell -->\r\n <td class=\"default-cell\"\r\n (click)=\"_ClickOnRow(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n [ngStyle]=\"{\r\n 'text-align': _GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n 'white-space': 'normal'\r\n }\">\r\n \r\n <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [ngClass]=\"{\r\n 'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n 'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n 'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n 'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n 'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n }\">\r\n \r\n @if(_IsCellType(header.columnName, row, 'number')) {\r\n <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date')) {\r\n <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else {\r\n <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n }\r\n </div>\r\n </td>\r\n }\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(_ButtonByRow('showDeleteButton')) {\r\n <td class=\"action-button\">\r\n @if(_ButtonByRow('showDeleteButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ColorButtonByRow('deleteButtonColor')\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(_ButtonByRow('showEditButton')) {\r\n <td class=\"action-button\">\r\n @if(_ButtonByRow('showEditButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ColorButtonByRow('editButtonColor')\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- GO Button -->\r\n @if(_ButtonByRow('showGoButton')) {\r\n <td class=\"action-button\">\r\n @if(_ButtonByRow('showGoButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ColorButtonByRow('goButtonColor')\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table>\r\n }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\r\n 'bottom': showFooter() ? '35px' : '10px'\r\n }\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div> \r\n }\r\n </div>\r\n </section>\r\n\r\n @if(showFooter()) {\r\n <footer class=\"grid-footer\">\r\n <span>\r\n @if(_isLoadingMessage) {\r\n <span class=\"fa-fade\"> Loading </span>\r\n }\r\n\r\n @else if(gridLength().dataSourceSelected > 0) {\r\n <span>\r\n <i class=\"bi bi-check2-square ms-1\"></i>\r\n {{ gridLength().dataSourceSelected }}\r\n </span>\r\n }\r\n </span>\r\n\r\n <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n </footer>\r\n }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--smoke)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--primary-inner)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerCheckbox, selector: "coer-checkbox", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "ignoreDataBinding"], outputs: ["onChange"] }, { kind: "component", type: CoerNumberBox, selector: "coer-numberbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "min", "max", "isInvalid", "isValid", "selectOnFocus", "decimals", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput"] }, { kind: "component", type: CoerSelectbox, selector: "coer-selectbox", inputs: ["value", "id", "label", "placeholder", "isInvalid", "isValid", "dataSource", "propDisplay", "rowsByPage", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onSelected", "onUnselect"] }, { kind: "component", type: CoerSwitch, selector: "coer-switch", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "tooltipPosition", "tooltip"], outputs: ["onChange"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }, { kind: "pipe", type: i9.NumericFormatPipe, name: "numericFormat" }] }); }
|
2705
2727
|
}
|
2706
2728
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, decorators: [{
|
2707
2729
|
type: Component,
|
2708
|
-
args: [{ selector: 'coer-grid', providers: [CONTROL_VALUE(CoerGrid)], standalone: false, template: "<div class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <header [id]=\"_id + '-header'\" class=\"row\">\r\n <!-- Slot -->\r\n <ng-content></ng-content>\r\n\r\n <!-- Export Button -->\r\n @if(exportButton.show && gridLength().dataSource > 0) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"excel\"\r\n [tooltip]=\"_isLoading() ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n [isDisabled]=\"_isDisabled() || _isLoading() || (exportButton.isDisabled || false)\"\r\n [isLoading]=\"_isLoading()\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"Export(!exportButton.preventDefault)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Import Button -->\r\n @if(importButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"Import($event)\">\r\n\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"import\"\r\n [tooltip]=\"importButton.tooltip || 'Import'\"\r\n [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n [isDisabled]=\"importButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"Import()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Add Button -->\r\n @if(addButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"new\"\r\n [tooltip]=\"addButton.tooltip || 'New'\"\r\n [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n [isDisabled]=\"addButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickAdd.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Search -->\r\n @if(search.show) {\r\n <div class=\"col-auto\">\r\n <coer-textbox\r\n #inputSearch\r\n [id]=\"_GetId(-1, -1, 'search')\"\r\n [ngModel]=\"_gridSearch()\"\r\n placeholder=\"Search\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n (onInput)=\"InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n (onClickClear)=\"InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n (onKeyupEnter)=\"KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\"> \r\n <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n \r\n @if(!isLoading()) {\r\n <table class=\"table table-sm table-responsive table-striped\">\r\n <thead>\r\n <tr>\r\n @if(checkbox.show && gridLength().dataSource > 0) {\r\n <!-- CheckBox Column -->\r\n <th scope=\"col\" class=\"check-box\">\r\n <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n ></coer-checkbox>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of gridColumns(); track header.indexColumn) {\r\n <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n [ngClass]=\"{\r\n 'no-selection': true,\r\n 'cursor-default': !enableSort() && !_isLoading(),\r\n 'cursor-pointer': enableSort() && !_isLoading(),\r\n 'cursor-wait': _isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width': header.width,\r\n 'text-align': GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n }\">\r\n <div class=\"no-selection d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(header.columnName)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Delete Button Column -->\r\n @if(ButtonByRow('showDeleteButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(ButtonByRow('showEditButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(ButtonByRow('showGoButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of gridDataSource(); track group.indexGroup) {\r\n <tbody>\r\n <!--<tr v-if=\"_isGrouped\">\r\n <td :colspan=\"_colspan\" class=\"group\">\r\n <MesAccordion\r\n :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n :title=\"`${_CleanHeaderName(groupBy)} (${group.length}): ${group.groupBy}`\"\r\n :isLoading=\"_isLoading()\"\r\n @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n ></MesAccordion>\r\n </td>\r\n </tr>-->\r\n \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n (click)=\"_indexFocus.set(row.indexRow)\">\r\n \r\n @if(checkbox.show) {\r\n <!-- CheckBox Column -->\r\n <td class=\"check-box\">\r\n <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of gridColumns(); track header.indexColumn) {\r\n @if(_IsCellType(header.columnName, row, 'template')) {\r\n <td class=\"template\"\r\n (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n <div [innerHTML]=\"GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n </td>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n <!-- coer-textbox -->\r\n <td class=\"coer-textbox\">\r\n <coer-textbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n [minLength]=\"GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n [maxLength]=\"GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n ></coer-textbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-numberbox\">\r\n <coer-numberbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n [min]=\"GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n [max]=\"GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n [decimals]=\"GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n ></coer-numberbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-selectbox\">\r\n <coer-selectbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n [dataSource]=\"GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n [propDisplay]=\"GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n (onSelected)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n ></coer-selectbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n <!-- coer-switch -->\r\n <td>\r\n <coer-switch\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading()\"\r\n [tooltip]=\"GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n [tooltipPosition]=\"GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n [isInvisible]=\"_isDisabled()\"\r\n (onChange)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n ></coer-switch>\r\n </td>\r\n }\r\n \r\n @else {\r\n <!-- Default Cell -->\r\n <td class=\"default-cell\"\r\n (click)=\"ClickOnRow(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n [ngStyle]=\"{\r\n 'text-align': GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n 'white-space': 'normal'\r\n }\">\r\n \r\n <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [ngClass]=\"{\r\n 'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n 'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n 'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n 'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n 'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n }\">\r\n \r\n @if(_IsCellType(header.columnName, row, 'number')) {\r\n <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date')) {\r\n <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else {\r\n <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n }\r\n </div>\r\n </td>\r\n }\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(ButtonByRow('showDeleteButton')) {\r\n <td class=\"action-button\">\r\n @if(ButtonByRow('showDeleteButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"navigation\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(ButtonByRow('showEditButton')) {\r\n <td class=\"action-button\">\r\n @if(ButtonByRow('showEditButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"navigation\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- GO Button -->\r\n @if(ButtonByRow('showGoButton')) {\r\n <td class=\"action-button\">\r\n @if(ButtonByRow('showGoButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"navigation\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table>\r\n }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\r\n 'bottom': showFooter() ? '35px' : '10px'\r\n }\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div> \r\n }\r\n </div>\r\n </section>\r\n\r\n @if(showFooter()) {\r\n <footer class=\"grid-footer\">\r\n <span>\r\n @if(_isLoadingMessage) {\r\n <span class=\"fa-fade\"> Loading </span>\r\n }\r\n\r\n @else if(gridLength().dataSourceSelected > 0) {\r\n <span>\r\n <i class=\"bi bi-check2-square ms-1\"></i>\r\n {{ gridLength().dataSourceSelected }}\r\n </span>\r\n }\r\n </span>\r\n\r\n <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n </footer>\r\n }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--smoke)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--primary-inner)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"] }]
|
2730
|
+
args: [{ selector: 'coer-grid', providers: [CONTROL_VALUE(CoerGrid)], standalone: false, template: "<div class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n <header [id]=\"_id + '-header'\" class=\"row\">\r\n <!-- Slot -->\r\n <ng-content></ng-content>\r\n\r\n <!-- Export Button -->\r\n @if(exportButton.show && gridLength().dataSource > 0) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(exportButton)\"\r\n icon=\"excel\"\r\n [tooltip]=\"_isLoading() ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n [isDisabled]=\"_isDisabled() || _isLoading() || (exportButton.isDisabled || false)\"\r\n [isLoading]=\"_isLoading()\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"Export(!exportButton.preventDefault)\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Import Button -->\r\n @if(importButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"_Import($event)\">\r\n\r\n <coer-button\r\n type=\"icon\"\r\n color=\"primary\"\r\n [color]=\"_ColorButton(importButton)\"\r\n [tooltip]=\"importButton.tooltip || 'Import'\"\r\n [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n [isDisabled]=\"importButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"_Import()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Add Button -->\r\n @if(addButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(addButton)\"\r\n icon=\"new\"\r\n [tooltip]=\"addButton.tooltip || 'New'\"\r\n [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n [isDisabled]=\"addButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickAdd.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(saveButton)\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.emit()\"\r\n ></coer-button>\r\n </div>\r\n }\r\n\r\n <!-- Search -->\r\n @if(search.show) {\r\n <div class=\"col-auto\">\r\n <coer-textbox\r\n #inputSearch\r\n [id]=\"_GetId(-1, -1, 'search')\"\r\n [ngModel]=\"_gridSearch()\"\r\n placeholder=\"Search\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n (onInput)=\"_InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n (onClickClear)=\"_InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n (onKeyupEnter)=\"_KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\"> \r\n <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\"> \r\n @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n \r\n @if(!isLoading()) {\r\n <table class=\"table table-sm table-responsive table-striped\">\r\n <thead>\r\n <tr>\r\n @if(checkbox.show && gridLength().dataSource > 0) {\r\n <!-- CheckBox Column -->\r\n <th scope=\"col\" class=\"check-box\">\r\n <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"_ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n ></coer-checkbox>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Dynamic Grid Column -->\r\n @for(header of _gridColumns(); track header.indexColumn) {\r\n <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n [ngClass]=\"{\r\n 'no-selection': true,\r\n 'cursor-default': !enableSort() && !_isLoading(),\r\n 'cursor-pointer': enableSort() && !_isLoading(),\r\n 'cursor-wait': _isLoading()\r\n }\"\r\n [ngStyle]=\"{\r\n 'width': header.width,\r\n 'text-align': _GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n }\">\r\n <div class=\"no-selection d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(header.columnName)\"></i>\r\n </div>\r\n </th>\r\n }\r\n \r\n <!-- Delete Button Column -->\r\n @if(_ButtonByRow('showDeleteButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(_ButtonByRow('showEditButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n \r\n <!-- Edit Button Column -->\r\n @if(_ButtonByRow('showGoButton')) {\r\n <th scope=\"col\" class=\"action-button\"></th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <!-- body -->\r\n @for(group of _gridDataSource(); track group.indexGroup) {\r\n <tbody>\r\n <!--<tr v-if=\"_isGrouped\">\r\n <td :colspan=\"_colspan\" class=\"group\">\r\n <MesAccordion\r\n :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n :title=\"`${_CleanHeaderName(groupBy)} (${group.length}): ${group.groupBy}`\"\r\n :isLoading=\"_isLoading()\"\r\n @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n ></MesAccordion>\r\n </td>\r\n </tr>-->\r\n \r\n @for(row of group.rows; track row.indexRow) {\r\n <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n (click)=\"_indexFocus.set(row.indexRow)\">\r\n \r\n @if(checkbox.show) {\r\n <!-- CheckBox Column -->\r\n <td class=\"check-box\">\r\n <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n <coer-checkbox\r\n [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n [ignoreDataBinding]=\"true\"\r\n [isDisabled]=\"_isDisabled() || _isLoading()\"\r\n (onChange)=\"_ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n ></coer-checkbox>\r\n </div>\r\n \r\n <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n </td>\r\n }\r\n \r\n <!-- Dynamic Column -->\r\n @for(header of _gridColumns(); track header.indexColumn) {\r\n @if(_IsCellType(header.columnName, row, 'template')) {\r\n <td class=\"template\"\r\n (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n <div [innerHTML]=\"_GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n </td>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n <!-- coer-textbox -->\r\n <td class=\"coer-textbox\">\r\n <coer-textbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"_GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n [isInvalid]=\"_GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n [selectOnFocus]=\"_GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n [placeholder]=\"_GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n [textPosition]=\"_GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n [minLength]=\"_GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n [maxLength]=\"_GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n (onInput)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n (onKeyupEnter)=\"_KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n ></coer-textbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-numberbox\">\r\n <coer-numberbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"_GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n [isInvalid]=\"_GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n [selectOnFocus]=\"_GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n [placeholder]=\"_GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n [textPosition]=\"_GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n [min]=\"_GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n [max]=\"_GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n [decimals]=\"_GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n (onInput)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n (onKeyupEnter)=\"_KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n ></coer-numberbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n <!-- coer-numberbox -->\r\n <td class=\"coer-selectbox\">\r\n <coer-selectbox\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading()\"\r\n [isValid]=\"_GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n [isInvalid]=\"_GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n [dataSource]=\"_GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n [placeholder]=\"_GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n [propDisplay]=\"_GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n (onSelected)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); _KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n ></coer-selectbox>\r\n </td>\r\n }\r\n \r\n \r\n @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n <!-- coer-switch -->\r\n <td>\r\n <coer-switch\r\n [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [(ngModel)]=\"row[header.columnName]\"\r\n [isDisabled]=\"_GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading()\"\r\n [tooltip]=\"_GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n [tooltipPosition]=\"_GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n [isInvisible]=\"_isDisabled()\"\r\n (onChange)=\"_InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n ></coer-switch>\r\n </td>\r\n }\r\n \r\n @else {\r\n <!-- Default Cell -->\r\n <td class=\"default-cell\"\r\n (click)=\"_ClickOnRow(row)\"\r\n (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n [ngStyle]=\"{\r\n 'text-align': _GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n 'white-space': 'normal'\r\n }\">\r\n \r\n <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n [ngClass]=\"{\r\n 'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n 'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n 'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n 'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n 'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n }\">\r\n \r\n @if(_IsCellType(header.columnName, row, 'number')) {\r\n <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date')) {\r\n <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n }\r\n \r\n @else {\r\n <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n }\r\n </div>\r\n </td>\r\n }\r\n }\r\n \r\n <!-- Delete Button -->\r\n @if(_ButtonByRow('showDeleteButton')) {\r\n <td class=\"action-button\">\r\n @if(_ButtonByRow('showDeleteButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ColorButtonByRow('deleteButtonColor')\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickDeleteRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- Edit Button -->\r\n @if(_ButtonByRow('showEditButton')) {\r\n <td class=\"action-button\">\r\n @if(_ButtonByRow('showEditButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ColorButtonByRow('editButtonColor')\"\r\n icon=\"edit\"\r\n [tooltip]=\"_GetTooltip('Edit', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickEditRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n \r\n <!-- GO Button -->\r\n @if(_ButtonByRow('showGoButton')) {\r\n <td class=\"action-button\">\r\n @if(_ButtonByRow('showGoButton', row)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n [color]=\"_ColorButtonByRow('goButtonColor')\"\r\n icon=\"go\"\r\n [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isDisabled]=\"_isLoading()\"\r\n (onClick)=\"onClickGoRow.emit(row)\"\r\n ></coer-button>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n }\r\n </table>\r\n }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\r\n 'bottom': showFooter() ? '35px' : '10px'\r\n }\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div> \r\n }\r\n </div>\r\n </section>\r\n\r\n @if(showFooter()) {\r\n <footer class=\"grid-footer\">\r\n <span>\r\n @if(_isLoadingMessage) {\r\n <span class=\"fa-fade\"> Loading </span>\r\n }\r\n\r\n @else if(gridLength().dataSourceSelected > 0) {\r\n <span>\r\n <i class=\"bi bi-check2-square ms-1\"></i>\r\n {{ gridLength().dataSourceSelected }}\r\n </span>\r\n }\r\n </span>\r\n\r\n <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n </footer>\r\n }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--smoke)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--primary-inner)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"] }]
|
2709
2731
|
}] });
|
2710
2732
|
|
2711
2733
|
class CoerList {
|
@@ -2718,8 +2740,8 @@ class CoerList {
|
|
2718
2740
|
this.propDisplay = input('name');
|
2719
2741
|
this.header = input('');
|
2720
2742
|
this.headerIcon = input('');
|
2721
|
-
this.
|
2722
|
-
this.
|
2743
|
+
this.showDeleteButtonByRow = input(false);
|
2744
|
+
this.showGoButtonByRow = input(false);
|
2723
2745
|
this.showBackButton = input(false);
|
2724
2746
|
this.isLoading = input(false);
|
2725
2747
|
this.isDraggable = input(false);
|
@@ -2762,11 +2784,11 @@ class CoerList {
|
|
2762
2784
|
return !this.isLoading();
|
2763
2785
|
});
|
2764
2786
|
/** */
|
2765
|
-
this.
|
2787
|
+
this._GetDisplay = (item) => {
|
2766
2788
|
return Tools.IsNotNull(item) ? item[this.propDisplay()] : '';
|
2767
2789
|
};
|
2768
2790
|
/** */
|
2769
|
-
this.
|
2791
|
+
this._GetIndexRow = (item) => {
|
2770
2792
|
return item['index'];
|
2771
2793
|
};
|
2772
2794
|
/** */
|
@@ -2775,15 +2797,15 @@ class CoerList {
|
|
2775
2797
|
&& !this.isLoading();
|
2776
2798
|
};
|
2777
2799
|
/** */
|
2778
|
-
this.
|
2779
|
-
const showButton = this.
|
2800
|
+
this._showDeleteButtonByRow = (item) => {
|
2801
|
+
const showButton = this.showDeleteButtonByRow();
|
2780
2802
|
return (typeof showButton === 'boolean')
|
2781
2803
|
? showButton && !this.isLoading()
|
2782
2804
|
: showButton(item, item.index) === true && !this.isLoading();
|
2783
2805
|
};
|
2784
2806
|
/** */
|
2785
|
-
this.
|
2786
|
-
const showButton = this.
|
2807
|
+
this._showGoButtonByRow = (item) => {
|
2808
|
+
const showButton = this.showGoButtonByRow();
|
2787
2809
|
return (typeof showButton === 'boolean')
|
2788
2810
|
? showButton && !this.isLoading()
|
2789
2811
|
: showButton(item, item.index) === true && !this.isLoading();
|
@@ -2809,11 +2831,11 @@ class CoerList {
|
|
2809
2831
|
});
|
2810
2832
|
}
|
2811
2833
|
/** */
|
2812
|
-
|
2834
|
+
_GetTemplate(item) {
|
2813
2835
|
return this.template()(item, item.index);
|
2814
2836
|
}
|
2815
2837
|
/** */
|
2816
|
-
|
2838
|
+
_Drop(event) {
|
2817
2839
|
const { previousIndex, currentIndex } = event;
|
2818
2840
|
let dataSource = Tools.BreakReference(this.dataSource());
|
2819
2841
|
const item = Tools.BreakReference(dataSource[previousIndex]);
|
@@ -2823,11 +2845,11 @@ class CoerList {
|
|
2823
2845
|
this.onDrop.emit(item);
|
2824
2846
|
}
|
2825
2847
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
2826
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerList, isStandalone: false, selector: "coer-list", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, headerIcon: { classPropertyName: "headerIcon", publicName: "headerIcon", isSignal: true, isRequired: false, transformFunction: null }, showDeleteButton: { classPropertyName: "showDeleteButton", publicName: "showDeleteButton", isSignal: true, isRequired: false, transformFunction: null }, showGoButton: { classPropertyName: "showGoButton", publicName: "showGoButton", isSignal: true, isRequired: false, transformFunction: null }, showBackButton: { classPropertyName: "showBackButton", publicName: "showBackButton", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDraggable: { classPropertyName: "isDraggable", publicName: "isDraggable", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", 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 }, 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: { onDrop: "onDrop", onSort: "onSort", onClick: "onClick", onDoubleClick: "onDoubleClick", onClickDelete: "onClickDelete", onClickGo: "onClickGo", onClickBack: "onClickBack" }, ngImport: i0, template: "<div [id]=\"_id\" class=\"coer-list\" [ngStyle]=\"{ \r\n 'margin-top': marginTop(), \r\n 'margin-right': marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left': marginLeft(), \r\n }\">\r\n\r\n @if(isLoading()) {\r\n <!-- Grid Message -->\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n }\r\n\r\n @else if(dataSource().length <= 0) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n\r\n <header [id]=\"_id + '-header'\" class=\"row\"> \r\n @if(header().length > 0 || headerIcon().length > 0) {\r\n <div class=\"col-auto me-auto\">\r\n <h6>\r\n @if(headerIcon().length > 0) {\r\n <i [class]=\"headerIcon()\"></i> \r\n }\r\n\r\n @if(header().length > 0) {\r\n <span>{{ header() }}</span> \r\n }\r\n </h6> \r\n </div>\r\n }\r\n\r\n @if(_showBackButton()) {\r\n <div class=\"col-auto ps-2 pe-0\"> \r\n <coer-button\r\n type=\"icon-outline\"\r\n color=\"secondary\"\r\n icon=\"back\"\r\n tooltip=\"Back\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickBack.emit()\"\r\n ></coer-button> \r\n </div>\r\n }\r\n \r\n <!-- Search -->\r\n @if(showSearch() && dataSource().length > 0) {\r\n <div class=\"col-auto pe-0\">\r\n <coer-textbox\r\n #inputSearch \r\n placeholder=\"Search\"\r\n [isDisabled]=\"isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n marginTop=\"5px\"\r\n marginBottom=\"5px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <div [ngStyle]=\"{ \r\n 'width': width(), \r\n 'min-Width': MinWidth(), \r\n 'max-Width': MaxWidth(), \r\n }\">\r\n <ul cdkDropList (cdkDropListDropped)=\"Drop($event)\" class='list-group coer-list'\r\n [ngStyle]=\"{ \r\n 'height': _height, \r\n 'min-height': minHeight(), \r\n 'max-height': maxHeight(), \r\n 'd-none': dataSource().length <= 0 \r\n }\">\r\n \r\n @for (item of _dataSource(); track GetIndexRow(item)) {\r\n <li cdkDrag \r\n class=\"list-group-item coer-list-box\" \r\n cdkDragBoundary=\"ul.coer-list\"\r\n (click)=\"onClick.emit(item)\" \r\n (dblclick)=\"onDoubleClick.emit(item)\">\r\n \r\n <div *cdkDragPlaceholder class=\"coer-list-placeholder cursor-grabbing\"></div>\r\n <div class=\"coer-list-content\"> \r\n @if(_hasTemplate()) {\r\n <div [innerHTML]=\"GetTemplate(item) | html\" class=\"template\"></div>\r\n }\r\n \r\n @else {\r\n <div> {{ GetDisplay(item) }} </div> \r\n } \r\n \r\n <div>\r\n @if(_showDeleteButton(item)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"secondary\"\r\n icon=\"delete\" \r\n (onClick)=\"onClickDelete.emit(item)\"\r\n ></coer-button>\r\n } \r\n \r\n @if(_showGoButton(item)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"secondary\"\r\n icon=\"go\" \r\n marginLeft=\"5px\" \r\n (onClick)=\"onClickGo.emit(item)\"\r\n ></coer-button>\r\n } \r\n \r\n <i cdkDragHandle [ngClass]=\"{ \r\n 'fa-solid fa-grip-vertical text-secondary ps-2': true,\r\n 'cursor-grab': true, \r\n 'cursor-grabbing': false, \r\n 'd-none': !_isDraggable()\r\n }\"></i> \r\n </div> \r\n </div> \r\n </li> \r\n } \r\n </ul>\r\n </div>\r\n</div>", styles: ["div.coer-list header{align-items:center;justify-content:flex-end;padding-right:10px;margin:0}div.coer-list header h6{display:flex;align-items:center;gap:10px;min-height:40px;max-height:40px;margin-top:5px;margin-bottom:5px}div.coer-list header>div{display:flex;align-items:baseline;position:relative;z-index:1}div.coer-list ul.coer-list{width:100%;border:solid 1px #ccc;display:block;background:var(--white);border-radius:4px;overflow:auto}div.coer-list li.coer-list-box{padding:10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:var(--white);font-size:14px}div.coer-list li.coer-list-box div.coer-list-content{width:100%;display:flex;align-items:center;justify-content:space-between}div.coer-list .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}div.coer-list .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list .coer-list-box:last-child{border:none}div.coer-list .coer-list.cdk-drop-list-dragging .coer-list-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.coer-list-placeholder{background:#ccc;border:dotted 3px #999;min-height:40px;transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.cdk-drag-placeholder,div.coer-list ul.cdk-drop-list-dragging,div.coer-list ul.cdk-drop-list-dragging *{cursor:grabbing}div.coer-list div.loading,div.coer-list div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:var(--gray);z-index:1}div.coer-list div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important}div.coer-list div.loading span.fa-fade{position:relative!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$6.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i2$6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }] }); }
|
2848
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerList, isStandalone: false, selector: "coer-list", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, headerIcon: { classPropertyName: "headerIcon", publicName: "headerIcon", isSignal: true, isRequired: false, transformFunction: null }, showDeleteButtonByRow: { classPropertyName: "showDeleteButtonByRow", publicName: "showDeleteButtonByRow", isSignal: true, isRequired: false, transformFunction: null }, showGoButtonByRow: { classPropertyName: "showGoButtonByRow", publicName: "showGoButtonByRow", isSignal: true, isRequired: false, transformFunction: null }, showBackButton: { classPropertyName: "showBackButton", publicName: "showBackButton", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDraggable: { classPropertyName: "isDraggable", publicName: "isDraggable", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", 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 }, 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: { onDrop: "onDrop", onSort: "onSort", onClick: "onClick", onDoubleClick: "onDoubleClick", onClickDelete: "onClickDelete", onClickGo: "onClickGo", onClickBack: "onClickBack" }, ngImport: i0, template: "<div [id]=\"_id\" class=\"coer-list\" [ngStyle]=\"{ \r\n 'margin-top': marginTop(), \r\n 'margin-right': marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left': marginLeft(), \r\n }\">\r\n\r\n @if(isLoading()) {\r\n <!-- Grid Message -->\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n }\r\n\r\n @else if(dataSource().length <= 0) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n\r\n <header [id]=\"_id + '-header'\" class=\"row\"> \r\n @if(header().length > 0 || headerIcon().length > 0) {\r\n <div class=\"col-auto me-auto\">\r\n <h6>\r\n @if(headerIcon().length > 0) {\r\n <i [class]=\"headerIcon()\"></i> \r\n }\r\n\r\n @if(header().length > 0) {\r\n <span>{{ header() }}</span> \r\n }\r\n </h6> \r\n </div>\r\n }\r\n\r\n @if(_showBackButton()) {\r\n <div class=\"col-auto ps-2 pe-0\"> \r\n <coer-button\r\n type=\"icon-outline\"\r\n color=\"secondary\"\r\n icon=\"back\"\r\n tooltip=\"Back\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickBack.emit()\"\r\n ></coer-button> \r\n </div>\r\n }\r\n \r\n <!-- Search -->\r\n @if(showSearch() && dataSource().length > 0) {\r\n <div class=\"col-auto pe-0\">\r\n <coer-textbox\r\n #inputSearch \r\n placeholder=\"Search\"\r\n [isDisabled]=\"isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n marginTop=\"5px\"\r\n marginBottom=\"5px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <div [ngStyle]=\"{ \r\n 'width': width(), \r\n 'min-Width': MinWidth(), \r\n 'max-Width': MaxWidth(), \r\n }\">\r\n <ul cdkDropList (cdkDropListDropped)=\"_Drop($event)\" class='list-group coer-list'\r\n [ngStyle]=\"{ \r\n 'height': _height, \r\n 'min-height': minHeight(), \r\n 'max-height': maxHeight(), \r\n 'd-none': dataSource().length <= 0 \r\n }\">\r\n \r\n @for (item of _dataSource(); track _GetIndexRow(item)) {\r\n <li cdkDrag \r\n class=\"list-group-item coer-list-box\" \r\n cdkDragBoundary=\"ul.coer-list\"\r\n (click)=\"onClick.emit(item)\" \r\n (dblclick)=\"onDoubleClick.emit(item)\">\r\n \r\n <div *cdkDragPlaceholder class=\"coer-list-placeholder cursor-grabbing\"></div>\r\n <div class=\"coer-list-content\"> \r\n @if(_hasTemplate()) {\r\n <div [innerHTML]=\"_GetTemplate(item) | html\" class=\"template\"></div>\r\n }\r\n \r\n @else {\r\n <div> {{ _GetDisplay(item) }} </div> \r\n } \r\n \r\n <div>\r\n @if(_showDeleteButtonByRow(item)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"secondary\"\r\n icon=\"delete\" \r\n (onClick)=\"onClickDelete.emit(item)\"\r\n ></coer-button>\r\n } \r\n \r\n @if(_showGoButtonByRow(item)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"secondary\"\r\n icon=\"go\" \r\n marginLeft=\"5px\" \r\n (onClick)=\"onClickGo.emit(item)\"\r\n ></coer-button>\r\n } \r\n \r\n <i cdkDragHandle [ngClass]=\"{ \r\n 'fa-solid fa-grip-vertical text-secondary ps-2': true,\r\n 'cursor-grab': true, \r\n 'cursor-grabbing': false, \r\n 'd-none': !_isDraggable()\r\n }\"></i> \r\n </div> \r\n </div> \r\n </li> \r\n } \r\n </ul>\r\n </div>\r\n</div>", styles: ["div.coer-list header{align-items:center;justify-content:flex-end;padding-right:10px;margin:0}div.coer-list header h6{display:flex;align-items:center;gap:10px;min-height:40px;max-height:40px;margin-top:5px;margin-bottom:5px}div.coer-list header>div{display:flex;align-items:baseline;position:relative;z-index:1}div.coer-list ul.coer-list{width:100%;border:solid 1px #ccc;display:block;background:var(--white);border-radius:4px;overflow:auto}div.coer-list li.coer-list-box{padding:10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:var(--white);font-size:14px}div.coer-list li.coer-list-box div.coer-list-content{width:100%;display:flex;align-items:center;justify-content:space-between}div.coer-list .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}div.coer-list .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list .coer-list-box:last-child{border:none}div.coer-list .coer-list.cdk-drop-list-dragging .coer-list-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.coer-list-placeholder{background:#ccc;border:dotted 3px #999;min-height:40px;transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.cdk-drag-placeholder,div.coer-list ul.cdk-drop-list-dragging,div.coer-list ul.cdk-drop-list-dragging *{cursor:grabbing}div.coer-list div.loading,div.coer-list div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:var(--gray);z-index:1}div.coer-list div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important}div.coer-list div.loading span.fa-fade{position:relative!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$6.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i2$6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }] }); }
|
2827
2849
|
}
|
2828
2850
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerList, decorators: [{
|
2829
2851
|
type: Component,
|
2830
|
-
args: [{ selector: 'coer-list', standalone: false, template: "<div [id]=\"_id\" class=\"coer-list\" [ngStyle]=\"{ \r\n 'margin-top': marginTop(), \r\n 'margin-right': marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left': marginLeft(), \r\n }\">\r\n\r\n @if(isLoading()) {\r\n <!-- Grid Message -->\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n }\r\n\r\n @else if(dataSource().length <= 0) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n\r\n <header [id]=\"_id + '-header'\" class=\"row\"> \r\n @if(header().length > 0 || headerIcon().length > 0) {\r\n <div class=\"col-auto me-auto\">\r\n <h6>\r\n @if(headerIcon().length > 0) {\r\n <i [class]=\"headerIcon()\"></i> \r\n }\r\n\r\n @if(header().length > 0) {\r\n <span>{{ header() }}</span> \r\n }\r\n </h6> \r\n </div>\r\n }\r\n\r\n @if(_showBackButton()) {\r\n <div class=\"col-auto ps-2 pe-0\"> \r\n <coer-button\r\n type=\"icon-outline\"\r\n color=\"secondary\"\r\n icon=\"back\"\r\n tooltip=\"Back\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickBack.emit()\"\r\n ></coer-button> \r\n </div>\r\n }\r\n \r\n <!-- Search -->\r\n @if(showSearch() && dataSource().length > 0) {\r\n <div class=\"col-auto pe-0\">\r\n <coer-textbox\r\n #inputSearch \r\n placeholder=\"Search\"\r\n [isDisabled]=\"isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n marginTop=\"5px\"\r\n marginBottom=\"5px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <div [ngStyle]=\"{ \r\n 'width': width(), \r\n 'min-Width': MinWidth(), \r\n 'max-Width': MaxWidth(), \r\n }\">\r\n <ul cdkDropList (cdkDropListDropped)=\"
|
2852
|
+
args: [{ selector: 'coer-list', standalone: false, template: "<div [id]=\"_id\" class=\"coer-list\" [ngStyle]=\"{ \r\n 'margin-top': marginTop(), \r\n 'margin-right': marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left': marginLeft(), \r\n }\">\r\n\r\n @if(isLoading()) {\r\n <!-- Grid Message -->\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n <span class=\"fa-fade\">Loading</span>\r\n </div>\r\n }\r\n\r\n @else if(dataSource().length <= 0) {\r\n <div class=\"no-data\"> No Data </div>\r\n }\r\n\r\n <header [id]=\"_id + '-header'\" class=\"row\"> \r\n @if(header().length > 0 || headerIcon().length > 0) {\r\n <div class=\"col-auto me-auto\">\r\n <h6>\r\n @if(headerIcon().length > 0) {\r\n <i [class]=\"headerIcon()\"></i> \r\n }\r\n\r\n @if(header().length > 0) {\r\n <span>{{ header() }}</span> \r\n }\r\n </h6> \r\n </div>\r\n }\r\n\r\n @if(_showBackButton()) {\r\n <div class=\"col-auto ps-2 pe-0\"> \r\n <coer-button\r\n type=\"icon-outline\"\r\n color=\"secondary\"\r\n icon=\"back\"\r\n tooltip=\"Back\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickBack.emit()\"\r\n ></coer-button> \r\n </div>\r\n }\r\n \r\n <!-- Search -->\r\n @if(showSearch() && dataSource().length > 0) {\r\n <div class=\"col-auto pe-0\">\r\n <coer-textbox\r\n #inputSearch \r\n placeholder=\"Search\"\r\n [isDisabled]=\"isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n width=\"250px\"\r\n marginTop=\"5px\"\r\n marginBottom=\"5px\"\r\n [showSearchIcon]=\"true\"\r\n [showClearIcon]=\"true\"\r\n ></coer-textbox>\r\n </div>\r\n }\r\n </header>\r\n\r\n <div [ngStyle]=\"{ \r\n 'width': width(), \r\n 'min-Width': MinWidth(), \r\n 'max-Width': MaxWidth(), \r\n }\">\r\n <ul cdkDropList (cdkDropListDropped)=\"_Drop($event)\" class='list-group coer-list'\r\n [ngStyle]=\"{ \r\n 'height': _height, \r\n 'min-height': minHeight(), \r\n 'max-height': maxHeight(), \r\n 'd-none': dataSource().length <= 0 \r\n }\">\r\n \r\n @for (item of _dataSource(); track _GetIndexRow(item)) {\r\n <li cdkDrag \r\n class=\"list-group-item coer-list-box\" \r\n cdkDragBoundary=\"ul.coer-list\"\r\n (click)=\"onClick.emit(item)\" \r\n (dblclick)=\"onDoubleClick.emit(item)\">\r\n \r\n <div *cdkDragPlaceholder class=\"coer-list-placeholder cursor-grabbing\"></div>\r\n <div class=\"coer-list-content\"> \r\n @if(_hasTemplate()) {\r\n <div [innerHTML]=\"_GetTemplate(item) | html\" class=\"template\"></div>\r\n }\r\n \r\n @else {\r\n <div> {{ _GetDisplay(item) }} </div> \r\n } \r\n \r\n <div>\r\n @if(_showDeleteButtonByRow(item)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"secondary\"\r\n icon=\"delete\" \r\n (onClick)=\"onClickDelete.emit(item)\"\r\n ></coer-button>\r\n } \r\n \r\n @if(_showGoButtonByRow(item)) {\r\n <coer-button\r\n type=\"icon-no-border\"\r\n color=\"secondary\"\r\n icon=\"go\" \r\n marginLeft=\"5px\" \r\n (onClick)=\"onClickGo.emit(item)\"\r\n ></coer-button>\r\n } \r\n \r\n <i cdkDragHandle [ngClass]=\"{ \r\n 'fa-solid fa-grip-vertical text-secondary ps-2': true,\r\n 'cursor-grab': true, \r\n 'cursor-grabbing': false, \r\n 'd-none': !_isDraggable()\r\n }\"></i> \r\n </div> \r\n </div> \r\n </li> \r\n } \r\n </ul>\r\n </div>\r\n</div>", styles: ["div.coer-list header{align-items:center;justify-content:flex-end;padding-right:10px;margin:0}div.coer-list header h6{display:flex;align-items:center;gap:10px;min-height:40px;max-height:40px;margin-top:5px;margin-bottom:5px}div.coer-list header>div{display:flex;align-items:baseline;position:relative;z-index:1}div.coer-list ul.coer-list{width:100%;border:solid 1px #ccc;display:block;background:var(--white);border-radius:4px;overflow:auto}div.coer-list li.coer-list-box{padding:10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:var(--white);font-size:14px}div.coer-list li.coer-list-box div.coer-list-content{width:100%;display:flex;align-items:center;justify-content:space-between}div.coer-list .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}div.coer-list .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list .coer-list-box:last-child{border:none}div.coer-list .coer-list.cdk-drop-list-dragging .coer-list-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.coer-list-placeholder{background:#ccc;border:dotted 3px #999;min-height:40px;transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.cdk-drag-placeholder,div.coer-list ul.cdk-drop-list-dragging,div.coer-list ul.cdk-drop-list-dragging *{cursor:grabbing}div.coer-list div.loading,div.coer-list div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:var(--gray);z-index:1}div.coer-list div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important}div.coer-list div.loading span.fa-fade{position:relative!important}\n"] }]
|
2831
2853
|
}] });
|
2832
2854
|
|
2833
2855
|
class CoerMenuOption {
|
@@ -3491,7 +3513,7 @@ class CoerDropdown extends ControlValue {
|
|
3491
3513
|
this._index = signal(-1);
|
3492
3514
|
this._isOpen = signal(false);
|
3493
3515
|
this._isOverMenu = signal(false);
|
3494
|
-
this.id = '';
|
3516
|
+
this.id = input('');
|
3495
3517
|
this.label = input('');
|
3496
3518
|
this.color = input('default');
|
3497
3519
|
this.type = input('filled');
|
@@ -3502,8 +3524,8 @@ class CoerDropdown extends ControlValue {
|
|
3502
3524
|
this.isDisabled = input(false);
|
3503
3525
|
this.isReadonly = input(false);
|
3504
3526
|
this.isInvisible = input(false);
|
3505
|
-
this.width = input('
|
3506
|
-
this.minWidth = input('
|
3527
|
+
this.width = input('190px');
|
3528
|
+
this.minWidth = input('150px');
|
3507
3529
|
this.maxWidth = input('100%');
|
3508
3530
|
this.marginTop = input('0px');
|
3509
3531
|
this.marginRight = input('0px');
|
@@ -3528,19 +3550,19 @@ class CoerDropdown extends ControlValue {
|
|
3528
3550
|
.map((item) => Object.assign(item, { indexRow: indexRow++ }));
|
3529
3551
|
});
|
3530
3552
|
/** */
|
3531
|
-
this.
|
3553
|
+
this._GetIndexRow = (item) => {
|
3532
3554
|
return item['indexRow'];
|
3533
3555
|
};
|
3534
3556
|
/** */
|
3535
|
-
this.
|
3557
|
+
this._GetIcon = (item) => {
|
3536
3558
|
return Tools.IsNotNull(item) && Tools.IsNotOnlyWhiteSpace(item?.icon) ? item.icon : '';
|
3537
3559
|
};
|
3538
3560
|
/** */
|
3539
|
-
this.
|
3561
|
+
this._GetDisplay = (item) => {
|
3540
3562
|
return Tools.IsNotNull(item) ? item[this.propDisplay()] : '';
|
3541
3563
|
};
|
3542
3564
|
/** */
|
3543
|
-
this.
|
3565
|
+
this._GetPath = (item) => {
|
3544
3566
|
if (Tools.IsNotNull(item)) {
|
3545
3567
|
if (Tools.IsNotOnlyWhiteSpace(item?.path))
|
3546
3568
|
return item?.path;
|
@@ -3560,7 +3582,7 @@ class CoerDropdown extends ControlValue {
|
|
3560
3582
|
}
|
3561
3583
|
async ngAfterViewInit() {
|
3562
3584
|
await Tools.Sleep();
|
3563
|
-
this.
|
3585
|
+
this._SetEvents();
|
3564
3586
|
}
|
3565
3587
|
//getter
|
3566
3588
|
get value() {
|
@@ -3582,7 +3604,7 @@ class CoerDropdown extends ControlValue {
|
|
3582
3604
|
return label;
|
3583
3605
|
}
|
3584
3606
|
//getter
|
3585
|
-
get
|
3607
|
+
get _icon() {
|
3586
3608
|
return Tools.IsNotNull(this.value)
|
3587
3609
|
&& Tools.IsNotOnlyWhiteSpace(this.value?.icon)
|
3588
3610
|
? this.value?.icon || '' : '';
|
@@ -3605,7 +3627,7 @@ class CoerDropdown extends ControlValue {
|
|
3605
3627
|
this._value = _value;
|
3606
3628
|
}
|
3607
3629
|
/** */
|
3608
|
-
|
3630
|
+
_SetEvents() {
|
3609
3631
|
Tools.Sleep().then(() => {
|
3610
3632
|
//Container
|
3611
3633
|
this._container = document.getElementById(`${this._id}-container`);
|
@@ -3631,10 +3653,10 @@ class CoerDropdown extends ControlValue {
|
|
3631
3653
|
});
|
3632
3654
|
}
|
3633
3655
|
/** */
|
3634
|
-
|
3656
|
+
_SelectItem(item) {
|
3635
3657
|
if (Tools.IsNotNull(item) && this._isEnable()) {
|
3636
3658
|
const _item = Tools.BreakReference(this.dataSource()[item.index]);
|
3637
|
-
if (Tools.IsNotNull(_item) && Tools.IsNull(this.
|
3659
|
+
if (Tools.IsNotNull(_item) && Tools.IsNull(this._GetPath(item))) {
|
3638
3660
|
this.SetValue(Tools.BreakReference(_item));
|
3639
3661
|
}
|
3640
3662
|
delete _item.indexRow;
|
@@ -3649,7 +3671,7 @@ class CoerDropdown extends ControlValue {
|
|
3649
3671
|
this.Close();
|
3650
3672
|
}
|
3651
3673
|
/** */
|
3652
|
-
|
3674
|
+
_Toggle() {
|
3653
3675
|
if (this._isOpen())
|
3654
3676
|
this.Close();
|
3655
3677
|
else
|
@@ -3676,25 +3698,24 @@ class CoerDropdown extends ControlValue {
|
|
3676
3698
|
});
|
3677
3699
|
}
|
3678
3700
|
/** */
|
3679
|
-
|
3680
|
-
|
3681
|
-
|
3682
|
-
|
3683
|
-
|
3684
|
-
|
3701
|
+
SetValueBy(callback) {
|
3702
|
+
Tools.Sleep().then(_ => {
|
3703
|
+
if (this._dataSource().length > 0) {
|
3704
|
+
const value = Tools.BreakReference(this._dataSource().find(callback));
|
3705
|
+
if (Tools.IsNotNull(value)) {
|
3706
|
+
this.SetValue(value);
|
3707
|
+
}
|
3685
3708
|
}
|
3686
|
-
}
|
3709
|
+
});
|
3687
3710
|
}
|
3688
3711
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDropdown, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
3689
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDropdown, isStandalone: false, selector: "coer-dropdown", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", 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 }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onUnselect: "onUnselect" }, providers: [CONTROL_VALUE(CoerDropdown)], viewQueries: [{ propertyName: "_coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-dropdown\">\r\n <div [id]=\"_id + '-container'\">\r\n <div [ngClass]=\"{ 'd-none': isInvisible() }\">\r\n <coer-button\r\n [color]=\"color()\"\r\n [type]=\"type()\"\r\n [icon]=\"icon\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\" \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 [tooltip]=\"tooltip()\"\r\n [tooltipPosition]=\"tooltipPosition()\"\r\n (onClick)=\"Toggle()\"\r\n > {{ _label }} </coer-button>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'd-none': !isInvisible(), 'invisible': true }\">\r\n <coer-button\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 ></coer-button>\r\n </div>\r\n </div>\r\n\r\n <!-- Options Container -->\r\n <div class=\"btn-group\">\r\n <ul [id]=\"_id + '-dropdown-menu'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: minWidth()\r\n }\">\r\n\r\n @if(_dataSource().length <= 0) {\r\n <li class=\"no-options\">\r\n <div [id]=\"id + '-dropdown-option-' + -1\" class='dropdown-item cursor-pointer no-options'\r\n > -- No Options -- </div>\r\n </li>\r\n }\r\n\r\n @for(item of _dataSource(); track GetIndexRow(item)) {\r\n <li (click)=\"SelectItem(item)\">\r\n <a [routerLink]=\"GetPath(item)\" class=\"text-decoration-none\">\r\n <div [id]=\"id + '-dropdown-option-' + GetIndexRow(item)\"\r\n [ngClass]=\"{\r\n 'dropdown-item': true,\r\n 'cursor-pointer': true,\r\n 'gap-2': true,\r\n 'dropdown-item-focus': _index() == GetIndexRow(item)\r\n }\"> \r\n\r\n @if (GetIcon(item).length > 0) {\r\n <i [class]=\"GetIcon(item)\"></i>\r\n }\r\n <span> {{ GetDisplay(item) }} </span>\r\n </div>\r\n <hr class=\"dropdown-divider\">\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!important}div.coer-dropdown .btn-group{position:absolute!important;top:40px;left:0!important;width:100%!important}div.coer-dropdown ul.dropdown-menu{background-color:var(--white)!important;border-top-left-radius:0!important;border-top-right-radius:0!important;max-height:205px!important;width:100%;overflow:auto!important;padding:0!important}div.coer-dropdown .dropdown-divider{margin:0!important;background-color:var(--white)!important}div.coer-dropdown ul.dropdown-menu li:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li:not(.dropdown-item-focus):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.dropdown-item-focus):hover{color:var(--black)!important;background-color:#f1f6ff!important}div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider,div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider:hover{width:0px!important;border:none!important}div.coer-dropdown ul.dropdown-menu li div{display:flex!important;align-items:center!important;height:40px!important}div.coer-dropdown ul.dropdown-menu li.no-options *{color:#d3d3d3!important}div.coer-dropdown div.dropdown-item-focus{background-color:#cde1ff!important}div.coer-dropdown mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }] }); }
|
3712
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDropdown, isStandalone: false, selector: "coer-dropdown", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", 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 }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onUnselect: "onUnselect" }, providers: [CONTROL_VALUE(CoerDropdown)], viewQueries: [{ propertyName: "_coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-dropdown\">\r\n <div [id]=\"_id + '-container'\">\r\n <div [ngClass]=\"{ 'd-none': isInvisible() }\">\r\n <coer-button\r\n [color]=\"color()\"\r\n [type]=\"type()\"\r\n [icon]=\"_icon\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\" \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 [tooltip]=\"tooltip()\"\r\n [tooltipPosition]=\"tooltipPosition()\"\r\n (onClick)=\"_Toggle()\"\r\n > {{ _label }} </coer-button>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'd-none': !isInvisible(), 'invisible': true }\">\r\n <coer-button\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 ></coer-button>\r\n </div>\r\n </div>\r\n\r\n <!-- Options Container -->\r\n <div class=\"btn-group\">\r\n <ul [id]=\"_id + '-dropdown-menu'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: width(),\r\n minWidth: minWidth()\r\n }\">\r\n\r\n @if(_dataSource().length <= 0) {\r\n <li class=\"no-options\">\r\n <div [id]=\"id + '-dropdown-option-' + -1\" class='dropdown-item cursor-pointer no-options'\r\n > -- No Options -- </div>\r\n </li>\r\n }\r\n\r\n @for(item of _dataSource(); track _GetIndexRow(item)) {\r\n <li (click)=\"_SelectItem(item)\">\r\n <a [routerLink]=\"_GetPath(item)\" class=\"text-decoration-none\">\r\n <div [id]=\"id + '-dropdown-option-' + _GetIndexRow(item)\"\r\n [ngClass]=\"{\r\n 'dropdown-item': true,\r\n 'cursor-pointer': true,\r\n 'gap-2': true,\r\n 'dropdown-item-focus': _index() == _GetIndexRow(item)\r\n }\"> \r\n\r\n @if (_GetIcon(item).length > 0) {\r\n <i [class]=\"_GetIcon(item)\"></i>\r\n }\r\n <span> {{ _GetDisplay(item) }} </span>\r\n </div>\r\n <hr class=\"dropdown-divider\">\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!important}div.coer-dropdown .btn-group{position:absolute!important;top:40px;left:0!important;width:100%!important}div.coer-dropdown ul.dropdown-menu{background-color:var(--white)!important;border-top-left-radius:0!important;border-top-right-radius:0!important;max-height:205px!important;width:100%;overflow:auto!important;padding:0!important}div.coer-dropdown .dropdown-divider{margin:0!important;background-color:var(--white)!important}div.coer-dropdown ul.dropdown-menu li:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li:not(.dropdown-item-focus):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.dropdown-item-focus):hover{color:var(--black)!important;background-color:#f1f6ff!important}div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider,div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider:hover{width:0px!important;border:none!important}div.coer-dropdown ul.dropdown-menu li div{display:flex!important;align-items:center!important;height:40px!important}div.coer-dropdown ul.dropdown-menu li.no-options *{color:#d3d3d3!important}div.coer-dropdown div.dropdown-item-focus{background-color:#cde1ff!important}div.coer-dropdown mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }] }); }
|
3690
3713
|
}
|
3691
3714
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDropdown, decorators: [{
|
3692
3715
|
type: Component,
|
3693
|
-
args: [{ selector: 'coer-dropdown', providers: [CONTROL_VALUE(CoerDropdown)], standalone: false, template: "<div class=\"coer-dropdown\">\r\n <div [id]=\"_id + '-container'\">\r\n <div [ngClass]=\"{ 'd-none': isInvisible() }\">\r\n <coer-button\r\n [color]=\"color()\"\r\n [type]=\"type()\"\r\n [icon]=\"icon\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\" \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 [tooltip]=\"tooltip()\"\r\n [tooltipPosition]=\"tooltipPosition()\"\r\n (onClick)=\"Toggle()\"\r\n > {{ _label }} </coer-button>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'd-none': !isInvisible(), 'invisible': true }\">\r\n <coer-button\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 ></coer-button>\r\n </div>\r\n </div>\r\n\r\n <!-- Options Container -->\r\n <div class=\"btn-group\">\r\n <ul [id]=\"_id + '-dropdown-menu'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: minWidth()\r\n }\">\r\n\r\n @if(_dataSource().length <= 0) {\r\n <li class=\"no-options\">\r\n <div [id]=\"id + '-dropdown-option-' + -1\" class='dropdown-item cursor-pointer no-options'\r\n > -- No Options -- </div>\r\n </li>\r\n }\r\n\r\n @for(item of _dataSource(); track GetIndexRow(item)) {\r\n <li (click)=\"SelectItem(item)\">\r\n <a [routerLink]=\"GetPath(item)\" class=\"text-decoration-none\">\r\n <div [id]=\"id + '-dropdown-option-' + GetIndexRow(item)\"\r\n [ngClass]=\"{\r\n 'dropdown-item': true,\r\n 'cursor-pointer': true,\r\n 'gap-2': true,\r\n 'dropdown-item-focus': _index() == GetIndexRow(item)\r\n }\"> \r\n\r\n @if (GetIcon(item).length > 0) {\r\n <i [class]=\"GetIcon(item)\"></i>\r\n }\r\n <span> {{ GetDisplay(item) }} </span>\r\n </div>\r\n <hr class=\"dropdown-divider\">\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!important}div.coer-dropdown .btn-group{position:absolute!important;top:40px;left:0!important;width:100%!important}div.coer-dropdown ul.dropdown-menu{background-color:var(--white)!important;border-top-left-radius:0!important;border-top-right-radius:0!important;max-height:205px!important;width:100%;overflow:auto!important;padding:0!important}div.coer-dropdown .dropdown-divider{margin:0!important;background-color:var(--white)!important}div.coer-dropdown ul.dropdown-menu li:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li:not(.dropdown-item-focus):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.dropdown-item-focus):hover{color:var(--black)!important;background-color:#f1f6ff!important}div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider,div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider:hover{width:0px!important;border:none!important}div.coer-dropdown ul.dropdown-menu li div{display:flex!important;align-items:center!important;height:40px!important}div.coer-dropdown ul.dropdown-menu li.no-options *{color:#d3d3d3!important}div.coer-dropdown div.dropdown-item-focus{background-color:#cde1ff!important}div.coer-dropdown mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"] }]
|
3716
|
+
args: [{ selector: 'coer-dropdown', providers: [CONTROL_VALUE(CoerDropdown)], standalone: false, template: "<div class=\"coer-dropdown\">\r\n <div [id]=\"_id + '-container'\">\r\n <div [ngClass]=\"{ 'd-none': isInvisible() }\">\r\n <coer-button\r\n [color]=\"color()\"\r\n [type]=\"type()\"\r\n [icon]=\"_icon\"\r\n [isLoading]=\"isLoading()\"\r\n [isDisabled]=\"isDisabled()\" \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 [tooltip]=\"tooltip()\"\r\n [tooltipPosition]=\"tooltipPosition()\"\r\n (onClick)=\"_Toggle()\"\r\n > {{ _label }} </coer-button>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'd-none': !isInvisible(), 'invisible': true }\">\r\n <coer-button\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 ></coer-button>\r\n </div>\r\n </div>\r\n\r\n <!-- Options Container -->\r\n <div class=\"btn-group\">\r\n <ul [id]=\"_id + '-dropdown-menu'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: width(),\r\n minWidth: minWidth()\r\n }\">\r\n\r\n @if(_dataSource().length <= 0) {\r\n <li class=\"no-options\">\r\n <div [id]=\"id + '-dropdown-option-' + -1\" class='dropdown-item cursor-pointer no-options'\r\n > -- No Options -- </div>\r\n </li>\r\n }\r\n\r\n @for(item of _dataSource(); track _GetIndexRow(item)) {\r\n <li (click)=\"_SelectItem(item)\">\r\n <a [routerLink]=\"_GetPath(item)\" class=\"text-decoration-none\">\r\n <div [id]=\"id + '-dropdown-option-' + _GetIndexRow(item)\"\r\n [ngClass]=\"{\r\n 'dropdown-item': true,\r\n 'cursor-pointer': true,\r\n 'gap-2': true,\r\n 'dropdown-item-focus': _index() == _GetIndexRow(item)\r\n }\"> \r\n\r\n @if (_GetIcon(item).length > 0) {\r\n <i [class]=\"_GetIcon(item)\"></i>\r\n }\r\n <span> {{ _GetDisplay(item) }} </span>\r\n </div>\r\n <hr class=\"dropdown-divider\">\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</div> ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!important}div.coer-dropdown .btn-group{position:absolute!important;top:40px;left:0!important;width:100%!important}div.coer-dropdown ul.dropdown-menu{background-color:var(--white)!important;border-top-left-radius:0!important;border-top-right-radius:0!important;max-height:205px!important;width:100%;overflow:auto!important;padding:0!important}div.coer-dropdown .dropdown-divider{margin:0!important;background-color:var(--white)!important}div.coer-dropdown ul.dropdown-menu li:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li:not(.dropdown-item-focus):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.dropdown-item-focus):hover{color:var(--black)!important;background-color:#f1f6ff!important}div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider,div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider:hover{width:0px!important;border:none!important}div.coer-dropdown ul.dropdown-menu li div{display:flex!important;align-items:center!important;height:40px!important}div.coer-dropdown ul.dropdown-menu li.no-options *{color:#d3d3d3!important}div.coer-dropdown div.dropdown-item-focus{background-color:#cde1ff!important}div.coer-dropdown mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"] }]
|
3694
3717
|
}], propDecorators: { value: [{
|
3695
3718
|
type: Input
|
3696
|
-
}], id: [{
|
3697
|
-
type: Input
|
3698
3719
|
}] } });
|
3699
3720
|
|
3700
3721
|
class CoerTab {
|
@@ -3960,6 +3981,12 @@ class CoerToolbar {
|
|
3960
3981
|
this.isLoading = false;
|
3961
3982
|
this.awaitSignals = false;
|
3962
3983
|
this._isModalOpen = isModalOpenSIGNAL;
|
3984
|
+
//appSettings
|
3985
|
+
this.appName = Tools.AvoidNull(appSettings?.appInfo?.name, 'string');
|
3986
|
+
this.appLogoPath = Tools.AvoidNull(appSettings?.appInfo?.logoPath, 'string');
|
3987
|
+
this.appLogoWidth = Tools.AvoidNull(appSettings?.appInfo?.logoWidth, 'string');
|
3988
|
+
this.showAppLogo = Tools.AvoidNull(appSettings?.appInfo?.showLogo, 'boolean');
|
3989
|
+
//Inputs
|
3963
3990
|
this.user = input(null);
|
3964
3991
|
this.image = input(null);
|
3965
3992
|
this.menu = input([]);
|
@@ -3974,12 +4001,8 @@ class CoerToolbar {
|
|
3974
4001
|
return user?.nickname;
|
3975
4002
|
if (Tools.IsNotOnlyWhiteSpace(user?.fullName))
|
3976
4003
|
return user?.fullName;
|
3977
|
-
|
3978
|
-
|
3979
|
-
const middleName = Tools.IsNotOnlyWhiteSpace(this.user()?.middleName) ? this.user().middleName : '';
|
3980
|
-
const lastName = Tools.IsNotOnlyWhiteSpace(this.user()?.lastName) ? this.user().lastName : '';
|
3981
|
-
const secondLastName = Tools.IsNotOnlyWhiteSpace(this.user()?.secondName) ? this.user().secondLastName : '';
|
3982
|
-
return `${name} ${firstName} ${middleName} ${lastName} ${secondLastName}`;
|
4004
|
+
if (Tools.IsNotOnlyWhiteSpace(user?.user))
|
4005
|
+
return user?.user;
|
3983
4006
|
}
|
3984
4007
|
return '';
|
3985
4008
|
});
|
@@ -3987,16 +4010,8 @@ class CoerToolbar {
|
|
3987
4010
|
this.userTitle = computed(() => {
|
3988
4011
|
const user = this.user();
|
3989
4012
|
if (Tools.IsNotNull(user)) {
|
3990
|
-
if (Tools.IsNotOnlyWhiteSpace(user?.title))
|
3991
|
-
return user.title;
|
3992
|
-
if (Tools.IsNotOnlyWhiteSpace(user?.position))
|
3993
|
-
return user.position;
|
3994
|
-
if (Tools.IsNotOnlyWhiteSpace(user?.legend))
|
3995
|
-
return user.legend;
|
3996
|
-
if (Tools.IsNotOnlyWhiteSpace(user?.caption))
|
3997
|
-
return user.caption;
|
3998
4013
|
if (Tools.IsNotOnlyWhiteSpace(user?.role))
|
3999
|
-
return user
|
4014
|
+
return user?.role;
|
4000
4015
|
}
|
4001
4016
|
return '';
|
4002
4017
|
});
|
@@ -4030,24 +4045,9 @@ class CoerToolbar {
|
|
4030
4045
|
isMenuOpenSIGNAL.set(!isMenuOpenSIGNAL());
|
4031
4046
|
Tools.Sleep(500, 'ToogleSideNave').then(() => this.isLoading = false);
|
4032
4047
|
}
|
4033
|
-
//computed
|
4034
|
-
get appName() {
|
4035
|
-
return Tools.AvoidNull(appSettings?.info?.name, 'string');
|
4036
|
-
}
|
4037
|
-
//computed
|
4038
|
-
get appLogo() {
|
4039
|
-
return Tools.AvoidNull(appSettings?.info?.logo, 'string');
|
4040
|
-
}
|
4041
|
-
//computed
|
4042
|
-
get appLogoWidth() {
|
4043
|
-
return Tools.AvoidNull(appSettings?.info?.logoWidth, 'string');
|
4044
|
-
}
|
4045
4048
|
//getter
|
4046
4049
|
get showLogo() {
|
4047
|
-
|
4048
|
-
return Tools.IsNull(showLogo)
|
4049
|
-
? (this.appLogo.length > 0)
|
4050
|
-
: showLogo && (this.appLogo.length > 0);
|
4050
|
+
return this.showAppLogo && (this.appLogoPath.length > 0);
|
4051
4051
|
}
|
4052
4052
|
//getter
|
4053
4053
|
get showUser() {
|
@@ -4064,11 +4064,11 @@ class CoerToolbar {
|
|
4064
4064
|
this.dropdown().Open();
|
4065
4065
|
}
|
4066
4066
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
4067
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerToolbar, isStandalone: false, selector: "coer-toolbar", inputs: { user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickMenu: "onClickMenu", onClickOption: "onClickOption" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, isSignal: true }], ngImport: i0, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar> \r\n @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (
|
4067
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerToolbar, isStandalone: false, selector: "coer-toolbar", inputs: { user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickMenu: "onClickMenu", onClickOption: "onClickOption" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, isSignal: true }], ngImport: i0, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar> \r\n @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (appLogoPath | noImage:'IMAGE') + ')' }\"></div>\r\n </div>\r\n }\r\n\r\n @else {\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave()\"\r\n ></coer-button>\r\n\r\n <span class=\"app-name\"> {{ appName }} </span> \r\n } \r\n\r\n <span class=\"fill-space\"></span> \r\n \r\n <div class=\"user-container\" (click)=\"ClickUser()\" [ngStyle]=\"{ \r\n 'padding-right': GetPadding('user-container'),\r\n 'display': showUser ? 'flex' : 'none'\r\n }\">\r\n \r\n <coer-dropdown\r\n #dropdown\r\n [dataSource]=\"menu()\" \r\n propDisplay=\"label\" \r\n width=\"auto\"\r\n [minWidth]=\"GetElementWidth(toolbarUserIdentity)\"\r\n maxWidth=\"auto\"\r\n (onSelected)=\"onClickOption.emit($event)\"\r\n ></coer-dropdown>\r\n\r\n <div class=\"user-image\" [ngStyle]=\"{ 'background-image': 'url(' + (image() | noImage:'USER') + ')' }\"></div>\r\n <div #toolbarUserIdentity id=\"toolbar-user-identity\" class=\"user-identity\" [ngStyle]=\"{ 'padding-left': GetPadding('user-identity') }\">\r\n \r\n @if(userName().length > 0) {\r\n <p> {{ userName() }} </p>\r\n }\r\n \r\n @if(userTitle().length > 0) {\r\n <p> {{ userTitle() }} </p>\r\n }\r\n </div> \r\n </div> \r\n \r\n @if(!showUser) {\r\n <span class=\"me-2\">\r\n <span class=\"fw-bold fa-fade\"> \r\n Loading <i class=\"fa-solid fa-sync fa-spin\"></i> \r\n </span> \r\n </span>\r\n }\r\n </mat-toolbar>\r\n\r\n <div class=\"shadow\"></div>\r\n</div>\r\n", styles: ["div#coer-tool-bar{z-index:1}div#coer-tool-bar mat-toolbar{height:45px;position:relative;z-index:10;padding:0}div#coer-tool-bar mat-toolbar span.app-name{height:40px!important;max-width:45%}div#coer-tool-bar mat-toolbar div.logo-image-container{height:45px!important;min-width:100px}div#coer-tool-bar mat-toolbar div.logo-image-container div.logo-image{background-size:contain!important;background-repeat:no-repeat!important;background-position-y:bottom;width:100%!important;height:100%!important;cursor:pointer!important}div#coer-tool-bar mat-toolbar div.user-container{max-width:45%;display:flex;align-items:center;font-size:small!important;font-weight:700;height:40px!important;max-height:40px!important;padding-left:2px!important;margin-right:10px!important;border-radius:8px!important;cursor:pointer!important}div#coer-tool-bar mat-toolbar div.user-container div.user-image{min-width:35px!important;max-width:35px!important;min-height:35px!important;max-height:35px!important;border-radius:25px;background:transparent;background-size:cover;background-repeat:no-repeat;background-position:top}div#coer-tool-bar mat-toolbar div.user-container div.user-identity{height:40px!important;max-height:40px!important;min-width:70px!important;overflow:hidden!important;display:flex!important;flex-flow:column!important;justify-content:center!important}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p{line-height:normal!important;overflow:hidden;text-overflow:ellipsis}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p::selection{background-color:transparent!important}div#coer-tool-bar mat-toolbar div.user-container coer-dropdown{position:absolute;transform:translate(-3px)}div#coer-tool-bar mat-toolbar div.user-container:hover{transform:scale(1.03);box-shadow:0 0 15px -5px #000!important}div#coer-tool-bar div.shadow{box-shadow:1px -10px 20px #000!important;width:100vw;height:45px;position:absolute;top:0;z-index:8}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$a.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerDropdown, selector: "coer-dropdown", inputs: ["value", "id", "label", "color", "type", "dataSource", "propDisplay", "rowsByPage", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltip", "tooltipPosition"], outputs: ["onSelected", "onUnselect"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
|
4068
4068
|
}
|
4069
4069
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerToolbar, decorators: [{
|
4070
4070
|
type: Component,
|
4071
|
-
args: [{ selector: 'coer-toolbar', standalone: false, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar> \r\n @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (
|
4071
|
+
args: [{ selector: 'coer-toolbar', standalone: false, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar> \r\n @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (appLogoPath | noImage:'IMAGE') + ')' }\"></div>\r\n </div>\r\n }\r\n\r\n @else {\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave()\"\r\n ></coer-button>\r\n\r\n <span class=\"app-name\"> {{ appName }} </span> \r\n } \r\n\r\n <span class=\"fill-space\"></span> \r\n \r\n <div class=\"user-container\" (click)=\"ClickUser()\" [ngStyle]=\"{ \r\n 'padding-right': GetPadding('user-container'),\r\n 'display': showUser ? 'flex' : 'none'\r\n }\">\r\n \r\n <coer-dropdown\r\n #dropdown\r\n [dataSource]=\"menu()\" \r\n propDisplay=\"label\" \r\n width=\"auto\"\r\n [minWidth]=\"GetElementWidth(toolbarUserIdentity)\"\r\n maxWidth=\"auto\"\r\n (onSelected)=\"onClickOption.emit($event)\"\r\n ></coer-dropdown>\r\n\r\n <div class=\"user-image\" [ngStyle]=\"{ 'background-image': 'url(' + (image() | noImage:'USER') + ')' }\"></div>\r\n <div #toolbarUserIdentity id=\"toolbar-user-identity\" class=\"user-identity\" [ngStyle]=\"{ 'padding-left': GetPadding('user-identity') }\">\r\n \r\n @if(userName().length > 0) {\r\n <p> {{ userName() }} </p>\r\n }\r\n \r\n @if(userTitle().length > 0) {\r\n <p> {{ userTitle() }} </p>\r\n }\r\n </div> \r\n </div> \r\n \r\n @if(!showUser) {\r\n <span class=\"me-2\">\r\n <span class=\"fw-bold fa-fade\"> \r\n Loading <i class=\"fa-solid fa-sync fa-spin\"></i> \r\n </span> \r\n </span>\r\n }\r\n </mat-toolbar>\r\n\r\n <div class=\"shadow\"></div>\r\n</div>\r\n", styles: ["div#coer-tool-bar{z-index:1}div#coer-tool-bar mat-toolbar{height:45px;position:relative;z-index:10;padding:0}div#coer-tool-bar mat-toolbar span.app-name{height:40px!important;max-width:45%}div#coer-tool-bar mat-toolbar div.logo-image-container{height:45px!important;min-width:100px}div#coer-tool-bar mat-toolbar div.logo-image-container div.logo-image{background-size:contain!important;background-repeat:no-repeat!important;background-position-y:bottom;width:100%!important;height:100%!important;cursor:pointer!important}div#coer-tool-bar mat-toolbar div.user-container{max-width:45%;display:flex;align-items:center;font-size:small!important;font-weight:700;height:40px!important;max-height:40px!important;padding-left:2px!important;margin-right:10px!important;border-radius:8px!important;cursor:pointer!important}div#coer-tool-bar mat-toolbar div.user-container div.user-image{min-width:35px!important;max-width:35px!important;min-height:35px!important;max-height:35px!important;border-radius:25px;background:transparent;background-size:cover;background-repeat:no-repeat;background-position:top}div#coer-tool-bar mat-toolbar div.user-container div.user-identity{height:40px!important;max-height:40px!important;min-width:70px!important;overflow:hidden!important;display:flex!important;flex-flow:column!important;justify-content:center!important}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p{line-height:normal!important;overflow:hidden;text-overflow:ellipsis}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p::selection{background-color:transparent!important}div#coer-tool-bar mat-toolbar div.user-container coer-dropdown{position:absolute;transform:translate(-3px)}div#coer-tool-bar mat-toolbar div.user-container:hover{transform:scale(1.03);box-shadow:0 0 15px -5px #000!important}div#coer-tool-bar div.shadow{box-shadow:1px -10px 20px #000!important;width:100vw;height:45px;position:absolute;top:0;z-index:8}\n"] }]
|
4072
4072
|
}] });
|
4073
4073
|
|
4074
4074
|
class ComponentsModule {
|