@tetacom/ng-components 1.7.4 → 1.7.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.
|
@@ -8,13 +8,13 @@ import * as THREE from 'three';
|
|
|
8
8
|
import * as d3 from 'd3';
|
|
9
9
|
import { BehaviorSubject, ReplaySubject, combineLatest, takeWhile as takeWhile$1, filter, map as map$1, lastValueFrom, take, shareReplay, Subject, debounceTime, animationFrameScheduler, distinctUntilChanged, fromEvent, tap as tap$1, merge, Observable, share, pipe } from 'rxjs';
|
|
10
10
|
import { OrbitControls } from 'three-stdlib';
|
|
11
|
-
import * as
|
|
11
|
+
import * as i2 from '@angular/forms';
|
|
12
12
|
import { NG_VALUE_ACCESSOR, FormsModule, UntypedFormControl, UntypedFormGroup, Validators, ControlContainer, FormGroup, NgForm, ReactiveFormsModule } from '@angular/forms';
|
|
13
13
|
import { maskitoDateTimeOptionsGenerator, maskitoDateOptionsGenerator, maskitoDateRangeOptionsGenerator } from '@maskito/kit';
|
|
14
14
|
import dayjs from 'dayjs';
|
|
15
15
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
16
16
|
import { MaskitoDirective } from '@maskito/angular';
|
|
17
|
-
import * as i1$
|
|
17
|
+
import * as i1$1 from '@jsverse/transloco';
|
|
18
18
|
import { TranslocoModule, TRANSLOCO_SCOPE, TranslocoService } from '@jsverse/transloco';
|
|
19
19
|
import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf } from '@angular/cdk/scrolling';
|
|
20
20
|
import objectHash from 'object-hash';
|
|
@@ -3129,7 +3129,7 @@ class DatePickerComponent extends BasePicker {
|
|
|
3129
3129
|
}
|
|
3130
3130
|
}
|
|
3131
3131
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DatePickerComponent, isStandalone: true, selector: "teta-date-picker", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull", open: "open", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minYearDate: "minYearDate", maxYearDate: "maxYearDate" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.datepicker": "this.classDatepicker", "class.datepicker-time": "this.dateTimeClass", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ({ selectedDate: selectedDate | async }; as data) {\n <teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n [open]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n >\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"row_auto border-0\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n (blur)=\"onBlur($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate || allowNull) {\n <div\n (click)=\"input.focus()\"\n class=\"position-absolute color-text-10\"\n style=\"cursor: text; user-select: none\"\n >\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent (click)=\"$event.preventDefault()\">\n <teta-date-calendar\n [isDateNull]=\"data.selectedDate === null\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event)\"\n [selectedDate]=\"data.selectedDate\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-date-calendar>\n </div>\n </teta-dropdown>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
3132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DatePickerComponent, isStandalone: true, selector: "teta-date-picker", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull", open: "open", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minYearDate: "minYearDate", maxYearDate: "maxYearDate" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.datepicker": "this.classDatepicker", "class.datepicker-time": "this.dateTimeClass", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ({ selectedDate: selectedDate | async }; as data) {\n <teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n [open]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n >\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"row_auto border-0\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n (blur)=\"onBlur($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate || allowNull) {\n <div\n (click)=\"input.focus()\"\n class=\"position-absolute color-text-10\"\n style=\"cursor: text; user-select: none\"\n >\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent (click)=\"$event.preventDefault()\">\n <teta-date-calendar\n [isDateNull]=\"data.selectedDate === null\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event)\"\n [selectedDate]=\"data.selectedDate\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-date-calendar>\n </div>\n </teta-dropdown>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: DateCalendarComponent, selector: "teta-date-calendar", inputs: ["selectedDate", "open", "locale", "viewType", "min", "isDateNull", "max"], outputs: ["setDate"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3133
3133
|
}
|
|
3134
3134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
3135
3135
|
type: Component,
|
|
@@ -3463,7 +3463,7 @@ class DateRangeComponent extends BasePicker {
|
|
|
3463
3463
|
}
|
|
3464
3464
|
onChange(date) { }
|
|
3465
3465
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3466
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateRangeComponent, isStandalone: true, selector: "teta-date-range", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.daterange": "this.classDaterange" } }, providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if ({ selectedDate: selectedDate | async }; as data) {\n <teta-dropdown\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n class=\"row row_auto\"\n [(open)]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n >\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"border-0 color-text-90\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate || allowNull) {\n <div\n (click)=\"input.focus()\"\n class=\"position-absolute color-text-10\"\n style=\"cursor: text; user-select: none\"\n >\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n @if (open) {\n <div class=\"row\">\n <teta-range-calendar\n [isDateNull]=\"date === null || (date?.from === null && date?.to === null)\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event, data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-range-calendar>\n </div>\n }\n </div>\n </teta-dropdown>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
3466
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateRangeComponent, isStandalone: true, selector: "teta-date-range", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.daterange": "this.classDaterange" } }, providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if ({ selectedDate: selectedDate | async }; as data) {\n <teta-dropdown\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n class=\"row row_auto\"\n [(open)]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n >\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"border-0 color-text-90\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate || allowNull) {\n <div\n (click)=\"input.focus()\"\n class=\"position-absolute color-text-10\"\n style=\"cursor: text; user-select: none\"\n >\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n @if (open) {\n <div class=\"row\">\n <teta-range-calendar\n [isDateNull]=\"date === null || (date?.from === null && date?.to === null)\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event, data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-range-calendar>\n </div>\n }\n </div>\n </teta-dropdown>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: RangeCalendarComponent, selector: "teta-range-calendar", inputs: ["locale", "open", "date", "viewType", "allowNull", "selectedDate", "min", "isDateNull", "max"], outputs: ["hoveredDateChange", "setDate"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3467
3467
|
}
|
|
3468
3468
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateRangeComponent, decorators: [{
|
|
3469
3469
|
type: Component,
|
|
@@ -3823,7 +3823,7 @@ class FileUploadAreaComponent {
|
|
|
3823
3823
|
event.stopPropagation();
|
|
3824
3824
|
}
|
|
3825
3825
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FileUploadAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3826
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: FileUploadAreaComponent, isStandalone: true, selector: "teta-file-upload-area", inputs: { multiple: "multiple", disabled: "disabled", accept: "accept" }, outputs: { upload: "upload" }, host: { listeners: { "dragenter": "dragEnter($event)", "dragover": "dragOver($event)", "dragleave": "dragLeave($event)", "drop": "drop($event)" }, properties: { "class.file-upload": "this.fileUpload", "class.file-upload_active": "this.fileUploadActive" } }, queries: [{ propertyName: "buttonTemplate", first: true, predicate: ["buttonTemplate"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["fileUpload"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n<label class=\"file-upload-label\">\n <input\n #fileUpload\n id=\"upload-input\"\n class=\"file-upload-input\"\n type=\"file\"\n name=\"fileUpload\"\n [attr.accept]=\"accept\"\n [attr.multiple]=\"multiple ? 'multiple' : null\"\n [disabled]=\"disabled\"\n (change)=\"fileChanged($event)\"\n />\n <ng-container [ngTemplateOutlet]=\"buttonTemplate || defaultTemplate\"></ng-container>\n</label>\n<ng-template #defaultTemplate>\n <teta-button [palette]=\"'primary'\" type=\"button\">\n <teta-icon [name]=\"'search'\" [palette]=\"'white'\"></teta-icon>\n {{ 'common.browse' | transloco }}\n </teta-button>\n</ng-template>\n", styles: [":host{display:flex}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1$
|
|
3826
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: FileUploadAreaComponent, isStandalone: true, selector: "teta-file-upload-area", inputs: { multiple: "multiple", disabled: "disabled", accept: "accept" }, outputs: { upload: "upload" }, host: { listeners: { "dragenter": "dragEnter($event)", "dragover": "dragOver($event)", "dragleave": "dragLeave($event)", "drop": "drop($event)" }, properties: { "class.file-upload": "this.fileUpload", "class.file-upload_active": "this.fileUploadActive" } }, queries: [{ propertyName: "buttonTemplate", first: true, predicate: ["buttonTemplate"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["fileUpload"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n<label class=\"file-upload-label\">\n <input\n #fileUpload\n id=\"upload-input\"\n class=\"file-upload-input\"\n type=\"file\"\n name=\"fileUpload\"\n [attr.accept]=\"accept\"\n [attr.multiple]=\"multiple ? 'multiple' : null\"\n [disabled]=\"disabled\"\n (change)=\"fileChanged($event)\"\n />\n <ng-container [ngTemplateOutlet]=\"buttonTemplate || defaultTemplate\"></ng-container>\n</label>\n<ng-template #defaultTemplate>\n <teta-button [palette]=\"'primary'\" type=\"button\">\n <teta-icon [name]=\"'search'\" [palette]=\"'white'\"></teta-icon>\n {{ 'common.browse' | transloco }}\n </teta-button>\n</ng-template>\n", styles: [":host{display:flex}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1$1.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3827
3827
|
}
|
|
3828
3828
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FileUploadAreaComponent, decorators: [{
|
|
3829
3829
|
type: Component,
|
|
@@ -4196,7 +4196,7 @@ class DateFilterComponent extends FilterComponentBase {
|
|
|
4196
4196
|
return filter;
|
|
4197
4197
|
}
|
|
4198
4198
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateFilterComponent, isStandalone: true, selector: "teta-date-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <teta-date-picker\n style=\"width: 110px\"\n [ngModel]=\"filter.value?.greaterThan\"\n [appendToBody]=\"false\"\n (ngModelChange)=\"filter.value.greaterThan = $event\"\n ></teta-date-picker>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <teta-date-picker\n style=\"width: 110px\"\n [ngModel]=\"filter.value?.lessThan\"\n [appendToBody]=\"false\"\n (ngModelChange)=\"filter.value.lessThan = $event\"\n ></teta-date-picker>\n </teta-input>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "open", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
4199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateFilterComponent, isStandalone: true, selector: "teta-date-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <teta-date-picker\n style=\"width: 110px\"\n [ngModel]=\"filter.value?.greaterThan\"\n [appendToBody]=\"false\"\n (ngModelChange)=\"filter.value.greaterThan = $event\"\n ></teta-date-picker>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <teta-date-picker\n style=\"width: 110px\"\n [ngModel]=\"filter.value?.lessThan\"\n [appendToBody]=\"false\"\n (ngModelChange)=\"filter.value.lessThan = $event\"\n ></teta-date-picker>\n </teta-input>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "open", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4200
4200
|
}
|
|
4201
4201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateFilterComponent, decorators: [{
|
|
4202
4202
|
type: Component,
|
|
@@ -4549,7 +4549,7 @@ class OnlyNumberDirective {
|
|
|
4549
4549
|
console.error('INVALID VALUE');
|
|
4550
4550
|
}
|
|
4551
4551
|
}
|
|
4552
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OnlyNumberDirective, deps: [{ token: i0.ElementRef }, { token:
|
|
4552
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OnlyNumberDirective, deps: [{ token: i0.ElementRef }, { token: i2.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4553
4553
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: OnlyNumberDirective, isStandalone: true, selector: "[tetaOnlyNumber]", inputs: { tetaOnlyNumber: "tetaOnlyNumber", allowDecimals: "allowDecimals", allowSign: "allowSign", decimalSeparator: "decimalSeparator", commaSeparator: "commaSeparator", onlyPositive: "onlyPositive" }, host: { listeners: { "input": "onChange($event)", "blur": "onBlur($event)", "dblclick": "dblclick($event)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
4554
4554
|
}
|
|
4555
4555
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OnlyNumberDirective, decorators: [{
|
|
@@ -4558,7 +4558,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
4558
4558
|
selector: '[tetaOnlyNumber]',
|
|
4559
4559
|
standalone: true,
|
|
4560
4560
|
}]
|
|
4561
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type:
|
|
4561
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2.NgControl }], propDecorators: { tetaOnlyNumber: [{
|
|
4562
4562
|
type: Input
|
|
4563
4563
|
}], allowDecimals: [{
|
|
4564
4564
|
type: Input
|
|
@@ -4633,7 +4633,7 @@ class TextFieldComponent {
|
|
|
4633
4633
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
4634
4634
|
multi: true,
|
|
4635
4635
|
},
|
|
4636
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (leftIconName) {\n <teta-icon [name]=\"leftIconName\" [palette]=\"'text'\"></teta-icon>\n}\n<input\n #input\n [ngModel]=\"value | tetaNumber: (!onlyNumber || inputFocused ? null : decimalPart)\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event)\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'color-text-40': disabled }\"\n (focus)=\"inputFocused = true\"\n (blur)=\"inputFocused = false; emitBlur()\"\n (keydown)=\"keyPress($event)\"\n type=\"text\"\n/>\n@if (value && !disabled) {\n <teta-icon\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('')\"\n ></teta-icon>\n}\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
4636
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (leftIconName) {\n <teta-icon [name]=\"leftIconName\" [palette]=\"'text'\"></teta-icon>\n}\n<input\n #input\n [ngModel]=\"value | tetaNumber: (!onlyNumber || inputFocused ? null : decimalPart)\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event)\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'color-text-40': disabled }\"\n (focus)=\"inputFocused = true\"\n (blur)=\"inputFocused = false; emitBlur()\"\n (keydown)=\"keyPress($event)\"\n type=\"text\"\n/>\n@if (value && !disabled) {\n <teta-icon\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('')\"\n ></teta-icon>\n}\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4637
4637
|
}
|
|
4638
4638
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
4639
4639
|
type: Component,
|
|
@@ -4737,7 +4737,7 @@ class ListFilterComponent extends FilterComponentBase {
|
|
|
4737
4737
|
return filter;
|
|
4738
4738
|
}
|
|
4739
4739
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ListFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4740
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ListFilterComponent, isStandalone: true, selector: "teta-list-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-2\">\n <teta-text-field [(ngModel)]=\"search\"></teta-text-field>\n</div>\n<teta-scrollable class=\"column column_auto\" [contentClass]=\"['list', 'padding-v-2']\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\" [allowNull]=\"true\" [ngModel]=\"all()\" (ngModelChange)=\"setAll($event)\">\n {{ (locale | async)?.all }}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n @for (option of visibleOptions; track option) {\n <div class=\"list-item\">\n <teta-checkbox [ngModel]=\"filter.value\" (ngModelChange)=\"setFilter($event)\" [value]=\"option.id\" [binary]=\"false\">\n {{ option.name }}\n </teta-checkbox>\n </div>\n }\n</teta-scrollable>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
4740
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ListFilterComponent, isStandalone: true, selector: "teta-list-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-2\">\n <teta-text-field [(ngModel)]=\"search\"></teta-text-field>\n</div>\n<teta-scrollable class=\"column column_auto\" [contentClass]=\"['list', 'padding-v-2']\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\" [allowNull]=\"true\" [ngModel]=\"all()\" (ngModelChange)=\"setAll($event)\">\n {{ (locale | async)?.all }}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n @for (option of visibleOptions; track option) {\n <div class=\"list-item\">\n <teta-checkbox [ngModel]=\"filter.value\" (ngModelChange)=\"setFilter($event)\" [value]=\"option.id\" [binary]=\"false\">\n {{ option.name }}\n </teta-checkbox>\n </div>\n }\n</teta-scrollable>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4741
4741
|
}
|
|
4742
4742
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ListFilterComponent, decorators: [{
|
|
4743
4743
|
type: Component,
|
|
@@ -4787,7 +4787,7 @@ class NumericFilterComponent extends FilterComponentBase {
|
|
|
4787
4787
|
return filter;
|
|
4788
4788
|
}
|
|
4789
4789
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NumericFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4790
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: NumericFilterComponent, isStandalone: true, selector: "teta-numeric-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <input\n class=\"input\"\n type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan = $event\"\n />\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input\n class=\"input\"\n type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan = $event\"\n />\n </teta-input>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
4790
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: NumericFilterComponent, isStandalone: true, selector: "teta-numeric-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"form-row padding-3\">\n <teta-input [label]=\"loc.from\">\n <input\n class=\"input\"\n type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan = $event\"\n />\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input\n class=\"input\"\n type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan = $event\"\n />\n </teta-input>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4791
4791
|
}
|
|
4792
4792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NumericFilterComponent, decorators: [{
|
|
4793
4793
|
type: Component,
|
|
@@ -4839,7 +4839,7 @@ class StringFilterComponent extends FilterComponentBase {
|
|
|
4839
4839
|
return filter;
|
|
4840
4840
|
}
|
|
4841
4841
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StringFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4842
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: StringFilterComponent, isStandalone: true, selector: "teta-string-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-3\">\n <teta-input [label]=\"(locale | async)?.search\">\n <input type=\"text\" class=\"input\" [(ngModel)]=\"filter.value\" (blur)=\"setFilter()\" (keydown.enter)=\"setFilter()\" />\n </teta-input>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
4842
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: StringFilterComponent, isStandalone: true, selector: "teta-string-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-3\">\n <teta-input [label]=\"(locale | async)?.search\">\n <input type=\"text\" class=\"input\" [(ngModel)]=\"filter.value\" (blur)=\"setFilter()\" (keydown.enter)=\"setFilter()\" />\n </teta-input>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4843
4843
|
}
|
|
4844
4844
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StringFilterComponent, decorators: [{
|
|
4845
4845
|
type: Component,
|
|
@@ -5185,7 +5185,7 @@ class BooleanFilterComponent extends FilterComponentBase {
|
|
|
5185
5185
|
return filter;
|
|
5186
5186
|
}
|
|
5187
5187
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BooleanFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: BooleanFilterComponent, isStandalone: true, selector: "teta-boolean-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"padding-3\">\n <teta-radio [ngModel]=\"filter.value\" (ngModelChange)=\"setFilter()\">\n <teta-radio-button [value]=\"null\">{{ loc?.notSelected }}</teta-radio-button>\n <teta-radio-button [value]=\"true\">{{ loc?.yes }}</teta-radio-button>\n <teta-radio-button [value]=\"false\">{{ loc?.no }}</teta-radio-button>\n </teta-radio>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: RadioComponent, selector: "teta-radio", inputs: ["inline", "checkChangeSelected", "disabled", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
5188
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: BooleanFilterComponent, isStandalone: true, selector: "teta-boolean-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"padding-3\">\n <teta-radio [ngModel]=\"filter.value\" (ngModelChange)=\"setFilter()\">\n <teta-radio-button [value]=\"null\">{{ loc?.notSelected }}</teta-radio-button>\n <teta-radio-button [value]=\"true\">{{ loc?.yes }}</teta-radio-button>\n <teta-radio-button [value]=\"false\">{{ loc?.no }}</teta-radio-button>\n </teta-radio>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: RadioComponent, selector: "teta-radio", inputs: ["inline", "checkChangeSelected", "disabled", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: RadioButtonComponent, selector: "teta-radio-button", inputs: ["checked", "disabled", "value"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5189
5189
|
}
|
|
5190
5190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BooleanFilterComponent, decorators: [{
|
|
5191
5191
|
type: Component,
|
|
@@ -5374,7 +5374,7 @@ class ColorInputComponent {
|
|
|
5374
5374
|
useExisting: forwardRef(() => ColorInputComponent),
|
|
5375
5375
|
multi: true,
|
|
5376
5376
|
},
|
|
5377
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n type=\"color\"\n #input\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n [ngModel]=\"getHexColor(value)\"\n (ngModelChange)=\"value = $event; onChange($event)\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n/>\n", styles: [":host{display:inline-flex;align-items:center}input[type=color]{height:16px;width:16px;padding:0;border:0}input[type=color]::-webkit-color-swatch,input[type=color]::-webkit-color-swatch-wrapper{border:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
5377
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n type=\"color\"\n #input\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n [ngModel]=\"getHexColor(value)\"\n (ngModelChange)=\"value = $event; onChange($event)\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n/>\n", styles: [":host{display:inline-flex;align-items:center}input[type=color]{height:16px;width:16px;padding:0;border:0}input[type=color]::-webkit-color-swatch,input[type=color]::-webkit-color-swatch-wrapper{border:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5378
5378
|
}
|
|
5379
5379
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ColorInputComponent, decorators: [{
|
|
5380
5380
|
type: Component,
|
|
@@ -5728,7 +5728,7 @@ class DialogComponent {
|
|
|
5728
5728
|
});
|
|
5729
5729
|
}
|
|
5730
5730
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DialogComponent, deps: [{ token: CurrentModal }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5731
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DialogComponent, isStandalone: true, selector: "teta-dialog", inputs: { title: "title", text: "text", confirm: "confirm", decline: "decline" }, ngImport: i0, template: "<h3 class=\"padding-2 font-title-2\">\n {{ title | transloco }}\n</h3>\n\n@if (text) {\n <p class=\"padding-2 font-body-3\">\n {{ text | transloco }}\n </p>\n}\n\n<teta-toolbar class=\"justify-content-end\">\n @if (decline) {\n <button teta-button (click)=\"cancel()\" [palette]=\"decline?.palette || 'text'\" [view]=\"'ghost'\">\n @if (decline?.icon) {\n <teta-icon [name]=\"decline.icon\"></teta-icon>\n }\n @if (decline.text) {\n {{ decline.text | transloco }}\n }\n </button>\n }\n\n <button teta-button (click)=\"ok()\" [palette]=\"confirm?.palette || 'primary'\">\n @if (confirm?.icon) {\n <teta-icon [name]=\"confirm.icon\"></teta-icon>\n }\n @if (confirm.text) {\n {{ confirm.text | transloco }}\n }\n </button>\n</teta-toolbar>\n", styles: [":host{display:flex;flex-direction:column;width:300px}\n"], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1$
|
|
5731
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DialogComponent, isStandalone: true, selector: "teta-dialog", inputs: { title: "title", text: "text", confirm: "confirm", decline: "decline" }, ngImport: i0, template: "<h3 class=\"padding-2 font-title-2\">\n {{ title | transloco }}\n</h3>\n\n@if (text) {\n <p class=\"padding-2 font-body-3\">\n {{ text | transloco }}\n </p>\n}\n\n<teta-toolbar class=\"justify-content-end\">\n @if (decline) {\n <button teta-button (click)=\"cancel()\" [palette]=\"decline?.palette || 'text'\" [view]=\"'ghost'\">\n @if (decline?.icon) {\n <teta-icon [name]=\"decline.icon\"></teta-icon>\n }\n @if (decline.text) {\n {{ decline.text | transloco }}\n }\n </button>\n }\n\n <button teta-button (click)=\"ok()\" [palette]=\"confirm?.palette || 'primary'\">\n @if (confirm?.icon) {\n <teta-icon [name]=\"confirm.icon\"></teta-icon>\n }\n @if (confirm.text) {\n {{ confirm.text | transloco }}\n }\n </button>\n</teta-toolbar>\n", styles: [":host{display:flex;flex-direction:column;width:300px}\n"], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1$1.TranslocoPipe, name: "transloco" }] }); }
|
|
5732
5732
|
}
|
|
5733
5733
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DialogComponent, decorators: [{
|
|
5734
5734
|
type: Component,
|
|
@@ -6641,6 +6641,15 @@ class SelectComponent {
|
|
|
6641
6641
|
this.value = this.options && this.options?.find((option) => this.getValue(option) === value);
|
|
6642
6642
|
}
|
|
6643
6643
|
}
|
|
6644
|
+
trackOption(item, index) {
|
|
6645
|
+
if (typeof item === 'object' && item['id'] !== null && item['id'] !== undefined) {
|
|
6646
|
+
return item['id'];
|
|
6647
|
+
}
|
|
6648
|
+
if (typeof item === 'string' || typeof item === 'number') {
|
|
6649
|
+
return item;
|
|
6650
|
+
}
|
|
6651
|
+
return index;
|
|
6652
|
+
}
|
|
6644
6653
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6645
6654
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SelectComponent, isStandalone: true, selector: "teta-select", inputs: { multiple: "multiple", options: "options", invalid: "invalid", align: "align", verticalAlign: "verticalAlign", autoClose: "autoClose", autoCloseIgnore: "autoCloseIgnore", disabled: "disabled", itemSize: "itemSize", virtual: "virtual", icon: "icon", placeholder: "placeholder", appendToBody: "appendToBody", allowNull: "allowNull", viewType: "viewType", notFoundText: "notFoundText", valueRef: "valueRef", textRef: "textRef", searchRef: "searchRef", open: "open" }, host: { properties: { "class.select_multiple": "this.multiple", "class.select_open": "this.open", "class.select": "this.selectClass", "tabindex": "this.tabindex", "class.select_disabled": "this.isDisabled" } }, providers: [
|
|
6646
6655
|
{
|
|
@@ -6648,7 +6657,7 @@ class SelectComponent {
|
|
|
6648
6657
|
useExisting: forwardRef(() => SelectComponent),
|
|
6649
6658
|
multi: true,
|
|
6650
6659
|
},
|
|
6651
|
-
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "@if (locale | async; as loc) {\n <teta-dropdown\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\"\n >\n <div tetaDropdownHead [class]=\"'row row_auto select-head select_' + viewType\" [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n @if (icon) {\n <teta-icon [name]=\"icon\" [palette]=\"'text'\" class=\"margin-right-1\"></teta-icon>\n }\n @if ((value === null || value === undefined || value?.length === 0) && !multiple) {\n <span class=\"placeholder\">\n {{ placeholder || loc.notSelected }}\n </span>\n }\n <ng-container\n *ngTemplateOutlet=\"\n valueDirective ? valueDirective.template : valueDefault;\n context: { $implicit: value, value: value }\n \"\n ></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n </div>\n @if (options?.length) {\n <div tetaDropdownContent class=\"select-body row_auto\" (click)=\"$event.preventDefault()\">\n @if (searchRef) {\n <div #searchInput class=\"select-search padding-h-2 padding-top-2\" (click)=\"$event.stopPropagation()\">\n <teta-text-field\n [ngModel]=\"searchText\"\n [class]=\"'select_' + viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"\n ></teta-text-field>\n </div>\n }\n @if (visibleOptions?.length) {\n @if (!multiple && allowNull) {\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_' + viewType\" (click)=\"clear()\">\n {{ loc.notSelected }}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n }\n @if (virtual) {\n <div class=\"column column_auto padding-v-2\" style=\"height: 50vh\">\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <cdk-virtual-scroll-viewport\n tetaScrollable\n [itemSize]=\"28\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\"\n style=\"flex-grow: 1\"\n >\n <div\n [class]=\"'margin-h-2 list-item list-item_interactive justify-content-between select_' + viewType\"\n style=\"display: flex\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n [tetaHighlight]=\"searchText\"\n [style.height.px]=\"28\"\n (click)=\"clickOption(option, $event)\"\n >\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </div>\n @if (itemSelected(option)) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\" class=\"margin-left-2\"></teta-icon>\n }\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n </div>\n } @else {\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"list\">\n @for (option of visibleOptions; track option) {\n <div\n [class]=\"'list-item list-item_interactive justify-content-between select_' + viewType\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n (click)=\"clickOption(option, $event)\"\n >\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </span>\n @if (itemSelected(option) && multiple) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n }\n </div>\n }\n </div>\n </teta-scrollable>\n }\n } @else {\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n }\n @if (multiple && value?.length) {\n <div class=\"row row_auto select-chip-field flex-wrap\">\n @for (item of value; track item) {\n <div class=\"tag\">\n <p>{{ getText(item) }}</p>\n <teta-icon\n class=\"cursor-pointer\"\n [palette]=\"'text'\"\n [name]=\"'closeCircle'\"\n (click)=\"removeItemClick(item, $event)\"\n ></teta-icon>\n </div>\n }\n </div>\n }\n </div>\n }\n </teta-dropdown>\n <ng-template #notFound>\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{ getText(option) }}\n </ng-template>\n <ng-template #valueDefault let-value>\n @if (multiple) {\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\">\n {{ loc.selected + ' ' + value?.length }}\n </div>\n }\n @if (!multiple) {\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{ getText(value) }}</span>\n }\n </ng-template>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
6660
|
+
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "@if (locale | async; as loc) {\n <teta-dropdown\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\"\n >\n <div tetaDropdownHead [class]=\"'row row_auto select-head select_' + viewType\" [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n @if (icon) {\n <teta-icon [name]=\"icon\" [palette]=\"'text'\" class=\"margin-right-1\"></teta-icon>\n }\n @if ((value === null || value === undefined || value?.length === 0) && !multiple) {\n <span class=\"placeholder\">\n {{ placeholder || loc.notSelected }}\n </span>\n }\n <ng-container\n *ngTemplateOutlet=\"\n valueDirective ? valueDirective.template : valueDefault;\n context: { $implicit: value, value: value }\n \"\n ></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n </div>\n @if (options?.length) {\n <div tetaDropdownContent class=\"select-body row_auto\" (click)=\"$event.preventDefault()\">\n @if (searchRef) {\n <div #searchInput class=\"select-search padding-h-2 padding-top-2\" (click)=\"$event.stopPropagation()\">\n <teta-text-field\n [ngModel]=\"searchText\"\n [class]=\"'select_' + viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"\n ></teta-text-field>\n </div>\n }\n @if (visibleOptions?.length) {\n @if (!multiple && allowNull) {\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_' + viewType\" (click)=\"clear()\">\n {{ loc.notSelected }}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n }\n @if (virtual) {\n <div class=\"column column_auto padding-v-2\" style=\"height: 50vh\">\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <cdk-virtual-scroll-viewport\n tetaScrollable\n [itemSize]=\"28\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\"\n style=\"flex-grow: 1\"\n >\n <div\n [class]=\"'margin-h-2 list-item list-item_interactive justify-content-between select_' + viewType\"\n style=\"display: flex\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n [tetaHighlight]=\"searchText\"\n [style.height.px]=\"28\"\n (click)=\"clickOption(option, $event)\"\n >\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </div>\n @if (itemSelected(option)) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\" class=\"margin-left-2\"></teta-icon>\n }\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n </div>\n } @else {\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"list\">\n @for (option of visibleOptions; track trackOption(option, $index)) {\n <div\n [class]=\"'list-item list-item_interactive justify-content-between select_' + viewType\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n (click)=\"clickOption(option, $event)\"\n >\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </span>\n @if (itemSelected(option) && multiple) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n }\n </div>\n }\n </div>\n </teta-scrollable>\n }\n } @else {\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n }\n @if (multiple && value?.length) {\n <div class=\"row row_auto select-chip-field flex-wrap\">\n @for (item of value; track trackOption(item, $index)) {\n <div class=\"tag\">\n <p>{{ getText(item) }}</p>\n <teta-icon\n class=\"cursor-pointer\"\n [palette]=\"'text'\"\n [name]=\"'closeCircle'\"\n (click)=\"removeItemClick(item, $event)\"\n ></teta-icon>\n </div>\n }\n </div>\n }\n </div>\n }\n </teta-dropdown>\n <ng-template #notFound>\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{ getText(option) }}\n </ng-template>\n <ng-template #valueDefault let-value>\n @if (multiple) {\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\">\n {{ loc.selected + ' ' + value?.length }}\n </div>\n }\n @if (!multiple) {\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{ getText(value) }}</span>\n }\n </ng-template>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: HighlightDirective, selector: "[tetaHighlight]", inputs: ["tetaHighlight"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6652
6661
|
}
|
|
6653
6662
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectComponent, decorators: [{
|
|
6654
6663
|
type: Component,
|
|
@@ -6673,7 +6682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
6673
6682
|
CdkVirtualForOf,
|
|
6674
6683
|
HighlightDirective,
|
|
6675
6684
|
AsyncPipe,
|
|
6676
|
-
], template: "@if (locale | async; as loc) {\n <teta-dropdown\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\"\n >\n <div tetaDropdownHead [class]=\"'row row_auto select-head select_' + viewType\" [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n @if (icon) {\n <teta-icon [name]=\"icon\" [palette]=\"'text'\" class=\"margin-right-1\"></teta-icon>\n }\n @if ((value === null || value === undefined || value?.length === 0) && !multiple) {\n <span class=\"placeholder\">\n {{ placeholder || loc.notSelected }}\n </span>\n }\n <ng-container\n *ngTemplateOutlet=\"\n valueDirective ? valueDirective.template : valueDefault;\n context: { $implicit: value, value: value }\n \"\n ></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n </div>\n @if (options?.length) {\n <div tetaDropdownContent class=\"select-body row_auto\" (click)=\"$event.preventDefault()\">\n @if (searchRef) {\n <div #searchInput class=\"select-search padding-h-2 padding-top-2\" (click)=\"$event.stopPropagation()\">\n <teta-text-field\n [ngModel]=\"searchText\"\n [class]=\"'select_' + viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"\n ></teta-text-field>\n </div>\n }\n @if (visibleOptions?.length) {\n @if (!multiple && allowNull) {\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_' + viewType\" (click)=\"clear()\">\n {{ loc.notSelected }}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n }\n @if (virtual) {\n <div class=\"column column_auto padding-v-2\" style=\"height: 50vh\">\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <cdk-virtual-scroll-viewport\n tetaScrollable\n [itemSize]=\"28\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\"\n style=\"flex-grow: 1\"\n >\n <div\n [class]=\"'margin-h-2 list-item list-item_interactive justify-content-between select_' + viewType\"\n style=\"display: flex\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n [tetaHighlight]=\"searchText\"\n [style.height.px]=\"28\"\n (click)=\"clickOption(option, $event)\"\n >\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </div>\n @if (itemSelected(option)) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\" class=\"margin-left-2\"></teta-icon>\n }\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n </div>\n } @else {\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"list\">\n @for (option of visibleOptions; track option) {\n <div\n [class]=\"'list-item list-item_interactive justify-content-between select_' + viewType\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n (click)=\"clickOption(option, $event)\"\n >\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </span>\n @if (itemSelected(option) && multiple) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n }\n </div>\n }\n </div>\n </teta-scrollable>\n }\n } @else {\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n }\n @if (multiple && value?.length) {\n <div class=\"row row_auto select-chip-field flex-wrap\">\n @for (item of value; track item) {\n <div class=\"tag\">\n <p>{{ getText(item) }}</p>\n <teta-icon\n class=\"cursor-pointer\"\n [palette]=\"'text'\"\n [name]=\"'closeCircle'\"\n (click)=\"removeItemClick(item, $event)\"\n ></teta-icon>\n </div>\n }\n </div>\n }\n </div>\n }\n </teta-dropdown>\n <ng-template #notFound>\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{ getText(option) }}\n </ng-template>\n <ng-template #valueDefault let-value>\n @if (multiple) {\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\">\n {{ loc.selected + ' ' + value?.length }}\n </div>\n }\n @if (!multiple) {\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{ getText(value) }}</span>\n }\n </ng-template>\n}\n" }]
|
|
6685
|
+
], template: "@if (locale | async; as loc) {\n <teta-dropdown\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n [viewType]=\"viewType\"\n class=\"row row_auto\"\n >\n <div tetaDropdownHead [class]=\"'row row_auto select-head select_' + viewType\" [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n @if (icon) {\n <teta-icon [name]=\"icon\" [palette]=\"'text'\" class=\"margin-right-1\"></teta-icon>\n }\n @if ((value === null || value === undefined || value?.length === 0) && !multiple) {\n <span class=\"placeholder\">\n {{ placeholder || loc.notSelected }}\n </span>\n }\n <ng-container\n *ngTemplateOutlet=\"\n valueDirective ? valueDirective.template : valueDefault;\n context: { $implicit: value, value: value }\n \"\n ></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n </div>\n @if (options?.length) {\n <div tetaDropdownContent class=\"select-body row_auto\" (click)=\"$event.preventDefault()\">\n @if (searchRef) {\n <div #searchInput class=\"select-search padding-h-2 padding-top-2\" (click)=\"$event.stopPropagation()\">\n <teta-text-field\n [ngModel]=\"searchText\"\n [class]=\"'select_' + viewType\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"loc.search\"\n [leftIconName]=\"'search'\"\n ></teta-text-field>\n </div>\n }\n @if (visibleOptions?.length) {\n @if (!multiple && allowNull) {\n <div [class]=\"'margin-h-2 list-item list-item_interactive select_' + viewType\" (click)=\"clear()\">\n {{ loc.notSelected }}\n </div>\n <div class=\"list-divider margin-bottom-0\"></div>\n }\n @if (virtual) {\n <div class=\"column column_auto padding-v-2\" style=\"height: 50vh\">\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <cdk-virtual-scroll-viewport\n tetaScrollable\n [itemSize]=\"28\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\"\n style=\"flex-grow: 1\"\n >\n <div\n [class]=\"'margin-h-2 list-item list-item_interactive justify-content-between select_' + viewType\"\n style=\"display: flex\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n [tetaHighlight]=\"searchText\"\n [style.height.px]=\"28\"\n (click)=\"clickOption(option, $event)\"\n >\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </div>\n @if (itemSelected(option)) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\" class=\"margin-left-2\"></teta-icon>\n }\n </div>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n </div>\n } @else {\n <teta-scrollable class=\"column column_auto\" [contentClass]=\"['column', 'column_auto']\">\n <div class=\"list\">\n @for (option of visibleOptions; track trackOption(option, $index)) {\n <div\n [class]=\"'list-item list-item_interactive justify-content-between select_' + viewType\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.list-item_disabled]=\"option.disabled === true\"\n (click)=\"clickOption(option, $event)\"\n >\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"\n optionDirective ? optionDirective.template : optionDefault;\n context: { $implicit: option, option: option }\n \"\n >\n </ng-container>\n </span>\n @if (itemSelected(option) && multiple) {\n <teta-icon [name]=\"'tick'\" [palette]=\"'text'\"></teta-icon>\n }\n </div>\n }\n </div>\n </teta-scrollable>\n }\n } @else {\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n }\n @if (multiple && value?.length) {\n <div class=\"row row_auto select-chip-field flex-wrap\">\n @for (item of value; track trackOption(item, $index)) {\n <div class=\"tag\">\n <p>{{ getText(item) }}</p>\n <teta-icon\n class=\"cursor-pointer\"\n [palette]=\"'text'\"\n [name]=\"'closeCircle'\"\n (click)=\"removeItemClick(item, $event)\"\n ></teta-icon>\n </div>\n }\n </div>\n }\n </div>\n }\n </teta-dropdown>\n <ng-template #notFound>\n <p class=\"padding-h-3 text-overflow-ellipsis overflow-hidden select-not-found-option\">\n {{ notFoundText || loc.notFound }}\n </p>\n </ng-template>\n <ng-template #optionDefault let-option>\n {{ getText(option) }}\n </ng-template>\n <ng-template #valueDefault let-value>\n @if (multiple) {\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\">\n {{ loc.selected + ' ' + value?.length }}\n </div>\n }\n @if (!multiple) {\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{ getText(value) }}</span>\n }\n </ng-template>\n}\n" }]
|
|
6677
6686
|
}], ctorParameters: () => [], propDecorators: { multiple: [{
|
|
6678
6687
|
type: HostBinding,
|
|
6679
6688
|
args: ['class.select_multiple']
|
|
@@ -6765,7 +6774,7 @@ class DisableControlDirective {
|
|
|
6765
6774
|
}
|
|
6766
6775
|
}
|
|
6767
6776
|
}
|
|
6768
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DisableControlDirective, deps: [{ token:
|
|
6777
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DisableControlDirective, deps: [{ token: i2.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6769
6778
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: DisableControlDirective, isStandalone: true, selector: "[tetaDisableControl]", inputs: { tetaDisableControl: "tetaDisableControl" }, ngImport: i0 }); }
|
|
6770
6779
|
}
|
|
6771
6780
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DisableControlDirective, decorators: [{
|
|
@@ -6774,7 +6783,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
6774
6783
|
selector: '[tetaDisableControl]',
|
|
6775
6784
|
standalone: true,
|
|
6776
6785
|
}]
|
|
6777
|
-
}], ctorParameters: () => [{ type:
|
|
6786
|
+
}], ctorParameters: () => [{ type: i2.NgControl }], propDecorators: { tetaDisableControl: [{
|
|
6778
6787
|
type: Input
|
|
6779
6788
|
}] } });
|
|
6780
6789
|
|
|
@@ -6874,7 +6883,7 @@ class PropertyGridItemComponent {
|
|
|
6874
6883
|
}
|
|
6875
6884
|
}
|
|
6876
6885
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PropertyGridItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6877
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: PropertyGridItemComponent, isStandalone: true, selector: "teta-property-grid-item", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, usesOnChanges: true, ngImport: i0, template: "@if (editable() || !hideNonEditable()) {\n @if (template()) {\n <ng-container\n *ngTemplateOutlet=\"template().template; context: {\n $implicit: formGroup?.get(column().name),\n control:formGroup?.get(column().name),\n column: column()\n }\"\n ></ng-container>\n } @else {\n @if (formGroup?.get(column().name)) {\n <teta-input [label]=\"caption()\"\n [hint]=\"hint()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal() || column().filterType === filterTypeEnum.color\"\n [required]=\"column().required\">\n @switch (column().filterType) {\n @case (filterTypeEnum.list) {\n <teta-select\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column().required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"\n ></teta-select>\n }\n @case (filterTypeEnum.date) {\n <teta-date-picker\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [tetaDisableControl]=\"!editable()\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-date-picker>\n }\n @case (filterTypeEnum.boolean) {\n <teta-toggle\n [tetaDisableControl]=\"!editable()\"\n [formControlName]=\"column().name\"\n [tetaHint]=\"hint()\"\n [align]=\"align.left\"\n >\n {{ column().caption }}\n </teta-toggle>\n }\n @case (filterTypeEnum.color) {\n <teta-color-input\n class=\"border border-text-20 border-radius-4 padding-1\"\n [tetaDisableControl]=\"!editable()\"\n [formControlName]=\"column().name\">\n </teta-color-input>\n }\n @default {\n <teta-text-field\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [decimalPart]=\"column().filterType === filterTypeEnum.number ? decimalPart() : null\"\n [onlyNumber]=\"column().filterType === filterTypeEnum.number\"\n [placeholder]=\"column().caption\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-text-field>\n }\n }\n @if (controlIsInvalid(column().name)) {\n <div ngProjectAs=\"message\" class=\"color-red-50\">\n {{ getError(column()) }}\n </div>\n }\n </teta-input>\n }\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
6886
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: PropertyGridItemComponent, isStandalone: true, selector: "teta-property-grid-item", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, usesOnChanges: true, ngImport: i0, template: "@if (editable() || !hideNonEditable()) {\n @if (template()) {\n <ng-container\n *ngTemplateOutlet=\"template().template; context: {\n $implicit: formGroup?.get(column().name),\n control:formGroup?.get(column().name),\n column: column()\n }\"\n ></ng-container>\n } @else {\n @if (formGroup?.get(column().name)) {\n <teta-input [label]=\"caption()\"\n [hint]=\"hint()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal() || column().filterType === filterTypeEnum.color\"\n [required]=\"column().required\">\n @switch (column().filterType) {\n @case (filterTypeEnum.list) {\n <teta-select\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column().required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"\n ></teta-select>\n }\n @case (filterTypeEnum.date) {\n <teta-date-picker\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [tetaDisableControl]=\"!editable()\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-date-picker>\n }\n @case (filterTypeEnum.boolean) {\n <teta-toggle\n [tetaDisableControl]=\"!editable()\"\n [formControlName]=\"column().name\"\n [tetaHint]=\"hint()\"\n [align]=\"align.left\"\n >\n {{ column().caption }}\n </teta-toggle>\n }\n @case (filterTypeEnum.color) {\n <teta-color-input\n class=\"border border-text-20 border-radius-4 padding-1\"\n [tetaDisableControl]=\"!editable()\"\n [formControlName]=\"column().name\">\n </teta-color-input>\n }\n @default {\n <teta-text-field\n class=\"row_auto\"\n [tetaDisableControl]=\"!editable()\"\n [decimalPart]=\"column().filterType === filterTypeEnum.number ? decimalPart() : null\"\n [onlyNumber]=\"column().filterType === filterTypeEnum.number\"\n [placeholder]=\"column().caption\"\n [invalid]=\"controlIsInvalid(column().name)\"\n [formControlName]=\"column().name\"\n ></teta-text-field>\n }\n }\n @if (controlIsInvalid(column().name)) {\n <div ngProjectAs=\"message\" class=\"color-red-50\">\n {{ getError(column()) }}\n </div>\n }\n </teta-input>\n }\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "viewType", "notFoundText", "valueRef", "textRef", "searchRef", "open"] }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "open", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "component", type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "decimalPart", "invalid"] }, { kind: "directive", type: DisableControlDirective, selector: "[tetaDisableControl]", inputs: ["tetaDisableControl"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "viewType", "overflownOnly"] }, { kind: "component", type: ColorInputComponent, selector: "teta-color-input", inputs: ["disabled"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6878
6887
|
}
|
|
6879
6888
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PropertyGridItemComponent, decorators: [{
|
|
6880
6889
|
type: Component,
|
|
@@ -6986,13 +6995,13 @@ class PropertyGridComponent {
|
|
|
6986
6995
|
getDictValue(value, name) {
|
|
6987
6996
|
return this.dict()[name]?.find((_) => _.id === value);
|
|
6988
6997
|
}
|
|
6989
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PropertyGridComponent, deps: [{ token:
|
|
6990
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns()?.length) {\n @for (column of columns(); track column.name) {\n @if (column.columns?.length < 1 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-item>\n }\n @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-group>\n }\n }\n}\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
6998
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PropertyGridComponent, deps: [{ token: i2.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6999
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: PropertyGridComponent, isStandalone: true, selector: "teta-property-grid", inputs: { hideNonEditable: { classPropertyName: "hideNonEditable", publicName: "hideNonEditable", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, dict: { classPropertyName: "dict", publicName: "dict", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, decimalPart: { classPropertyName: "decimalPart", publicName: "decimalPart", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, queries: [{ propertyName: "itemTemplates", predicate: PropertyGridItemDescriptionDirective, isSignal: true }], ngImport: i0, template: "@if (columns()?.length) {\n @for (column of columns(); track column.name) {\n @if (column.columns?.length < 1 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-item>\n }\n @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-group>\n }\n }\n}\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6991
7000
|
}
|
|
6992
7001
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PropertyGridComponent, decorators: [{
|
|
6993
7002
|
type: Component,
|
|
6994
7003
|
args: [{ selector: 'teta-property-grid', viewProviders: [FormsUtil.formProvider], imports: [PropertyGridItemComponent, FormsModule, ReactiveFormsModule, PropertyGridGroupComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (columns()?.length) {\n @for (column of columns(); track column.name) {\n @if (column.columns?.length < 1 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-item\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [id]=\"column.name\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-item>\n }\n @if (column.columns?.length > 0 && (getEditable(column) || !hideNonEditable())) {\n <teta-property-grid-group\n [id]=\"column.name\"\n [dict]=\"dict()\"\n [column]=\"column\"\n [item]=\"item()\"\n [itemTemplates]=\"itemTemplates()\"\n [decimalPart]=\"decimalPart()\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal()\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable()\"\n ></teta-property-grid-group>\n }\n }\n}\n", styles: [":host{padding:12px 8px}\n"] }]
|
|
6995
|
-
}], ctorParameters: () => [{ type:
|
|
7004
|
+
}], ctorParameters: () => [{ type: i2.ControlContainer, decorators: [{
|
|
6996
7005
|
type: Optional
|
|
6997
7006
|
}] }], propDecorators: { formClass: [{
|
|
6998
7007
|
type: HostBinding,
|
|
@@ -8038,6 +8047,8 @@ class CellComponentBase {
|
|
|
8038
8047
|
constructor() {
|
|
8039
8048
|
this.svc = inject(TableService);
|
|
8040
8049
|
this.cdr = inject(ChangeDetectorRef);
|
|
8050
|
+
this.transloco = inject(TranslocoService, { optional: true });
|
|
8051
|
+
this.hint = inject(HintDirective, { optional: true });
|
|
8041
8052
|
this._formGroup = inject(ControlContainer, {
|
|
8042
8053
|
optional: true,
|
|
8043
8054
|
});
|
|
@@ -8056,6 +8067,9 @@ class CellComponentBase {
|
|
|
8056
8067
|
get control() {
|
|
8057
8068
|
return this.formGroup?.get(this.column?.name);
|
|
8058
8069
|
}
|
|
8070
|
+
get validationHint() {
|
|
8071
|
+
return this.getValidationHint();
|
|
8072
|
+
}
|
|
8059
8073
|
set column(column) {
|
|
8060
8074
|
this._column = column;
|
|
8061
8075
|
this.setupControl();
|
|
@@ -8095,16 +8109,21 @@ class CellComponentBase {
|
|
|
8095
8109
|
this._alive = false;
|
|
8096
8110
|
}
|
|
8097
8111
|
ngOnInit() {
|
|
8112
|
+
this.setupValidationHint();
|
|
8098
8113
|
this.init();
|
|
8099
8114
|
this.formGroup?.controls[this.column.name]?.valueChanges.pipe(takeWhile(() => this._alive)).subscribe((value) => {
|
|
8100
8115
|
this.formGroup.updateValueAndValidity();
|
|
8101
8116
|
this.row.valid = this.formGroup?.valid;
|
|
8102
8117
|
this.row.data[this.column.name] = this.control.value;
|
|
8118
|
+
this.updateValidationHint();
|
|
8103
8119
|
this.svc.changeValue({
|
|
8104
8120
|
column: this.column.name,
|
|
8105
8121
|
row: this.index,
|
|
8106
8122
|
});
|
|
8107
8123
|
});
|
|
8124
|
+
this.control?.statusChanges.pipe(takeWhile(() => this._alive)).subscribe(() => {
|
|
8125
|
+
this.updateValidationHint();
|
|
8126
|
+
});
|
|
8108
8127
|
}
|
|
8109
8128
|
init() {
|
|
8110
8129
|
this.svc.editRowStart.pipe(takeWhile((_) => this._alive)).subscribe((cell) => {
|
|
@@ -8135,6 +8154,7 @@ class CellComponentBase {
|
|
|
8135
8154
|
}
|
|
8136
8155
|
this.formGroup.updateValueAndValidity();
|
|
8137
8156
|
this.row.valid = this.formGroup.valid;
|
|
8157
|
+
this.updateValidationHint();
|
|
8138
8158
|
this.cdr.detectChanges();
|
|
8139
8159
|
this.cdr.markForCheck();
|
|
8140
8160
|
}
|
|
@@ -8160,6 +8180,7 @@ class CellComponentBase {
|
|
|
8160
8180
|
this.control.disable({ emitEvent: false });
|
|
8161
8181
|
}
|
|
8162
8182
|
}
|
|
8183
|
+
this.updateValidationHint();
|
|
8163
8184
|
}
|
|
8164
8185
|
start(initiator, type) {
|
|
8165
8186
|
this._edit = true;
|
|
@@ -8170,9 +8191,63 @@ class CellComponentBase {
|
|
|
8170
8191
|
this._edit = false;
|
|
8171
8192
|
this.formGroup.updateValueAndValidity();
|
|
8172
8193
|
this.row.valid = this.formGroup?.valid;
|
|
8194
|
+
this.updateValidationHint();
|
|
8173
8195
|
this.stopEdit();
|
|
8174
8196
|
this.cdr.markForCheck();
|
|
8175
8197
|
}
|
|
8198
|
+
setupValidationHint() {
|
|
8199
|
+
if (!this.hint) {
|
|
8200
|
+
return;
|
|
8201
|
+
}
|
|
8202
|
+
this.hint.appendToBody = true;
|
|
8203
|
+
this.hint.align = Align.auto;
|
|
8204
|
+
this.hint.className = 'hint_error';
|
|
8205
|
+
this.updateValidationHint();
|
|
8206
|
+
}
|
|
8207
|
+
updateValidationHint() {
|
|
8208
|
+
if (this.hint) {
|
|
8209
|
+
this.hint.tetaHint = this.getValidationHint();
|
|
8210
|
+
}
|
|
8211
|
+
}
|
|
8212
|
+
getValidationHint() {
|
|
8213
|
+
const control = this.control;
|
|
8214
|
+
if (!control?.invalid || !control.errors) {
|
|
8215
|
+
return null;
|
|
8216
|
+
}
|
|
8217
|
+
if (control.hasError('required')) {
|
|
8218
|
+
return this.translate('errors.field_is_required', 'Field is required');
|
|
8219
|
+
}
|
|
8220
|
+
if (control.hasError('min')) {
|
|
8221
|
+
const value = this.column?.minValue ?? control.getError('min')?.min;
|
|
8222
|
+
return this.translate('errors.min_value', `Minimum value: ${value}`, {
|
|
8223
|
+
value,
|
|
8224
|
+
});
|
|
8225
|
+
}
|
|
8226
|
+
if (control.hasError('max')) {
|
|
8227
|
+
const value = this.column?.maxValue ?? control.getError('max')?.max;
|
|
8228
|
+
return this.translate('errors.max_value', `Maximum value: ${value}`, {
|
|
8229
|
+
value,
|
|
8230
|
+
});
|
|
8231
|
+
}
|
|
8232
|
+
if (control.hasError('maxlength')) {
|
|
8233
|
+
const value = this.column?.maxLength ?? control.getError('maxlength')?.requiredLength;
|
|
8234
|
+
return this.translate('errors.max_length', `Maximum length: ${value}`, {
|
|
8235
|
+
value,
|
|
8236
|
+
});
|
|
8237
|
+
}
|
|
8238
|
+
const error = Object.values(control.errors)[0];
|
|
8239
|
+
if (typeof error === 'string') {
|
|
8240
|
+
return error;
|
|
8241
|
+
}
|
|
8242
|
+
if (error && typeof error === 'object' && 'message' in error) {
|
|
8243
|
+
return `${error.message}`;
|
|
8244
|
+
}
|
|
8245
|
+
return null;
|
|
8246
|
+
}
|
|
8247
|
+
translate(key, fallback, params) {
|
|
8248
|
+
const result = this.transloco?.translate(key, params);
|
|
8249
|
+
return result && result !== key ? result : fallback;
|
|
8250
|
+
}
|
|
8176
8251
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CellComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8177
8252
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: CellComponentBase, isStandalone: false, selector: "ng-component", host: { properties: { "class.cell-component": "this.cellClass", "class.cell-invalid": "this.cellInvalid" } }, ngImport: i0, template: '', isInline: true }); }
|
|
8178
8253
|
}
|
|
@@ -8205,11 +8280,11 @@ class NumericCellComponent extends CellComponentBase {
|
|
|
8205
8280
|
this.cdr.markForCheck();
|
|
8206
8281
|
}
|
|
8207
8282
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NumericCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8208
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: NumericCellComponent, isStandalone: true, selector: "teta-numeric-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | tetaNumber: column.decimalLength ?? 2 }}\n</span>\n@if (edit) {\n <input\n #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
8283
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: NumericCellComponent, isStandalone: true, selector: "teta-numeric-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: HintDirective }], ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | tetaNumber: column.decimalLength ?? 2 }}\n</span>\n@if (edit) {\n <input\n #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator", "onlyPositive"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8209
8284
|
}
|
|
8210
8285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NumericCellComponent, decorators: [{
|
|
8211
8286
|
type: Component,
|
|
8212
|
-
args: [{ selector: 'teta-numeric-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], imports: [FormsModule, OnlyNumberDirective, ReactiveFormsModule, NumberPipe], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | tetaNumber: column.decimalLength ?? 2 }}\n</span>\n@if (edit) {\n <input\n #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n" }]
|
|
8287
|
+
args: [{ selector: 'teta-numeric-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], hostDirectives: [HintDirective], imports: [FormsModule, OnlyNumberDirective, ReactiveFormsModule, NumberPipe], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | tetaNumber: column.decimalLength ?? 2 }}\n</span>\n@if (edit) {\n <input\n #input\n [tetaOnlyNumber]=\"true\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n" }]
|
|
8213
8288
|
}], propDecorators: { input: [{
|
|
8214
8289
|
type: ViewChild,
|
|
8215
8290
|
args: ['input', { static: false }]
|
|
@@ -8237,11 +8312,11 @@ class DateCellComponent extends CellComponentBase {
|
|
|
8237
8312
|
this.cdr.markForCheck();
|
|
8238
8313
|
}
|
|
8239
8314
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8240
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateCellComponent, isStandalone: true, selector: "teta-date-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "open", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
8315
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateCellComponent, isStandalone: true, selector: "teta-date-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: HintDirective }], ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "open", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: DatePipe, name: "date" }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8241
8316
|
}
|
|
8242
8317
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateCellComponent, decorators: [{
|
|
8243
8318
|
type: Component,
|
|
8244
|
-
args: [{ selector: 'teta-date-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], imports: [DatePickerComponent, FormsModule, ReactiveFormsModule, DatePipe], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n" }]
|
|
8319
|
+
args: [{ selector: 'teta-date-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], hostDirectives: [HintDirective], imports: [DatePickerComponent, FormsModule, ReactiveFormsModule, DatePipe], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n" }]
|
|
8245
8320
|
}], propDecorators: { input: [{
|
|
8246
8321
|
type: ViewChild,
|
|
8247
8322
|
args: ['input', { static: false }]
|
|
@@ -8289,11 +8364,11 @@ class ListCellComponent extends CellComponentBase {
|
|
|
8289
8364
|
return item.name;
|
|
8290
8365
|
}
|
|
8291
8366
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ListCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8292
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ListCellComponent, isStandalone: true, selector: "teta-list-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'flex'\" class=\"cell-text justify-content-between\"\n [class.cell-text_disabled]=\"!editable\">\n <span class=\"row_auto overflow-hidden text-overflow-ellipsis\">{{ getValue(control.value) }}</span>\n @if (editable) {\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n }\n</span>\n@if (edit) {\n <teta-select\n #input\n class=\"row_auto select-table\"\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [searchRef]=\"displayFilterOptions?.length > 20 ? 'name' : ''\"\n [formControl]=\"control\"\n >\n </teta-select>\n}\n", styles: [""], dependencies: [{ kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "viewType", "notFoundText", "valueRef", "textRef", "searchRef", "open"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
8367
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ListCellComponent, isStandalone: true, selector: "teta-list-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: HintDirective }], ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'flex'\" class=\"cell-text justify-content-between\"\n [class.cell-text_disabled]=\"!editable\">\n <span class=\"row_auto overflow-hidden text-overflow-ellipsis\">{{ getValue(control.value) }}</span>\n @if (editable) {\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n }\n</span>\n@if (edit) {\n <teta-select\n #input\n class=\"row_auto select-table\"\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [searchRef]=\"displayFilterOptions?.length > 20 ? 'name' : ''\"\n [formControl]=\"control\"\n >\n </teta-select>\n}\n", styles: [""], dependencies: [{ kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "viewType", "notFoundText", "valueRef", "textRef", "searchRef", "open"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8293
8368
|
}
|
|
8294
8369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ListCellComponent, decorators: [{
|
|
8295
8370
|
type: Component,
|
|
8296
|
-
args: [{ selector: 'teta-list-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], imports: [SelectComponent, FormsModule, ReactiveFormsModule, IconComponent], template: "<span [style.display]=\"edit ? 'none' : 'flex'\" class=\"cell-text justify-content-between\"\n [class.cell-text_disabled]=\"!editable\">\n <span class=\"row_auto overflow-hidden text-overflow-ellipsis\">{{ getValue(control.value) }}</span>\n @if (editable) {\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n }\n</span>\n@if (edit) {\n <teta-select\n #input\n class=\"row_auto select-table\"\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [searchRef]=\"displayFilterOptions?.length > 20 ? 'name' : ''\"\n [formControl]=\"control\"\n >\n </teta-select>\n}\n" }]
|
|
8371
|
+
args: [{ selector: 'teta-list-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], hostDirectives: [HintDirective], imports: [SelectComponent, FormsModule, ReactiveFormsModule, IconComponent], template: "<span [style.display]=\"edit ? 'none' : 'flex'\" class=\"cell-text justify-content-between\"\n [class.cell-text_disabled]=\"!editable\">\n <span class=\"row_auto overflow-hidden text-overflow-ellipsis\">{{ getValue(control.value) }}</span>\n @if (editable) {\n <teta-icon [name]=\"'arrowDownSmall'\" [palette]=\"'text'\"></teta-icon>\n }\n</span>\n@if (edit) {\n <teta-select\n #input\n class=\"row_auto select-table\"\n [open]=\"open()\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [searchRef]=\"displayFilterOptions?.length > 20 ? 'name' : ''\"\n [formControl]=\"control\"\n >\n </teta-select>\n}\n" }]
|
|
8297
8372
|
}], propDecorators: { input: [{
|
|
8298
8373
|
type: ViewChild,
|
|
8299
8374
|
args: ['input', { static: false }]
|
|
@@ -8318,11 +8393,11 @@ class StringCellComponent extends CellComponentBase {
|
|
|
8318
8393
|
this.cdr.detectChanges();
|
|
8319
8394
|
}
|
|
8320
8395
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StringCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8321
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: StringCellComponent, isStandalone: true, selector: "teta-string-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\"\n>\n {{ control.value }}\n</span>\n@if (edit) {\n <input\n #input\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n", styles: [""], dependencies: [{ kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "viewType", "overflownOnly"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
8396
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: StringCellComponent, isStandalone: true, selector: "teta-string-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: HintDirective }], ngImport: i0, template: "<span\n [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"validationHint ? null : row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\"\n>\n {{ control.value }}\n</span>\n@if (edit) {\n <input\n #input\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n", styles: [""], dependencies: [{ kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "viewType", "overflownOnly"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8322
8397
|
}
|
|
8323
8398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StringCellComponent, decorators: [{
|
|
8324
8399
|
type: Component,
|
|
8325
|
-
args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], imports: [HintDirective, FormsModule, ReactiveFormsModule], template: "<span\n [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\"\n>\n {{ control.value }}\n</span>\n@if (edit) {\n <input\n #input\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n" }]
|
|
8400
|
+
args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], hostDirectives: [HintDirective], imports: [HintDirective, FormsModule, ReactiveFormsModule], template: "<span\n [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"validationHint ? null : row[column.name]\"\n [align]=\"align.auto\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\"\n>\n {{ control.value }}\n</span>\n@if (edit) {\n <input\n #input\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (keydown.enter)=\"input.blur()\"\n [formControl]=\"control\"\n />\n}\n" }]
|
|
8326
8401
|
}], propDecorators: { input: [{
|
|
8327
8402
|
type: ViewChild,
|
|
8328
8403
|
args: ['input', { static: false }]
|
|
@@ -8344,11 +8419,11 @@ class BooleanCellComponent extends CellComponentBase {
|
|
|
8344
8419
|
this.cdr.markForCheck();
|
|
8345
8420
|
}
|
|
8346
8421
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BooleanCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8347
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: BooleanCellComponent, isStandalone: true, selector: "teta-boolean-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value }}\n</span>\n@if (edit) {\n <teta-checkbox #input [binary]=\"true\" [formControl]=\"control\"></teta-checkbox>\n}\n", styles: [""], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
8422
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: BooleanCellComponent, isStandalone: true, selector: "teta-boolean-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: HintDirective }], ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value }}\n</span>\n@if (edit) {\n <teta-checkbox #input [binary]=\"true\" [formControl]=\"control\"></teta-checkbox>\n}\n", styles: [""], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8348
8423
|
}
|
|
8349
8424
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BooleanCellComponent, decorators: [{
|
|
8350
8425
|
type: Component,
|
|
8351
|
-
args: [{ selector: 'teta-boolean-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], imports: [CheckboxComponent, FormsModule, ReactiveFormsModule], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value }}\n</span>\n@if (edit) {\n <teta-checkbox #input [binary]=\"true\" [formControl]=\"control\"></teta-checkbox>\n}\n" }]
|
|
8426
|
+
args: [{ selector: 'teta-boolean-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], hostDirectives: [HintDirective], imports: [CheckboxComponent, FormsModule, ReactiveFormsModule], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value }}\n</span>\n@if (edit) {\n <teta-checkbox #input [binary]=\"true\" [formControl]=\"control\"></teta-checkbox>\n}\n" }]
|
|
8352
8427
|
}], propDecorators: { input: [{
|
|
8353
8428
|
type: ViewChild,
|
|
8354
8429
|
args: ['input', { static: false }]
|
|
@@ -8397,11 +8472,11 @@ class ColorCellComponent extends CellComponentBase {
|
|
|
8397
8472
|
super.ngOnInit();
|
|
8398
8473
|
}
|
|
8399
8474
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ColorCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8400
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: ColorCellComponent, isStandalone: true, selector: "teta-color-cell", host: { listeners: { "focus": "focus($event)", "focusin": "focus($event)" }, properties: { "attr.tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input\n type=\"color\"\n #input\n [name]=\"column.name\"\n [disabled]=\"!editable\"\n (blur)=\"setValue()\"\n [ngModel]=\"getHexColor(row.data[column.name])\"\n (ngModelChange)=\"row.data[column.name] = $event\" />\n", styles: [":host{display:flex;align-items:center;justify-content:center}input[type=color]{height:16px;width:16px;padding:0;border:0}input[type=color]::-webkit-color-swatch,input[type=color]::-webkit-color-swatch-wrapper{border:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
8475
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: ColorCellComponent, isStandalone: true, selector: "teta-color-cell", host: { listeners: { "focus": "focus($event)", "focusin": "focus($event)" }, properties: { "attr.tabindex": "this.tabindex" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: HintDirective }], ngImport: i0, template: "<input\n type=\"color\"\n #input\n [name]=\"column.name\"\n [disabled]=\"!editable\"\n (blur)=\"setValue()\"\n [ngModel]=\"getHexColor(row.data[column.name])\"\n (ngModelChange)=\"row.data[column.name] = $event\" />\n", styles: [":host{display:flex;align-items:center;justify-content:center}input[type=color]{height:16px;width:16px;padding:0;border:0}input[type=color]::-webkit-color-swatch,input[type=color]::-webkit-color-swatch-wrapper{border:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8401
8476
|
}
|
|
8402
8477
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ColorCellComponent, decorators: [{
|
|
8403
8478
|
type: Component,
|
|
8404
|
-
args: [{ selector: 'teta-color-cell', imports: [FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\n type=\"color\"\n #input\n [name]=\"column.name\"\n [disabled]=\"!editable\"\n (blur)=\"setValue()\"\n [ngModel]=\"getHexColor(row.data[column.name])\"\n (ngModelChange)=\"row.data[column.name] = $event\" />\n", styles: [":host{display:flex;align-items:center;justify-content:center}input[type=color]{height:16px;width:16px;padding:0;border:0}input[type=color]::-webkit-color-swatch,input[type=color]::-webkit-color-swatch-wrapper{border:0;padding:0}\n"] }]
|
|
8479
|
+
args: [{ selector: 'teta-color-cell', imports: [FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [HintDirective], template: "<input\n type=\"color\"\n #input\n [name]=\"column.name\"\n [disabled]=\"!editable\"\n (blur)=\"setValue()\"\n [ngModel]=\"getHexColor(row.data[column.name])\"\n (ngModelChange)=\"row.data[column.name] = $event\" />\n", styles: [":host{display:flex;align-items:center;justify-content:center}input[type=color]{height:16px;width:16px;padding:0;border:0}input[type=color]::-webkit-color-swatch,input[type=color]::-webkit-color-swatch-wrapper{border:0;padding:0}\n"] }]
|
|
8405
8480
|
}], propDecorators: { input: [{
|
|
8406
8481
|
type: ViewChild,
|
|
8407
8482
|
args: ['input', { static: false }]
|
|
@@ -8525,7 +8600,7 @@ class SelectionCellComponent {
|
|
|
8525
8600
|
}
|
|
8526
8601
|
}
|
|
8527
8602
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectionCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8528
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: SelectionCellComponent, isStandalone: true, selector: "teta-selection-cell", inputs: { row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.cell": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox\n [binary]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"isSelected()\"\n (ngModelChange)=\"selectRow($event)\"\n (click)=\"$event.stopPropagation()\"\n></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
8603
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: SelectionCellComponent, isStandalone: true, selector: "teta-selection-cell", inputs: { row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.cell": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox\n [binary]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"isSelected()\"\n (ngModelChange)=\"selectRow($event)\"\n (click)=\"$event.stopPropagation()\"\n></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8529
8604
|
}
|
|
8530
8605
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectionCellComponent, decorators: [{
|
|
8531
8606
|
type: Component,
|
|
@@ -8713,7 +8788,7 @@ class TableBodyComponent {
|
|
|
8713
8788
|
return this.data?.reduce((accum, current) => (accum != null && accum >= current.data[columnName] ? accum : current.data[columnName]), null);
|
|
8714
8789
|
}
|
|
8715
8790
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TableBodyComponent, deps: [{ token: TableService }, { token: i0.ElementRef }, { token: TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8716
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: TableBodyComponent, isStandalone: true, selector: "teta-table-body", inputs: { virtual: { classPropertyName: "virtual", publicName: "virtual", isSignal: false, isRequired: false, transformFunction: null }, activeRow: { classPropertyName: "activeRow", publicName: "activeRow", isSignal: false, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: false, isRequired: false, transformFunction: null }, additionalComponent: { classPropertyName: "additionalComponent", publicName: "additionalComponent", isSignal: false, isRequired: false, transformFunction: null }, aggregate: { classPropertyName: "aggregate", publicName: "aggregate", isSignal: false, isRequired: false, transformFunction: null }, selectType: { classPropertyName: "selectType", publicName: "selectType", isSignal: false, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: false, isRequired: false, transformFunction: null }, trackRow: { classPropertyName: "trackRow", publicName: "trackRow", isSignal: false, isRequired: false, transformFunction: null }, trackColumns: { classPropertyName: "trackColumns", publicName: "trackColumns", isSignal: false, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollChange: "scrollChange" }, host: { properties: { "class.table-body": "this.tableBodyClass" } }, viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "@if (virtual && data.length > 0) {\n <teta-scrollable class=\"table-body-container\" style=\"padding-bottom: 12px\" [showScrollbars]=\"true\">\n <cdk-virtual-scroll-viewport\n tetaScrollable\n class=\"table-body-container\"\n (scroll)=\"emitScroll($event)\"\n [itemSize]=\"rowHeight()\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data; templateCacheSize: 0; let rowIndex = index; trackBy: trackTableRow\"\n >\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { row: row, rowIndex: rowIndex }\"></ng-container>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable\n class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n direction=\"column\"\n [showScrollbars]=\"true\"\n (scroll)=\"emitScroll($event)\"\n >\n <div class=\"table-body-container\">\n @if (!data?.length) {\n <div class=\"column column_auto\" style=\"position: absolute; top: 0; bottom: 16px; left: 0; right: 0\">\n <ng-content></ng-content>\n </div>\n }\n @for (row of data; track trackTableRow(rowIndex, row); let rowIndex = $index) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { row: row, rowIndex: rowIndex }\"></ng-container>\n }\n @if (aggregate) {\n <ng-container *ngTemplateOutlet=\"aggTemplate\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"emptyRow\"></ng-container>\n </div>\n </teta-scrollable>\n}\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <teta-table-row\n class=\"table-row\"\n ngForm\n [style.height.px]=\"rowHeight()\"\n [row]=\"row\"\n (click)=\"setActiveRow(row.data, $event)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"\n [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\"\n >\n @if (locked.length > 0) {\n <div\n class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row.data === activeRow ? 2 : 1\"\n >\n @if (selectType === selectTypeEnum.checkBox && locked.length) {\n <teta-selection-cell [row]=\"row.data\" style=\"width: 28px\"></teta-selection-cell>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict ? dict[column.name] : []\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <teta-selection-cell [row]=\"row.data\" style=\"width: 28px\"></teta-selection-cell>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict ? dict[column.name] : []\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </teta-table-row>\n</ng-template>\n\n<ng-template #aggTemplate>\n @if (locale | async; as loc) {\n @if (aggregate) {\n <div\n class=\"table-row\"\n [style.height.px]=\"rowHeight()\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\"\n >\n @if (locked.length > 0) {\n <div\n class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n >\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\" style=\"width: 28px\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div\n class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n >\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber: 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\" style=\"width: 28px\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div\n class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n >\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber: 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n }\n</ng-template>\n<ng-template #emptyRow>\n <div\n class=\"empty-table-row\"\n style=\"height: 0.1px\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\"\n ></div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SelectionCellComponent, selector: "teta-selection-cell", inputs: ["row"] }, { kind: "component", type: CellComponent, selector: "teta-cell", inputs: ["column", "filterOptions", "dict", "row"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: TableRowComponent, selector: "teta-table-row", inputs: ["row"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8791
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: TableBodyComponent, isStandalone: true, selector: "teta-table-body", inputs: { virtual: { classPropertyName: "virtual", publicName: "virtual", isSignal: false, isRequired: false, transformFunction: null }, activeRow: { classPropertyName: "activeRow", publicName: "activeRow", isSignal: false, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: false, isRequired: false, transformFunction: null }, additionalComponent: { classPropertyName: "additionalComponent", publicName: "additionalComponent", isSignal: false, isRequired: false, transformFunction: null }, aggregate: { classPropertyName: "aggregate", publicName: "aggregate", isSignal: false, isRequired: false, transformFunction: null }, selectType: { classPropertyName: "selectType", publicName: "selectType", isSignal: false, isRequired: false, transformFunction: null }, rowClass: { classPropertyName: "rowClass", publicName: "rowClass", isSignal: false, isRequired: false, transformFunction: null }, trackRow: { classPropertyName: "trackRow", publicName: "trackRow", isSignal: false, isRequired: false, transformFunction: null }, trackColumns: { classPropertyName: "trackColumns", publicName: "trackColumns", isSignal: false, isRequired: false, transformFunction: null }, rowHeight: { classPropertyName: "rowHeight", publicName: "rowHeight", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollChange: "scrollChange" }, host: { properties: { "class.table-body": "this.tableBodyClass" } }, viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "@if (virtual && data.length > 0) {\n <teta-scrollable class=\"table-body-container\" style=\"padding-bottom: 12px\" [showScrollbars]=\"true\">\n <cdk-virtual-scroll-viewport\n tetaScrollable\n class=\"table-body-container\"\n (scroll)=\"emitScroll($event)\"\n [itemSize]=\"rowHeight()\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data; templateCacheSize: 0; let rowIndex = index; trackBy: trackTableRow\"\n >\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { row: row, rowIndex: rowIndex }\"></ng-container>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable\n class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n direction=\"column\"\n [showScrollbars]=\"true\"\n (scroll)=\"emitScroll($event)\"\n >\n <div class=\"table-body-container\">\n @if (!data?.length) {\n <div class=\"column column_auto\" style=\"position: absolute; top: 0; bottom: 16px; left: 0; right: 0\">\n <ng-content></ng-content>\n </div>\n }\n @for (row of data; track trackTableRow(rowIndex, row); let rowIndex = $index) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { row: row, rowIndex: rowIndex }\"></ng-container>\n }\n @if (aggregate) {\n <ng-container *ngTemplateOutlet=\"aggTemplate\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"emptyRow\"></ng-container>\n </div>\n </teta-scrollable>\n}\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <teta-table-row\n class=\"table-row\"\n ngForm\n [style.height.px]=\"rowHeight()\"\n [row]=\"row\"\n (click)=\"setActiveRow(row.data, $event)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"\n [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\"\n >\n @if (locked.length > 0) {\n <div\n class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row.data === activeRow ? 2 : 1\"\n >\n @if (selectType === selectTypeEnum.checkBox && locked.length) {\n <teta-selection-cell [row]=\"row.data\" style=\"width: 28px\"></teta-selection-cell>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict ? dict[column.name] : []\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <teta-selection-cell [row]=\"row.data\" style=\"width: 28px\"></teta-selection-cell>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict ? dict[column.name] : []\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </teta-table-row>\n</ng-template>\n\n<ng-template #aggTemplate>\n @if (locale | async; as loc) {\n @if (aggregate) {\n <div\n class=\"table-row\"\n [style.height.px]=\"rowHeight()\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\"\n >\n @if (locked.length > 0) {\n <div\n class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n >\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\" style=\"width: 28px\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div\n class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n >\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber: 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\" style=\"width: 28px\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div\n class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n >\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\">\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber: 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n }\n</ng-template>\n<ng-template #emptyRow>\n <div\n class=\"empty-table-row\"\n style=\"height: 0.1px\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\"\n ></div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SelectionCellComponent, selector: "teta-selection-cell", inputs: ["row"] }, { kind: "component", type: CellComponent, selector: "teta-cell", inputs: ["column", "filterOptions", "dict", "row"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: TableRowComponent, selector: "teta-table-row", inputs: ["row"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8717
8792
|
}
|
|
8718
8793
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TableBodyComponent, decorators: [{
|
|
8719
8794
|
type: Component,
|
|
@@ -9362,7 +9437,7 @@ class VisibilityDropdownTabComponent {
|
|
|
9362
9437
|
this._alive = false;
|
|
9363
9438
|
}
|
|
9364
9439
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: VisibilityDropdownTabComponent, deps: [{ token: TableService }, { token: TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9365
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: VisibilityDropdownTabComponent, isStandalone: true, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox\n [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\"\n >\n {{ loc.all }}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree\n [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\"\n >\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n @if (item.columns?.length > 0) {\n <teta-tree-item-toggle [item]=\"item\"></teta-tree-item-toggle>\n }\n <teta-checkbox\n style=\"flex-grow: 1\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{ item.caption }}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button\n type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\"\n >\n {{ loc.apply }}\n </button>\n </teta-toolbar>\n}\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
9440
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: VisibilityDropdownTabComponent, isStandalone: true, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "@if (locale | async; as loc) {\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox\n [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\"\n >\n {{ loc.all }}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree\n [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\"\n >\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n @if (item.columns?.length > 0) {\n <teta-tree-item-toggle [item]=\"item\"></teta-tree-item-toggle>\n }\n <teta-checkbox\n style=\"flex-grow: 1\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{ item.caption }}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button\n type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\"\n >\n {{ loc.apply }}\n </button>\n </teta-toolbar>\n}\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: TreeComponent, selector: "teta-tree", inputs: ["data", "padding", "childNodeName", "virtual", "height", "openItems", "compareItems"], outputs: ["openItemsChange", "service"] }, { kind: "directive", type: TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }, { kind: "component", type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }, { kind: "component", type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9366
9441
|
}
|
|
9367
9442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: VisibilityDropdownTabComponent, decorators: [{
|
|
9368
9443
|
type: Component,
|
|
@@ -10153,7 +10228,7 @@ class SelectionHeadCellComponent {
|
|
|
10153
10228
|
this._alive = false;
|
|
10154
10229
|
}
|
|
10155
10230
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectionHeadCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: SelectionHeadCellComponent, isStandalone: true, selector: "teta-selection-head-cell", host: { properties: { "class.table-head__group": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox\n [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"\n></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
10231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: SelectionHeadCellComponent, isStandalone: true, selector: "teta-selection-head-cell", host: { properties: { "class.table-head__group": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox\n [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"\n></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10157
10232
|
}
|
|
10158
10233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectionHeadCellComponent, decorators: [{
|
|
10159
10234
|
type: Component,
|
|
@@ -10706,11 +10781,11 @@ class DateTimeCellComponent extends CellComponentBase {
|
|
|
10706
10781
|
this.cdr.markForCheck();
|
|
10707
10782
|
}
|
|
10708
10783
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateTimeCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10709
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateTimeCellComponent, isStandalone: true, selector: "teta-date-time-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy HH:mm:ss' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "open", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
10784
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateTimeCellComponent, isStandalone: true, selector: "teta-date-time-cell", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: HintDirective }], ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy HH:mm:ss' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["date", "showTime", "minDate", "maxDate", "invalid", "disabled", "align", "verticalAlign", "viewType", "appendToBody", "backdrop", "allowNull", "open", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minYearDate", "maxYearDate"], outputs: ["selectDate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: DatePipe, name: "date" }], viewProviders: [FormsUtil.formProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10710
10785
|
}
|
|
10711
10786
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateTimeCellComponent, decorators: [{
|
|
10712
10787
|
type: Component,
|
|
10713
|
-
args: [{ selector: 'teta-date-time-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], imports: [DatePickerComponent, FormsModule, ReactiveFormsModule, DatePipe], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy HH:mm:ss' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n" }]
|
|
10788
|
+
args: [{ selector: 'teta-date-time-cell', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [FormsUtil.formProvider], hostDirectives: [HintDirective], imports: [DatePickerComponent, FormsModule, ReactiveFormsModule, DatePipe], template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\" [class.cell-text_disabled]=\"!editable\">\n {{ control?.value | date: 'dd.MM.yyyy HH:mm:ss' }}\n</span>\n@if (edit) {\n <teta-date-picker\n class=\"datepicker-table\"\n #input\n [open]=\"open()\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [formControl]=\"control\"\n ></teta-date-picker>\n}\n" }]
|
|
10714
10789
|
}], propDecorators: { input: [{
|
|
10715
10790
|
type: ViewChild,
|
|
10716
10791
|
args: ['input', { static: false }]
|
|
@@ -11967,7 +12042,7 @@ class TetaDatePipe {
|
|
|
11967
12042
|
? date.locale(params.locale).format(format).toString()
|
|
11968
12043
|
: date.locale(params.locale).format(this.dateFormatMap.get(params.locale)).toString();
|
|
11969
12044
|
}
|
|
11970
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TetaDatePipe, deps: [{ token: i1$
|
|
12045
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TetaDatePipe, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11971
12046
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: TetaDatePipe, isStandalone: true, name: "tetaDate" }); }
|
|
11972
12047
|
}
|
|
11973
12048
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TetaDatePipe, decorators: [{
|
|
@@ -11976,7 +12051,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
11976
12051
|
name: 'tetaDate',
|
|
11977
12052
|
standalone: true,
|
|
11978
12053
|
}]
|
|
11979
|
-
}], ctorParameters: () => [{ type: i1$
|
|
12054
|
+
}], ctorParameters: () => [{ type: i1$1.TranslocoService }] });
|
|
11980
12055
|
|
|
11981
12056
|
class OverlayContainerService {
|
|
11982
12057
|
constructor(document$) {
|