@tetacom/ng-components 1.0.33 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/contract/i-id.d.ts +3 -0
- package/common/contract/public-api.d.ts +1 -0
- package/component/chart-3d/chart3d/chart3d.component.d.ts +1 -0
- package/component/chart-3d/model/chart-3d-options.d.ts +1 -0
- package/component/date-picker/date-picker/date-picker.component.d.ts +9 -6
- package/component/date-picker/day-select/day-select.component.d.ts +5 -5
- package/component/date-picker/month-picker/month-picker.component.d.ts +5 -5
- package/component/date-picker/month-select/month-select.component.d.ts +2 -2
- package/component/dropdown/dropdown-base.d.ts +3 -2
- package/component/filter/base/filter-component-base.d.ts +3 -1
- package/component/filter/boolean-filter/boolean-filter.component.d.ts +5 -3
- package/component/filter/date-filter/date-filter.component.d.ts +11 -4
- package/component/filter/filter-host/filter-host.component.d.ts +6 -3
- package/component/filter/filter.module.d.ts +15 -16
- package/component/filter/list-filter/list-filter.component.d.ts +11 -4
- package/component/filter/numeric-filter/numeric-filter.component.d.ts +11 -4
- package/component/filter/public-api.d.ts +0 -1
- package/component/filter/string-filter/string-filter.component.d.ts +11 -4
- package/component/input/text-field/text-field.component.d.ts +2 -2
- package/component/select/select/select.component.d.ts +1 -1
- package/component/table/base/cell-component-base.d.ts +3 -1
- package/component/table/base/head-cell-component-base.d.ts +5 -3
- package/component/table/contract/i-cell-coordinates.d.ts +3 -5
- package/component/table/contract/i-cell-event.d.ts +1 -1
- package/component/table/contract/i-cell-instance.d.ts +12 -0
- package/component/table/contract/i-cell-value.d.ts +1 -2
- package/component/table/contract/public-api.d.ts +1 -1
- package/component/table/contract/table-column.d.ts +3 -3
- package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -1
- package/component/table/default/date-cell/date-cell.component.d.ts +1 -1
- package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -1
- package/component/table/default/default-head-cell/default-head-cell.component.d.ts +7 -3
- package/component/table/default/list-cell/list-cell.component.d.ts +1 -1
- package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -1
- package/component/table/default/string-cell/string-cell.component.d.ts +1 -1
- package/component/table/enum/edit-type.enum.d.ts +3 -2
- package/component/table/head-cell/head-cell.component.d.ts +3 -2
- package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +11 -5
- package/component/table/head-cell-host/head-cell-host.component.d.ts +7 -3
- package/component/table/service/table.service.d.ts +38 -15
- package/component/table/table/table.component.d.ts +21 -32
- package/component/table/table-body/table-body.component.d.ts +12 -9
- package/component/table/table-head/table-head.component.d.ts +4 -4
- package/component/table/table-head-group/table-head-group.component.d.ts +5 -3
- package/component/table/table.module.d.ts +2 -1
- package/component/table/util/state-util.d.ts +3 -0
- package/component/table/util/table-util.d.ts +0 -1
- package/esm2020/common/contract/i-id.mjs +2 -0
- package/esm2020/common/contract/public-api.mjs +2 -1
- package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +64 -57
- package/esm2020/component/chart-3d/model/chart-3d-options.mjs +1 -1
- package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +17 -8
- package/esm2020/component/date-picker/day-select/day-select.component.mjs +10 -8
- package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +10 -8
- package/esm2020/component/date-picker/month-select/month-select.component.mjs +5 -4
- package/esm2020/component/dropdown/dropdown-base.mjs +14 -6
- package/esm2020/component/filter/base/filter-base.mjs +4 -3
- package/esm2020/component/filter/base/filter-component-base.mjs +1 -1
- package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +4 -2
- package/esm2020/component/filter/contarct/filter-item.mjs +4 -3
- package/esm2020/component/filter/contarct/sort-param.mjs +3 -2
- package/esm2020/component/filter/date-filter/date-filter.component.mjs +15 -9
- package/esm2020/component/filter/filter-host/filter-host.component.mjs +12 -2
- package/esm2020/component/filter/filter.module.mjs +3 -8
- package/esm2020/component/filter/list-filter/list-filter.component.mjs +20 -12
- package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +15 -9
- package/esm2020/component/filter/public-api.mjs +1 -2
- package/esm2020/component/filter/string-filter/string-filter.component.mjs +14 -8
- package/esm2020/component/input/input/input.component.mjs +2 -2
- package/esm2020/component/input/text-field/text-field.component.mjs +8 -3
- package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +1 -1
- package/esm2020/component/select/select/select.component.mjs +12 -6
- package/esm2020/component/table/base/cell-component-base.mjs +20 -26
- package/esm2020/component/table/base/head-cell-component-base.mjs +1 -1
- package/esm2020/component/table/contract/i-cell-coordinates.mjs +1 -1
- package/esm2020/component/table/contract/i-cell-event.mjs +1 -1
- package/esm2020/component/table/contract/i-cell-instance.mjs +2 -0
- package/esm2020/component/table/contract/i-cell-value.mjs +1 -1
- package/esm2020/component/table/contract/public-api.mjs +2 -2
- package/esm2020/component/table/contract/table-column.mjs +1 -1
- package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +4 -4
- package/esm2020/component/table/default/date-cell/date-cell.component.mjs +4 -4
- package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +6 -6
- package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +14 -4
- package/esm2020/component/table/default/list-cell/list-cell.component.mjs +4 -4
- package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +13 -9
- package/esm2020/component/table/default/string-cell/string-cell.component.mjs +16 -10
- package/esm2020/component/table/enum/edit-type.enum.mjs +4 -3
- package/esm2020/component/table/head-cell/head-cell.component.mjs +19 -19
- package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +39 -30
- package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +14 -2
- package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +1 -1
- package/esm2020/component/table/service/table.service.mjs +213 -27
- package/esm2020/component/table/table/table.component.mjs +174 -156
- package/esm2020/component/table/table-body/table-body.component.mjs +26 -50
- package/esm2020/component/table/table-head/table-head.component.mjs +14 -35
- package/esm2020/component/table/table-head-group/table-head-group.component.mjs +29 -14
- package/esm2020/component/table/table.module.mjs +6 -2
- package/esm2020/component/table/util/state-util.mjs +20 -1
- package/esm2020/component/table/util/table-util.mjs +10 -14
- package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +2 -2
- package/esm2020/directive/context-menu/context-menu.directive.mjs +7 -5
- package/esm2020/directive/dynamic-content-base.directive.mjs +6 -7
- package/esm2020/locale/en.mjs +57 -0
- package/esm2020/locale/public-api.mjs +5 -0
- package/esm2020/locale/ru.mjs +57 -0
- package/esm2020/locale/teta-config.service.mjs +28 -0
- package/esm2020/locale/teta-localisation.mjs +2 -0
- package/esm2020/public-api.mjs +3 -1
- package/esm2020/util/date-util.mjs +41 -1
- package/esm2020/util/string-util.mjs +5 -1
- package/fesm2015/tetacom-ng-components.mjs +1180 -774
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +1177 -758
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/locale/en.d.ts +2 -0
- package/locale/public-api.d.ts +4 -0
- package/locale/ru.d.ts +2 -0
- package/locale/teta-config.service.d.ts +11 -0
- package/locale/teta-localisation.d.ts +56 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/style/border.scss +1 -1
- package/style/button.scss +9 -5
- package/style/checkbox.scss +10 -2
- package/style/datepicker.scss +9 -7
- package/style/dropdown.scss +12 -2
- package/style/input.scss +6 -5
- package/style/list.scss +1 -1
- package/style/presets/color-presets.scss +62 -62
- package/style/presets/font-presets.scss +62 -45
- package/style/presets/shadow-presets.scss +3 -3
- package/style/select.scss +6 -6
- package/style/switch.scss +1 -1
- package/style/table.scss +43 -45
- package/style/tabs.scss +2 -2
- package/style/toolbar.scss +3 -6
- package/style/tree.scss +2 -2
- package/util/date-util.d.ts +1 -0
- package/util/string-util.d.ts +1 -0
- package/component/date-picker/model/picker-locale-model.d.ts +0 -16
- package/component/date-picker/service/picker-locale.service.d.ts +0 -11
- package/component/filter/filter-panel/filter-panel.component.d.ts +0 -8
- package/component/table/contract/table-context-menu-config.d.ts +0 -14
- package/esm2020/component/date-picker/model/picker-locale-model.mjs +0 -13
- package/esm2020/component/date-picker/service/picker-locale.service.mjs +0 -30
- package/esm2020/component/filter/filter-panel/filter-panel.component.mjs +0 -13
- package/esm2020/component/table/contract/table-context-menu-config.mjs +0 -17
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, ChangeDetectionStrategy, HostBinding, Directive, Optional, Inject, ContentChild, Input, Host, HostListener, Injectable, NgModule, forwardRef, EventEmitter, ElementRef, Output, Pipe, ViewChild, ViewEncapsulation, ChangeDetectorRef, TemplateRef, Injector, ContentChildren } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i3 from '@angular/common';
|
|
4
4
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/common/http';
|
|
6
6
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
7
7
|
import { map, takeWhile, throttleTime, bufferCount, tap, withLatestFrom, filter } from 'rxjs/operators';
|
|
8
|
-
import * as i3 from '@angular/forms';
|
|
8
|
+
import * as i3$1 from '@angular/forms';
|
|
9
9
|
import { NG_VALUE_ACCESSOR, FormsModule, FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
10
|
-
import { BehaviorSubject, Subject, fromEvent, ReplaySubject, combineLatest,
|
|
10
|
+
import { BehaviorSubject, Subject, fromEvent, ReplaySubject, combineLatest, merge } from 'rxjs';
|
|
11
11
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
12
12
|
import * as i4 from '@angular/cdk/scrolling';
|
|
13
13
|
import { ScrollingModule, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
@@ -63,7 +63,7 @@ class AccordionItemComponent {
|
|
|
63
63
|
ngOnInit() { }
|
|
64
64
|
}
|
|
65
65
|
AccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AccordionItemComponent, deps: [{ token: AccordionComponent, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
AccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: AccordionItemComponent, selector: "teta-accordion-item", inputs: { open: "open", disabled: "disabled" }, host: { properties: { "class.accordion-item_active": "this.open", "class.accordion-item": "this.accordionItemClass" } }, queries: [{ propertyName: "content", first: true, predicate: AccordionContentDirective, descendants: true }], ngImport: i0, template: "<ng-content select=\"teta-accordion-head\"></ng-content>\n<div class=\"accordion-content\" *ngIf=\"open\">\n <ng-container *ngTemplateOutlet=\"content.template\"></ng-container>\n</div>\n", styles: [""], directives: [{ type:
|
|
66
|
+
AccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: AccordionItemComponent, selector: "teta-accordion-item", inputs: { open: "open", disabled: "disabled" }, host: { properties: { "class.accordion-item_active": "this.open", "class.accordion-item": "this.accordionItemClass" } }, queries: [{ propertyName: "content", first: true, predicate: AccordionContentDirective, descendants: true }], ngImport: i0, template: "<ng-content select=\"teta-accordion-head\"></ng-content>\n<div class=\"accordion-content\" *ngIf=\"open\">\n <ng-container *ngTemplateOutlet=\"content.template\"></ng-container>\n</div>\n", styles: [""], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AccordionItemComponent, decorators: [{
|
|
68
68
|
type: Component,
|
|
69
69
|
args: [{ selector: 'teta-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"teta-accordion-head\"></ng-content>\n<div class=\"accordion-content\" *ngIf=\"open\">\n <ng-container *ngTemplateOutlet=\"content.template\"></ng-container>\n</div>\n", styles: [""] }]
|
|
@@ -151,7 +151,7 @@ class AccordionHeadComponent {
|
|
|
151
151
|
ngOnInit() { }
|
|
152
152
|
}
|
|
153
153
|
AccordionHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AccordionHeadComponent, deps: [{ token: AccordionItemComponent, host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
-
AccordionHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: AccordionHeadComponent, selector: "teta-accordion-head", inputs: { showToggle: "showToggle" }, host: { listeners: { "click": "toggle()" }, properties: { "class.accordion-head": "this.accordionHeadClass", "class.accordion-head_open": "this.open", "class.accordion-head_disabled": "this.disabled" } }, ngImport: i0, template: "<ng-content></ng-content>\n<div *ngIf=\"showToggle\" class=\"accordion-toggle\">\n <teta-icon [name]=\"open ? 'arrowUpKey' : 'arrowDownKey'\"\n [palette]=\"'text'\"></teta-icon>\n</div>\n\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type:
|
|
154
|
+
AccordionHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: AccordionHeadComponent, selector: "teta-accordion-head", inputs: { showToggle: "showToggle" }, host: { listeners: { "click": "toggle()" }, properties: { "class.accordion-head": "this.accordionHeadClass", "class.accordion-head_open": "this.open", "class.accordion-head_disabled": "this.disabled" } }, ngImport: i0, template: "<ng-content></ng-content>\n<div *ngIf=\"showToggle\" class=\"accordion-toggle\">\n <teta-icon [name]=\"open ? 'arrowUpKey' : 'arrowDownKey'\"\n [palette]=\"'text'\"></teta-icon>\n</div>\n\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
155
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AccordionHeadComponent, decorators: [{
|
|
156
156
|
type: Component,
|
|
157
157
|
args: [{ selector: 'teta-accordion-head', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<div *ngIf=\"showToggle\" class=\"accordion-toggle\">\n <teta-icon [name]=\"open ? 'arrowUpKey' : 'arrowDownKey'\"\n [palette]=\"'text'\"></teta-icon>\n</div>\n\n", styles: [""] }]
|
|
@@ -463,10 +463,10 @@ class CheckboxComponent {
|
|
|
463
463
|
}
|
|
464
464
|
}
|
|
465
465
|
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
466
|
-
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: CheckboxComponent, selector: "teta-checkbox", inputs: { class: "class", palette: "palette", noLabel: "noLabel", disabled: "disabled", value: "value", binary: "binary", allowNull: "allowNull" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class": "this.getClass", "class.checkbox_disabled": "this.disabled" } }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"checkbox__tick\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3
|
|
466
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: CheckboxComponent, selector: "teta-checkbox", inputs: { class: "class", palette: "palette", noLabel: "noLabel", disabled: "disabled", value: "value", binary: "binary", allowNull: "allowNull" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class": "this.getClass", "class.checkbox_disabled": "this.disabled" } }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
467
467
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
468
468
|
type: Component,
|
|
469
|
-
args: [{ selector: 'teta-checkbox', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox__tick\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3
|
|
469
|
+
args: [{ selector: 'teta-checkbox', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""] }]
|
|
470
470
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabindex: [{
|
|
471
471
|
type: HostBinding,
|
|
472
472
|
args: ['attr.tabindex']
|
|
@@ -695,6 +695,46 @@ class DateUtil {
|
|
|
695
695
|
static isValidDate(date) {
|
|
696
696
|
return date instanceof Date && !isNaN(date.getTime());
|
|
697
697
|
}
|
|
698
|
+
static millisecondToHumanFormat(milliSeconds, maxValue = 5000, showDays = false) {
|
|
699
|
+
const negative = milliSeconds < 0;
|
|
700
|
+
if (negative) {
|
|
701
|
+
milliSeconds = -milliSeconds;
|
|
702
|
+
}
|
|
703
|
+
let d;
|
|
704
|
+
if (showDays) {
|
|
705
|
+
d = Math.trunc(milliSeconds / (60000 * 60 * 24));
|
|
706
|
+
milliSeconds = milliSeconds - 60000 * 60 * 24 * d;
|
|
707
|
+
}
|
|
708
|
+
const h = Math.trunc(milliSeconds / (60000 * 60));
|
|
709
|
+
milliSeconds = milliSeconds - 60000 * 60 * h;
|
|
710
|
+
const m = Math.trunc(milliSeconds / 60000);
|
|
711
|
+
milliSeconds = milliSeconds - 60000 * m;
|
|
712
|
+
const s = Math.trunc(milliSeconds / 1000);
|
|
713
|
+
milliSeconds = milliSeconds - 1000 * s;
|
|
714
|
+
const frac = milliSeconds;
|
|
715
|
+
let result = m ? m + ' м ' : ''; // start with minutes
|
|
716
|
+
if (maxValue < 60000 * 60) {
|
|
717
|
+
if (s) {
|
|
718
|
+
result = result + s + ' с '; // add seconds value
|
|
719
|
+
}
|
|
720
|
+
if (s === 0 && !m) {
|
|
721
|
+
result = result + '0 c';
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
if (maxValue < 5000) {
|
|
725
|
+
result = frac ? result + frac + ' мс ' : result;
|
|
726
|
+
}
|
|
727
|
+
if (h) {
|
|
728
|
+
result = h + ' ч ' + result;
|
|
729
|
+
}
|
|
730
|
+
if (d) {
|
|
731
|
+
result = d + 'д ' + result;
|
|
732
|
+
}
|
|
733
|
+
if (negative) {
|
|
734
|
+
result = '-' + result;
|
|
735
|
+
}
|
|
736
|
+
return result.trim();
|
|
737
|
+
}
|
|
698
738
|
static fillConvertDates(result, input) {
|
|
699
739
|
for (const key in input) {
|
|
700
740
|
if (!input.hasOwnProperty || !input.hasOwnProperty(key)) {
|
|
@@ -919,39 +959,81 @@ var VerticalAlign;
|
|
|
919
959
|
VerticalAlign[VerticalAlign["auto"] = 3] = "auto";
|
|
920
960
|
})(VerticalAlign || (VerticalAlign = {}));
|
|
921
961
|
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
962
|
+
const enLocale = {
|
|
963
|
+
apply: 'Apply',
|
|
964
|
+
cancel: 'Cancel',
|
|
965
|
+
clear: 'Clear',
|
|
966
|
+
pin: 'Pin',
|
|
967
|
+
unpin: 'Unpin',
|
|
968
|
+
sortAsc: 'Sort asc',
|
|
969
|
+
sortDesc: 'Sort desc',
|
|
970
|
+
clearSort: 'Clear sort',
|
|
971
|
+
clearAllSort: 'Clear all sort',
|
|
972
|
+
clearFilter: 'Clear filter',
|
|
973
|
+
clearAllFilters: 'Clear all filters',
|
|
974
|
+
autosizeColumn: 'Autosize column',
|
|
975
|
+
autosizeAll: 'Autosize all columns',
|
|
976
|
+
resetColumnsSize: 'Reset columns size',
|
|
977
|
+
from: 'From',
|
|
978
|
+
to: 'To',
|
|
979
|
+
all: 'All',
|
|
980
|
+
min: 'Min',
|
|
981
|
+
max: 'Max',
|
|
982
|
+
sum: 'Sum',
|
|
983
|
+
avg: 'Avg',
|
|
984
|
+
search: 'Search',
|
|
985
|
+
months: [
|
|
986
|
+
'January',
|
|
987
|
+
'February',
|
|
988
|
+
'March',
|
|
989
|
+
'April',
|
|
990
|
+
'May',
|
|
991
|
+
'June',
|
|
992
|
+
'July',
|
|
993
|
+
'August',
|
|
994
|
+
'September',
|
|
995
|
+
'October',
|
|
996
|
+
'November',
|
|
997
|
+
'December'
|
|
998
|
+
],
|
|
999
|
+
days: [
|
|
1000
|
+
'Sunday',
|
|
1001
|
+
'Monday',
|
|
1002
|
+
'Tuesday',
|
|
1003
|
+
'Wednesday',
|
|
1004
|
+
'Thursday',
|
|
1005
|
+
'Friday',
|
|
1006
|
+
'Saturday'
|
|
1007
|
+
],
|
|
1008
|
+
daysShort: [
|
|
1009
|
+
'Su',
|
|
1010
|
+
'Mo',
|
|
1011
|
+
'Tu',
|
|
1012
|
+
'We',
|
|
1013
|
+
'Th',
|
|
1014
|
+
'Fr',
|
|
1015
|
+
'Sa'
|
|
1016
|
+
]
|
|
1017
|
+
};
|
|
934
1018
|
|
|
935
|
-
class
|
|
1019
|
+
class TetaConfigService {
|
|
936
1020
|
constructor() {
|
|
937
|
-
this.
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
|
|
941
|
-
monthNames: ['January', 'February', 'March', 'April', 'May', 'June',
|
|
942
|
-
'July', 'August', 'September', 'October', 'November', 'December'],
|
|
943
|
-
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
944
|
-
today: 'Today'
|
|
945
|
-
});
|
|
946
|
-
this.locale = new BehaviorSubject(this._defaults);
|
|
1021
|
+
this.defaultLocale = enLocale;
|
|
1022
|
+
this.locale$ = new BehaviorSubject(this.defaultLocale);
|
|
1023
|
+
this.locale = this.locale$.asObservable();
|
|
947
1024
|
}
|
|
948
|
-
setLocale(
|
|
949
|
-
|
|
1025
|
+
setLocale(newLocale) {
|
|
1026
|
+
if (newLocale) {
|
|
1027
|
+
this.locale$.next(newLocale);
|
|
1028
|
+
}
|
|
1029
|
+
else {
|
|
1030
|
+
this.locale$.next(this.defaultLocale);
|
|
1031
|
+
}
|
|
950
1032
|
}
|
|
951
1033
|
}
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type:
|
|
1034
|
+
TetaConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TetaConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1035
|
+
TetaConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TetaConfigService, providedIn: 'root' });
|
|
1036
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TetaConfigService, decorators: [{
|
|
955
1037
|
type: Injectable,
|
|
956
1038
|
args: [{
|
|
957
1039
|
providedIn: 'root'
|
|
@@ -1109,11 +1191,12 @@ class DropdownBase {
|
|
|
1109
1191
|
this._renderer = _renderer;
|
|
1110
1192
|
this.align = Align.left;
|
|
1111
1193
|
this.verticalAlign = VerticalAlign.bottom;
|
|
1112
|
-
this.
|
|
1194
|
+
this.backdrop = false;
|
|
1113
1195
|
this.openChange = new EventEmitter();
|
|
1114
1196
|
this.autoClose = true;
|
|
1115
1197
|
this.autoCloseIgnore = ['inside'];
|
|
1116
1198
|
this._body = null;
|
|
1199
|
+
this._backdrop = null;
|
|
1117
1200
|
this._open = false;
|
|
1118
1201
|
this._alive = true;
|
|
1119
1202
|
this._zone.onStable
|
|
@@ -1193,6 +1276,9 @@ class DropdownBase {
|
|
|
1193
1276
|
this._renderer.removeChild(this.container, this._body);
|
|
1194
1277
|
this._open = false;
|
|
1195
1278
|
this._body = null;
|
|
1279
|
+
if (this._backdrop) {
|
|
1280
|
+
this._renderer.removeChild(this._document.body, this._backdrop);
|
|
1281
|
+
}
|
|
1196
1282
|
this.openChange.emit(this.open);
|
|
1197
1283
|
}
|
|
1198
1284
|
}
|
|
@@ -1204,9 +1290,13 @@ class DropdownBase {
|
|
|
1204
1290
|
this.openChange.emit(this.open);
|
|
1205
1291
|
const renderer = this._renderer;
|
|
1206
1292
|
const content = this._content.nativeElement;
|
|
1207
|
-
const container = (this._body =
|
|
1208
|
-
this._body || renderer.createElement('div'));
|
|
1293
|
+
const container = (this._body = this._body || renderer.createElement('div'));
|
|
1209
1294
|
renderer.addClass(container, 'dropdown');
|
|
1295
|
+
if (this.backdrop) {
|
|
1296
|
+
this._backdrop = renderer.createElement('div');
|
|
1297
|
+
renderer.addClass(this._backdrop, 'dropdown-backdrop');
|
|
1298
|
+
renderer.appendChild(this._document.body, this._backdrop);
|
|
1299
|
+
}
|
|
1210
1300
|
if (this.className != null) {
|
|
1211
1301
|
if (this.className instanceof Array && this.className.length > 0) {
|
|
1212
1302
|
this.className.forEach((_) => {
|
|
@@ -1251,7 +1341,7 @@ class DropdownBase {
|
|
|
1251
1341
|
}
|
|
1252
1342
|
}
|
|
1253
1343
|
DropdownBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DropdownBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
1254
|
-
DropdownBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: DropdownBase, inputs: { align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", disabled: "disabled",
|
|
1344
|
+
DropdownBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: DropdownBase, inputs: { align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", disabled: "disabled", backdrop: "backdrop", className: "className", open: "open", autoClose: "autoClose", autoCloseIgnore: "autoCloseIgnore" }, outputs: { openChange: "openChange" }, host: { listeners: { "click": "click($event)", "document:click": "documentClick($event)", "window:keyup": "keyUp($event)" } }, queries: [{ propertyName: "_head", first: true, predicate: DropdownHeadDirective, descendants: true, read: ElementRef }, { propertyName: "_content", first: true, predicate: DropdownContentDirective, descendants: true }], ngImport: i0 });
|
|
1255
1345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DropdownBase, decorators: [{
|
|
1256
1346
|
type: Directive
|
|
1257
1347
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { align: [{
|
|
@@ -1262,7 +1352,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
1262
1352
|
type: Input
|
|
1263
1353
|
}], disabled: [{
|
|
1264
1354
|
type: Input
|
|
1265
|
-
}],
|
|
1355
|
+
}], backdrop: [{
|
|
1266
1356
|
type: Input
|
|
1267
1357
|
}], className: [{
|
|
1268
1358
|
type: Input
|
|
@@ -1510,7 +1600,7 @@ class YearSelectComponent {
|
|
|
1510
1600
|
}
|
|
1511
1601
|
}
|
|
1512
1602
|
YearSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: YearSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: PickerTouchService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1513
|
-
YearSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: YearSelectComponent, selector: "teta-year-select", inputs: { currentYear: "currentYear", today: "today", size: "size", minDate: "minDate", maxDate: "maxDate", allowableRange: "allowableRange" }, outputs: { yearSelected: "yearSelected", yearApplied: "yearApplied" }, ngImport: i0, template: "<div class=\"list row_auto margin-top-2\"\n (wheel)=\"scrollYearSelector($event);\">\n <div class=\"list-item list-item_interactive\"\n [class.list-item_active]=\"year === currentYear\"\n [class.list-item_disabled]=\"isYearDisabled(year)\"\n (click)=\"setYear($event, year)\"\n (dblclick)=\"applyYear($event, year)\"\n *ngFor=\"let year of years\">\n {{year}}\n </div>\n</div>\n", styles: [":host{display:flex}\n"], directives: [{ type:
|
|
1603
|
+
YearSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: YearSelectComponent, selector: "teta-year-select", inputs: { currentYear: "currentYear", today: "today", size: "size", minDate: "minDate", maxDate: "maxDate", allowableRange: "allowableRange" }, outputs: { yearSelected: "yearSelected", yearApplied: "yearApplied" }, ngImport: i0, template: "<div class=\"list row_auto margin-top-2\"\n (wheel)=\"scrollYearSelector($event);\">\n <div class=\"list-item list-item_interactive\"\n [class.list-item_active]=\"year === currentYear\"\n [class.list-item_disabled]=\"isYearDisabled(year)\"\n (click)=\"setYear($event, year)\"\n (dblclick)=\"applyYear($event, year)\"\n *ngFor=\"let year of years\">\n {{year}}\n </div>\n</div>\n", styles: [":host{display:flex}\n"], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1514
1604
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: YearSelectComponent, decorators: [{
|
|
1515
1605
|
type: Component,
|
|
1516
1606
|
args: [{ selector: 'teta-year-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"list row_auto margin-top-2\"\n (wheel)=\"scrollYearSelector($event);\">\n <div class=\"list-item list-item_interactive\"\n [class.list-item_active]=\"year === currentYear\"\n [class.list-item_disabled]=\"isYearDisabled(year)\"\n (click)=\"setYear($event, year)\"\n (dblclick)=\"applyYear($event, year)\"\n *ngFor=\"let year of years\">\n {{year}}\n </div>\n</div>\n", styles: [":host{display:flex}\n"] }]
|
|
@@ -1637,7 +1727,8 @@ class MonthSelectComponent {
|
|
|
1637
1727
|
}
|
|
1638
1728
|
return new Date(year, month, 1);
|
|
1639
1729
|
}
|
|
1640
|
-
ngOnInit() {
|
|
1730
|
+
ngOnInit() {
|
|
1731
|
+
}
|
|
1641
1732
|
ngOnDestroy() {
|
|
1642
1733
|
this._alive = false;
|
|
1643
1734
|
}
|
|
@@ -1668,10 +1759,10 @@ class MonthSelectComponent {
|
|
|
1668
1759
|
}
|
|
1669
1760
|
}
|
|
1670
1761
|
MonthSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MonthSelectComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: PickerTouchService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1671
|
-
MonthSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MonthSelectComponent, selector: "teta-month-select", inputs: { locale: "locale", minDate: "minDate", maxDate: "maxDate", size: "size", currentMonth: "currentMonth", currentYear: "currentYear" }, outputs: { monthSelected: "monthSelected", monthApplied: "monthApplied" }, ngImport: i0, template: "<div class=\"list row_auto margin-top-2\"\n (wheel)=\"scrollMonthSelector($event);\">\n <div *ngFor=\"let month of months\"\n class=\"list-item list-item_interactive\"\n [class.list-item_active]=\"month === _currentMonth\"\n [class.list-item_disabled]=\"isMonthDisabled(month)\"\n [class.datepicker__month__item_current]=\"month === today?.getMonth() && currentYear === today?.getFullYear()\"\n (click)=\"setMonth($event, month)\"\n (dblclick)=\"applyMonth($event, month)\">\n <span class=\"color-text-20 margin-right-2\">\n {{month + 1 | tetaPrependZero: 2}}\n </span>\n {{locale.
|
|
1762
|
+
MonthSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MonthSelectComponent, selector: "teta-month-select", inputs: { locale: "locale", minDate: "minDate", maxDate: "maxDate", size: "size", currentMonth: "currentMonth", currentYear: "currentYear" }, outputs: { monthSelected: "monthSelected", monthApplied: "monthApplied" }, ngImport: i0, template: "<div class=\"list row_auto margin-top-2\"\n (wheel)=\"scrollMonthSelector($event);\">\n <div *ngFor=\"let month of months\"\n class=\"list-item list-item_interactive\"\n [class.list-item_active]=\"month === _currentMonth\"\n [class.list-item_disabled]=\"isMonthDisabled(month)\"\n [class.datepicker__month__item_current]=\"month === today?.getMonth() && currentYear === today?.getFullYear()\"\n (click)=\"setMonth($event, month)\"\n (dblclick)=\"applyMonth($event, month)\">\n <span class=\"color-text-20 margin-right-2\">\n {{month + 1 | tetaPrependZero: 2}}\n </span>\n {{locale.months[month]}}\n </div>\n</div>\n", styles: [":host{display:flex}\n"], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "tetaPrependZero": PrependZeroPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1672
1763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MonthSelectComponent, decorators: [{
|
|
1673
1764
|
type: Component,
|
|
1674
|
-
args: [{ selector: 'teta-month-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"list row_auto margin-top-2\"\n (wheel)=\"scrollMonthSelector($event);\">\n <div *ngFor=\"let month of months\"\n class=\"list-item list-item_interactive\"\n [class.list-item_active]=\"month === _currentMonth\"\n [class.list-item_disabled]=\"isMonthDisabled(month)\"\n [class.datepicker__month__item_current]=\"month === today?.getMonth() && currentYear === today?.getFullYear()\"\n (click)=\"setMonth($event, month)\"\n (dblclick)=\"applyMonth($event, month)\">\n <span class=\"color-text-20 margin-right-2\">\n {{month + 1 | tetaPrependZero: 2}}\n </span>\n {{locale.
|
|
1765
|
+
args: [{ selector: 'teta-month-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"list row_auto margin-top-2\"\n (wheel)=\"scrollMonthSelector($event);\">\n <div *ngFor=\"let month of months\"\n class=\"list-item list-item_interactive\"\n [class.list-item_active]=\"month === _currentMonth\"\n [class.list-item_disabled]=\"isMonthDisabled(month)\"\n [class.datepicker__month__item_current]=\"month === today?.getMonth() && currentYear === today?.getFullYear()\"\n (click)=\"setMonth($event, month)\"\n (dblclick)=\"applyMonth($event, month)\">\n <span class=\"color-text-20 margin-right-2\">\n {{month + 1 | tetaPrependZero: 2}}\n </span>\n {{locale.months[month]}}\n </div>\n</div>\n", styles: [":host{display:flex}\n"] }]
|
|
1675
1766
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: PickerTouchService }]; }, propDecorators: { locale: [{
|
|
1676
1767
|
type: Input
|
|
1677
1768
|
}], minDate: [{
|
|
@@ -1750,8 +1841,10 @@ class DaySelectComponent {
|
|
|
1750
1841
|
this.currentValue = model ? model : new Date();
|
|
1751
1842
|
this._cdr.markForCheck();
|
|
1752
1843
|
}
|
|
1753
|
-
onChange(_) {
|
|
1754
|
-
|
|
1844
|
+
onChange(_) {
|
|
1845
|
+
}
|
|
1846
|
+
onTouched() {
|
|
1847
|
+
}
|
|
1755
1848
|
registerOnChange(fn) {
|
|
1756
1849
|
this.onChange = fn;
|
|
1757
1850
|
}
|
|
@@ -1820,12 +1913,12 @@ class DaySelectComponent {
|
|
|
1820
1913
|
return false;
|
|
1821
1914
|
}
|
|
1822
1915
|
}
|
|
1823
|
-
DaySelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DaySelectComponent, deps: [{ token:
|
|
1824
|
-
DaySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DaySelectComponent, selector: "teta-day-select", inputs: { firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", disabled: "disabled" }, outputs: { dateSelected: "dateSelected", monthSelected: "monthSelected", yearSelected: "yearSelected" }, providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.
|
|
1916
|
+
DaySelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DaySelectComponent, deps: [{ token: TetaConfigService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1917
|
+
DaySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DaySelectComponent, selector: "teta-day-select", inputs: { firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", disabled: "disabled" }, outputs: { dateSelected: "dateSelected", monthSelected: "monthSelected", yearSelected: "yearSelected" }, providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.daysShort[day]}}\n </div>\n</div>\n<div class=\"datepicker-picker color-text-90 font-body-3\"\n (wheel)=\"scrollMonth($event)\">\n <div *ngFor=\"let day of days\"\n class=\"datepicker-date\"\n (click)=\"setDate(day, $event);\"\n (dblclick)=\"applyValue(day, $event);\"\n [class.datepicker-date_active]=\"day.selected\"\n [class.datepicker-date_disabled]=\"day.disabled || !day.isCurrentMonth\"\n [class.datepicker-date_weekend]=\"day.weekend\"\n [class.datepicker-date_today]=\"day.today\">\n <ng-container *ngIf=\"day !== null && day !== undefined\">\n {{day.date.getDate()}}\n </ng-container>\n </div>\n</div>\n", styles: [""], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1825
1918
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DaySelectComponent, decorators: [{
|
|
1826
1919
|
type: Component,
|
|
1827
|
-
args: [{ selector: 'teta-day-select', providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.
|
|
1828
|
-
}], ctorParameters: function () { return [{ type:
|
|
1920
|
+
args: [{ selector: 'teta-day-select', providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.daysShort[day]}}\n </div>\n</div>\n<div class=\"datepicker-picker color-text-90 font-body-3\"\n (wheel)=\"scrollMonth($event)\">\n <div *ngFor=\"let day of days\"\n class=\"datepicker-date\"\n (click)=\"setDate(day, $event);\"\n (dblclick)=\"applyValue(day, $event);\"\n [class.datepicker-date_active]=\"day.selected\"\n [class.datepicker-date_disabled]=\"day.disabled || !day.isCurrentMonth\"\n [class.datepicker-date_weekend]=\"day.weekend\"\n [class.datepicker-date_today]=\"day.today\">\n <ng-container *ngIf=\"day !== null && day !== undefined\">\n {{day.date.getDate()}}\n </ng-container>\n </div>\n</div>\n", styles: [""] }]
|
|
1921
|
+
}], ctorParameters: function () { return [{ type: TetaConfigService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { firstDayOfWeek: [{
|
|
1829
1922
|
type: Input
|
|
1830
1923
|
}], disabledDates: [{
|
|
1831
1924
|
type: Input
|
|
@@ -1927,6 +2020,7 @@ class DatePickerComponent {
|
|
|
1927
2020
|
this.firstDayOfWeek = 1;
|
|
1928
2021
|
this.align = Align.left;
|
|
1929
2022
|
this.verticalAlign = VerticalAlign.auto;
|
|
2023
|
+
this.allowNull = true;
|
|
1930
2024
|
this.showTime = false;
|
|
1931
2025
|
this.classDatepicker = true;
|
|
1932
2026
|
this.tabindex = 0;
|
|
@@ -2092,6 +2186,10 @@ class DatePickerComponent {
|
|
|
2092
2186
|
registerOnTouched(fn) {
|
|
2093
2187
|
this.onTouched = fn;
|
|
2094
2188
|
}
|
|
2189
|
+
setDisabledState(isDisabled) {
|
|
2190
|
+
this.disabled = isDisabled;
|
|
2191
|
+
this._cdr.detectChanges();
|
|
2192
|
+
}
|
|
2095
2193
|
ngOnInit() {
|
|
2096
2194
|
}
|
|
2097
2195
|
ngOnDestroy() {
|
|
@@ -2120,12 +2218,12 @@ class DatePickerComponent {
|
|
|
2120
2218
|
return DateUtil.truncateToDay(new Date());
|
|
2121
2219
|
}
|
|
2122
2220
|
}
|
|
2123
|
-
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, deps: [{ token:
|
|
2124
|
-
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DatePickerComponent, selector: "teta-date-picker", inputs: { disabled: "disabled", invalid: "invalid", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", minYearDate: "minYearDate", maxYearDate: "maxYearDate", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", showTime: "showTime", format: "format" }, host: { listeners: { "window:keyup": "keyUp($event)" }, properties: { "class.datepicker-wide": "this.showTime", "class.datepicker_open": "this.open", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon [name]=\"'closeBig'\"
|
|
2221
|
+
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, deps: [{ token: TetaConfigService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2222
|
+
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DatePickerComponent, selector: "teta-date-picker", inputs: { disabled: "disabled", invalid: "invalid", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", minYearDate: "minYearDate", maxYearDate: "maxYearDate", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", allowNull: "allowNull", backdrop: "backdrop", showTime: "showTime", format: "format" }, host: { listeners: { "window:keyup": "keyUp($event)" }, properties: { "class.datepicker-wide": "this.showTime", "class.datepicker_open": "this.open", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto nowrap\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon *ngIf=\"allowNull\"\n [name]=\"'closeBig'\"\n (click)=\"clearPicker($event);\"\n class=\"margin-left-1\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <div class=\"padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[internalValue?.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{internalValue?.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [today]=\"today\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"internalValue?.getMonth()\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [locale]=\"locale\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n <teta-day-select\n *ngIf=\"displayMode === datePickerModeEnum.date\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"applyValue($event)\"\n (dateSelected)=\"setDate($event)\"\n (yearSelected)=\"setYear($event)\"\n (monthSelected)=\"setMonth($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [disabledDays]=\"disabledDays\"\n [disabledDates]=\"disabledDates\"\n [disabledPeriods]=\"disabledPeriods\"></teta-day-select>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"datepicker-time padding-v-1 border-top border-text-10 font-body-3 color-text-90\">\n <teta-time-part-control [max]=\"23\" [ngModel]=\"internalValue?.getHours()\"\n (ngModelChange)=\"setHour($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getMinutes()\"\n (ngModelChange)=\"setMinute($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getSeconds()\"\n (ngModelChange)=\"setSecond($event)\"></teta-time-part-control>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""], components: [{ type: DropdownComponent, selector: "teta-dropdown" }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: YearSelectComponent, selector: "teta-year-select", inputs: ["currentYear", "today", "size", "minDate", "maxDate", "allowableRange"], outputs: ["yearSelected", "yearApplied"] }, { type: MonthSelectComponent, selector: "teta-month-select", inputs: ["locale", "minDate", "maxDate", "size", "currentMonth", "currentYear"], outputs: ["monthSelected", "monthApplied"] }, { type: DaySelectComponent, selector: "teta-day-select", inputs: ["firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "disabled"], outputs: ["dateSelected", "monthSelected", "yearSelected"] }, { type: TimePartControlComponent, selector: "teta-time-part-control", inputs: ["min", "max", "disabled"] }], directives: [{ type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i3.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2125
2223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
2126
2224
|
type: Component,
|
|
2127
|
-
args: [{ selector: 'teta-date-picker', providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon [name]=\"'closeBig'\"
|
|
2128
|
-
}], ctorParameters: function () { return [{ type:
|
|
2225
|
+
args: [{ selector: 'teta-date-picker', providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto nowrap\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon *ngIf=\"allowNull\"\n [name]=\"'closeBig'\"\n (click)=\"clearPicker($event);\"\n class=\"margin-left-1\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <div class=\"padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[internalValue?.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{internalValue?.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [today]=\"today\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"internalValue?.getMonth()\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [locale]=\"locale\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n <teta-day-select\n *ngIf=\"displayMode === datePickerModeEnum.date\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"applyValue($event)\"\n (dateSelected)=\"setDate($event)\"\n (yearSelected)=\"setYear($event)\"\n (monthSelected)=\"setMonth($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [disabledDays]=\"disabledDays\"\n [disabledDates]=\"disabledDates\"\n [disabledPeriods]=\"disabledPeriods\"></teta-day-select>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"datepicker-time padding-v-1 border-top border-text-10 font-body-3 color-text-90\">\n <teta-time-part-control [max]=\"23\" [ngModel]=\"internalValue?.getHours()\"\n (ngModelChange)=\"setHour($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getMinutes()\"\n (ngModelChange)=\"setMinute($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getSeconds()\"\n (ngModelChange)=\"setSecond($event)\"></teta-time-part-control>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""] }]
|
|
2226
|
+
}], ctorParameters: function () { return [{ type: TetaConfigService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { disabled: [{
|
|
2129
2227
|
type: Input
|
|
2130
2228
|
}], invalid: [{
|
|
2131
2229
|
type: Input
|
|
@@ -2151,6 +2249,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
2151
2249
|
type: Input
|
|
2152
2250
|
}], appendToBody: [{
|
|
2153
2251
|
type: Input
|
|
2252
|
+
}], allowNull: [{
|
|
2253
|
+
type: Input
|
|
2254
|
+
}], backdrop: [{
|
|
2255
|
+
type: Input
|
|
2154
2256
|
}], showTime: [{
|
|
2155
2257
|
type: HostBinding,
|
|
2156
2258
|
args: ['class.datepicker-wide']
|
|
@@ -2189,8 +2291,10 @@ class MonthPickerComponent {
|
|
|
2189
2291
|
this.displayMode = DatePickerMode.month;
|
|
2190
2292
|
this._value = null;
|
|
2191
2293
|
this._alive = true;
|
|
2192
|
-
this.onChange = (_) => {
|
|
2193
|
-
|
|
2294
|
+
this.onChange = (_) => {
|
|
2295
|
+
};
|
|
2296
|
+
this.onTouched = () => {
|
|
2297
|
+
};
|
|
2194
2298
|
this.isMinInvalid = (dat) => {
|
|
2195
2299
|
if (!this.minDate || !(this.minDate instanceof Date) || !dat) {
|
|
2196
2300
|
return false;
|
|
@@ -2382,12 +2486,12 @@ class MonthPickerComponent {
|
|
|
2382
2486
|
this.displayMode = result;
|
|
2383
2487
|
}
|
|
2384
2488
|
}
|
|
2385
|
-
MonthPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MonthPickerComponent, deps: [{ token:
|
|
2386
|
-
MonthPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MonthPickerComponent, selector: "teta-month-picker", inputs: { disabled: "disabled", minDate: "minDate", maxDate: "maxDate", showToday: "showToday", appendToBody: "appendToBody" }, host: { properties: { "class.datepicker_open": "this.showPicker", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [MONTH_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [(open)]=\"showPicker\"\n [disabled]=\"disabled\">\n <div tetaDropdownHead\n (wheel)=\"scrollMonth($event)\"\n class=\"datepicker-head font-body-3\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-2\"></teta-icon>\n <div class=\"row_auto\">\n <ng-container *ngIf=\"_value !==null && _value!==undefined\">\n {{locale.
|
|
2489
|
+
MonthPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MonthPickerComponent, deps: [{ token: TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2490
|
+
MonthPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MonthPickerComponent, selector: "teta-month-picker", inputs: { disabled: "disabled", minDate: "minDate", maxDate: "maxDate", showToday: "showToday", appendToBody: "appendToBody" }, host: { properties: { "class.datepicker_open": "this.showPicker", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [MONTH_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [(open)]=\"showPicker\"\n [disabled]=\"disabled\">\n <div tetaDropdownHead\n (wheel)=\"scrollMonth($event)\"\n class=\"datepicker-head font-body-3\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-2\"></teta-icon>\n <div class=\"row_auto\">\n <ng-container *ngIf=\"_value !==null && _value!==undefined\">\n {{locale.months[_value.getMonth()]}} {{_value.getFullYear()}}\n </ng-container>\n </div>\n <teta-icon [name]=\"'closeBig'\" (click)=\"clearPicker()\" class=\"margin-left-2\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[_currentMonth || today.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{_currentYear || today.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"_currentYear\"\n [today]=\"today\"\n [size]=\"8\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"_currentMonth\"\n [locale]=\"locale\"\n [currentYear]=\"_currentYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""], components: [{ type: DropdownComponent, selector: "teta-dropdown" }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: YearSelectComponent, selector: "teta-year-select", inputs: ["currentYear", "today", "size", "minDate", "maxDate", "allowableRange"], outputs: ["yearSelected", "yearApplied"] }, { type: MonthSelectComponent, selector: "teta-month-select", inputs: ["locale", "minDate", "maxDate", "size", "currentMonth", "currentYear"], outputs: ["monthSelected", "monthApplied"] }], directives: [{ type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DropdownContentDirective, selector: "[tetaDropdownContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2387
2491
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MonthPickerComponent, decorators: [{
|
|
2388
2492
|
type: Component,
|
|
2389
|
-
args: [{ selector: 'teta-month-picker', providers: [MONTH_PICKER_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [(open)]=\"showPicker\"\n [disabled]=\"disabled\">\n <div tetaDropdownHead\n (wheel)=\"scrollMonth($event)\"\n class=\"datepicker-head font-body-3\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-2\"></teta-icon>\n <div class=\"row_auto\">\n <ng-container *ngIf=\"_value !==null && _value!==undefined\">\n {{locale.
|
|
2390
|
-
}], ctorParameters: function () { return [{ type:
|
|
2493
|
+
args: [{ selector: 'teta-month-picker', providers: [MONTH_PICKER_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [(open)]=\"showPicker\"\n [disabled]=\"disabled\">\n <div tetaDropdownHead\n (wheel)=\"scrollMonth($event)\"\n class=\"datepicker-head font-body-3\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-2\"></teta-icon>\n <div class=\"row_auto\">\n <ng-container *ngIf=\"_value !==null && _value!==undefined\">\n {{locale.months[_value.getMonth()]}} {{_value.getFullYear()}}\n </ng-container>\n </div>\n <teta-icon [name]=\"'closeBig'\" (click)=\"clearPicker()\" class=\"margin-left-2\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[_currentMonth || today.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{_currentYear || today.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"_currentYear\"\n [today]=\"today\"\n [size]=\"8\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"_currentMonth\"\n [locale]=\"locale\"\n [currentYear]=\"_currentYear\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""] }]
|
|
2494
|
+
}], ctorParameters: function () { return [{ type: TetaConfigService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
2391
2495
|
type: Input
|
|
2392
2496
|
}], minDate: [{
|
|
2393
2497
|
type: Input
|
|
@@ -2714,14 +2818,14 @@ class OnlyNumberDirective {
|
|
|
2714
2818
|
this._control.control.setValue(valid ? value : this._previousValue ?? 0);
|
|
2715
2819
|
}
|
|
2716
2820
|
}
|
|
2717
|
-
OnlyNumberDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: OnlyNumberDirective, deps: [{ token: i0.ElementRef }, { token: i3.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2821
|
+
OnlyNumberDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: OnlyNumberDirective, deps: [{ token: i0.ElementRef }, { token: i3$1.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2718
2822
|
OnlyNumberDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: { tetaOnlyNumber: "tetaOnlyNumber", allowDecimals: "allowDecimals", allowSign: "allowSign", decimalSeparator: "decimalSeparator", commaSeparator: "commaSeparator" }, host: { listeners: { "change": "onChange($event)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 });
|
|
2719
2823
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: OnlyNumberDirective, decorators: [{
|
|
2720
2824
|
type: Directive,
|
|
2721
2825
|
args: [{
|
|
2722
2826
|
selector: '[tetaOnlyNumber]',
|
|
2723
2827
|
}]
|
|
2724
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i3.NgControl }]; }, propDecorators: { tetaOnlyNumber: [{
|
|
2828
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i3$1.NgControl }]; }, propDecorators: { tetaOnlyNumber: [{
|
|
2725
2829
|
type: Input
|
|
2726
2830
|
}], allowDecimals: [{
|
|
2727
2831
|
type: Input
|
|
@@ -3115,7 +3219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
3115
3219
|
|
|
3116
3220
|
class ToolbarComponent {
|
|
3117
3221
|
get getClass() {
|
|
3118
|
-
const result = [this.class, 'toolbar'
|
|
3222
|
+
const result = [this.class, 'toolbar'];
|
|
3119
3223
|
if (this.palette) {
|
|
3120
3224
|
result.push(`toolbar-${this.palette}`);
|
|
3121
3225
|
}
|
|
@@ -3172,7 +3276,7 @@ class ExpandPanelComponent {
|
|
|
3172
3276
|
}
|
|
3173
3277
|
}
|
|
3174
3278
|
ExpandPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ExpandPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3175
|
-
ExpandPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ExpandPanelComponent, selector: "teta-expand-panel", inputs: { placeholder: "placeholder", open: "open", cookieName: "cookieName", direction: "direction" }, outputs: { openChange: "openChange" }, queries: [{ propertyName: "content", first: true, predicate: ExpandPanelContentDirective, descendants: true }, { propertyName: "head", first: true, predicate: ExpandPanelHeadDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"open\">\n <teta-toolbar\n style=\"display: flex\"\n [style.justifyContent]=\"direction === 'right' ? 'space-between' : 'unset'\"\n [style.flexDirection]=\"direction === 'right' ? 'row-reverse' : 'row'\">\n <button\n teta-button\n [square]=\"true\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"closePanel()\"\n >\n <teta-icon [name]=\"direction === 'right' ? 'arrowRight' : 'arrowLeft'\"></teta-icon>\n </button>\n <span class=\"font-title-2\" style=\"display: contents\"><ng-container *ngTemplateOutlet=\"head?.template\"></ng-container></span>\n </teta-toolbar>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!open\">\n <div class=\"width-10 overflow-hidden\" style=\"height: 100%;\">\n <button\n teta-button\n style=\"\n transform-origin: 0 0;\n transform: rotate(-90deg) translateX(-100%);\n margin: 8px;\n \"\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"openPanel()\"\n >\n <div class=\"font-button-2 nowrap\">{{ placeholder }}</div>\n <teta-icon [name]=\"direction === 'right' ? 'arrowUp' : 'arrowDown'\"></teta-icon>\n </button>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;height:100%}\n"], components: [{ type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type:
|
|
3279
|
+
ExpandPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ExpandPanelComponent, selector: "teta-expand-panel", inputs: { placeholder: "placeholder", open: "open", cookieName: "cookieName", direction: "direction" }, outputs: { openChange: "openChange" }, queries: [{ propertyName: "content", first: true, predicate: ExpandPanelContentDirective, descendants: true }, { propertyName: "head", first: true, predicate: ExpandPanelHeadDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"open\">\n <teta-toolbar\n style=\"display: flex\"\n [style.justifyContent]=\"direction === 'right' ? 'space-between' : 'unset'\"\n [style.flexDirection]=\"direction === 'right' ? 'row-reverse' : 'row'\">\n <button\n teta-button\n [square]=\"true\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"closePanel()\"\n >\n <teta-icon [name]=\"direction === 'right' ? 'arrowRight' : 'arrowLeft'\"></teta-icon>\n </button>\n <span class=\"font-title-2\" style=\"display: contents\"><ng-container *ngTemplateOutlet=\"head?.template\"></ng-container></span>\n </teta-toolbar>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!open\">\n <div class=\"width-10 overflow-hidden\" style=\"height: 100%;\">\n <button\n teta-button\n style=\"\n transform-origin: 0 0;\n transform: rotate(-90deg) translateX(-100%);\n margin: 8px;\n \"\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"openPanel()\"\n >\n <div class=\"font-button-2 nowrap\">{{ placeholder }}</div>\n <teta-icon [name]=\"direction === 'right' ? 'arrowUp' : 'arrowDown'\"></teta-icon>\n </button>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;height:100%}\n"], components: [{ type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3176
3280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ExpandPanelComponent, decorators: [{
|
|
3177
3281
|
type: Component,
|
|
3178
3282
|
args: [{ selector: 'teta-expand-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"open\">\n <teta-toolbar\n style=\"display: flex\"\n [style.justifyContent]=\"direction === 'right' ? 'space-between' : 'unset'\"\n [style.flexDirection]=\"direction === 'right' ? 'row-reverse' : 'row'\">\n <button\n teta-button\n [square]=\"true\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"closePanel()\"\n >\n <teta-icon [name]=\"direction === 'right' ? 'arrowRight' : 'arrowLeft'\"></teta-icon>\n </button>\n <span class=\"font-title-2\" style=\"display: contents\"><ng-container *ngTemplateOutlet=\"head?.template\"></ng-container></span>\n </teta-toolbar>\n <ng-container *ngTemplateOutlet=\"content?.template\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!open\">\n <div class=\"width-10 overflow-hidden\" style=\"height: 100%;\">\n <button\n teta-button\n style=\"\n transform-origin: 0 0;\n transform: rotate(-90deg) translateX(-100%);\n margin: 8px;\n \"\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"openPanel()\"\n >\n <div class=\"font-button-2 nowrap\">{{ placeholder }}</div>\n <teta-icon [name]=\"direction === 'right' ? 'arrowUp' : 'arrowDown'\"></teta-icon>\n </button>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;height:100%}\n"] }]
|
|
@@ -3352,22 +3456,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
3352
3456
|
}]
|
|
3353
3457
|
}] });
|
|
3354
3458
|
|
|
3355
|
-
class
|
|
3356
|
-
|
|
3357
|
-
|
|
3459
|
+
class StringUtil {
|
|
3460
|
+
static firstLetterToLower(input) {
|
|
3461
|
+
return input.charAt(0).toLocaleLowerCase() + input.slice(1);
|
|
3462
|
+
}
|
|
3463
|
+
;
|
|
3464
|
+
static firstLetterToUpper(input) {
|
|
3465
|
+
return input.charAt(0).toLocaleUpperCase() + input.slice(1);
|
|
3466
|
+
}
|
|
3467
|
+
;
|
|
3358
3468
|
}
|
|
3359
|
-
FilterPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilterPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3360
|
-
FilterPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: FilterPanelComponent, selector: "teta-filter-panel", ngImport: i0, template: "<p>filter-panel works!</p>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilterPanelComponent, decorators: [{
|
|
3362
|
-
type: Component,
|
|
3363
|
-
args: [{ selector: 'teta-filter-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>filter-panel works!</p>\n", styles: [""] }]
|
|
3364
|
-
}], ctorParameters: function () { return []; } });
|
|
3365
3469
|
|
|
3366
3470
|
class FilterBase {
|
|
3367
3471
|
constructor(options) {
|
|
3368
3472
|
if (options) {
|
|
3369
|
-
this.field = options.field;
|
|
3370
|
-
this.name = options.name;
|
|
3473
|
+
this.field = StringUtil.firstLetterToLower(options.field);
|
|
3474
|
+
this.name = StringUtil.firstLetterToLower(options.name);
|
|
3371
3475
|
}
|
|
3372
3476
|
}
|
|
3373
3477
|
}
|
|
@@ -3405,10 +3509,10 @@ class InputComponent {
|
|
|
3405
3509
|
ngOnInit() { }
|
|
3406
3510
|
}
|
|
3407
3511
|
InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3408
|
-
InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: InputComponent, selector: "teta-input", inputs: { label: "label", horizontal: "horizontal", required: "required" }, host: { properties: { "class.row": "this.horizontal", "class.column": "this.column" } }, ngImport: i0, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n {{label}}\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:
|
|
3512
|
+
InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: InputComponent, selector: "teta-input", inputs: { label: "label", horizontal: "horizontal", required: "required" }, host: { properties: { "class.row": "this.horizontal", "class.column": "this.column" } }, ngImport: i0, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n {{label}}\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3409
3513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: InputComponent, decorators: [{
|
|
3410
3514
|
type: Component,
|
|
3411
|
-
args: [{ selector: 'teta-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n {{label}}\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:
|
|
3515
|
+
args: [{ selector: 'teta-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n {{label}}\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"] }]
|
|
3412
3516
|
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
3413
3517
|
type: Input
|
|
3414
3518
|
}], horizontal: [{
|
|
@@ -3424,11 +3528,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
3424
3528
|
}] } });
|
|
3425
3529
|
|
|
3426
3530
|
class NumericFilterComponent extends FilterComponentBase {
|
|
3427
|
-
constructor(changeDetector) {
|
|
3531
|
+
constructor(changeDetector, _config) {
|
|
3428
3532
|
super();
|
|
3429
3533
|
this.changeDetector = changeDetector;
|
|
3534
|
+
this._config = _config;
|
|
3430
3535
|
this.filterOptions = [];
|
|
3431
3536
|
this.filterChanged = new EventEmitter();
|
|
3537
|
+
this.locale = this._config.locale;
|
|
3432
3538
|
}
|
|
3433
3539
|
set state(val) {
|
|
3434
3540
|
this.state$ = val;
|
|
@@ -3454,12 +3560,14 @@ class NumericFilterComponent extends FilterComponentBase {
|
|
|
3454
3560
|
return filter;
|
|
3455
3561
|
}
|
|
3456
3562
|
}
|
|
3457
|
-
NumericFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3458
|
-
NumericFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: NumericFilterComponent, selector: "teta-numeric-filter", inputs: { column: "column", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-row padding-3\">\n <teta-input [label]=\"
|
|
3563
|
+
NumericFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3564
|
+
NumericFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: NumericFilterComponent, selector: "teta-numeric-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-row padding-3\" *ngIf=\"locale | async as loc\">\n <teta-input [label]=\"loc.from\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"/>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan=$event\"/>\n </teta-input>\n</div>\n", styles: [""], components: [{ type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3459
3565
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericFilterComponent, decorators: [{
|
|
3460
3566
|
type: Component,
|
|
3461
|
-
args: [{ selector: 'teta-numeric-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-row padding-3\">\n <teta-input [label]=\"
|
|
3462
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
3567
|
+
args: [{ selector: 'teta-numeric-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-row padding-3\" *ngIf=\"locale | async as loc\">\n <teta-input [label]=\"loc.from\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.greaterThan\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"/>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <input class=\"input\" type=\"text\"\n style=\"width: 110px\"\n [tetaOnlyNumber]=\"true\"\n [ngModel]=\"filter.value?.lessThan\"\n (ngModelChange)=\"filter.value.lessThan=$event\"/>\n </teta-input>\n</div>\n", styles: [""] }]
|
|
3568
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TetaConfigService }]; }, propDecorators: { column: [{
|
|
3569
|
+
type: Input
|
|
3570
|
+
}], data: [{
|
|
3463
3571
|
type: Input
|
|
3464
3572
|
}], filterOptions: [{
|
|
3465
3573
|
type: Input
|
|
@@ -3500,11 +3608,13 @@ class StringFilter extends FilterBase {
|
|
|
3500
3608
|
}
|
|
3501
3609
|
|
|
3502
3610
|
class StringFilterComponent extends FilterComponentBase {
|
|
3503
|
-
constructor(changeDetector) {
|
|
3611
|
+
constructor(changeDetector, _config) {
|
|
3504
3612
|
super();
|
|
3505
3613
|
this.changeDetector = changeDetector;
|
|
3614
|
+
this._config = _config;
|
|
3506
3615
|
this.filterOptions = [];
|
|
3507
3616
|
this.filterChanged = new EventEmitter();
|
|
3617
|
+
this.locale = this._config.locale;
|
|
3508
3618
|
}
|
|
3509
3619
|
set state(val) {
|
|
3510
3620
|
this.state$ = val;
|
|
@@ -3533,12 +3643,14 @@ class StringFilterComponent extends FilterComponentBase {
|
|
|
3533
3643
|
return filter;
|
|
3534
3644
|
}
|
|
3535
3645
|
}
|
|
3536
|
-
StringFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3537
|
-
StringFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: StringFilterComponent, selector: "teta-string-filter", inputs: { column: "column", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-3\">\n <teta-input [label]=\"
|
|
3646
|
+
StringFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3647
|
+
StringFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: StringFilterComponent, 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\n", styles: [""], components: [{ type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }], directives: [{ type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3538
3648
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringFilterComponent, decorators: [{
|
|
3539
3649
|
type: Component,
|
|
3540
|
-
args: [{ selector: 'teta-string-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"padding-3\">\n <teta-input [label]=\"
|
|
3541
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
3650
|
+
args: [{ selector: 'teta-string-filter', changeDetection: ChangeDetectionStrategy.OnPush, 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\n", styles: [""] }]
|
|
3651
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TetaConfigService }]; }, propDecorators: { column: [{
|
|
3652
|
+
type: Input
|
|
3653
|
+
}], data: [{
|
|
3542
3654
|
type: Input
|
|
3543
3655
|
}], filterOptions: [{
|
|
3544
3656
|
type: Input
|
|
@@ -3570,11 +3682,16 @@ class TextFieldComponent {
|
|
|
3570
3682
|
this.placeholder = '';
|
|
3571
3683
|
this.disabled = false;
|
|
3572
3684
|
this.onlyNumber = false;
|
|
3573
|
-
this.tabindex = 0;
|
|
3574
3685
|
this.textField = true;
|
|
3575
3686
|
this.value = '';
|
|
3576
3687
|
}
|
|
3688
|
+
get tabindex() {
|
|
3689
|
+
return this.disabled ? null : 0;
|
|
3690
|
+
}
|
|
3577
3691
|
onFocus() {
|
|
3692
|
+
if (this.disabled) {
|
|
3693
|
+
return;
|
|
3694
|
+
}
|
|
3578
3695
|
this.input.nativeElement.focus();
|
|
3579
3696
|
}
|
|
3580
3697
|
keyPress(event) {
|
|
@@ -3593,7 +3710,7 @@ class TextFieldComponent {
|
|
|
3593
3710
|
}
|
|
3594
3711
|
setDisabledState(isDisabled) {
|
|
3595
3712
|
this.disabled = isDisabled;
|
|
3596
|
-
this._cdr.
|
|
3713
|
+
this._cdr.markForCheck();
|
|
3597
3714
|
}
|
|
3598
3715
|
writeValue(input) {
|
|
3599
3716
|
this.value = input;
|
|
@@ -3611,7 +3728,7 @@ TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
3611
3728
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
3612
3729
|
multi: true,
|
|
3613
3730
|
},
|
|
3614
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type:
|
|
3731
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3615
3732
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
3616
3733
|
type: Component,
|
|
3617
3734
|
args: [{ selector: 'teta-text-field', providers: [
|
|
@@ -3652,15 +3769,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
3652
3769
|
}] } });
|
|
3653
3770
|
|
|
3654
3771
|
class ListFilterComponent extends FilterComponentBase {
|
|
3655
|
-
constructor(changeDetector) {
|
|
3772
|
+
constructor(changeDetector, _config) {
|
|
3656
3773
|
super();
|
|
3657
3774
|
this.changeDetector = changeDetector;
|
|
3775
|
+
this._config = _config;
|
|
3658
3776
|
this.filterOptions = [];
|
|
3659
3777
|
this.filterChanged = new EventEmitter();
|
|
3660
3778
|
this.search = '';
|
|
3779
|
+
this.locale = this._config.locale;
|
|
3661
3780
|
}
|
|
3662
3781
|
get visibleOptions() {
|
|
3663
|
-
return this.filterOptions?.filter((
|
|
3782
|
+
return this.filterOptions?.filter((option) => {
|
|
3783
|
+
return option.name?.toString().indexOf(this.search) >= 0;
|
|
3784
|
+
});
|
|
3664
3785
|
}
|
|
3665
3786
|
set state(val) {
|
|
3666
3787
|
this.state$ = val;
|
|
@@ -3670,7 +3791,8 @@ class ListFilterComponent extends FilterComponentBase {
|
|
|
3670
3791
|
get state() {
|
|
3671
3792
|
return this.state$;
|
|
3672
3793
|
}
|
|
3673
|
-
ngOnInit() {
|
|
3794
|
+
ngOnInit() {
|
|
3795
|
+
}
|
|
3674
3796
|
all() {
|
|
3675
3797
|
if (!this.filter?.value || this.filter?.value?.length === 0) {
|
|
3676
3798
|
return false;
|
|
@@ -3713,12 +3835,14 @@ class ListFilterComponent extends FilterComponentBase {
|
|
|
3713
3835
|
return filter;
|
|
3714
3836
|
}
|
|
3715
3837
|
}
|
|
3716
|
-
ListFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3717
|
-
ListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ListFilterComponent, selector: "teta-list-filter", inputs: { column: "column", 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<div class=\"list padding-v-2 scrollable\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"all()\"\n (ngModelChange)=\"setAll($event)\">\
|
|
3838
|
+
ListFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3839
|
+
ListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ListFilterComponent, 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<div class=\"list padding-v-2 scrollable\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"all()\"\n (ngModelChange)=\"setAll($event)\">\n {{(locale | async)?.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item\" *ngFor=\"let option of visibleOptions\">\n <teta-checkbox [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [value]=\"option.id\"\n [binary]=\"false\">\n {{option.name}}\n </teta-checkbox>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0;min-width:0}\n"], components: [{ type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }, { type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3718
3840
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListFilterComponent, decorators: [{
|
|
3719
3841
|
type: Component,
|
|
3720
|
-
args: [{ selector: 'teta-list-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"padding-2\">\n <teta-text-field [(ngModel)]=\"search\"></teta-text-field>\n</div>\n<div class=\"list padding-v-2 scrollable\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"all()\"\n (ngModelChange)=\"setAll($event)\">\
|
|
3721
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
3842
|
+
args: [{ selector: 'teta-list-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"padding-2\">\n <teta-text-field [(ngModel)]=\"search\"></teta-text-field>\n</div>\n<div class=\"list padding-v-2 scrollable\">\n <div class=\"list-item\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"all()\"\n (ngModelChange)=\"setAll($event)\">\n {{(locale | async)?.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item\" *ngFor=\"let option of visibleOptions\">\n <teta-checkbox [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [value]=\"option.id\"\n [binary]=\"false\">\n {{option.name}}\n </teta-checkbox>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0;min-width:0}\n"] }]
|
|
3843
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TetaConfigService }]; }, propDecorators: { column: [{
|
|
3844
|
+
type: Input
|
|
3845
|
+
}], data: [{
|
|
3722
3846
|
type: Input
|
|
3723
3847
|
}], filterOptions: [{
|
|
3724
3848
|
type: Input
|
|
@@ -3747,11 +3871,13 @@ class DateFilter extends FilterBase {
|
|
|
3747
3871
|
}
|
|
3748
3872
|
|
|
3749
3873
|
class DateFilterComponent extends FilterComponentBase {
|
|
3750
|
-
constructor(changeDetector) {
|
|
3874
|
+
constructor(changeDetector, _config) {
|
|
3751
3875
|
super();
|
|
3752
3876
|
this.changeDetector = changeDetector;
|
|
3877
|
+
this._config = _config;
|
|
3753
3878
|
this.filterOptions = [];
|
|
3754
3879
|
this.filterChanged = new EventEmitter();
|
|
3880
|
+
this.locale = this._config.locale;
|
|
3755
3881
|
}
|
|
3756
3882
|
set state(val) {
|
|
3757
3883
|
this.state$ = val;
|
|
@@ -3777,12 +3903,14 @@ class DateFilterComponent extends FilterComponentBase {
|
|
|
3777
3903
|
return filter;
|
|
3778
3904
|
}
|
|
3779
3905
|
}
|
|
3780
|
-
DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3781
|
-
DateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateFilterComponent, selector: "teta-date-filter", inputs: { column: "column", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-row padding-3\">\n <teta-input [label]=\"
|
|
3906
|
+
DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3907
|
+
DateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateFilterComponent, selector: "teta-date-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-row padding-3\" *ngIf=\"locale | async as loc\">\n <teta-input [label]=\"loc.from\">\n <teta-date-picker style=\"width: 110px\"\n [ngModel]=\"filter.value?.greaterThan\"\n [appendToBody]=\"true\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"></teta-date-picker>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <teta-date-picker style=\"width: 110px\"\n [ngModel]=\"filter.value?.lessThan\"\n [appendToBody]=\"true\"\n (ngModelChange)=\"filter.value.lessThan=$event\"></teta-date-picker>\n </teta-input>\n</div>\n", styles: [""], components: [{ type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3782
3908
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateFilterComponent, decorators: [{
|
|
3783
3909
|
type: Component,
|
|
3784
|
-
args: [{ selector: 'teta-date-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-row padding-3\">\n <teta-input [label]=\"
|
|
3785
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
3910
|
+
args: [{ selector: 'teta-date-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-row padding-3\" *ngIf=\"locale | async as loc\">\n <teta-input [label]=\"loc.from\">\n <teta-date-picker style=\"width: 110px\"\n [ngModel]=\"filter.value?.greaterThan\"\n [appendToBody]=\"true\"\n (ngModelChange)=\"filter.value.greaterThan=$event\"></teta-date-picker>\n </teta-input>\n <teta-input [label]=\"loc.to\">\n <teta-date-picker style=\"width: 110px\"\n [ngModel]=\"filter.value?.lessThan\"\n [appendToBody]=\"true\"\n (ngModelChange)=\"filter.value.lessThan=$event\"></teta-date-picker>\n </teta-input>\n</div>\n", styles: [""] }]
|
|
3911
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TetaConfigService }]; }, propDecorators: { column: [{
|
|
3912
|
+
type: Input
|
|
3913
|
+
}], data: [{
|
|
3786
3914
|
type: Input
|
|
3787
3915
|
}], filterOptions: [{
|
|
3788
3916
|
type: Input
|
|
@@ -4083,7 +4211,7 @@ class RadioButtonComponent {
|
|
|
4083
4211
|
}
|
|
4084
4212
|
}
|
|
4085
4213
|
RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.ViewContainerRef }, { token: RadioComponent, host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4086
|
-
RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: RadioButtonComponent, selector: "teta-radio-button", inputs: { checked: "checked", disabled: "disabled", value: "value" }, host: { listeners: { "click": "hostClick()" }, properties: { "class.radio-button": "this.radioButton", "class.radio-button-selected": "this.selected", "class.radio-button-checked": "this.checked", "class.radio-button_disabled": "this.disabled" } }, ngImport: i0, template: "<div class=\"radio-button-icon\">\n <div *ngIf=\"checked\" class=\"radio-button-small-icon\"></div>\n</div>\n<ng-content></ng-content>\n", styles: [""], directives: [{ type:
|
|
4214
|
+
RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: RadioButtonComponent, selector: "teta-radio-button", inputs: { checked: "checked", disabled: "disabled", value: "value" }, host: { listeners: { "click": "hostClick()" }, properties: { "class.radio-button": "this.radioButton", "class.radio-button-selected": "this.selected", "class.radio-button-checked": "this.checked", "class.radio-button_disabled": "this.disabled" } }, ngImport: i0, template: "<div class=\"radio-button-icon\">\n <div *ngIf=\"checked\" class=\"radio-button-small-icon\"></div>\n</div>\n<ng-content></ng-content>\n", styles: [""], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
4087
4215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
4088
4216
|
type: Component,
|
|
4089
4217
|
args: [{ selector: 'teta-radio-button', encapsulation: ViewEncapsulation.None, template: "<div class=\"radio-button-icon\">\n <div *ngIf=\"checked\" class=\"radio-button-small-icon\"></div>\n</div>\n<ng-content></ng-content>\n", styles: [""] }]
|
|
@@ -4144,12 +4272,14 @@ class BooleanFilterComponent extends FilterComponentBase {
|
|
|
4144
4272
|
}
|
|
4145
4273
|
}
|
|
4146
4274
|
BooleanFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BooleanFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4147
|
-
BooleanFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BooleanFilterComponent, selector: "teta-boolean-filter", inputs: { column: "column", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-3\">\n <teta-radio [ngModel]=\"filter.value\" (ngModelChange)=\"setFilter()\">\n <teta-radio-button [value]=\"null\">null</teta-radio-button>\n <teta-radio-button [value]=\"true\">true</teta-radio-button>\n <teta-radio-button [value]=\"false\">false</teta-radio-button>\n </teta-radio>\n</div>\n", styles: [""], components: [{ type: RadioComponent, selector: "teta-radio", inputs: ["inline", "checkChangeSelected", "disabled", "value"] }, { type: RadioButtonComponent, selector: "teta-radio-button", inputs: ["checked", "disabled", "value"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4275
|
+
BooleanFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BooleanFilterComponent, selector: "teta-boolean-filter", inputs: { column: "column", data: "data", filterOptions: "filterOptions", state: "state" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div class=\"padding-3\">\n <teta-radio [ngModel]=\"filter.value\" (ngModelChange)=\"setFilter()\">\n <teta-radio-button [value]=\"null\">null</teta-radio-button>\n <teta-radio-button [value]=\"true\">true</teta-radio-button>\n <teta-radio-button [value]=\"false\">false</teta-radio-button>\n </teta-radio>\n</div>\n", styles: [""], components: [{ type: RadioComponent, selector: "teta-radio", inputs: ["inline", "checkChangeSelected", "disabled", "value"] }, { type: RadioButtonComponent, selector: "teta-radio-button", inputs: ["checked", "disabled", "value"] }], directives: [{ type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4148
4276
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BooleanFilterComponent, decorators: [{
|
|
4149
4277
|
type: Component,
|
|
4150
4278
|
args: [{ selector: 'teta-boolean-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"padding-3\">\n <teta-radio [ngModel]=\"filter.value\" (ngModelChange)=\"setFilter()\">\n <teta-radio-button [value]=\"null\">null</teta-radio-button>\n <teta-radio-button [value]=\"true\">true</teta-radio-button>\n <teta-radio-button [value]=\"false\">false</teta-radio-button>\n </teta-radio>\n</div>\n", styles: [""] }]
|
|
4151
4279
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
4152
4280
|
type: Input
|
|
4281
|
+
}], data: [{
|
|
4282
|
+
type: Input
|
|
4153
4283
|
}], filterOptions: [{
|
|
4154
4284
|
type: Input
|
|
4155
4285
|
}], filterChanged: [{
|
|
@@ -4189,6 +4319,13 @@ class FilterHostComponent {
|
|
|
4189
4319
|
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
4190
4320
|
}
|
|
4191
4321
|
}
|
|
4322
|
+
set data(data) {
|
|
4323
|
+
this._data = data;
|
|
4324
|
+
if (this._init) {
|
|
4325
|
+
this._componentRef.instance.data = this._data;
|
|
4326
|
+
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
4327
|
+
}
|
|
4328
|
+
}
|
|
4192
4329
|
set filterOptions(val) {
|
|
4193
4330
|
this._filterOptions = val;
|
|
4194
4331
|
if (this._init) {
|
|
@@ -4204,6 +4341,7 @@ class FilterHostComponent {
|
|
|
4204
4341
|
this.viewContainerRef.createComponent(this._column.filterComponent);
|
|
4205
4342
|
this._componentRef.instance.column = this._column;
|
|
4206
4343
|
this._componentRef.instance.state = this._state;
|
|
4344
|
+
this._componentRef.instance.data = this._data;
|
|
4207
4345
|
this._componentRef.instance.filterOptions = this._filterOptions;
|
|
4208
4346
|
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
4209
4347
|
this._init = true;
|
|
@@ -4218,7 +4356,7 @@ class FilterHostComponent {
|
|
|
4218
4356
|
}
|
|
4219
4357
|
}
|
|
4220
4358
|
FilterHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilterHostComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4221
|
-
FilterHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: FilterHostComponent, selector: "teta-filter-host", inputs: { column: "column", state: "state", filterOptions: "filterOptions" }, outputs: { filterChanged: "filterChanged" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4359
|
+
FilterHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: FilterHostComponent, selector: "teta-filter-host", inputs: { column: "column", state: "state", data: "data", filterOptions: "filterOptions" }, outputs: { filterChanged: "filterChanged" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4222
4360
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilterHostComponent, decorators: [{
|
|
4223
4361
|
type: Component,
|
|
4224
4362
|
args: [{
|
|
@@ -4231,6 +4369,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
4231
4369
|
type: Input
|
|
4232
4370
|
}], state: [{
|
|
4233
4371
|
type: Input
|
|
4372
|
+
}], data: [{
|
|
4373
|
+
type: Input
|
|
4234
4374
|
}], filterOptions: [{
|
|
4235
4375
|
type: Input
|
|
4236
4376
|
}], filterChanged: [{
|
|
@@ -4347,9 +4487,13 @@ class SelectComponent {
|
|
|
4347
4487
|
this.allowNull = true;
|
|
4348
4488
|
this.open = false;
|
|
4349
4489
|
this.selectClass = true;
|
|
4350
|
-
this.
|
|
4351
|
-
|
|
4352
|
-
this.onTouched = () => {
|
|
4490
|
+
this.onChange = () => {
|
|
4491
|
+
};
|
|
4492
|
+
this.onTouched = () => {
|
|
4493
|
+
};
|
|
4494
|
+
}
|
|
4495
|
+
get tabindex() {
|
|
4496
|
+
return this.disabled ? null : 0;
|
|
4353
4497
|
}
|
|
4354
4498
|
get isDisabled() {
|
|
4355
4499
|
return this.disabled;
|
|
@@ -4452,7 +4596,8 @@ class SelectComponent {
|
|
|
4452
4596
|
focus() {
|
|
4453
4597
|
this._elementRef.nativeElement.focus();
|
|
4454
4598
|
}
|
|
4455
|
-
ngOnInit() {
|
|
4599
|
+
ngOnInit() {
|
|
4600
|
+
}
|
|
4456
4601
|
writeValue(value) {
|
|
4457
4602
|
if (this.multiple) {
|
|
4458
4603
|
this.value =
|
|
@@ -4477,7 +4622,8 @@ class SelectComponent {
|
|
|
4477
4622
|
this.disabled = isDisabled;
|
|
4478
4623
|
this._cdr.markForCheck();
|
|
4479
4624
|
}
|
|
4480
|
-
getSelectedValue() {
|
|
4625
|
+
getSelectedValue() {
|
|
4626
|
+
}
|
|
4481
4627
|
}
|
|
4482
4628
|
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4483
4629
|
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SelectComponent, 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", valueRef: "valueRef", textRef: "textRef", searchRef: "searchRef" }, 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: [
|
|
@@ -4486,7 +4632,7 @@ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
4486
4632
|
useExisting: forwardRef(() => SelectComponent),
|
|
4487
4633
|
multi: true,
|
|
4488
4634
|
},
|
|
4489
|
-
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], ngImport: i0, template: "<teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n class=\"row row_auto select-head\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0) && placeholder\">\n {{placeholder}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-list scrollable row_auto\" (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search\">\n <teta-text-field [ngModel]=\"searchText\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"'\u041F\u043E\u0438\u0441\u043A'\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"clear()\"\n [class.list-item_active]=\"value==null\">\n \u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!virtual\">\n <div class=\"list-item list-item_interactive\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'primary'\"></teta-icon>\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n </div>\n </ng-container>\n <cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div class=\"select-list-item select-list-item_interactive\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'primary'\" class=\"margin-left-2\"></teta-icon>\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"chip\">\n <teta-icon [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n {{getText(item)}}\n </div>\n </div>\n </div>\n</teta-dropdown>\n\n<ng-template #optionDefault let-option>\n {{getText(option)}}\n</ng-template>\n<ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n <ng-container\n *ngFor=\"let item of value; let i = index\">{{getText(item) + (value.length === i + 1 ? '' : ', ') }}</ng-container>\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n</ng-template>\n", styles: [""], components: [{ type: DropdownComponent, selector: "teta-dropdown" }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }, { type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }], directives: [{ type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type:
|
|
4635
|
+
], queries: [{ propertyName: "optionDirective", first: true, predicate: SelectOptionDirective, descendants: true, static: true }, { propertyName: "valueDirective", first: true, predicate: SelectValueDirective, descendants: true, static: true }], ngImport: i0, template: "<teta-dropdown [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [autoClose]=\"autoClose\"\n [autoCloseIgnore]=\"autoCloseIgnore\"\n [(open)]=\"open\"\n [appendToBody]=\"appendToBody\"\n [disabled]=\"disabled\"\n class=\"row row_auto\">\n <div tetaDropdownHead\n class=\"row row_auto select-head\"\n [class.select-head_invalid]=\"invalid\">\n <div class=\"row_auto flex align-center\">\n <teta-icon *ngIf=\"icon\" [name]=\"icon\" class=\"margin-right-1\"></teta-icon>\n <span class=\"placeholder\" *ngIf=\"(value == null || value?.length === 0) && placeholder\">\n {{placeholder}}\n </span>\n <ng-container\n *ngTemplateOutlet=\"valueDirective ? valueDirective.template : valueDefault; context: {$implicit: value, value: value}\"></ng-container>\n </div>\n <teta-icon [name]=\"'arrowDownSmall'\"></teta-icon>\n </div>\n <div *ngIf=\"options?.length\" tetaDropdownContent class=\"select-list scrollable row_auto\" (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"searchRef\">\n <div class=\"select-search\">\n <teta-text-field [ngModel]=\"searchText\"\n (ngModelChange)=\"search($event)\"\n [placeholder]=\"'\u041F\u043E\u0438\u0441\u043A'\"\n [leftIconName]=\"'search'\"></teta-text-field>\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!multiple && allowNull\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"clear()\"\n [class.list-item_active]=\"value==null\">\n \u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"!virtual\">\n <div class=\"list-item list-item_interactive\"\n *ngFor=\"let option of visibleOptions\"\n [class.select-list-item_active]=\"itemSelected(option) && multiple\"\n [class.list-item_active]=\"itemSelected(option)\"\n [class.select-list-item]=\"multiple\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option) && multiple\" [name]=\"'tick'\" [palette]=\"'primary'\"></teta-icon>\n <span [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </span>\n </div>\n </ng-container>\n <cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n [itemSize]=\"40\"\n minBufferPx=\"200\"\n maxBufferPx=\"600\">\n <div class=\"select-list-item select-list-item_interactive\"\n *cdkVirtualFor=\"let option of visibleOptions; templateCacheSize: 0;\"\n [class.select-list-item_active]=\"itemSelected(option)\"\n [tetaHighlight]=\"searchText\"\n (click)=\"clickOption(option, $event)\">\n <teta-icon *ngIf=\"itemSelected(option)\" [name]=\"'tick'\" [palette]=\"'primary'\" class=\"margin-left-2\"></teta-icon>\n <div [tetaHighlight]=\"searchText\">\n <ng-container\n *ngTemplateOutlet=\"optionDirective ? optionDirective.template : optionDefault; context: {$implicit: option, option: option}\">\n </ng-container>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"row row_auto select-chip-field flex-wrap\" *ngIf=\"multiple && value?.length\">\n <div *ngFor=\"let item of value\" class=\"chip\">\n <teta-icon [name]=\"'closeCircle'\" (click)=\"removeItemClick(item, $event)\"></teta-icon>\n {{getText(item)}}\n </div>\n </div>\n </div>\n</teta-dropdown>\n\n<ng-template #optionDefault let-option>\n {{getText(option)}}\n</ng-template>\n<ng-template #valueDefault let-value>\n <div class=\"row_auto overflow-hidden text-overflow-ellipsis\" *ngIf=\"multiple\">\n <ng-container\n *ngFor=\"let item of value; let i = index\">{{getText(item) + (value.length === i + 1 ? '' : ', ') }}</ng-container>\n </div>\n <ng-container *ngIf=\"!multiple\">\n <span class=\"row row_auto overflow-hidden text-overflow-ellipsis\">{{getText(value)}}</span>\n </ng-container>\n</ng-template>\n", styles: [""], components: [{ type: DropdownComponent, selector: "teta-dropdown" }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }, { type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }], directives: [{ type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: HighlightDirective, selector: "[tetaHighlight]", inputs: ["tetaHighlight"] }, { type: i4.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i4.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4490
4636
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectComponent, decorators: [{
|
|
4491
4637
|
type: Component,
|
|
4492
4638
|
args: [{ selector: 'teta-select', providers: [
|
|
@@ -4654,8 +4800,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
4654
4800
|
class FilterModule {
|
|
4655
4801
|
}
|
|
4656
4802
|
FilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4657
|
-
FilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilterModule, declarations: [
|
|
4658
|
-
NumericFilterComponent,
|
|
4803
|
+
FilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilterModule, declarations: [NumericFilterComponent,
|
|
4659
4804
|
StringFilterComponent,
|
|
4660
4805
|
ListFilterComponent,
|
|
4661
4806
|
DateFilterComponent,
|
|
@@ -4667,8 +4812,7 @@ FilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
|
4667
4812
|
RadioModule,
|
|
4668
4813
|
InputModule,
|
|
4669
4814
|
CheckboxModule,
|
|
4670
|
-
OnlyNumberModule], exports: [
|
|
4671
|
-
NumericFilterComponent,
|
|
4815
|
+
OnlyNumberModule], exports: [NumericFilterComponent,
|
|
4672
4816
|
StringFilterComponent,
|
|
4673
4817
|
ListFilterComponent,
|
|
4674
4818
|
DateFilterComponent,
|
|
@@ -4688,7 +4832,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
4688
4832
|
type: NgModule,
|
|
4689
4833
|
args: [{
|
|
4690
4834
|
declarations: [
|
|
4691
|
-
FilterPanelComponent,
|
|
4692
4835
|
NumericFilterComponent,
|
|
4693
4836
|
StringFilterComponent,
|
|
4694
4837
|
ListFilterComponent,
|
|
@@ -4697,7 +4840,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
4697
4840
|
BooleanFilterComponent,
|
|
4698
4841
|
],
|
|
4699
4842
|
exports: [
|
|
4700
|
-
FilterPanelComponent,
|
|
4701
4843
|
NumericFilterComponent,
|
|
4702
4844
|
StringFilterComponent,
|
|
4703
4845
|
ListFilterComponent,
|
|
@@ -4738,8 +4880,8 @@ class FilterItem {
|
|
|
4738
4880
|
this.hint = options?.hint ?? '';
|
|
4739
4881
|
this.sortable = options?.sortable ?? true;
|
|
4740
4882
|
this.filterable = options?.filterable ?? true;
|
|
4741
|
-
this.sortField = options?.sortField ?? this.name;
|
|
4742
|
-
this.filterField = options?.filterField ?? this.name;
|
|
4883
|
+
this.sortField = StringUtil.firstLetterToLower(options?.sortField ?? this.name);
|
|
4884
|
+
this.filterField = StringUtil.firstLetterToLower(options?.filterField ?? this.name);
|
|
4743
4885
|
this.filterType = options?.filterType;
|
|
4744
4886
|
this.stringFilterType = options?.stringFilterType ?? StringFilterType.Contains;
|
|
4745
4887
|
this.listFilterType = options?.listFilterType ?? ListFilterType.None;
|
|
@@ -4755,7 +4897,7 @@ class SortParam {
|
|
|
4755
4897
|
*/
|
|
4756
4898
|
constructor(options) {
|
|
4757
4899
|
if (options) {
|
|
4758
|
-
this.field = options.field || this.field;
|
|
4900
|
+
this.field = StringUtil.firstLetterToLower(options.field || this.field);
|
|
4759
4901
|
this.asc = options.asc || false;
|
|
4760
4902
|
this.order = options.order || this.order;
|
|
4761
4903
|
}
|
|
@@ -4976,7 +5118,7 @@ class MessageComponent {
|
|
|
4976
5118
|
}
|
|
4977
5119
|
}
|
|
4978
5120
|
MessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4979
|
-
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MessageComponent, selector: "teta-message", inputs: { message: "message", index: "index", class: "class" }, outputs: { closed: "closed" }, host: { listeners: { "mouseleave": "init()", "mouseenter": "reset()" }, properties: { "class": "this.getClass" } }, ngImport: i0, template: "<div class=\"row align-center justify-content-between\">\n <div class=\"font-title-3 padding-left-1\">\n {{message.title}}\n </div>\n <button teta-button\n [square]=\"true\"\n [palette]=\"message.palette\"\n [view]=\"'primary'\"\n (click)=\"closeMe($event)\">\n <teta-icon [name]=\"'closeBig'\"></teta-icon>\n </button>\n</div>\n<div class=\"font-body-3 padding-v-1\" *ngIf=\"!message.template && message.text\">\n {{message.text}}\n</div>\n<ng-container *ngIf=\"message.template\">\n <ng-container *ngTemplateOutlet=\"message.template; context: {$implicit: message}\"></ng-container>\n</ng-container>\n", styles: [""], components: [{ type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type:
|
|
5121
|
+
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MessageComponent, selector: "teta-message", inputs: { message: "message", index: "index", class: "class" }, outputs: { closed: "closed" }, host: { listeners: { "mouseleave": "init()", "mouseenter": "reset()" }, properties: { "class": "this.getClass" } }, ngImport: i0, template: "<div class=\"row align-center justify-content-between\">\n <div class=\"font-title-3 padding-left-1\">\n {{message.title}}\n </div>\n <button teta-button\n [square]=\"true\"\n [palette]=\"message.palette\"\n [view]=\"'primary'\"\n (click)=\"closeMe($event)\">\n <teta-icon [name]=\"'closeBig'\"></teta-icon>\n </button>\n</div>\n<div class=\"font-body-3 padding-v-1\" *ngIf=\"!message.template && message.text\">\n {{message.text}}\n</div>\n<ng-container *ngIf=\"message.template\">\n <ng-container *ngTemplateOutlet=\"message.template; context: {$implicit: message}\"></ng-container>\n</ng-container>\n", styles: [""], components: [{ type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4980
5122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MessageComponent, decorators: [{
|
|
4981
5123
|
type: Component,
|
|
4982
5124
|
args: [{ selector: 'teta-message', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row align-center justify-content-between\">\n <div class=\"font-title-3 padding-left-1\">\n {{message.title}}\n </div>\n <button teta-button\n [square]=\"true\"\n [palette]=\"message.palette\"\n [view]=\"'primary'\"\n (click)=\"closeMe($event)\">\n <teta-icon [name]=\"'closeBig'\"></teta-icon>\n </button>\n</div>\n<div class=\"font-body-3 padding-v-1\" *ngIf=\"!message.template && message.text\">\n {{message.text}}\n</div>\n<ng-container *ngIf=\"message.template\">\n <ng-container *ngTemplateOutlet=\"message.template; context: {$implicit: message}\"></ng-container>\n</ng-container>\n", styles: [""] }]
|
|
@@ -5062,7 +5204,7 @@ class MessageHostComponent {
|
|
|
5062
5204
|
}
|
|
5063
5205
|
}
|
|
5064
5206
|
MessageHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MessageHostComponent, deps: [{ token: MessageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5065
|
-
MessageHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MessageHostComponent, selector: "teta-message-host", inputs: { class: "class", align: "align", verticalAlign: "verticalAlign" }, outputs: { itemClose: "itemClose" }, host: { properties: { "class": "this.getClass" } }, ngImport: i0, template: "<teta-message\n *ngFor=\"let message of messages; let i=index\"\n (closed)=\"closedItem($event)\"\n [message]=\"message\"\n [index]=\"i\">\n</teta-message>\n", styles: [""], components: [{ type: MessageComponent, selector: "teta-message", inputs: ["message", "index", "class"], outputs: ["closed"] }], directives: [{ type:
|
|
5207
|
+
MessageHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MessageHostComponent, selector: "teta-message-host", inputs: { class: "class", align: "align", verticalAlign: "verticalAlign" }, outputs: { itemClose: "itemClose" }, host: { properties: { "class": "this.getClass" } }, ngImport: i0, template: "<teta-message\n *ngFor=\"let message of messages; let i=index\"\n (closed)=\"closedItem($event)\"\n [message]=\"message\"\n [index]=\"i\">\n</teta-message>\n", styles: [""], components: [{ type: MessageComponent, selector: "teta-message", inputs: ["message", "index", "class"], outputs: ["closed"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5066
5208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MessageHostComponent, decorators: [{
|
|
5067
5209
|
type: Component,
|
|
5068
5210
|
args: [{ selector: 'teta-message-host', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-message\n *ngFor=\"let message of messages; let i=index\"\n (closed)=\"closedItem($event)\"\n [message]=\"message\"\n [index]=\"i\">\n</teta-message>\n", styles: [""] }]
|
|
@@ -5243,7 +5385,7 @@ class DialogComponent {
|
|
|
5243
5385
|
ngOnInit() { }
|
|
5244
5386
|
}
|
|
5245
5387
|
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogComponent, deps: [{ token: CurrentModal }, { token: DynamicData }], target: i0.ɵɵFactoryTarget.Component });
|
|
5246
|
-
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DialogComponent, selector: "teta-dialog", inputs: { message: "message", buttonText: "buttonText", buttonIcon: "buttonIcon", buttonPalette: "buttonPalette", showCancelButton: "showCancelButton" }, ngImport: i0, template: "<div class=\"padding-2 font-body-2\">\n {{message | transloco}}\n</div>\n<teta-toolbar class=\"justify-content-end\">\n <button teta-button\n *ngIf=\"showCancelButton\"\n (click)=\"cancel()\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\">\n {{'common.cancel' | transloco}}\n </button>\n\n <button teta-button\n (click)=\"ok()\"\n [square]=\"!buttonText?.length\"\n [palette]=\"buttonPalette\">\n <teta-icon *ngIf=\"buttonIcon\" [name]=\"buttonIcon\"></teta-icon>\n <ng-container *ngIf=\"buttonText?.length > 0\">{{buttonText | transloco}}</ng-container>\n </button>\n</teta-toolbar>\n", styles: [":host{display:flex;flex-direction:column;width:240px}\n"], components: [{ type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type:
|
|
5388
|
+
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DialogComponent, selector: "teta-dialog", inputs: { message: "message", buttonText: "buttonText", buttonIcon: "buttonIcon", buttonPalette: "buttonPalette", showCancelButton: "showCancelButton" }, ngImport: i0, template: "<div class=\"padding-2 font-body-2\">\n {{message | transloco}}\n</div>\n<teta-toolbar class=\"justify-content-end\">\n <button teta-button\n *ngIf=\"showCancelButton\"\n (click)=\"cancel()\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\">\n {{'common.cancel' | transloco}}\n </button>\n\n <button teta-button\n (click)=\"ok()\"\n [square]=\"!buttonText?.length\"\n [palette]=\"buttonPalette\">\n <teta-icon *ngIf=\"buttonIcon\" [name]=\"buttonIcon\"></teta-icon>\n <ng-container *ngIf=\"buttonText?.length > 0\">{{buttonText | transloco}}</ng-container>\n </button>\n</teta-toolbar>\n", styles: [":host{display:flex;flex-direction:column;width:240px}\n"], components: [{ type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "transloco": i1$1.TranslocoPipe } });
|
|
5247
5389
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogComponent, decorators: [{
|
|
5248
5390
|
type: Component,
|
|
5249
5391
|
args: [{ selector: 'teta-dialog', template: "<div class=\"padding-2 font-body-2\">\n {{message | transloco}}\n</div>\n<teta-toolbar class=\"justify-content-end\">\n <button teta-button\n *ngIf=\"showCancelButton\"\n (click)=\"cancel()\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\">\n {{'common.cancel' | transloco}}\n </button>\n\n <button teta-button\n (click)=\"ok()\"\n [square]=\"!buttonText?.length\"\n [palette]=\"buttonPalette\">\n <teta-icon *ngIf=\"buttonIcon\" [name]=\"buttonIcon\"></teta-icon>\n <ng-container *ngIf=\"buttonText?.length > 0\">{{buttonText | transloco}}</ng-container>\n </button>\n</teta-toolbar>\n", styles: [":host{display:flex;flex-direction:column;width:240px}\n"] }]
|
|
@@ -5983,7 +6125,7 @@ class ToggleComponent {
|
|
|
5983
6125
|
}
|
|
5984
6126
|
}
|
|
5985
6127
|
ToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5986
|
-
ToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ToggleComponent, selector: "teta-toggle", inputs: { palette: "palette", noLabel: "noLabel", disabled: "disabled" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class.toggle": "this.toggleClass", "class.toggle_disabled": "this.disabled" } }, providers: [TOGGLE_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<span class=\"font-body-3 row_auto\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n<div class=\"toggle-button\" [class.toggle-button-on]=\"model\" [ngClass]=\"paletteClass\">\n <div class=\"toggle-button-circle\"></div>\n</div>\n", styles: [""], directives: [{ type:
|
|
6128
|
+
ToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ToggleComponent, selector: "teta-toggle", inputs: { palette: "palette", noLabel: "noLabel", disabled: "disabled" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class.toggle": "this.toggleClass", "class.toggle_disabled": "this.disabled" } }, providers: [TOGGLE_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<span class=\"font-body-3 row_auto\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n<div class=\"toggle-button\" [class.toggle-button-on]=\"model\" [ngClass]=\"paletteClass\">\n <div class=\"toggle-button-circle\"></div>\n</div>\n", styles: [""], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5987
6129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ToggleComponent, decorators: [{
|
|
5988
6130
|
type: Component,
|
|
5989
6131
|
args: [{ selector: 'teta-toggle', providers: [TOGGLE_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"font-body-3 row_auto\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n<div class=\"toggle-button\" [class.toggle-button-on]=\"model\" [ngClass]=\"paletteClass\">\n <div class=\"toggle-button-circle\"></div>\n</div>\n", styles: [""] }]
|
|
@@ -6039,7 +6181,8 @@ class DynamicContentBaseDirective {
|
|
|
6039
6181
|
this._alive = false;
|
|
6040
6182
|
this.destroyContentRef();
|
|
6041
6183
|
}
|
|
6042
|
-
ngOnInit() {
|
|
6184
|
+
ngOnInit() {
|
|
6185
|
+
}
|
|
6043
6186
|
createContentRef(className) {
|
|
6044
6187
|
if (!this._componentRef) {
|
|
6045
6188
|
this._open = true;
|
|
@@ -6054,11 +6197,9 @@ class DynamicContentBaseDirective {
|
|
|
6054
6197
|
return this._componentRef;
|
|
6055
6198
|
}
|
|
6056
6199
|
destroyContentRef() {
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
this._componentRef = null;
|
|
6061
|
-
}
|
|
6200
|
+
this._open = false;
|
|
6201
|
+
this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
6202
|
+
this._componentRef = null;
|
|
6062
6203
|
}
|
|
6063
6204
|
}
|
|
6064
6205
|
DynamicContentBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -6241,7 +6382,7 @@ class PropertyGridItemComponent {
|
|
|
6241
6382
|
}
|
|
6242
6383
|
}
|
|
6243
6384
|
PropertyGridItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridItemComponent, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6244
|
-
PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-input [label]=\"caption\"\n [tetaHint]=\"column.hint\"\n [align]=\"align.left\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\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\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">{{column.caption}}</teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n (focusout)=\"valueChange()\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""], components: [{ type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }, { type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "showTime", "format"] }, { type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }], directives: [{ type:
|
|
6385
|
+
PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-input [label]=\"caption\"\n [tetaHint]=\"column.hint\"\n [align]=\"align.left\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\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\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">{{column.caption}}</teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n (focusout)=\"valueChange()\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""], components: [{ type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }, { type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }, { type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay"] }, { type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
|
|
6245
6386
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridItemComponent, decorators: [{
|
|
6246
6387
|
type: Component,
|
|
6247
6388
|
args: [{ selector: 'teta-property-grid-item', template: "<teta-input [label]=\"caption\"\n [tetaHint]=\"column.hint\"\n [align]=\"align.left\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\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\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">{{column.caption}}</teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n (focusout)=\"valueChange()\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""] }]
|
|
@@ -6267,7 +6408,7 @@ class PropertyGridGroupComponent {
|
|
|
6267
6408
|
ngOnInit() { }
|
|
6268
6409
|
}
|
|
6269
6410
|
PropertyGridGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6270
|
-
PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<div class=\"font-title-3\">{{column.caption}}</div>\n<ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [""], components: [{ type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }, { type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }], directives: [{ type:
|
|
6411
|
+
PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<div class=\"font-title-3\">{{column.caption}}</div>\n<ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [""], components: [{ type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }, { type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
6271
6412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridGroupComponent, decorators: [{
|
|
6272
6413
|
type: Component,
|
|
6273
6414
|
args: [{ selector: 'teta-property-grid-group', template: "<div class=\"font-title-3\">{{column.caption}}</div>\n<ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [dict]=\"dict\"\n [column]=\"col\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [""] }]
|
|
@@ -6320,7 +6461,7 @@ class PropertyGridComponent {
|
|
|
6320
6461
|
}
|
|
6321
6462
|
}
|
|
6322
6463
|
PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6323
|
-
PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], components: [{ type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }, { type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }], directives: [{ type:
|
|
6464
|
+
PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], components: [{ type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }, { type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal"], outputs: ["controlValueChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
6324
6465
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridComponent, decorators: [{
|
|
6325
6466
|
type: Component,
|
|
6326
6467
|
args: [{ selector: 'teta-property-grid', template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0\"\n [dict]=\"dict\"\n [column]=\"column\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"] }]
|
|
@@ -6558,7 +6699,7 @@ class SidebarComponent {
|
|
|
6558
6699
|
ngOnInit() { }
|
|
6559
6700
|
}
|
|
6560
6701
|
SidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6561
|
-
SidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SidebarComponent, selector: "teta-sidebar", inputs: { position: "position", backdrop: "backdrop", open: "open", className: "className" }, outputs: { openChange: "openChange" }, host: { properties: { "style.z-index": "this.zIndex" } }, ngImport: i0, template: "<div *ngIf=\"backdrop && open\"\n [@sidebar]\n (click)=\"setOpen(false)\"\n class=\"sidebar-backdrop\"></div>\n<div class=\"sidebar\"\n [@sidebar]\n [ngClass]=\"className\"\n [class.sidebar-top]=\"position === sidebarPosition.top\"\n [class.sidebar-bottom]=\"position === sidebarPosition.bottom\"\n [class.sidebar-left]=\"position === sidebarPosition.left\"\n [class.sidebar-right]=\"position === sidebarPosition.right\"\n *ngIf=\"open\">\n <ng-content></ng-content>\n</div>\n", styles: [""], directives: [{ type:
|
|
6702
|
+
SidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SidebarComponent, selector: "teta-sidebar", inputs: { position: "position", backdrop: "backdrop", open: "open", className: "className" }, outputs: { openChange: "openChange" }, host: { properties: { "style.z-index": "this.zIndex" } }, ngImport: i0, template: "<div *ngIf=\"backdrop && open\"\n [@sidebar]\n (click)=\"setOpen(false)\"\n class=\"sidebar-backdrop\"></div>\n<div class=\"sidebar\"\n [@sidebar]\n [ngClass]=\"className\"\n [class.sidebar-top]=\"position === sidebarPosition.top\"\n [class.sidebar-bottom]=\"position === sidebarPosition.bottom\"\n [class.sidebar-left]=\"position === sidebarPosition.left\"\n [class.sidebar-right]=\"position === sidebarPosition.right\"\n *ngIf=\"open\">\n <ng-content></ng-content>\n</div>\n", styles: [""], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
6562
6703
|
trigger('sidebar', [
|
|
6563
6704
|
transition('void => *', [
|
|
6564
6705
|
style({ opacity: '0' }),
|
|
@@ -6951,6 +7092,25 @@ class StateUtil {
|
|
|
6951
7092
|
}
|
|
6952
7093
|
return new FilterState(state);
|
|
6953
7094
|
}
|
|
7095
|
+
static sortAsc(sortEvent, state) {
|
|
7096
|
+
return StateUtil.sort(sortEvent, state, true);
|
|
7097
|
+
}
|
|
7098
|
+
static sortDesc(sortEvent, state) {
|
|
7099
|
+
return StateUtil.sort(sortEvent, state, false);
|
|
7100
|
+
}
|
|
7101
|
+
static sort(sortEvent, state, asc) {
|
|
7102
|
+
const column = sortEvent.column;
|
|
7103
|
+
const shiftKey = sortEvent.shiftKey;
|
|
7104
|
+
const sort = state.sortParams.find((sortParam) => sortParam.field === column.sortField);
|
|
7105
|
+
if (sort) {
|
|
7106
|
+
state.sortParams = StateUtil.clearSortParam(sort, state.sortParams);
|
|
7107
|
+
}
|
|
7108
|
+
if (!shiftKey) {
|
|
7109
|
+
state.sortParams.length = 0;
|
|
7110
|
+
}
|
|
7111
|
+
state.sortParams.push(new SortParam({ field: column.sortField, asc: asc, order: 0 }));
|
|
7112
|
+
return new FilterState(state);
|
|
7113
|
+
}
|
|
6954
7114
|
static clearSortParam(sort, sortParams) {
|
|
6955
7115
|
const index = sortParams.indexOf(sort);
|
|
6956
7116
|
sortParams.splice(index, 1);
|
|
@@ -6973,6 +7133,20 @@ var SelectType;
|
|
|
6973
7133
|
SelectType[SelectType["single"] = 2] = "single";
|
|
6974
7134
|
})(SelectType || (SelectType = {}));
|
|
6975
7135
|
|
|
7136
|
+
var EditType;
|
|
7137
|
+
(function (EditType) {
|
|
7138
|
+
EditType[EditType["none"] = 0] = "none";
|
|
7139
|
+
EditType[EditType["cell"] = 1] = "cell";
|
|
7140
|
+
EditType[EditType["row"] = 2] = "row";
|
|
7141
|
+
})(EditType || (EditType = {}));
|
|
7142
|
+
|
|
7143
|
+
var EditEvent;
|
|
7144
|
+
(function (EditEvent) {
|
|
7145
|
+
EditEvent[EditEvent["click"] = 0] = "click";
|
|
7146
|
+
EditEvent[EditEvent["focus"] = 1] = "focus";
|
|
7147
|
+
EditEvent[EditEvent["doubleClick"] = 2] = "doubleClick";
|
|
7148
|
+
})(EditEvent || (EditEvent = {}));
|
|
7149
|
+
|
|
6976
7150
|
class TableColumnStore {
|
|
6977
7151
|
constructor(options) {
|
|
6978
7152
|
if (options) {
|
|
@@ -6987,12 +7161,17 @@ class TableColumnStore {
|
|
|
6987
7161
|
|
|
6988
7162
|
class TableService {
|
|
6989
7163
|
constructor() {
|
|
7164
|
+
this.selectType = SelectType.multiple;
|
|
7165
|
+
this.editType = EditType.cell;
|
|
7166
|
+
this.editEvent = EditEvent.doubleClick;
|
|
7167
|
+
this.trackRow = (index, row) => index;
|
|
6990
7168
|
this.initialColumns = [];
|
|
6991
7169
|
this.displayColumns = [];
|
|
6992
7170
|
this._columns = new BehaviorSubject([]);
|
|
6993
|
-
this.
|
|
7171
|
+
this._hiddenColumns = new BehaviorSubject([]);
|
|
6994
7172
|
this._displayData = new BehaviorSubject([]);
|
|
6995
7173
|
this._dict = new BehaviorSubject({});
|
|
7174
|
+
this._filterOptions = new BehaviorSubject({});
|
|
6996
7175
|
this._state = new BehaviorSubject(new FilterState());
|
|
6997
7176
|
this._editRowStart = new Subject();
|
|
6998
7177
|
this._editRowStop = new Subject();
|
|
@@ -7005,11 +7184,11 @@ class TableService {
|
|
|
7005
7184
|
this._groupToggle = new Subject();
|
|
7006
7185
|
this._selectedRows = new BehaviorSubject([]);
|
|
7007
7186
|
this._activeRow = new BehaviorSubject(null);
|
|
7008
|
-
this._hiddenColumns = new BehaviorSubject([]);
|
|
7009
7187
|
this._scrollIndex = new Subject();
|
|
7010
7188
|
this.columns = this._columns.asObservable();
|
|
7011
7189
|
this.displayData = this._displayData.asObservable();
|
|
7012
7190
|
this.dict = this._dict.asObservable();
|
|
7191
|
+
this.filterOptions = this._filterOptions.asObservable();
|
|
7013
7192
|
this.state = this._state.asObservable();
|
|
7014
7193
|
this.editRowStart = this._editRowStart.asObservable();
|
|
7015
7194
|
this.editRowStop = this._editRowStop.asObservable();
|
|
@@ -7025,17 +7204,21 @@ class TableService {
|
|
|
7025
7204
|
this.hiddenColumns = this._hiddenColumns.asObservable();
|
|
7026
7205
|
this.scrollIndex = this._scrollIndex.asObservable();
|
|
7027
7206
|
}
|
|
7028
|
-
// cellEditable: boolean | ((row: ICellCoordinates<T>) => boolean);
|
|
7029
7207
|
get dragSource() {
|
|
7030
7208
|
return this._dragSource;
|
|
7031
7209
|
}
|
|
7210
|
+
get currentEditCell() {
|
|
7211
|
+
return this._currentEditCell;
|
|
7212
|
+
}
|
|
7032
7213
|
setData(data) {
|
|
7033
|
-
this.
|
|
7034
|
-
this._displayData.next(this.initialData);
|
|
7214
|
+
this._displayData.next(data?.map((_) => new TableRow(_)));
|
|
7035
7215
|
}
|
|
7036
7216
|
setDict(dict) {
|
|
7037
7217
|
this._dict.next(dict);
|
|
7038
7218
|
}
|
|
7219
|
+
setFilterOptions(filterOptions) {
|
|
7220
|
+
this._filterOptions.next(filterOptions);
|
|
7221
|
+
}
|
|
7039
7222
|
setColumns(columns) {
|
|
7040
7223
|
this.initialColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
|
|
7041
7224
|
this.initialColumnsHash = hash__default(this.initialColumns, {
|
|
@@ -7122,9 +7305,14 @@ class TableService {
|
|
|
7122
7305
|
const hiddenColumns = localStorage.getItem(this._hiddenCookieName) || '[]';
|
|
7123
7306
|
this._hiddenColumns.next(JSON.parse(hiddenColumns));
|
|
7124
7307
|
}
|
|
7125
|
-
|
|
7308
|
+
sortAsc(sortEvent) {
|
|
7126
7309
|
if (sortEvent.column.sortable) {
|
|
7127
|
-
this.setState(StateUtil.
|
|
7310
|
+
this.setState(StateUtil.sortAsc(sortEvent, this._state.value));
|
|
7311
|
+
}
|
|
7312
|
+
}
|
|
7313
|
+
sortDesc(sortEvent) {
|
|
7314
|
+
if (sortEvent.column.sortable) {
|
|
7315
|
+
this.setState(StateUtil.sortDesc(sortEvent, this._state.value));
|
|
7128
7316
|
}
|
|
7129
7317
|
}
|
|
7130
7318
|
clearSort(column) {
|
|
@@ -7243,33 +7431,40 @@ class TableService {
|
|
|
7243
7431
|
}
|
|
7244
7432
|
}
|
|
7245
7433
|
}
|
|
7246
|
-
startEditRow(
|
|
7247
|
-
if (this.
|
|
7248
|
-
if (this.
|
|
7249
|
-
|
|
7250
|
-
this._editRowStop.next(this._currentEditRow);
|
|
7434
|
+
startEditRow(cellEvent) {
|
|
7435
|
+
if (this._currentEditCell?.row !== cellEvent?.row) {
|
|
7436
|
+
if (this._currentEditCell != null) {
|
|
7437
|
+
this._editRowStop.next(this._currentEditCell);
|
|
7251
7438
|
}
|
|
7252
|
-
if (
|
|
7253
|
-
this._editRowStart.next(
|
|
7254
|
-
this.
|
|
7439
|
+
if (cellEvent === null) {
|
|
7440
|
+
this._editRowStart.next(cellEvent);
|
|
7441
|
+
this._currentEditCell = cellEvent;
|
|
7255
7442
|
}
|
|
7256
7443
|
else {
|
|
7257
|
-
if (this.boolOrFuncCallback(this.rowEditable)(
|
|
7258
|
-
this._editRowStart.next(
|
|
7259
|
-
this.
|
|
7444
|
+
if (this.boolOrFuncCallback(this.rowEditable)(this.getRowByIndex(cellEvent?.row))) {
|
|
7445
|
+
this._editRowStart.next(cellEvent);
|
|
7446
|
+
this._currentEditCell = cellEvent;
|
|
7260
7447
|
}
|
|
7261
7448
|
}
|
|
7262
7449
|
}
|
|
7263
7450
|
}
|
|
7264
|
-
startEditCell(
|
|
7265
|
-
if (this._currentEditCell?.column
|
|
7266
|
-
this._currentEditCell?.row !==
|
|
7451
|
+
startEditCell(cellEvent) {
|
|
7452
|
+
if (this._currentEditCell?.column !== cellEvent?.column ||
|
|
7453
|
+
this._currentEditCell?.row !== cellEvent?.row) {
|
|
7267
7454
|
if (this._currentEditCell != null) {
|
|
7268
7455
|
this._editCellStop.next(this._currentEditCell);
|
|
7269
7456
|
}
|
|
7270
|
-
|
|
7271
|
-
|
|
7272
|
-
this.
|
|
7457
|
+
const column = this.getColumnByName(cellEvent?.column);
|
|
7458
|
+
if (this.boolOrFuncCallback(column?.editable)({
|
|
7459
|
+
row: this.getRowByIndex(cellEvent?.row),
|
|
7460
|
+
column: column
|
|
7461
|
+
})) {
|
|
7462
|
+
this._editCellStart.next(cellEvent);
|
|
7463
|
+
this._currentEditCell = cellEvent;
|
|
7464
|
+
const key = cellEvent?.event?.key;
|
|
7465
|
+
if (key && (key.length === 1 || (key === 'Delete' && !column.required))) {
|
|
7466
|
+
this.clearValue(cellEvent);
|
|
7467
|
+
}
|
|
7273
7468
|
}
|
|
7274
7469
|
}
|
|
7275
7470
|
}
|
|
@@ -7279,6 +7474,46 @@ class TableService {
|
|
|
7279
7474
|
selectRows(rows) {
|
|
7280
7475
|
this._selectedRows.next(rows);
|
|
7281
7476
|
}
|
|
7477
|
+
selectOrDeselectRow(row) {
|
|
7478
|
+
if (this._selectedRows.value.indexOf(row) >= 0) {
|
|
7479
|
+
this._selectedRows.next(this._selectedRows.value.filter((_) => _ !== row));
|
|
7480
|
+
}
|
|
7481
|
+
else {
|
|
7482
|
+
if (this.selectType === SelectType.single) {
|
|
7483
|
+
this._selectedRows.next([row]);
|
|
7484
|
+
}
|
|
7485
|
+
else {
|
|
7486
|
+
this._selectedRows.next([...this._selectedRows.value, row]);
|
|
7487
|
+
}
|
|
7488
|
+
}
|
|
7489
|
+
}
|
|
7490
|
+
selectRange(row) {
|
|
7491
|
+
const index = this._displayData.value.indexOf(row);
|
|
7492
|
+
let minIndex = this._selectedRows.value.reduce((prev, curr) => {
|
|
7493
|
+
const newIndex = this._displayData.value.indexOf(curr);
|
|
7494
|
+
if (newIndex < prev) {
|
|
7495
|
+
return newIndex;
|
|
7496
|
+
}
|
|
7497
|
+
return prev;
|
|
7498
|
+
}, this._displayData.value.length);
|
|
7499
|
+
let maxIndex = this._selectedRows.value.reduce((prev, curr) => {
|
|
7500
|
+
const newIndex = this._displayData.value.indexOf(curr);
|
|
7501
|
+
if (newIndex > prev) {
|
|
7502
|
+
return newIndex;
|
|
7503
|
+
}
|
|
7504
|
+
return prev;
|
|
7505
|
+
}, 0);
|
|
7506
|
+
if (index > maxIndex) {
|
|
7507
|
+
maxIndex = index;
|
|
7508
|
+
}
|
|
7509
|
+
if (index < minIndex) {
|
|
7510
|
+
minIndex = index;
|
|
7511
|
+
}
|
|
7512
|
+
if (minIndex < index && index < maxIndex) {
|
|
7513
|
+
maxIndex = index;
|
|
7514
|
+
}
|
|
7515
|
+
this._selectedRows.next([...this._displayData.value.slice(minIndex, maxIndex + 1)]);
|
|
7516
|
+
}
|
|
7282
7517
|
selectRow(row) {
|
|
7283
7518
|
if (this.selectType === SelectType.none) {
|
|
7284
7519
|
return;
|
|
@@ -7333,10 +7568,114 @@ class TableService {
|
|
|
7333
7568
|
this._valueChanged.next(coordinates);
|
|
7334
7569
|
}
|
|
7335
7570
|
setValue(cellValue) {
|
|
7336
|
-
|
|
7571
|
+
let value;
|
|
7572
|
+
if (typeof cellValue.row === 'object' && typeof cellValue.column === 'object') {
|
|
7573
|
+
value = {
|
|
7574
|
+
row: this.getRowIndex(cellValue.row),
|
|
7575
|
+
column: cellValue.column.name,
|
|
7576
|
+
value: cellValue.value
|
|
7577
|
+
};
|
|
7578
|
+
}
|
|
7579
|
+
else {
|
|
7580
|
+
value = cellValue;
|
|
7581
|
+
}
|
|
7582
|
+
this._valueSet.next(value);
|
|
7337
7583
|
}
|
|
7338
7584
|
getRowByIndex(rowIndex) {
|
|
7339
|
-
return this._displayData.value[
|
|
7585
|
+
return this._displayData.value[rowIndex];
|
|
7586
|
+
}
|
|
7587
|
+
getRowIndex(row) {
|
|
7588
|
+
return this._displayData.value.indexOf(row);
|
|
7589
|
+
}
|
|
7590
|
+
getNextEditableCell(coords) {
|
|
7591
|
+
const nextCell = this.getNextCell(coords);
|
|
7592
|
+
if (!nextCell) {
|
|
7593
|
+
return null;
|
|
7594
|
+
}
|
|
7595
|
+
const column = this.getColumnByName(nextCell?.column);
|
|
7596
|
+
if (this.boolOrFuncCallback(column.editable)({
|
|
7597
|
+
row: this.getRowByIndex(nextCell.row),
|
|
7598
|
+
column
|
|
7599
|
+
})) {
|
|
7600
|
+
return nextCell;
|
|
7601
|
+
}
|
|
7602
|
+
return this.getNextEditableCell(nextCell);
|
|
7603
|
+
}
|
|
7604
|
+
getPreviousEditableCell(coords) {
|
|
7605
|
+
const prevCell = this.getPreviousCell(coords);
|
|
7606
|
+
if (!prevCell) {
|
|
7607
|
+
return null;
|
|
7608
|
+
}
|
|
7609
|
+
const column = this.getColumnByName(prevCell?.column);
|
|
7610
|
+
if (this.boolOrFuncCallback(column.editable)({
|
|
7611
|
+
row: this.getRowByIndex(prevCell.row),
|
|
7612
|
+
column
|
|
7613
|
+
})) {
|
|
7614
|
+
return prevCell;
|
|
7615
|
+
}
|
|
7616
|
+
return this.getPreviousEditableCell(prevCell);
|
|
7617
|
+
}
|
|
7618
|
+
getNextCell(coords) {
|
|
7619
|
+
const columns = this.getFlatColumns();
|
|
7620
|
+
let colIndex = columns.findIndex((col) => col.name === coords?.column);
|
|
7621
|
+
let rowIndex = coords?.row;
|
|
7622
|
+
if (colIndex >= 0 && rowIndex >= 0) {
|
|
7623
|
+
if (colIndex === columns.length - 1) {
|
|
7624
|
+
colIndex = 0;
|
|
7625
|
+
rowIndex = rowIndex + 1;
|
|
7626
|
+
}
|
|
7627
|
+
else {
|
|
7628
|
+
colIndex = colIndex + 1;
|
|
7629
|
+
}
|
|
7630
|
+
return {
|
|
7631
|
+
column: columns[colIndex]?.name,
|
|
7632
|
+
row: rowIndex
|
|
7633
|
+
};
|
|
7634
|
+
}
|
|
7635
|
+
return null;
|
|
7636
|
+
}
|
|
7637
|
+
getPreviousCell(coords) {
|
|
7638
|
+
const columns = this.getFlatColumns();
|
|
7639
|
+
let colIndex = columns.findIndex((col) => col.name === coords?.column);
|
|
7640
|
+
let rowIndex = coords?.row;
|
|
7641
|
+
if (colIndex >= 0 && rowIndex >= 0) {
|
|
7642
|
+
if (colIndex === 0) {
|
|
7643
|
+
colIndex = columns.length - 1;
|
|
7644
|
+
rowIndex = rowIndex - 1;
|
|
7645
|
+
}
|
|
7646
|
+
else {
|
|
7647
|
+
colIndex = colIndex - 1;
|
|
7648
|
+
}
|
|
7649
|
+
return {
|
|
7650
|
+
column: columns[colIndex]?.name,
|
|
7651
|
+
row: rowIndex
|
|
7652
|
+
};
|
|
7653
|
+
}
|
|
7654
|
+
return null;
|
|
7655
|
+
}
|
|
7656
|
+
getNextRowCell(coords) {
|
|
7657
|
+
const columns = this.getFlatColumns();
|
|
7658
|
+
let colIndex = columns.findIndex((col) => col.name === coords?.column);
|
|
7659
|
+
let rowIndex = coords?.row;
|
|
7660
|
+
if (colIndex >= 0 && rowIndex >= 0 && rowIndex < this._displayData.value.length - 1) {
|
|
7661
|
+
return {
|
|
7662
|
+
column: columns[colIndex]?.name,
|
|
7663
|
+
row: rowIndex + 1
|
|
7664
|
+
};
|
|
7665
|
+
}
|
|
7666
|
+
return null;
|
|
7667
|
+
}
|
|
7668
|
+
getPreviousRowCell(coords) {
|
|
7669
|
+
const columns = this.getFlatColumns();
|
|
7670
|
+
let colIndex = columns.findIndex((col) => col.name === coords?.column);
|
|
7671
|
+
let rowIndex = coords?.row;
|
|
7672
|
+
if (colIndex >= 0 && rowIndex > 1) {
|
|
7673
|
+
return {
|
|
7674
|
+
column: columns[colIndex]?.name,
|
|
7675
|
+
row: rowIndex - 1
|
|
7676
|
+
};
|
|
7677
|
+
}
|
|
7678
|
+
return null;
|
|
7340
7679
|
}
|
|
7341
7680
|
getColumnByName(columnName) {
|
|
7342
7681
|
return ArrayUtil.findRecursive(this.displayColumns, (iterableNode) => columnName === iterableNode.name, 'columns');
|
|
@@ -7356,6 +7695,19 @@ class TableService {
|
|
|
7356
7695
|
return true;
|
|
7357
7696
|
};
|
|
7358
7697
|
}
|
|
7698
|
+
getVisibleColumns() {
|
|
7699
|
+
const visible = ArrayUtil.flatten(this._columns.value, 'columns', true).filter((_) => this._hiddenColumns.value.indexOf(_.name) < 0);
|
|
7700
|
+
return visible.sort((a, b) => Number(b.locked) - Number(a.locked));
|
|
7701
|
+
}
|
|
7702
|
+
getCellInstance(coords) {
|
|
7703
|
+
return coords ? {
|
|
7704
|
+
row: this.getRowByIndex(coords.row),
|
|
7705
|
+
column: this.getColumnByName(coords.column)
|
|
7706
|
+
} : null;
|
|
7707
|
+
}
|
|
7708
|
+
getFlatColumns() {
|
|
7709
|
+
return ArrayUtil.flatten(this.displayColumns, 'columns', true).sort((a, b) => Number(b.locked) - Number(a.locked));
|
|
7710
|
+
}
|
|
7359
7711
|
findParent(column, columns) {
|
|
7360
7712
|
const found = columns.find((x) => x.name === column.name);
|
|
7361
7713
|
if (found !== null && found !== undefined) {
|
|
@@ -7389,6 +7741,12 @@ class TableService {
|
|
|
7389
7741
|
column.flex = 0;
|
|
7390
7742
|
column.width = maxWidth + 20;
|
|
7391
7743
|
}
|
|
7744
|
+
clearValue(event) {
|
|
7745
|
+
this.setValue({
|
|
7746
|
+
...event,
|
|
7747
|
+
value: null
|
|
7748
|
+
});
|
|
7749
|
+
}
|
|
7392
7750
|
}
|
|
7393
7751
|
TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7394
7752
|
TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, providedIn: 'root' });
|
|
@@ -7419,35 +7777,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
7419
7777
|
type: Input
|
|
7420
7778
|
}] } });
|
|
7421
7779
|
|
|
7422
|
-
|
|
7423
|
-
(
|
|
7424
|
-
|
|
7425
|
-
|
|
7426
|
-
|
|
7427
|
-
|
|
7428
|
-
|
|
7429
|
-
(
|
|
7430
|
-
|
|
7431
|
-
|
|
7432
|
-
|
|
7433
|
-
|
|
7434
|
-
|
|
7435
|
-
class TableContextMenuConfig {
|
|
7436
|
-
constructor(options) {
|
|
7437
|
-
this.contextMenu = true;
|
|
7438
|
-
this.copy = true;
|
|
7439
|
-
this.delete = true;
|
|
7440
|
-
this.add = true;
|
|
7441
|
-
this.paste = true;
|
|
7442
|
-
if (options) {
|
|
7443
|
-
this.contextMenu = options?.contextMenu;
|
|
7444
|
-
this.copy = options?.copy;
|
|
7445
|
-
this.delete = options?.delete;
|
|
7446
|
-
this.add = options?.add;
|
|
7447
|
-
this.paste = options?.paste;
|
|
7780
|
+
class SelectionHeadCellComponent {
|
|
7781
|
+
constructor(_svc, _cdr) {
|
|
7782
|
+
this._svc = _svc;
|
|
7783
|
+
this._cdr = _cdr;
|
|
7784
|
+
this.tableCellClass = true;
|
|
7785
|
+
this._alive = true;
|
|
7786
|
+
}
|
|
7787
|
+
selectAll(value) {
|
|
7788
|
+
if (value) {
|
|
7789
|
+
this._svc.selectAll();
|
|
7790
|
+
}
|
|
7791
|
+
else {
|
|
7792
|
+
this._svc.deselectAll();
|
|
7448
7793
|
}
|
|
7449
7794
|
}
|
|
7795
|
+
allSelected() {
|
|
7796
|
+
return this._svc.allRowsSelected();
|
|
7797
|
+
}
|
|
7798
|
+
ngOnInit() {
|
|
7799
|
+
this._svc.selectedRows
|
|
7800
|
+
.pipe(takeWhile((_) => this._alive))
|
|
7801
|
+
.subscribe((_) => {
|
|
7802
|
+
this._cdr.markForCheck();
|
|
7803
|
+
});
|
|
7804
|
+
}
|
|
7805
|
+
ngOnDestroy() {
|
|
7806
|
+
this._alive = false;
|
|
7807
|
+
}
|
|
7450
7808
|
}
|
|
7809
|
+
SelectionHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7810
|
+
SelectionHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SelectionHeadCellComponent, selector: "teta-selection-head-cell", host: { properties: { "class.table-head__group": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], components: [{ type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7811
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, decorators: [{
|
|
7812
|
+
type: Component,
|
|
7813
|
+
args: [{ selector: 'teta-selection-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"] }]
|
|
7814
|
+
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tableCellClass: [{
|
|
7815
|
+
type: HostBinding,
|
|
7816
|
+
args: ['class.table-head__group']
|
|
7817
|
+
}] } });
|
|
7451
7818
|
|
|
7452
7819
|
class TableUtil {
|
|
7453
7820
|
static getColumnLeaves(column) {
|
|
@@ -7456,10 +7823,6 @@ class TableUtil {
|
|
|
7456
7823
|
}
|
|
7457
7824
|
return null;
|
|
7458
7825
|
}
|
|
7459
|
-
static getGridTemplateColumns(columns) {
|
|
7460
|
-
const res = columns?.map((column) => column.flex > 0 ? `minmax(${column.width}px, ${column.flex}fr)` : `${column.width}px`).join(' ');
|
|
7461
|
-
return res;
|
|
7462
|
-
}
|
|
7463
7826
|
static getData(data, state) {
|
|
7464
7827
|
let result = data;
|
|
7465
7828
|
result = TableUtil.filterData(result, state);
|
|
@@ -7511,15 +7874,15 @@ class TableUtil {
|
|
|
7511
7874
|
const filterString = (row) => {
|
|
7512
7875
|
const item = row;
|
|
7513
7876
|
if (filter.type === StringFilterType.EndsWith) {
|
|
7514
|
-
return item[filter.field].endsWith(filter.value);
|
|
7877
|
+
return item[filter.field]?.toLowerCase().endsWith(filter.value?.toLowerCase());
|
|
7515
7878
|
}
|
|
7516
7879
|
if (filter.type === StringFilterType.Equals) {
|
|
7517
|
-
return item[filter.field] === filter.value;
|
|
7880
|
+
return item[filter.field]?.toLowerCase() === filter.value?.toLowerCase();
|
|
7518
7881
|
}
|
|
7519
7882
|
if (filter.type === StringFilterType.StartsWith) {
|
|
7520
|
-
return item[filter.field].startsWith(filter.value);
|
|
7883
|
+
return item[filter.field]?.toLowerCase().startsWith(filter.value?.toLowerCase());
|
|
7521
7884
|
}
|
|
7522
|
-
return item[filter.field].indexOf(filter.value) >= 0;
|
|
7885
|
+
return item[filter.field]?.toLowerCase().indexOf(filter.value?.toLowerCase()) >= 0;
|
|
7523
7886
|
};
|
|
7524
7887
|
return data.filter(filterString);
|
|
7525
7888
|
}
|
|
@@ -7528,10 +7891,10 @@ class TableUtil {
|
|
|
7528
7891
|
const item = row;
|
|
7529
7892
|
return (filter.value.lessThan === null || filter.value.lessThan === undefined
|
|
7530
7893
|
? true
|
|
7531
|
-
: filter.value.lessThan.getTime()
|
|
7894
|
+
: filter.value.lessThan.getTime() >= item[filter.field].getTime()) &&
|
|
7532
7895
|
(filter.value.greaterThan === null || filter.value.greaterThan === undefined
|
|
7533
7896
|
? true
|
|
7534
|
-
: filter.value.greaterThan.getTime()
|
|
7897
|
+
: filter.value.greaterThan.getTime() <= item[filter.field].getTime());
|
|
7535
7898
|
};
|
|
7536
7899
|
return data.filter(filterDate);
|
|
7537
7900
|
}
|
|
@@ -7540,10 +7903,10 @@ class TableUtil {
|
|
|
7540
7903
|
const item = row;
|
|
7541
7904
|
return (filter.value.lessThan === null || filter.value.lessThan === undefined
|
|
7542
7905
|
? true
|
|
7543
|
-
: filter.value.lessThan
|
|
7906
|
+
: filter.value.lessThan >= item[filter.field]) &&
|
|
7544
7907
|
(filter.value.greaterThan === null || filter.value.greaterThan === undefined
|
|
7545
7908
|
? true
|
|
7546
|
-
: filter.value.greaterThan
|
|
7909
|
+
: filter.value.greaterThan <= item[filter.field]) &&
|
|
7547
7910
|
(filter.value.equalsTo === null || filter.value.equalsTo === undefined
|
|
7548
7911
|
? true
|
|
7549
7912
|
: filter.value.equalsTo === item[filter.field]);
|
|
@@ -7565,7 +7928,7 @@ class TableUtil {
|
|
|
7565
7928
|
}
|
|
7566
7929
|
static sort(data, sortParam) {
|
|
7567
7930
|
const res = data.sort(sortParam.asc ? TableUtil.asc(sortParam.field) : TableUtil.desc(sortParam.field));
|
|
7568
|
-
return res;
|
|
7931
|
+
return [...res];
|
|
7569
7932
|
}
|
|
7570
7933
|
static desc(field) {
|
|
7571
7934
|
const res = (a, b) => a[field] > b[field] ? -1 : 1;
|
|
@@ -7577,56 +7940,10 @@ class TableUtil {
|
|
|
7577
7940
|
}
|
|
7578
7941
|
}
|
|
7579
7942
|
|
|
7580
|
-
class
|
|
7581
|
-
constructor(
|
|
7582
|
-
this.
|
|
7583
|
-
this.
|
|
7584
|
-
this.tableCellClass = true;
|
|
7585
|
-
this._alive = true;
|
|
7586
|
-
}
|
|
7587
|
-
selectAll(value) {
|
|
7588
|
-
if (value) {
|
|
7589
|
-
this._svc.selectAll();
|
|
7590
|
-
}
|
|
7591
|
-
else {
|
|
7592
|
-
this._svc.deselectAll();
|
|
7593
|
-
}
|
|
7594
|
-
}
|
|
7595
|
-
allSelected() {
|
|
7596
|
-
return this._svc.allRowsSelected();
|
|
7597
|
-
}
|
|
7598
|
-
ngOnInit() {
|
|
7599
|
-
this._svc.selectedRows
|
|
7600
|
-
.pipe(takeWhile((_) => this._alive))
|
|
7601
|
-
.subscribe((_) => {
|
|
7602
|
-
this._cdr.markForCheck();
|
|
7603
|
-
});
|
|
7604
|
-
}
|
|
7605
|
-
ngOnDestroy() {
|
|
7606
|
-
this._alive = false;
|
|
7607
|
-
}
|
|
7608
|
-
}
|
|
7609
|
-
SelectionHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7610
|
-
SelectionHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SelectionHeadCellComponent, selector: "teta-selection-head-cell", host: { properties: { "class.table-head__group": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], components: [{ type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, decorators: [{
|
|
7612
|
-
type: Component,
|
|
7613
|
-
args: [{ selector: 'teta-selection-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"] }]
|
|
7614
|
-
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tableCellClass: [{
|
|
7615
|
-
type: HostBinding,
|
|
7616
|
-
args: ['class.table-head__group']
|
|
7617
|
-
}] } });
|
|
7618
|
-
|
|
7619
|
-
class ColumnResizeEvent {
|
|
7620
|
-
constructor(column, newWidth) {
|
|
7621
|
-
this.column = column;
|
|
7622
|
-
this.newWidth = newWidth;
|
|
7623
|
-
}
|
|
7624
|
-
}
|
|
7625
|
-
|
|
7626
|
-
class SortEvent {
|
|
7627
|
-
constructor(column, shiftKey) {
|
|
7628
|
-
this.column = column;
|
|
7629
|
-
this.shiftKey = shiftKey;
|
|
7943
|
+
class ColumnResizeEvent {
|
|
7944
|
+
constructor(column, newWidth) {
|
|
7945
|
+
this.column = column;
|
|
7946
|
+
this.newWidth = newWidth;
|
|
7630
7947
|
}
|
|
7631
7948
|
}
|
|
7632
7949
|
|
|
@@ -7657,15 +7974,25 @@ class DefaultHeadCellComponent extends HeadCellComponentBase {
|
|
|
7657
7974
|
get column() {
|
|
7658
7975
|
return this._column;
|
|
7659
7976
|
}
|
|
7660
|
-
|
|
7977
|
+
set data(data) {
|
|
7978
|
+
this._data = data;
|
|
7979
|
+
this._cdr.detectChanges();
|
|
7980
|
+
}
|
|
7981
|
+
get data() {
|
|
7982
|
+
return this._data;
|
|
7983
|
+
}
|
|
7984
|
+
ngOnInit() {
|
|
7985
|
+
}
|
|
7661
7986
|
}
|
|
7662
7987
|
DefaultHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DefaultHeadCellComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7663
|
-
DefaultHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DefaultHeadCellComponent, selector: "teta-default-head-cell", inputs: { column: "column" }, usesInheritance: true, ngImport: i0, template: "<div class=\"column column_auto
|
|
7988
|
+
DefaultHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DefaultHeadCellComponent, selector: "teta-default-head-cell", inputs: { column: "column", data: "data" }, usesInheritance: true, ngImport: i0, template: "<div class=\"column column_auto\" [tetaHint]=\"column.hint || column.caption\">\n <div class=\"table-head__cell__text\">\n {{column.caption}}\n </div>\n <div *ngIf=\"column.unit\" class=\"table-head__cell__text\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0;padding:6px 8px}\n"], directives: [{ type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7664
7989
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DefaultHeadCellComponent, decorators: [{
|
|
7665
7990
|
type: Component,
|
|
7666
|
-
args: [{ selector: 'teta-default-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"column column_auto
|
|
7991
|
+
args: [{ selector: 'teta-default-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"column column_auto\" [tetaHint]=\"column.hint || column.caption\">\n <div class=\"table-head__cell__text\">\n {{column.caption}}\n </div>\n <div *ngIf=\"column.unit\" class=\"table-head__cell__text\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0;padding:6px 8px}\n"] }]
|
|
7667
7992
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
7668
7993
|
type: Input
|
|
7994
|
+
}], data: [{
|
|
7995
|
+
type: Input
|
|
7669
7996
|
}] } });
|
|
7670
7997
|
|
|
7671
7998
|
class HeadCellHostComponent {
|
|
@@ -7681,6 +8008,15 @@ class HeadCellHostComponent {
|
|
|
7681
8008
|
get column() {
|
|
7682
8009
|
return this._column;
|
|
7683
8010
|
}
|
|
8011
|
+
set data(data) {
|
|
8012
|
+
this._data = data;
|
|
8013
|
+
if (this.init) {
|
|
8014
|
+
this.componentRef.instance.data = this._data;
|
|
8015
|
+
}
|
|
8016
|
+
}
|
|
8017
|
+
get data() {
|
|
8018
|
+
return this._data;
|
|
8019
|
+
}
|
|
7684
8020
|
ngOnInit() {
|
|
7685
8021
|
if (!HeadCellComponentBase.isPrototypeOf(this.column.headCellComponent)) {
|
|
7686
8022
|
this.column.headCellComponent = DefaultHeadCellComponent;
|
|
@@ -7688,18 +8024,28 @@ class HeadCellHostComponent {
|
|
|
7688
8024
|
this.componentRef =
|
|
7689
8025
|
this.viewContainerRef.createComponent(this.column.headCellComponent);
|
|
7690
8026
|
this.componentRef.instance.column = this.column;
|
|
8027
|
+
this.componentRef.instance.data = this.data;
|
|
7691
8028
|
this.init = true;
|
|
7692
8029
|
}
|
|
7693
8030
|
}
|
|
7694
8031
|
HeadCellHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellHostComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7695
|
-
HeadCellHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellHostComponent, selector: "teta-head-cell-host", inputs: { column: "column" }, ngImport: i0, template: '', isInline: true, styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8032
|
+
HeadCellHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellHostComponent, selector: "teta-head-cell-host", inputs: { column: "column", data: "data" }, ngImport: i0, template: '', isInline: true, styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7696
8033
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellHostComponent, decorators: [{
|
|
7697
8034
|
type: Component,
|
|
7698
8035
|
args: [{ selector: 'teta-head-cell-host', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:contents}\n"] }]
|
|
7699
8036
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { column: [{
|
|
7700
8037
|
type: Input
|
|
8038
|
+
}], data: [{
|
|
8039
|
+
type: Input
|
|
7701
8040
|
}] } });
|
|
7702
8041
|
|
|
8042
|
+
class SortEvent {
|
|
8043
|
+
constructor(column, shiftKey) {
|
|
8044
|
+
this.column = column;
|
|
8045
|
+
this.shiftKey = shiftKey;
|
|
8046
|
+
}
|
|
8047
|
+
}
|
|
8048
|
+
|
|
7703
8049
|
class TabContentDirective {
|
|
7704
8050
|
constructor(template) {
|
|
7705
8051
|
this.template = template;
|
|
@@ -7814,7 +8160,7 @@ class TabsComponent {
|
|
|
7814
8160
|
}
|
|
7815
8161
|
}
|
|
7816
8162
|
TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7817
|
-
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TabsComponent, selector: "teta-tabs", inputs: { activeId: "activeId", destroyOnHide: "destroyOnHide" }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.tabs": "this.classTabs" } }, queries: [{ propertyName: "tabs", predicate: TabComponent }], ngImport: i0, template: "<div class=\"tabs-head\" role=\"tablist\">\n <div class=\"tabs-head-item\"\n *ngFor=\"let tab of tabs\"\n (click)=\"select(tab.id);\"\n [class.tabs-head-item_active]=\"tab.id === activeId\"\n [class.tabs-head-item_disabled]=\"tab.disabled\">\n <span [id]=\"tab.id\" class=\"tabs-title\"\n role=\"tab\"\n [attr.tabindex]=\"(tab.disabled ? '-1': undefined)\"\n [attr.aria-controls]=\"(!destroyOnHide || tab.id === activeId ? tab.id + '-panel' : null)\"\n [attr.aria-expanded]=\"tab.id === activeId\"\n [attr.aria-disabled]=\"tab.disabled\">\n {{tab.title}}\n <ng-template [ngTemplateOutlet]=\"tab.titleTpl?.template\"></ng-template>\n </span>\n </div>\n</div>\n<div class=\"tabs-content\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <ng-container *ngIf=\"!destroyOnHide || tab.id === activeId\">\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.template\"></ng-template>\n </ng-container>\n </ng-template>\n</div>\n", styles: [""], directives: [{ type:
|
|
8163
|
+
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TabsComponent, selector: "teta-tabs", inputs: { activeId: "activeId", destroyOnHide: "destroyOnHide" }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.tabs": "this.classTabs" } }, queries: [{ propertyName: "tabs", predicate: TabComponent }], ngImport: i0, template: "<div class=\"tabs-head\" role=\"tablist\">\n <div class=\"tabs-head-item\"\n *ngFor=\"let tab of tabs\"\n (click)=\"select(tab.id);\"\n [class.tabs-head-item_active]=\"tab.id === activeId\"\n [class.tabs-head-item_disabled]=\"tab.disabled\">\n <span [id]=\"tab.id\" class=\"tabs-title\"\n role=\"tab\"\n [attr.tabindex]=\"(tab.disabled ? '-1': undefined)\"\n [attr.aria-controls]=\"(!destroyOnHide || tab.id === activeId ? tab.id + '-panel' : null)\"\n [attr.aria-expanded]=\"tab.id === activeId\"\n [attr.aria-disabled]=\"tab.disabled\">\n {{tab.title}}\n <ng-template [ngTemplateOutlet]=\"tab.titleTpl?.template\"></ng-template>\n </span>\n </div>\n</div>\n<div class=\"tabs-content\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <ng-container *ngIf=\"!destroyOnHide || tab.id === activeId\">\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.template\"></ng-template>\n </ng-container>\n </ng-template>\n</div>\n", styles: [""], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
7818
8164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TabsComponent, decorators: [{
|
|
7819
8165
|
type: Component,
|
|
7820
8166
|
args: [{ selector: 'teta-tabs', template: "<div class=\"tabs-head\" role=\"tablist\">\n <div class=\"tabs-head-item\"\n *ngFor=\"let tab of tabs\"\n (click)=\"select(tab.id);\"\n [class.tabs-head-item_active]=\"tab.id === activeId\"\n [class.tabs-head-item_disabled]=\"tab.disabled\">\n <span [id]=\"tab.id\" class=\"tabs-title\"\n role=\"tab\"\n [attr.tabindex]=\"(tab.disabled ? '-1': undefined)\"\n [attr.aria-controls]=\"(!destroyOnHide || tab.id === activeId ? tab.id + '-panel' : null)\"\n [attr.aria-expanded]=\"tab.id === activeId\"\n [attr.aria-disabled]=\"tab.disabled\">\n {{tab.title}}\n <ng-template [ngTemplateOutlet]=\"tab.titleTpl?.template\"></ng-template>\n </span>\n </div>\n</div>\n<div class=\"tabs-content\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <ng-container *ngIf=\"!destroyOnHide || tab.id === activeId\">\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.template\"></ng-template>\n </ng-container>\n </ng-template>\n</div>\n", styles: [""] }]
|
|
@@ -7921,7 +8267,7 @@ class TreeItemComponent {
|
|
|
7921
8267
|
}
|
|
7922
8268
|
}
|
|
7923
8269
|
TreeItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TreeItemComponent, deps: [{ token: TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7924
|
-
TreeItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TreeItemComponent, selector: "teta-tree-item", inputs: { item: "item", depth: "depth", padding: "padding", childNodeName: "childNodeName", template: "template", noChildMode: "noChildMode" }, host: { properties: { "class.tree__item-container": "this.treeItemClass" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree__item_content\" [ngClass]=\"'tree__item_content-' + computedDepth\" (click)=\"openItem()\">\n <ng-container\n *ngTemplateOutlet=\"template; context: {$implicit: item, item: item, open: itemIsOpen, service: service, depth: depth}\"></ng-container>\n</div>\n<div [@children] class=\"tree__children\" *ngIf=\"itemIsOpen && item[childNodeName]?.length > 0\">\n <teta-tree-item *ngFor=\"let child of item[childNodeName];\"\n [item]=\"child\"\n [template]=\"template\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [depth]=\"depth + 1\"></teta-tree-item>\n</div>\n", styles: [""], components: [{ type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "noChildMode"] }], directives: [{ type:
|
|
8270
|
+
TreeItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TreeItemComponent, selector: "teta-tree-item", inputs: { item: "item", depth: "depth", padding: "padding", childNodeName: "childNodeName", template: "template", noChildMode: "noChildMode" }, host: { properties: { "class.tree__item-container": "this.treeItemClass" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree__item_content\" [ngClass]=\"'tree__item_content-' + computedDepth\" (click)=\"openItem()\">\n <ng-container\n *ngTemplateOutlet=\"template; context: {$implicit: item, item: item, open: itemIsOpen, service: service, depth: depth}\"></ng-container>\n</div>\n<div [@children] class=\"tree__children\" *ngIf=\"itemIsOpen && item[childNodeName]?.length > 0\">\n <teta-tree-item *ngFor=\"let child of item[childNodeName];\"\n [item]=\"child\"\n [template]=\"template\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [depth]=\"depth + 1\"></teta-tree-item>\n</div>\n", styles: [""], components: [{ type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "noChildMode"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
|
|
7925
8271
|
trigger('children', [
|
|
7926
8272
|
transition('void => *', [
|
|
7927
8273
|
style({ opacity: '0' }),
|
|
@@ -7998,7 +8344,7 @@ class TreeComponent {
|
|
|
7998
8344
|
}
|
|
7999
8345
|
}
|
|
8000
8346
|
TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TreeComponent, deps: [{ token: TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8001
|
-
TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", class: "class", padding: "padding", childNodeName: "childNodeName", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class": "this.getClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let item of data\">\n <teta-tree-item [item]=\"item\"\n [depth]=\"0\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [noChildMode]=\"noChildMode\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-container>\n", styles: [""], components: [{ type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "noChildMode"] }], directives: [{ type:
|
|
8347
|
+
TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", class: "class", padding: "padding", childNodeName: "childNodeName", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class": "this.getClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let item of data\">\n <teta-tree-item [item]=\"item\"\n [depth]=\"0\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [noChildMode]=\"noChildMode\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-container>\n", styles: [""], components: [{ type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "noChildMode"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8002
8348
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TreeComponent, decorators: [{
|
|
8003
8349
|
type: Component,
|
|
8004
8350
|
args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of data\">\n <teta-tree-item [item]=\"item\"\n [depth]=\"0\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [noChildMode]=\"noChildMode\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-container>\n", styles: [""] }]
|
|
@@ -8040,7 +8386,7 @@ class TreeItemToggleComponent {
|
|
|
8040
8386
|
}
|
|
8041
8387
|
}
|
|
8042
8388
|
TreeItemToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TreeItemToggleComponent, deps: [{ token: TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8043
|
-
TreeItemToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: { item: "item" }, ngImport: i0, template: "<teta-icon [name]=\"(open | async) ? 'arrowDownKey' : 'arrowRightKey'\"\n class=\"tree__icon\"></teta-icon>\n", styles: [":host{display:inline-flex;align-items:center}\n"], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], pipes: { "async":
|
|
8389
|
+
TreeItemToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: { item: "item" }, ngImport: i0, template: "<teta-icon [name]=\"(open | async) ? 'arrowDownKey' : 'arrowRightKey'\"\n class=\"tree__icon\"></teta-icon>\n", styles: [":host{display:inline-flex;align-items:center}\n"], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8044
8390
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TreeItemToggleComponent, decorators: [{
|
|
8045
8391
|
type: Component,
|
|
8046
8392
|
args: [{ selector: 'teta-tree-item-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon [name]=\"(open | async) ? 'arrowDownKey' : 'arrowRightKey'\"\n class=\"tree__icon\"></teta-icon>\n", styles: [":host{display:inline-flex;align-items:center}\n"] }]
|
|
@@ -8049,14 +8395,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
8049
8395
|
}] } });
|
|
8050
8396
|
|
|
8051
8397
|
class HeadCellDropdownComponent {
|
|
8052
|
-
constructor(_svc, _cdr) {
|
|
8398
|
+
constructor(_svc, _config, _cdr) {
|
|
8053
8399
|
this._svc = _svc;
|
|
8400
|
+
this._config = _config;
|
|
8054
8401
|
this._cdr = _cdr;
|
|
8055
8402
|
this.dropDownOpenChange = new EventEmitter();
|
|
8056
8403
|
this.autosize = new EventEmitter();
|
|
8057
8404
|
this.autosizeAll = new EventEmitter();
|
|
8058
|
-
this.shadow = true;
|
|
8059
|
-
this.bg = true;
|
|
8060
8405
|
this._alive = true;
|
|
8061
8406
|
this.compareItems = (item) => item.name;
|
|
8062
8407
|
this.setChildrenVisibility = (column, visible, hiddenColumns) => {
|
|
@@ -8080,7 +8425,8 @@ class HeadCellDropdownComponent {
|
|
|
8080
8425
|
this.showParents(column, hiddenColumns);
|
|
8081
8426
|
}
|
|
8082
8427
|
};
|
|
8083
|
-
this.
|
|
8428
|
+
this.locale = this._config.locale;
|
|
8429
|
+
this.filterOptions = this._svc.filterOptions;
|
|
8084
8430
|
this._svc.hiddenColumns
|
|
8085
8431
|
.pipe(takeWhile((_) => this._alive), map((_) => [..._]))
|
|
8086
8432
|
.subscribe((_) => {
|
|
@@ -8121,12 +8467,23 @@ class HeadCellDropdownComponent {
|
|
|
8121
8467
|
pinColumn() {
|
|
8122
8468
|
this._svc.pinColumn(this.column);
|
|
8123
8469
|
}
|
|
8470
|
+
sortAsc(event) {
|
|
8471
|
+
this._svc.sortAsc(new SortEvent(this.column, event.shiftKey));
|
|
8472
|
+
}
|
|
8473
|
+
sortDesc(event) {
|
|
8474
|
+
this._svc.sortDesc(new SortEvent(this.column, event.shiftKey));
|
|
8475
|
+
}
|
|
8124
8476
|
clearSort() {
|
|
8125
8477
|
this._svc.clearSort(this.column);
|
|
8126
8478
|
}
|
|
8127
8479
|
clearAllSort() {
|
|
8128
8480
|
this._svc.clearAllSort();
|
|
8129
8481
|
}
|
|
8482
|
+
// sortColumn(column: TableColumn, event: MouseEvent): void {
|
|
8483
|
+
// if (!event.defaultPrevented) {
|
|
8484
|
+
// this._svc.sort(new SortEvent(this.column, event.shiftKey));
|
|
8485
|
+
// }
|
|
8486
|
+
// }
|
|
8130
8487
|
hasFilteredColumns() {
|
|
8131
8488
|
return StateUtil.hasFilteredColumns(this.state);
|
|
8132
8489
|
}
|
|
@@ -8202,17 +8559,19 @@ class HeadCellDropdownComponent {
|
|
|
8202
8559
|
return ArrayUtil.findRecursive(columns, (iterableNode) => iterableNode.columns?.indexOf(column) >= 0, 'columns');
|
|
8203
8560
|
}
|
|
8204
8561
|
}
|
|
8205
|
-
HeadCellDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellDropdownComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8206
|
-
HeadCellDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange", autosize: "autosize", autosizeAll: "autosizeAll" }, host: { listeners: { "keydown.enter": "enter()" }
|
|
8562
|
+
HeadCellDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellDropdownComponent, deps: [{ token: TableService }, { token: TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8563
|
+
HeadCellDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", data: "data", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange", autosize: "autosize", autosizeAll: "autosizeAll" }, host: { listeners: { "keydown.enter": "enter()" } }, ngImport: i0, template: "<teta-tabs class=\"column_auto\" *ngIf=\"locale | async as loc\">\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'menu'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list column_auto\">\n <div class=\"list-item list-item_interactive\" (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n <ng-container *ngIf=\"column.sortable\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosize.emit()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAll.emit()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n </div>\n </ng-template>\n </teta-tab>\n <teta-tab *ngIf=\"column.filterable\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'filter'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <teta-filter-host [column]=\"column\"\n [data]=\"data\"\n [state]=\"state\"\n *ngIf=\"filterOptions | async as options\"\n [filterOptions]=\"options[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n {{loc.clear}}\n </button>\n <button teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n {{loc.apply}}\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n <teta-tab *ngIf=\"column.headDropdownTemplate\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'measurement'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"column.headDropdownTemplate; context: {$implicit: column, column: column}\"></ng-container>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'eye'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\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 </div>\n <teta-toolbar class=\"justify-content-end\">\n <button teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;width:250px}\n"], components: [{ type: TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }, { type: TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: FilterHostComponent, selector: "teta-filter-host", inputs: ["column", "state", "data", "filterOptions"], outputs: ["filterChanged"] }, { type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }, { type: TreeComponent, selector: "teta-tree", inputs: ["data", "class", "padding", "childNodeName", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TabTitleDirective, selector: "[tetaTabTitle]" }, { type: TabContentDirective, selector: "[tetaTabContent]" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8207
8564
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellDropdownComponent, decorators: [{
|
|
8208
8565
|
type: Component,
|
|
8209
|
-
args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\"
|
|
8210
|
-
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
8566
|
+
args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\" *ngIf=\"locale | async as loc\">\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'menu'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list column_auto\">\n <div class=\"list-item list-item_interactive\" (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n <ng-container *ngIf=\"column.sortable\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosize.emit()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAll.emit()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n </div>\n </ng-template>\n </teta-tab>\n <teta-tab *ngIf=\"column.filterable\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'filter'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <teta-filter-host [column]=\"column\"\n [data]=\"data\"\n [state]=\"state\"\n *ngIf=\"filterOptions | async as options\"\n [filterOptions]=\"options[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n {{loc.clear}}\n </button>\n <button teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n {{loc.apply}}\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n <teta-tab *ngIf=\"column.headDropdownTemplate\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'measurement'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"column.headDropdownTemplate; context: {$implicit: column, column: column}\"></ng-container>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'eye'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\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 </div>\n <teta-toolbar class=\"justify-content-end\">\n <button teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;width:250px}\n"] }]
|
|
8567
|
+
}], ctorParameters: function () { return [{ type: TableService }, { type: TetaConfigService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
8211
8568
|
type: Input
|
|
8212
8569
|
}], column: [{
|
|
8213
8570
|
type: Input
|
|
8214
8571
|
}], state: [{
|
|
8215
8572
|
type: Input
|
|
8573
|
+
}], data: [{
|
|
8574
|
+
type: Input
|
|
8216
8575
|
}], dropDownOpen: [{
|
|
8217
8576
|
type: Input
|
|
8218
8577
|
}], dropDownOpenChange: [{
|
|
@@ -8221,12 +8580,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
8221
8580
|
type: Output
|
|
8222
8581
|
}], autosizeAll: [{
|
|
8223
8582
|
type: Output
|
|
8224
|
-
}], shadow: [{
|
|
8225
|
-
type: HostBinding,
|
|
8226
|
-
args: ['class.shadow-2']
|
|
8227
|
-
}], bg: [{
|
|
8228
|
-
type: HostBinding,
|
|
8229
|
-
args: ['class.bg-background-50']
|
|
8230
8583
|
}], enter: [{
|
|
8231
8584
|
type: HostListener,
|
|
8232
8585
|
args: ['keydown.enter']
|
|
@@ -8368,11 +8721,6 @@ class HeadCellComponent {
|
|
|
8368
8721
|
autosizeAllColumns() {
|
|
8369
8722
|
this._svc.autosizeAllColumns(this._elementRef.nativeElement);
|
|
8370
8723
|
}
|
|
8371
|
-
sortColumn(column, event) {
|
|
8372
|
-
if (!event.defaultPrevented) {
|
|
8373
|
-
this._svc.sort(new SortEvent(this.column, event.shiftKey));
|
|
8374
|
-
}
|
|
8375
|
-
}
|
|
8376
8724
|
resizeStart(event) {
|
|
8377
8725
|
const rect = this._elementRef.nativeElement.getBoundingClientRect();
|
|
8378
8726
|
this._startPosition = rect.x;
|
|
@@ -8380,8 +8728,10 @@ class HeadCellComponent {
|
|
|
8380
8728
|
}
|
|
8381
8729
|
resizeProcess(event) {
|
|
8382
8730
|
if (this._startPosition && event.pageX > 0) {
|
|
8383
|
-
|
|
8384
|
-
|
|
8731
|
+
requestAnimationFrame(() => {
|
|
8732
|
+
this._svc.resizeColumn(new ColumnResizeEvent(this.column, event.pageX - this._startPosition));
|
|
8733
|
+
this._app.tick();
|
|
8734
|
+
});
|
|
8385
8735
|
}
|
|
8386
8736
|
}
|
|
8387
8737
|
resizeEnd() {
|
|
@@ -8389,14 +8739,19 @@ class HeadCellComponent {
|
|
|
8389
8739
|
}
|
|
8390
8740
|
}
|
|
8391
8741
|
HeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellComponent, deps: [{ token: TableService }, { token: i0.ApplicationRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8392
|
-
HeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellComponent, selector: "teta-head-cell", inputs: { column: "column", showHeadCellMenu: "showHeadCellMenu" }, host: { listeners: { "dragstart": "dragstart($event)", "dragenter": "dragenter($event)", "dragover": "allowDrop($event)", "dragleave": "dragleave($event)", "dragend": "dragend($event)", "drop": "drop($event)" } }, ngImport: i0, template: "<div draggable=\"true\" class=\"row row_auto\">\n <
|
|
8742
|
+
HeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellComponent, selector: "teta-head-cell", inputs: { column: "column", showHeadCellMenu: "showHeadCellMenu", data: "data" }, host: { listeners: { "dragstart": "dragstart($event)", "dragenter": "dragenter($event)", "dragover": "allowDrop($event)", "dragleave": "dragleave($event)", "dragend": "dragend($event)", "drop": "drop($event)" }, properties: { "class.table-head__cell_active": "this.dropDownOpen" } }, ngImport: i0, template: "<div draggable=\"true\" class=\"row row_auto\">\n <teta-dropdown [autoCloseIgnore]=\"['enter']\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"true\"\n [(open)]=\"dropDownOpen\"\n [align]=\"align.left\"\n (click)=\"$event.preventDefault()\"\n [class.table-head__cell__menu_open]=\"dropDownOpen\"\n class=\"column column_auto justify-content-center\">\n <div tetaDropdownHead class=\"table-head__cell__wrapper\"\n [ngClass]=\"column.headCellClass\">\n <teta-head-cell-host [column]=\"column\" [data]=\"data\"></teta-head-cell-host>\n <teta-icon *ngIf=\"iconName | async as icon\"\n [palette]=\"'text'\"\n [name]=\"icon\"></teta-icon>\n </div>\n <teta-head-cell-dropdown tetaDropdownContent\n *ngIf=\"showHeadCellMenu\"\n (autosize)=\"autosizeColumn()\"\n (autosizeAll)=\"autosizeAllColumns()\"\n [data]=\"data\"\n [column]=\"column\"\n [columns]=\"columns | async\"\n [state]=\"state | async\"\n [(dropDownOpen)]=\"dropDownOpen\"></teta-head-cell-dropdown>\n </teta-dropdown>\n <div class=\"drop-area\"\n draggable=\"false\"\n [class.drop-area_left]=\"showDrag === 'left'\"\n [class.drop-area_right]=\"showDrag === 'right'\"\n *ngIf=\"showDrag\"></div>\n</div>\n<div class=\"table-head__cell__resize\"\n draggable=\"false\"\n (dragstart)=\"$event.preventDefault();$event.stopPropagation()\"\n (drag)=\"$event.preventDefault();$event.stopPropagation()\"\n [tetaResizeDrag]=\"'vertical'\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd()\"></div>\n", styles: [".drop-area{position:absolute;width:1px;background:var(--color-text-50);top:0;bottom:0;z-index:10}.drop-area_left{left:-1px}.drop-area_right{right:-1px}\n"], components: [{ type: DropdownComponent, selector: "teta-dropdown" }, { type: HeadCellHostComponent, selector: "teta-head-cell-host", inputs: ["column", "data"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: ["columns", "column", "state", "data", "dropDownOpen"], outputs: ["dropDownOpenChange", "autosize", "autosizeAll"] }], directives: [{ type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: ResizeDragDirective, selector: "[tetaResizeDrag]", inputs: ["tetaResizeDrag"], outputs: ["resizeStart", "resizeProcess", "resizeEnd"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8393
8743
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellComponent, decorators: [{
|
|
8394
8744
|
type: Component,
|
|
8395
|
-
args: [{ selector: 'teta-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div draggable=\"true\" class=\"row row_auto\">\n <
|
|
8745
|
+
args: [{ selector: 'teta-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div draggable=\"true\" class=\"row row_auto\">\n <teta-dropdown [autoCloseIgnore]=\"['enter']\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"true\"\n [(open)]=\"dropDownOpen\"\n [align]=\"align.left\"\n (click)=\"$event.preventDefault()\"\n [class.table-head__cell__menu_open]=\"dropDownOpen\"\n class=\"column column_auto justify-content-center\">\n <div tetaDropdownHead class=\"table-head__cell__wrapper\"\n [ngClass]=\"column.headCellClass\">\n <teta-head-cell-host [column]=\"column\" [data]=\"data\"></teta-head-cell-host>\n <teta-icon *ngIf=\"iconName | async as icon\"\n [palette]=\"'text'\"\n [name]=\"icon\"></teta-icon>\n </div>\n <teta-head-cell-dropdown tetaDropdownContent\n *ngIf=\"showHeadCellMenu\"\n (autosize)=\"autosizeColumn()\"\n (autosizeAll)=\"autosizeAllColumns()\"\n [data]=\"data\"\n [column]=\"column\"\n [columns]=\"columns | async\"\n [state]=\"state | async\"\n [(dropDownOpen)]=\"dropDownOpen\"></teta-head-cell-dropdown>\n </teta-dropdown>\n <div class=\"drop-area\"\n draggable=\"false\"\n [class.drop-area_left]=\"showDrag === 'left'\"\n [class.drop-area_right]=\"showDrag === 'right'\"\n *ngIf=\"showDrag\"></div>\n</div>\n<div class=\"table-head__cell__resize\"\n draggable=\"false\"\n (dragstart)=\"$event.preventDefault();$event.stopPropagation()\"\n (drag)=\"$event.preventDefault();$event.stopPropagation()\"\n [tetaResizeDrag]=\"'vertical'\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd()\"></div>\n", styles: [".drop-area{position:absolute;width:1px;background:var(--color-text-50);top:0;bottom:0;z-index:10}.drop-area_left{left:-1px}.drop-area_right{right:-1px}\n"] }]
|
|
8396
8746
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ApplicationRef }, { type: i0.ElementRef }]; }, propDecorators: { column: [{
|
|
8397
8747
|
type: Input
|
|
8398
8748
|
}], showHeadCellMenu: [{
|
|
8399
8749
|
type: Input
|
|
8750
|
+
}], data: [{
|
|
8751
|
+
type: Input
|
|
8752
|
+
}], dropDownOpen: [{
|
|
8753
|
+
type: HostBinding,
|
|
8754
|
+
args: ['class.table-head__cell_active']
|
|
8400
8755
|
}], dragstart: [{
|
|
8401
8756
|
type: HostListener,
|
|
8402
8757
|
args: ['dragstart', ['$event']]
|
|
@@ -8435,38 +8790,52 @@ class TableHeadGroupComponent {
|
|
|
8435
8790
|
get column() {
|
|
8436
8791
|
return this._column;
|
|
8437
8792
|
}
|
|
8438
|
-
get
|
|
8439
|
-
|
|
8793
|
+
get flexGrow() {
|
|
8794
|
+
if (this.column?.columns?.length > 0) {
|
|
8795
|
+
const flat = ArrayUtil.flatten(this.column?.columns, 'columns', true);
|
|
8796
|
+
return flat?.reduce((prev, curr) => prev + curr.flex, 0);
|
|
8797
|
+
}
|
|
8798
|
+
return this.column.flex;
|
|
8440
8799
|
}
|
|
8441
|
-
get
|
|
8442
|
-
if (this.
|
|
8443
|
-
|
|
8800
|
+
get flexBasis() {
|
|
8801
|
+
if (this.column?.columns?.length > 0) {
|
|
8802
|
+
const flat = ArrayUtil.flatten(this.column?.columns, 'columns', true);
|
|
8803
|
+
return flat?.reduce((prev, curr) => prev + curr.width, 0);
|
|
8444
8804
|
}
|
|
8445
|
-
return
|
|
8805
|
+
return this.column.width;
|
|
8446
8806
|
}
|
|
8447
|
-
get
|
|
8448
|
-
return TableUtil.
|
|
8807
|
+
get _leaves() {
|
|
8808
|
+
return TableUtil.getColumnLeaves(this._column)?.filter((_) => this._hiddenColumns.indexOf(_.name) < 0);
|
|
8449
8809
|
}
|
|
8450
8810
|
columnIsHidden(column) {
|
|
8451
8811
|
return this._svc.columnIsHidden(column);
|
|
8452
8812
|
}
|
|
8453
|
-
ngOnInit() {
|
|
8813
|
+
ngOnInit() {
|
|
8814
|
+
}
|
|
8454
8815
|
ngOnDestroy() {
|
|
8455
8816
|
this._alive = false;
|
|
8456
8817
|
}
|
|
8457
8818
|
}
|
|
8458
8819
|
TableHeadGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableHeadGroupComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8459
|
-
TableHeadGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: { showHeadCellMenu: "showHeadCellMenu", column: "column" }, host: { properties: { "style.
|
|
8820
|
+
TableHeadGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: { showHeadCellMenu: "showHeadCellMenu", data: "data", column: "column" }, host: { properties: { "style.flex-grow": "this.flexGrow", "style.min-width.px": "this.flexBasis", "style.flex-basis.px": "this.flexBasis" } }, ngImport: i0, template: "<ng-container *ngIf=\"column.columns && column.columns.length > 0\">\n <div class=\"table-head__group__container\">\n <div class=\"table-head__group__caption\">\n {{column.caption}}\n </div>\n <div class=\"table-head__group__children\">\n <ng-container *ngFor=\"let col of column.columns\">\n <teta-table-head-group\n class=\"table-head__group\"\n *ngIf=\"!columnIsHidden(col)\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"col\"></teta-table-head-group>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!column.columns || column.columns.length === 0\">\n <teta-head-cell\n *ngIf=\"!columnIsHidden(column)\"\n class=\"table-head__cell\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"></teta-head-cell>\n</ng-container>\n", styles: [""], components: [{ type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }, { type: HeadCellComponent, selector: "teta-head-cell", inputs: ["column", "showHeadCellMenu", "data"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8460
8821
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableHeadGroupComponent, decorators: [{
|
|
8461
8822
|
type: Component,
|
|
8462
|
-
args: [{ selector: 'teta-table-head-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"column.columns && column.columns.length > 0\">\n <div class=\"table-head__group__container\">\n <div class=\"table-head__group__caption\">\n {{column.caption}}\n </div>\n <div class=\"table-head__group__children\"
|
|
8823
|
+
args: [{ selector: 'teta-table-head-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"column.columns && column.columns.length > 0\">\n <div class=\"table-head__group__container\">\n <div class=\"table-head__group__caption\">\n {{column.caption}}\n </div>\n <div class=\"table-head__group__children\">\n <ng-container *ngFor=\"let col of column.columns\">\n <teta-table-head-group\n class=\"table-head__group\"\n *ngIf=\"!columnIsHidden(col)\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"col\"></teta-table-head-group>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!column.columns || column.columns.length === 0\">\n <teta-head-cell\n *ngIf=\"!columnIsHidden(column)\"\n class=\"table-head__cell\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"></teta-head-cell>\n</ng-container>\n", styles: [""] }]
|
|
8463
8824
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { showHeadCellMenu: [{
|
|
8464
8825
|
type: Input
|
|
8826
|
+
}], data: [{
|
|
8827
|
+
type: Input
|
|
8465
8828
|
}], column: [{
|
|
8466
8829
|
type: Input
|
|
8467
|
-
}],
|
|
8830
|
+
}], flexGrow: [{
|
|
8831
|
+
type: HostBinding,
|
|
8832
|
+
args: ['style.flex-grow']
|
|
8833
|
+
}], flexBasis: [{
|
|
8834
|
+
type: HostBinding,
|
|
8835
|
+
args: ['style.min-width.px']
|
|
8836
|
+
}, {
|
|
8468
8837
|
type: HostBinding,
|
|
8469
|
-
args: ['style.
|
|
8838
|
+
args: ['style.flex-basis.px']
|
|
8470
8839
|
}] } });
|
|
8471
8840
|
|
|
8472
8841
|
class TableHeadComponent {
|
|
@@ -8484,22 +8853,21 @@ class TableHeadComponent {
|
|
|
8484
8853
|
const [columns, hiddenColumns] = values;
|
|
8485
8854
|
this._hiddenColumns = hiddenColumns;
|
|
8486
8855
|
this.columns = columns;
|
|
8487
|
-
|
|
8488
|
-
.filter((_) => this._hiddenColumns.indexOf(_.name) < 0)
|
|
8489
|
-
|
|
8856
|
+
const locked = ArrayUtil.flatten(columns, 'columns', true)
|
|
8857
|
+
.filter((_) => this._hiddenColumns.indexOf(_.name) < 0 && _.locked);
|
|
8858
|
+
const startWidth = this.selectType !== SelectType.none ? 28 : 0;
|
|
8859
|
+
this.lockedFlex = locked.reduce((prev, curr) => prev + curr.flex, 0);
|
|
8860
|
+
this.lockedWidth = locked.reduce((prev, curr) => prev + curr.width, startWidth);
|
|
8490
8861
|
this._cdr.markForCheck();
|
|
8491
8862
|
});
|
|
8492
8863
|
this._svc.state.pipe(takeWhile((_) => this._alive)).subscribe((_) => {
|
|
8493
8864
|
this.state = _;
|
|
8494
8865
|
this._cdr.markForCheck();
|
|
8495
8866
|
});
|
|
8496
|
-
|
|
8497
|
-
|
|
8498
|
-
|
|
8499
|
-
|
|
8500
|
-
template = `48px ${template}`;
|
|
8501
|
-
}
|
|
8502
|
-
return template;
|
|
8867
|
+
this._svc.displayData.pipe(takeWhile((_) => this._alive)).subscribe((_) => {
|
|
8868
|
+
this.data = _;
|
|
8869
|
+
this._cdr.markForCheck();
|
|
8870
|
+
});
|
|
8503
8871
|
}
|
|
8504
8872
|
set columns(columns) {
|
|
8505
8873
|
this._columns = columns;
|
|
@@ -8514,36 +8882,20 @@ class TableHeadComponent {
|
|
|
8514
8882
|
get unlocked() {
|
|
8515
8883
|
return this._columns.filter((_) => _.locked === false && this._hiddenColumns.indexOf(_.name) < 0);
|
|
8516
8884
|
}
|
|
8517
|
-
getSpan() {
|
|
8518
|
-
if (this.locked?.length > 0) {
|
|
8519
|
-
let span = this.locked.length;
|
|
8520
|
-
if (this.selectType !== SelectType.none) {
|
|
8521
|
-
span += 1;
|
|
8522
|
-
}
|
|
8523
|
-
return `span ${span}`;
|
|
8524
|
-
}
|
|
8525
|
-
return null;
|
|
8526
|
-
}
|
|
8527
|
-
getLockedGridTemplateColumns(columns) {
|
|
8528
|
-
let template = TableUtil.getGridTemplateColumns(columns);
|
|
8529
|
-
if (this.selectType !== SelectType.none) {
|
|
8530
|
-
template = `48px ${template}`;
|
|
8531
|
-
}
|
|
8532
|
-
return template;
|
|
8533
|
-
}
|
|
8534
8885
|
track(index, item) {
|
|
8535
8886
|
return item.name;
|
|
8536
8887
|
}
|
|
8537
|
-
ngOnInit() {
|
|
8888
|
+
ngOnInit() {
|
|
8889
|
+
}
|
|
8538
8890
|
ngOnDestroy() {
|
|
8539
8891
|
this._alive = false;
|
|
8540
8892
|
}
|
|
8541
8893
|
}
|
|
8542
8894
|
TableHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableHeadComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8543
|
-
TableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableHeadComponent, selector: "teta-table-head", inputs: { selectType: "selectType", showHeadCellMenu: "showHeadCellMenu" }, host: { properties: { "class.table-head": "this.tableHeadClass"
|
|
8895
|
+
TableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableHeadComponent, selector: "teta-table-head", inputs: { selectType: "selectType", showHeadCellMenu: "showHeadCellMenu" }, host: { properties: { "class.table-head": "this.tableHeadClass" } }, ngImport: i0, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <teta-selection-head-cell\n *ngIf=\"selectType !== selectTypeEnum.none\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of locked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</div>\n<ng-container *ngIf=\"unlocked?.length\">\n <teta-selection-head-cell\n *ngIf=\"selectType !== selectTypeEnum.none && locked?.length < 1\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of unlocked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</ng-container>\n", styles: [""], components: [{ type: SelectionHeadCellComponent, selector: "teta-selection-head-cell" }, { type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8544
8896
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableHeadComponent, decorators: [{
|
|
8545
8897
|
type: Component,
|
|
8546
|
-
args: [{ selector: 'teta-table-head', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.
|
|
8898
|
+
args: [{ selector: 'teta-table-head', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <teta-selection-head-cell\n *ngIf=\"selectType !== selectTypeEnum.none\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of locked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</div>\n<ng-container *ngIf=\"unlocked?.length\">\n <teta-selection-head-cell\n *ngIf=\"selectType !== selectTypeEnum.none && locked?.length < 1\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of unlocked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</ng-container>\n", styles: [""] }]
|
|
8547
8899
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectType: [{
|
|
8548
8900
|
type: Input
|
|
8549
8901
|
}], showHeadCellMenu: [{
|
|
@@ -8551,9 +8903,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
8551
8903
|
}], tableHeadClass: [{
|
|
8552
8904
|
type: HostBinding,
|
|
8553
8905
|
args: ['class.table-head']
|
|
8554
|
-
}], getTemplateColumns: [{
|
|
8555
|
-
type: HostBinding,
|
|
8556
|
-
args: ['style.grid-template-columns']
|
|
8557
8906
|
}] } });
|
|
8558
8907
|
|
|
8559
8908
|
var AggregationType;
|
|
@@ -8594,7 +8943,7 @@ class SelectionCellComponent {
|
|
|
8594
8943
|
}
|
|
8595
8944
|
}
|
|
8596
8945
|
SelectionCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8597
|
-
SelectionCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SelectionCellComponent, selector: "teta-selection-cell", inputs: { row: "row" }, host: { properties: { "class.cell": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox [binary]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"selectedRows?.indexOf(row) >= 0\"\n (ngModelChange)=\"selectRow($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], components: [{ type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8946
|
+
SelectionCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SelectionCellComponent, selector: "teta-selection-cell", inputs: { row: "row" }, host: { properties: { "class.cell": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox [binary]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"selectedRows?.indexOf(row) >= 0\"\n (ngModelChange)=\"selectRow($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], components: [{ type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8598
8947
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionCellComponent, decorators: [{
|
|
8599
8948
|
type: Component,
|
|
8600
8949
|
args: [{ selector: 'teta-selection-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-checkbox [binary]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"selectedRows?.indexOf(row) >= 0\"\n (ngModelChange)=\"selectRow($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"] }]
|
|
@@ -8615,18 +8964,23 @@ class CellComponentBase {
|
|
|
8615
8964
|
this._alive = true;
|
|
8616
8965
|
}
|
|
8617
8966
|
get edit() {
|
|
8618
|
-
return (this._edit &&
|
|
8619
|
-
this.svc.boolOrFuncCallback(this.column.editable)({
|
|
8620
|
-
column: this.column,
|
|
8621
|
-
row: this.row,
|
|
8622
|
-
}));
|
|
8967
|
+
return (this._edit && this.editable);
|
|
8623
8968
|
}
|
|
8624
|
-
|
|
8625
|
-
this.svc.
|
|
8969
|
+
get editable() {
|
|
8970
|
+
return this.svc.boolOrFuncCallback(this.column.editable)({
|
|
8626
8971
|
column: this.column,
|
|
8627
8972
|
row: this.row,
|
|
8628
8973
|
});
|
|
8629
8974
|
}
|
|
8975
|
+
get index() {
|
|
8976
|
+
return this.svc.getRowIndex(this.row);
|
|
8977
|
+
}
|
|
8978
|
+
valueChanged() {
|
|
8979
|
+
this.svc.changeValue({
|
|
8980
|
+
column: this.column.name,
|
|
8981
|
+
row: this.index,
|
|
8982
|
+
});
|
|
8983
|
+
}
|
|
8630
8984
|
ngOnDestroy() {
|
|
8631
8985
|
this._alive = false;
|
|
8632
8986
|
}
|
|
@@ -8637,38 +8991,27 @@ class CellComponentBase {
|
|
|
8637
8991
|
this.svc.editRowStart
|
|
8638
8992
|
.pipe(takeWhile((_) => this._alive))
|
|
8639
8993
|
.subscribe((cell) => {
|
|
8640
|
-
if (this.
|
|
8641
|
-
!this._edit
|
|
8642
|
-
// &&
|
|
8643
|
-
// this.svc.boolOrFuncCallback(this.svc.cellEditable)({
|
|
8644
|
-
// column: this.column,
|
|
8645
|
-
// row: this.row,
|
|
8646
|
-
// })
|
|
8647
|
-
) {
|
|
8994
|
+
if (this.index === cell?.row && !this._edit) {
|
|
8648
8995
|
this.start(cell, 'row');
|
|
8649
8996
|
}
|
|
8650
|
-
if (this.
|
|
8997
|
+
if (this.index !== cell?.row && this._edit) {
|
|
8651
8998
|
this.stop();
|
|
8652
8999
|
}
|
|
8653
9000
|
});
|
|
8654
9001
|
this.svc.editCellStart
|
|
8655
9002
|
.pipe(takeWhile((_) => this._alive))
|
|
8656
9003
|
.subscribe((cell) => {
|
|
8657
|
-
if (this.row === cell.
|
|
8658
|
-
this.column.name === cell.column.name &&
|
|
8659
|
-
!this._edit) {
|
|
9004
|
+
if (this.index === cell?.row && this.column.name === cell?.column && !this._edit) {
|
|
8660
9005
|
this.start(cell, 'cell');
|
|
8661
9006
|
}
|
|
8662
|
-
if ((this.
|
|
8663
|
-
this._edit) {
|
|
9007
|
+
if ((this.index !== cell?.row || this.column.name !== cell?.column) && this._edit) {
|
|
8664
9008
|
this.stop();
|
|
8665
9009
|
}
|
|
8666
9010
|
});
|
|
8667
9011
|
this.svc.valueSet
|
|
8668
9012
|
.pipe(takeWhile((_) => this._alive))
|
|
8669
9013
|
.subscribe((cellValue) => {
|
|
8670
|
-
if (this.row === cellValue.
|
|
8671
|
-
&& this.column.name === cellValue.cell.column.name) {
|
|
9014
|
+
if (this.index === cellValue.row && this.column.name === cellValue.column) {
|
|
8672
9015
|
this.row.data[this.column.name] = cellValue.value;
|
|
8673
9016
|
this.cdr.detectChanges();
|
|
8674
9017
|
}
|
|
@@ -8676,15 +9019,15 @@ class CellComponentBase {
|
|
|
8676
9019
|
this.svc.valueChanged
|
|
8677
9020
|
.pipe(takeWhile((_) => this._alive))
|
|
8678
9021
|
.subscribe((cellValue) => {
|
|
8679
|
-
if (this.
|
|
9022
|
+
if (this.index === cellValue.row) {
|
|
8680
9023
|
this.cdr.detectChanges();
|
|
8681
9024
|
}
|
|
8682
9025
|
});
|
|
8683
9026
|
}
|
|
8684
9027
|
start(initiator, type) {
|
|
8685
9028
|
this._edit = true;
|
|
9029
|
+
this.cdr.detectChanges();
|
|
8686
9030
|
this.startEdit(initiator, type);
|
|
8687
|
-
this.cdr.markForCheck();
|
|
8688
9031
|
}
|
|
8689
9032
|
stop() {
|
|
8690
9033
|
this._edit = false;
|
|
@@ -8717,12 +9060,16 @@ class NumericCellComponent extends CellComponentBase {
|
|
|
8717
9060
|
super.ngOnInit();
|
|
8718
9061
|
}
|
|
8719
9062
|
startEdit(initiator, type) {
|
|
8720
|
-
if (initiator?.column
|
|
8721
|
-
|
|
8722
|
-
|
|
8723
|
-
|
|
8724
|
-
|
|
8725
|
-
|
|
9063
|
+
if (initiator?.column === this.column.name) {
|
|
9064
|
+
this.cdr.detectChanges();
|
|
9065
|
+
this.input.nativeElement?.focus();
|
|
9066
|
+
// this.input.nativeElement?.select();
|
|
9067
|
+
// this.cdr.detectChanges();
|
|
9068
|
+
// setTimeout(() => {
|
|
9069
|
+
// this.input?.nativeElement.focus();
|
|
9070
|
+
// this.input?.nativeElement.select();
|
|
9071
|
+
// this.cdr.markForCheck();
|
|
9072
|
+
// }, 0);
|
|
8726
9073
|
}
|
|
8727
9074
|
}
|
|
8728
9075
|
stopEdit() {
|
|
@@ -8730,10 +9077,10 @@ class NumericCellComponent extends CellComponentBase {
|
|
|
8730
9077
|
}
|
|
8731
9078
|
}
|
|
8732
9079
|
NumericCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8733
|
-
NumericCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: NumericCellComponent, selector: "teta-numeric-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9080
|
+
NumericCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: NumericCellComponent, selector: "teta-numeric-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | tetaNumber : 2}}\n</span>\n<input #input\n *ngIf=\"edit\"\n tetaOnlyNumber\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event;\"/>\n", styles: [""], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "tetaNumber": NumberPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8734
9081
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericCellComponent, decorators: [{
|
|
8735
9082
|
type: Component,
|
|
8736
|
-
args: [{ selector: 'teta-numeric-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9083
|
+
args: [{ selector: 'teta-numeric-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | tetaNumber : 2}}\n</span>\n<input #input\n *ngIf=\"edit\"\n tetaOnlyNumber\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event;\"/>\n", styles: [""] }]
|
|
8737
9084
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
8738
9085
|
type: Input
|
|
8739
9086
|
}], row: [{
|
|
@@ -8758,7 +9105,7 @@ class DateCellComponent extends CellComponentBase {
|
|
|
8758
9105
|
this.cdr.detectChanges();
|
|
8759
9106
|
}
|
|
8760
9107
|
startEdit(initiator, type) {
|
|
8761
|
-
if (initiator?.column
|
|
9108
|
+
if (initiator?.column === this.column.name) {
|
|
8762
9109
|
setTimeout(() => {
|
|
8763
9110
|
this.input?.focus();
|
|
8764
9111
|
this.cdr.markForCheck();
|
|
@@ -8770,10 +9117,10 @@ class DateCellComponent extends CellComponentBase {
|
|
|
8770
9117
|
}
|
|
8771
9118
|
}
|
|
8772
9119
|
DateCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8773
|
-
DateCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateCellComponent, selector: "teta-date-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9120
|
+
DateCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateCellComponent, selector: "teta-date-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | date : 'dd.MM.yyyy'}}\n</span>\n<teta-date-picker class=\"datepicker-table\"\n #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""], components: [{ type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i3.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8774
9121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateCellComponent, decorators: [{
|
|
8775
9122
|
type: Component,
|
|
8776
|
-
args: [{ selector: 'teta-date-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9123
|
+
args: [{ selector: 'teta-date-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | date : 'dd.MM.yyyy'}}\n</span>\n<teta-date-picker class=\"datepicker-table\"\n #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""] }]
|
|
8777
9124
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
8778
9125
|
type: Input
|
|
8779
9126
|
}], row: [{
|
|
@@ -8809,7 +9156,7 @@ class ListCellComponent extends CellComponentBase {
|
|
|
8809
9156
|
this.valueChanged();
|
|
8810
9157
|
}
|
|
8811
9158
|
startEdit(initiator, type) {
|
|
8812
|
-
if (initiator?.column
|
|
9159
|
+
if (initiator?.column === this.column.name) {
|
|
8813
9160
|
setTimeout(() => {
|
|
8814
9161
|
this.input?.focus();
|
|
8815
9162
|
this.cdr.markForCheck();
|
|
@@ -8836,10 +9183,10 @@ class ListCellComponent extends CellComponentBase {
|
|
|
8836
9183
|
}
|
|
8837
9184
|
}
|
|
8838
9185
|
ListCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8839
|
-
ListCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ListCellComponent, selector: "teta-list-cell", inputs: { column: "column", row: "row", filterOptions: "filterOptions" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9186
|
+
ListCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ListCellComponent, selector: "teta-list-cell", inputs: { column: "column", row: "row", filterOptions: "filterOptions" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{value}}\n</span>\n<teta-select #input\n class=\"row_auto select-table\"\n *ngIf=\"edit\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\">\n</teta-select>\n", styles: [""], components: [{ type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8840
9187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListCellComponent, decorators: [{
|
|
8841
9188
|
type: Component,
|
|
8842
|
-
args: [{ selector: 'teta-list-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9189
|
+
args: [{ selector: 'teta-list-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{value}}\n</span>\n<teta-select #input\n class=\"row_auto select-table\"\n *ngIf=\"edit\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\">\n</teta-select>\n", styles: [""] }]
|
|
8843
9190
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
8844
9191
|
type: Input
|
|
8845
9192
|
}], row: [{
|
|
@@ -8864,23 +9211,29 @@ class StringCellComponent extends CellComponentBase {
|
|
|
8864
9211
|
super.ngOnInit();
|
|
8865
9212
|
}
|
|
8866
9213
|
startEdit(initiator, type) {
|
|
8867
|
-
if (initiator?.column
|
|
8868
|
-
this.cdr.
|
|
8869
|
-
|
|
8870
|
-
|
|
8871
|
-
|
|
8872
|
-
|
|
9214
|
+
if (initiator?.column === this.column.name) {
|
|
9215
|
+
this.cdr.detectChanges();
|
|
9216
|
+
this.input.nativeElement?.focus();
|
|
9217
|
+
this.input.nativeElement?.select();
|
|
9218
|
+
// this.cdr.detectChanges();
|
|
9219
|
+
// this.input.nativeElement?.focus();
|
|
9220
|
+
// this.input.nativeElement?.select();
|
|
9221
|
+
// this.cdr.detectChanges();
|
|
9222
|
+
// setTimeout(() => {
|
|
9223
|
+
// this.input.nativeElement?.focus();
|
|
9224
|
+
// this.input.nativeElement?.select();
|
|
9225
|
+
// }, 0);
|
|
8873
9226
|
}
|
|
8874
9227
|
}
|
|
8875
9228
|
stopEdit() {
|
|
8876
|
-
this.cdr.
|
|
9229
|
+
this.cdr.detectChanges();
|
|
8877
9230
|
}
|
|
8878
9231
|
}
|
|
8879
9232
|
StringCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8880
|
-
StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9233
|
+
StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event\"/>\n\n", styles: [""], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8881
9234
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringCellComponent, decorators: [{
|
|
8882
9235
|
type: Component,
|
|
8883
|
-
args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9236
|
+
args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event\"/>\n\n", styles: [""] }]
|
|
8884
9237
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
8885
9238
|
type: Input
|
|
8886
9239
|
}], row: [{
|
|
@@ -8903,7 +9256,7 @@ class BooleanCellComponent extends CellComponentBase {
|
|
|
8903
9256
|
super.ngOnInit();
|
|
8904
9257
|
}
|
|
8905
9258
|
startEdit(initiator, type) {
|
|
8906
|
-
if (initiator?.column
|
|
9259
|
+
if (initiator?.column === this.column.name) {
|
|
8907
9260
|
this.cdr.markForCheck();
|
|
8908
9261
|
setTimeout(() => {
|
|
8909
9262
|
this.input?.nativeElement.focus();
|
|
@@ -8915,10 +9268,10 @@ class BooleanCellComponent extends CellComponentBase {
|
|
|
8915
9268
|
}
|
|
8916
9269
|
}
|
|
8917
9270
|
BooleanCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BooleanCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8918
|
-
BooleanCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BooleanCellComponent, selector: "teta-boolean-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9271
|
+
BooleanCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BooleanCellComponent, selector: "teta-boolean-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{ row.data[column.name] }}\n</span>\n<teta-checkbox\n #input\n *ngIf=\"edit\"\n [binary]=\"true\"\n [(ngModel)]=\"row.data[column.name]\"\n (blur)=\"setValue()\"\n></teta-checkbox>\n", styles: [""], components: [{ type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8919
9272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BooleanCellComponent, decorators: [{
|
|
8920
9273
|
type: Component,
|
|
8921
|
-
args: [{ selector: 'teta-boolean-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
9274
|
+
args: [{ selector: 'teta-boolean-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{ row.data[column.name] }}\n</span>\n<teta-checkbox\n #input\n *ngIf=\"edit\"\n [binary]=\"true\"\n [(ngModel)]=\"row.data[column.name]\"\n (blur)=\"setValue()\"\n></teta-checkbox>\n", styles: [""] }]
|
|
8922
9275
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
8923
9276
|
type: Input
|
|
8924
9277
|
}], row: [{
|
|
@@ -9015,11 +9368,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9015
9368
|
}] } });
|
|
9016
9369
|
|
|
9017
9370
|
class TableBodyComponent {
|
|
9018
|
-
constructor(_svc, _cdr) {
|
|
9371
|
+
constructor(_svc, _config, _cdr) {
|
|
9019
9372
|
this._svc = _svc;
|
|
9373
|
+
this._config = _config;
|
|
9020
9374
|
this._cdr = _cdr;
|
|
9021
|
-
this.tableBodyClass = true;
|
|
9022
9375
|
this.selectedRows = [];
|
|
9376
|
+
this.tableBodyClass = true;
|
|
9023
9377
|
this.locked = [];
|
|
9024
9378
|
this.unlocked = [];
|
|
9025
9379
|
this.selectTypeEnum = SelectType;
|
|
@@ -9037,13 +9391,13 @@ class TableBodyComponent {
|
|
|
9037
9391
|
}
|
|
9038
9392
|
return success(data);
|
|
9039
9393
|
};
|
|
9394
|
+
this.locale = this._config.locale;
|
|
9040
9395
|
combineLatest([this._svc.columns, this._svc.hiddenColumns])
|
|
9041
9396
|
.pipe(takeWhile((_) => this._alive))
|
|
9042
9397
|
.subscribe((values) => {
|
|
9043
9398
|
const [columns, hiddenColumns] = values;
|
|
9044
9399
|
this._hiddenColumns = hiddenColumns;
|
|
9045
9400
|
this.columns = ArrayUtil.flatten(columns, 'columns', true).filter((_) => this._hiddenColumns.indexOf(_.name) < 0);
|
|
9046
|
-
this.gridTemplateColumns = TableUtil.getGridTemplateColumns(this.columns.sort((a, b) => Number(b.locked) - Number(a.locked)));
|
|
9047
9401
|
this._cdr.markForCheck();
|
|
9048
9402
|
});
|
|
9049
9403
|
this._svc.displayData.pipe(takeWhile((_) => this._alive)).subscribe((_) => {
|
|
@@ -9057,12 +9411,6 @@ class TableBodyComponent {
|
|
|
9057
9411
|
this._svc.scrollIndex
|
|
9058
9412
|
.pipe(takeWhile((_) => this._alive))
|
|
9059
9413
|
.subscribe(async (_) => {
|
|
9060
|
-
// if (this.viewport && this.dataSource && _ !== null) {
|
|
9061
|
-
// await this.dataSource.adapter.relax();
|
|
9062
|
-
// await this.dataSource.adapter.fix({
|
|
9063
|
-
// scrollPosition: (_ + 1) * 24,
|
|
9064
|
-
// });
|
|
9065
|
-
// }
|
|
9066
9414
|
if (this.viewport) {
|
|
9067
9415
|
this.viewport.scrollToIndex(_, 'smooth');
|
|
9068
9416
|
}
|
|
@@ -9085,6 +9433,11 @@ class TableBodyComponent {
|
|
|
9085
9433
|
this._columns = columns;
|
|
9086
9434
|
this.locked = this._columns?.filter((_) => _.locked === true);
|
|
9087
9435
|
this.unlocked = this._columns?.filter((_) => _.locked === false);
|
|
9436
|
+
const startWidth = this.selectType !== SelectType.none ? 28 : 0;
|
|
9437
|
+
this.lockedFlex = this.locked.reduce((prev, curr) => prev + curr.flex, 0);
|
|
9438
|
+
this.lockedWidth = this.locked.reduce((prev, curr) => prev + curr.width, startWidth);
|
|
9439
|
+
this.totalFlex = this._columns.reduce((prev, curr) => prev + curr.flex, 0);
|
|
9440
|
+
this.totalWidth = this._columns.reduce((prev, curr) => prev + curr.width, startWidth);
|
|
9088
9441
|
}
|
|
9089
9442
|
get columns() {
|
|
9090
9443
|
return this._columns;
|
|
@@ -9113,43 +9466,19 @@ class TableBodyComponent {
|
|
|
9113
9466
|
}
|
|
9114
9467
|
getAggregateText(column) {
|
|
9115
9468
|
if (column.aggregate === AggregationType.sum) {
|
|
9116
|
-
return '
|
|
9469
|
+
return 'sum';
|
|
9117
9470
|
}
|
|
9118
9471
|
if (column.aggregate === AggregationType.avg) {
|
|
9119
|
-
return '
|
|
9472
|
+
return 'avg';
|
|
9120
9473
|
}
|
|
9121
9474
|
if (column.aggregate === AggregationType.min) {
|
|
9122
|
-
return '
|
|
9475
|
+
return 'min';
|
|
9123
9476
|
}
|
|
9124
9477
|
if (column.aggregate === AggregationType.max) {
|
|
9125
|
-
return '
|
|
9478
|
+
return 'max';
|
|
9126
9479
|
}
|
|
9127
9480
|
return '';
|
|
9128
9481
|
}
|
|
9129
|
-
getSpan() {
|
|
9130
|
-
if (this.locked?.length > 0) {
|
|
9131
|
-
let span = this.locked.length;
|
|
9132
|
-
if (this.selectType !== SelectType.none) {
|
|
9133
|
-
span += 1;
|
|
9134
|
-
}
|
|
9135
|
-
return `span ${span}`;
|
|
9136
|
-
}
|
|
9137
|
-
return null;
|
|
9138
|
-
}
|
|
9139
|
-
getTemplateColumns() {
|
|
9140
|
-
let template = this.gridTemplateColumns;
|
|
9141
|
-
if (this.selectType !== SelectType.none) {
|
|
9142
|
-
template = `48px ${template}`;
|
|
9143
|
-
}
|
|
9144
|
-
return template;
|
|
9145
|
-
}
|
|
9146
|
-
getLockedGridTemplateColumns(columns) {
|
|
9147
|
-
let template = TableUtil.getGridTemplateColumns(columns);
|
|
9148
|
-
if (this.selectType !== SelectType.none) {
|
|
9149
|
-
template = `48px ${template}`;
|
|
9150
|
-
}
|
|
9151
|
-
return template;
|
|
9152
|
-
}
|
|
9153
9482
|
trackRow(index, row) {
|
|
9154
9483
|
return index;
|
|
9155
9484
|
}
|
|
@@ -9173,16 +9502,16 @@ class TableBodyComponent {
|
|
|
9173
9502
|
: current.data[columnName], null);
|
|
9174
9503
|
}
|
|
9175
9504
|
}
|
|
9176
|
-
TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableBodyComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9177
|
-
TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableBodyComponent, selector: "teta-table-body", inputs: { virtual: "virtual", activeRow: "activeRow",
|
|
9505
|
+
TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableBodyComponent, deps: [{ token: TableService }, { token: TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9506
|
+
TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableBodyComponent, selector: "teta-table-body", inputs: { virtual: "virtual", activeRow: "activeRow", selectedRows: "selectedRows", additionalComponent: "additionalComponent", tree: "tree", aggregate: "aggregate", grouping: "grouping", groupRowComponent: "groupRowComponent", openLevels: "openLevels", selectType: "selectType", rowClass: "rowClass" }, host: { properties: { "class.table-body": "this.tableBodyClass" } }, viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n class=\"table-body-container\"\n [itemSize]=\"28\">\n <ng-container *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n</cdk-virtual-scroll-viewport>\n<div *ngIf=\"!virtual\"\n class=\"table-body-container\">\n <ng-container *ngFor=\"let row of data; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"aggregate\">\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"table-row\"\n (click)=\"setActiveRow(row)\"\n (contextmenu)=\"setActiveRow(row)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row, rowIndex) : ''\"\n [class.table-row_active]=\"row === activeRow || (selectedRows && selectedRows.indexOf(row) >= 0)\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n <ng-container *ngIf=\"!grouping\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row === activeRow ? 1 : 'unset'\">\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length\"\n [row]=\"row\"\n style=\"width: 28px;\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\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 </div>\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\"\n [row]=\"row\"\n style=\"width: 28px;\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\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 </ng-container>\n <ng-container *ngIf=\"grouping\">\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #aggTemplate>\n <ng-container *ngIf=\"locale | async as loc\">\n <div class=\"table-row\"\n *ngIf=\"aggregate\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"virtual ? totalFlex : ''\"\n [style.flex-basis.px]=\"virtual ? totalWidth : ''\"\n [style.min-width.px]=\"virtual ? totalWidth : ''\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\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 <span class=\"cell-text cell-text_numeric font-title-3\">\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\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 <span class=\"cell-text cell-text_numeric font-title-3\">\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n </ng-container>\n</ng-template>\n", styles: [""], components: [{ type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: SelectionCellComponent, selector: "teta-selection-cell", inputs: ["row"] }, { type: CellComponent, selector: "teta-cell", inputs: ["column", "filterOptions", "dict", "row"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i4.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i3.AsyncPipe, "tetaNumber": NumberPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9178
9507
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableBodyComponent, decorators: [{
|
|
9179
9508
|
type: Component,
|
|
9180
|
-
args: [{ selector: 'teta-table-body', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n class=\"table-body-container\"\n [itemSize]=\"
|
|
9181
|
-
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { virtual: [{
|
|
9509
|
+
args: [{ selector: 'teta-table-body', changeDetection: ChangeDetectionStrategy.OnPush, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual\"\n class=\"table-body-container\"\n [itemSize]=\"28\">\n <ng-container *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n</cdk-virtual-scroll-viewport>\n<div *ngIf=\"!virtual\"\n class=\"table-body-container\">\n <ng-container *ngFor=\"let row of data; let rowIndex = index; trackBy: trackRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"aggregate\">\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"table-row\"\n (click)=\"setActiveRow(row)\"\n (contextmenu)=\"setActiveRow(row)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row, rowIndex) : ''\"\n [class.table-row_active]=\"row === activeRow || (selectedRows && selectedRows.indexOf(row) >= 0)\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n <ng-container *ngIf=\"!grouping\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row === activeRow ? 1 : 'unset'\">\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length\"\n [row]=\"row\"\n style=\"width: 28px;\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\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 </div>\n <teta-selection-cell *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\"\n [row]=\"row\"\n style=\"width: 28px;\"></teta-selection-cell>\n <teta-cell\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\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 </ng-container>\n <ng-container *ngIf=\"grouping\">\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #aggTemplate>\n <ng-container *ngIf=\"locale | async as loc\">\n <div class=\"table-row\"\n *ngIf=\"aggregate\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"virtual ? totalFlex : ''\"\n [style.flex-basis.px]=\"virtual ? totalWidth : ''\"\n [style.min-width.px]=\"virtual ? totalWidth : ''\">\n <div class=\"table-row_locked\"\n *ngIf=\"locked.length > 0\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of locked; let colIndex = index; trackBy: trackColumns;\"\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 <span class=\"cell-text cell-text_numeric font-title-3\">\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n *ngIf=\"selectType !== selectTypeEnum.none && locked.length < 1\">\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n <div class=\"cell cell-component justify-content-end\"\n *ngFor=\"let column of unlocked; let colIndex = index; trackBy: trackColumns;\"\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 <span class=\"cell-text cell-text_numeric font-title-3\">\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n </div>\n </div>\n </ng-container>\n</ng-template>\n", styles: [""] }]
|
|
9510
|
+
}], ctorParameters: function () { return [{ type: TableService }, { type: TetaConfigService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { virtual: [{
|
|
9182
9511
|
type: Input
|
|
9183
9512
|
}], activeRow: [{
|
|
9184
9513
|
type: Input
|
|
9185
|
-
}],
|
|
9514
|
+
}], selectedRows: [{
|
|
9186
9515
|
type: Input
|
|
9187
9516
|
}], additionalComponent: [{
|
|
9188
9517
|
type: Input
|
|
@@ -9208,34 +9537,137 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9208
9537
|
args: ['class.table-body']
|
|
9209
9538
|
}] } });
|
|
9210
9539
|
|
|
9540
|
+
class ClickService {
|
|
9541
|
+
constructor(_document) {
|
|
9542
|
+
this._document = _document;
|
|
9543
|
+
this.click = fromEvent(this._document, 'click');
|
|
9544
|
+
this.contextMenu = fromEvent(this._document, 'contextmenu');
|
|
9545
|
+
}
|
|
9546
|
+
}
|
|
9547
|
+
ClickService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
9548
|
+
ClickService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickService, providedIn: 'root' });
|
|
9549
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickService, decorators: [{
|
|
9550
|
+
type: Injectable,
|
|
9551
|
+
args: [{
|
|
9552
|
+
providedIn: 'root',
|
|
9553
|
+
}]
|
|
9554
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
9555
|
+
type: Inject,
|
|
9556
|
+
args: [DOCUMENT]
|
|
9557
|
+
}] }]; } });
|
|
9558
|
+
|
|
9559
|
+
class ContextMenuDirective extends DynamicContentBaseDirective {
|
|
9560
|
+
constructor(_document, _elementRef, _service, _injector, _zone, _cdr, _click) {
|
|
9561
|
+
super(_document, _elementRef, _service, _injector, _zone, _cdr);
|
|
9562
|
+
this._document = _document;
|
|
9563
|
+
this._elementRef = _elementRef;
|
|
9564
|
+
this._service = _service;
|
|
9565
|
+
this._injector = _injector;
|
|
9566
|
+
this._zone = _zone;
|
|
9567
|
+
this._cdr = _cdr;
|
|
9568
|
+
this._click = _click;
|
|
9569
|
+
}
|
|
9570
|
+
get _dynamicContent() {
|
|
9571
|
+
return this.tetaContextMenu;
|
|
9572
|
+
}
|
|
9573
|
+
showContent(event) {
|
|
9574
|
+
if (this.tetaContextMenu) {
|
|
9575
|
+
event.preventDefault();
|
|
9576
|
+
setTimeout(() => {
|
|
9577
|
+
this.createMenu(event);
|
|
9578
|
+
});
|
|
9579
|
+
}
|
|
9580
|
+
}
|
|
9581
|
+
click(event) {
|
|
9582
|
+
if (this._componentRef &&
|
|
9583
|
+
DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
|
|
9584
|
+
event.preventDefault();
|
|
9585
|
+
event.stopPropagation();
|
|
9586
|
+
}
|
|
9587
|
+
}
|
|
9588
|
+
ngOnInit() {
|
|
9589
|
+
super.ngOnInit();
|
|
9590
|
+
merge(this._click.click, this._click.contextMenu)
|
|
9591
|
+
.pipe(takeWhile(() => this._alive), filter(() => this._open), filter(() => this._componentRef != null), filter((event) => !DomUtil.clickedInside(this._componentRef.location.nativeElement, event)), tap((_) => {
|
|
9592
|
+
this.destroyContentRef();
|
|
9593
|
+
this.openChange.emit(false);
|
|
9594
|
+
}))
|
|
9595
|
+
.subscribe();
|
|
9596
|
+
}
|
|
9597
|
+
ngOnDestroy() {
|
|
9598
|
+
super.ngOnDestroy();
|
|
9599
|
+
}
|
|
9600
|
+
setPosition() {
|
|
9601
|
+
if (this._componentRef && this._open) {
|
|
9602
|
+
const position = PositionUtil.getPosition({
|
|
9603
|
+
top: this._eventPoint.y,
|
|
9604
|
+
bottom: this._eventPoint.y,
|
|
9605
|
+
left: this._eventPoint.x,
|
|
9606
|
+
right: this._eventPoint.x,
|
|
9607
|
+
}, this._componentRef.location.nativeElement.getBoundingClientRect(), this.align, this.verticalAlign);
|
|
9608
|
+
PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
|
|
9609
|
+
}
|
|
9610
|
+
}
|
|
9611
|
+
createMenu(event) {
|
|
9612
|
+
if (this.tetaContextMenu == null) {
|
|
9613
|
+
return;
|
|
9614
|
+
}
|
|
9615
|
+
this._eventPoint = event;
|
|
9616
|
+
this._componentRef = this.createContentRef();
|
|
9617
|
+
this._componentRef.instance.className = [
|
|
9618
|
+
...ArrayUtil.asArray(this.className),
|
|
9619
|
+
'context-menu',
|
|
9620
|
+
];
|
|
9621
|
+
this.openChange.emit(true);
|
|
9622
|
+
}
|
|
9623
|
+
}
|
|
9624
|
+
ContextMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: DynamicComponentService }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: ClickService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9625
|
+
ContextMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: ContextMenuDirective, selector: "[tetaContextMenu]", inputs: { tetaContextMenu: "tetaContextMenu" }, host: { listeners: { "contextmenu": "showContent($event)", "click": "click($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
9626
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuDirective, decorators: [{
|
|
9627
|
+
type: Directive,
|
|
9628
|
+
args: [{
|
|
9629
|
+
selector: '[tetaContextMenu]',
|
|
9630
|
+
}]
|
|
9631
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
9632
|
+
type: Inject,
|
|
9633
|
+
args: [DOCUMENT]
|
|
9634
|
+
}] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: ClickService }]; }, propDecorators: { tetaContextMenu: [{
|
|
9635
|
+
type: Input
|
|
9636
|
+
}], showContent: [{
|
|
9637
|
+
type: HostListener,
|
|
9638
|
+
args: ['contextmenu', ['$event']]
|
|
9639
|
+
}], click: [{
|
|
9640
|
+
type: HostListener,
|
|
9641
|
+
args: ['click', ['$event']]
|
|
9642
|
+
}] } });
|
|
9643
|
+
|
|
9211
9644
|
class TableComponent {
|
|
9212
9645
|
constructor(_svc, _elementRef) {
|
|
9213
9646
|
this._svc = _svc;
|
|
9214
9647
|
this._elementRef = _elementRef;
|
|
9215
9648
|
this.data = [];
|
|
9216
9649
|
this.columns = [];
|
|
9217
|
-
this.
|
|
9218
|
-
this.selectType = SelectType.none;
|
|
9650
|
+
this.selectType = SelectType.multiple;
|
|
9219
9651
|
this.groupRowComponent = GroupRowComponent;
|
|
9220
|
-
this.
|
|
9652
|
+
this.trackRow = (index, row) => index;
|
|
9653
|
+
this.editType = EditType.cell;
|
|
9654
|
+
this.editEvent = EditEvent.doubleClick;
|
|
9221
9655
|
this.showHeadCellMenu = true;
|
|
9656
|
+
this.contextMenuOpenChange = new EventEmitter();
|
|
9222
9657
|
this.stateChange = new EventEmitter();
|
|
9223
9658
|
this.bodyLeft = new EventEmitter();
|
|
9224
9659
|
this.activeRowChange = new EventEmitter();
|
|
9225
9660
|
this.selectedRowsChange = new EventEmitter();
|
|
9226
|
-
this.rowLeft = new EventEmitter();
|
|
9227
|
-
this.rowEditStart = new EventEmitter();
|
|
9228
|
-
this.rowEditEnd = new EventEmitter();
|
|
9229
9661
|
this.cellClick = new EventEmitter();
|
|
9230
9662
|
this.cellDoubleClick = new EventEmitter();
|
|
9231
9663
|
this.cellFocus = new EventEmitter();
|
|
9664
|
+
this.cellKeyDown = new EventEmitter();
|
|
9665
|
+
this.rowLeft = new EventEmitter();
|
|
9666
|
+
this.rowEditStart = new EventEmitter();
|
|
9667
|
+
this.rowEditEnd = new EventEmitter();
|
|
9232
9668
|
this.cellEditStart = new EventEmitter();
|
|
9233
9669
|
this.cellEditEnd = new EventEmitter();
|
|
9234
9670
|
this.valueChange = new EventEmitter();
|
|
9235
|
-
this.cellKeyUp = new EventEmitter();
|
|
9236
|
-
this.pasteRows = new EventEmitter();
|
|
9237
|
-
this.addRow = new EventEmitter();
|
|
9238
|
-
this.deleteRows = new EventEmitter();
|
|
9239
9671
|
this.tableService = new EventEmitter();
|
|
9240
9672
|
this.tableClass = true;
|
|
9241
9673
|
this._alive = true;
|
|
@@ -9247,16 +9679,16 @@ class TableComponent {
|
|
|
9247
9679
|
.subscribe((state) => this.stateChange.next(state));
|
|
9248
9680
|
this._svc.editCellStart
|
|
9249
9681
|
.pipe(takeWhile((_) => this._alive))
|
|
9250
|
-
.subscribe((item) => this.cellEditStart.emit(item));
|
|
9682
|
+
.subscribe((item) => this.cellEditStart.emit(this._svc.getCellInstance(item)));
|
|
9251
9683
|
this._svc.editCellStop
|
|
9252
9684
|
.pipe(takeWhile((_) => this._alive))
|
|
9253
|
-
.subscribe((item) => this.cellEditEnd.emit(item));
|
|
9685
|
+
.subscribe((item) => this.cellEditEnd.emit(this._svc.getCellInstance(item)));
|
|
9254
9686
|
this._svc.editRowStart
|
|
9255
9687
|
.pipe(takeWhile((_) => this._alive))
|
|
9256
|
-
.subscribe((item) => this.rowEditStart.emit(item
|
|
9688
|
+
.subscribe((item) => this.rowEditStart.emit(this._svc.getCellInstance(item)));
|
|
9257
9689
|
this._svc.editRowStop
|
|
9258
9690
|
.pipe(takeWhile((_) => this._alive))
|
|
9259
|
-
.subscribe((item) => this.rowEditEnd.emit(item?.row));
|
|
9691
|
+
.subscribe((item) => this.rowEditEnd.emit(this._svc.getRowByIndex(item?.row)));
|
|
9260
9692
|
this._svc.selectedRows
|
|
9261
9693
|
.pipe(takeWhile((_) => this._alive))
|
|
9262
9694
|
.subscribe((items) => {
|
|
@@ -9269,7 +9701,7 @@ class TableComponent {
|
|
|
9269
9701
|
this._svc.valueChanged
|
|
9270
9702
|
.pipe(takeWhile((_) => this._alive))
|
|
9271
9703
|
.subscribe((coordinates) => {
|
|
9272
|
-
this.valueChange.emit(coordinates);
|
|
9704
|
+
this.valueChange.emit(this._svc.getCellInstance(coordinates));
|
|
9273
9705
|
});
|
|
9274
9706
|
}
|
|
9275
9707
|
set state(state) {
|
|
@@ -9281,19 +9713,44 @@ class TableComponent {
|
|
|
9281
9713
|
handleClickOutsideAnyRow(event) {
|
|
9282
9714
|
const coordinates = this.getCoordinates(event);
|
|
9283
9715
|
if (coordinates) {
|
|
9284
|
-
this.cellClick.emit(
|
|
9716
|
+
this.cellClick.emit({
|
|
9717
|
+
...this._svc.getCellInstance(coordinates),
|
|
9718
|
+
event
|
|
9719
|
+
});
|
|
9285
9720
|
if (this.editEvent === EditEvent.click) {
|
|
9286
9721
|
this.startEditRowOrCell(coordinates);
|
|
9287
9722
|
}
|
|
9723
|
+
else {
|
|
9724
|
+
if (this._svc.currentEditCell && (coordinates.row !== this._svc.currentEditCell.row || coordinates.column !== this._svc.currentEditCell.column)) {
|
|
9725
|
+
this.startEditRowOrCell(null);
|
|
9726
|
+
}
|
|
9727
|
+
}
|
|
9728
|
+
}
|
|
9729
|
+
const row = this.getRow(event);
|
|
9730
|
+
if (row) {
|
|
9731
|
+
if (event.ctrlKey) {
|
|
9732
|
+
this._svc.selectOrDeselectRow(row);
|
|
9733
|
+
}
|
|
9734
|
+
if (event.shiftKey) {
|
|
9735
|
+
this._svc.selectRange(row);
|
|
9736
|
+
}
|
|
9288
9737
|
}
|
|
9289
9738
|
if (!this.eventIsOnRow(event) && !event.defaultPrevented) {
|
|
9290
|
-
this.
|
|
9739
|
+
if (this.editType === EditType.row) {
|
|
9740
|
+
this._svc.startEditRow(null);
|
|
9741
|
+
}
|
|
9742
|
+
else {
|
|
9743
|
+
this._svc.startEditCell(null);
|
|
9744
|
+
}
|
|
9291
9745
|
}
|
|
9292
9746
|
}
|
|
9293
9747
|
focusIn(event) {
|
|
9294
9748
|
const coordinates = this.getCoordinates(event);
|
|
9295
9749
|
if (coordinates) {
|
|
9296
|
-
this.cellFocus.emit(
|
|
9750
|
+
this.cellFocus.emit({
|
|
9751
|
+
...this._svc.getCellInstance(coordinates),
|
|
9752
|
+
event
|
|
9753
|
+
});
|
|
9297
9754
|
if (this.editEvent === EditEvent.focus) {
|
|
9298
9755
|
this.startEditRowOrCell(coordinates);
|
|
9299
9756
|
}
|
|
@@ -9302,26 +9759,91 @@ class TableComponent {
|
|
|
9302
9759
|
dblclick(event) {
|
|
9303
9760
|
const coordinates = this.getCoordinates(event);
|
|
9304
9761
|
if (coordinates) {
|
|
9305
|
-
this.cellDoubleClick.emit(
|
|
9762
|
+
this.cellDoubleClick.emit({
|
|
9763
|
+
...this._svc.getCellInstance(coordinates),
|
|
9764
|
+
event
|
|
9765
|
+
});
|
|
9306
9766
|
if (this.editEvent === EditEvent.doubleClick) {
|
|
9307
9767
|
this.startEditRowOrCell(coordinates);
|
|
9308
9768
|
}
|
|
9309
9769
|
}
|
|
9310
9770
|
}
|
|
9311
|
-
|
|
9312
|
-
|
|
9313
|
-
|
|
9314
|
-
this.cellKeyUp.emit(coordinates);
|
|
9315
|
-
}
|
|
9316
|
-
switch (event.key) {
|
|
9317
|
-
case 'Enter':
|
|
9771
|
+
keydown(event) {
|
|
9772
|
+
if (event.key === 'Escape') {
|
|
9773
|
+
if (this.editType === EditType.row) {
|
|
9318
9774
|
this._svc.startEditRow(null);
|
|
9319
|
-
|
|
9320
|
-
|
|
9775
|
+
}
|
|
9776
|
+
else {
|
|
9777
|
+
this._svc.startEditCell(null);
|
|
9778
|
+
}
|
|
9779
|
+
}
|
|
9780
|
+
const coordinates = this.getCoordinates(event);
|
|
9781
|
+
if (event.key === 'Enter') {
|
|
9782
|
+
if (this.editType === EditType.row) {
|
|
9321
9783
|
this._svc.startEditRow(null);
|
|
9322
|
-
|
|
9323
|
-
|
|
9324
|
-
|
|
9784
|
+
}
|
|
9785
|
+
else {
|
|
9786
|
+
if (this._svc.currentEditCell) {
|
|
9787
|
+
const target = this._svc.getNextRowCell(coordinates);
|
|
9788
|
+
if (target) {
|
|
9789
|
+
this.startEditRowOrCell({
|
|
9790
|
+
row: target.row,
|
|
9791
|
+
column: target.column,
|
|
9792
|
+
event: undefined
|
|
9793
|
+
});
|
|
9794
|
+
}
|
|
9795
|
+
else {
|
|
9796
|
+
this._svc.startEditCell(null);
|
|
9797
|
+
}
|
|
9798
|
+
}
|
|
9799
|
+
}
|
|
9800
|
+
}
|
|
9801
|
+
if (coordinates) {
|
|
9802
|
+
this.cellKeyDown.emit({
|
|
9803
|
+
...this._svc.getCellInstance(coordinates),
|
|
9804
|
+
event
|
|
9805
|
+
});
|
|
9806
|
+
if (event.key && (event.key.length === 1 || event.key === 'Delete')) {
|
|
9807
|
+
this.startEditRowOrCell({
|
|
9808
|
+
row: coordinates.row,
|
|
9809
|
+
column: coordinates.column,
|
|
9810
|
+
event: event
|
|
9811
|
+
});
|
|
9812
|
+
}
|
|
9813
|
+
if (event.key === 'Tab' && this._svc.currentEditCell) {
|
|
9814
|
+
event.preventDefault();
|
|
9815
|
+
let target = this._svc.getNextEditableCell(coordinates);
|
|
9816
|
+
if (event.shiftKey) {
|
|
9817
|
+
target = this._svc.getPreviousEditableCell(coordinates);
|
|
9818
|
+
}
|
|
9819
|
+
if (target) {
|
|
9820
|
+
this.startEditRowOrCell({
|
|
9821
|
+
row: target.row,
|
|
9822
|
+
column: target.column,
|
|
9823
|
+
event: undefined
|
|
9824
|
+
});
|
|
9825
|
+
}
|
|
9826
|
+
}
|
|
9827
|
+
if (!this._svc.currentEditCell) {
|
|
9828
|
+
let target;
|
|
9829
|
+
if (event.key === 'ArrowRight') {
|
|
9830
|
+
target = this._svc.getNextCell(coordinates);
|
|
9831
|
+
}
|
|
9832
|
+
if (event.key === 'ArrowLeft') {
|
|
9833
|
+
target = this._svc.getPreviousCell(coordinates);
|
|
9834
|
+
}
|
|
9835
|
+
if (event.key === 'ArrowUp') {
|
|
9836
|
+
target = this._svc.getPreviousRowCell(coordinates);
|
|
9837
|
+
}
|
|
9838
|
+
if (event.key === 'ArrowDown') {
|
|
9839
|
+
target = this._svc.getNextRowCell(coordinates);
|
|
9840
|
+
}
|
|
9841
|
+
if (target) {
|
|
9842
|
+
event.preventDefault();
|
|
9843
|
+
const element = this.getCellElement(target);
|
|
9844
|
+
element?.focus();
|
|
9845
|
+
}
|
|
9846
|
+
}
|
|
9325
9847
|
}
|
|
9326
9848
|
}
|
|
9327
9849
|
mousedown(event) {
|
|
@@ -9329,48 +9851,6 @@ class TableComponent {
|
|
|
9329
9851
|
event.preventDefault();
|
|
9330
9852
|
}
|
|
9331
9853
|
}
|
|
9332
|
-
contextMenu(event) {
|
|
9333
|
-
if (this.getSelectedText() ||
|
|
9334
|
-
this.contextMenuConfig?.contextMenu === false) {
|
|
9335
|
-
return;
|
|
9336
|
-
}
|
|
9337
|
-
event.preventDefault();
|
|
9338
|
-
event.stopPropagation();
|
|
9339
|
-
this.contextMenuTarget = this.getCoordinates(event);
|
|
9340
|
-
this.showContextMenu = true;
|
|
9341
|
-
this.setPosition(event);
|
|
9342
|
-
}
|
|
9343
|
-
rowAdd() {
|
|
9344
|
-
this.addRow.emit();
|
|
9345
|
-
this.contextMenuTarget = null;
|
|
9346
|
-
this.showContextMenu = false;
|
|
9347
|
-
}
|
|
9348
|
-
copy(rows) {
|
|
9349
|
-
of(1)
|
|
9350
|
-
.pipe(withLatestFrom(this._svc.columns, this._svc.hiddenColumns))
|
|
9351
|
-
.subscribe((data) => {
|
|
9352
|
-
const [, columns, hidden] = data;
|
|
9353
|
-
navigator.clipboard.writeText(this.toClipboardString(rows, this.getVisibleColumns(columns, hidden)));
|
|
9354
|
-
this.contextMenuTarget = null;
|
|
9355
|
-
this.showContextMenu = false;
|
|
9356
|
-
});
|
|
9357
|
-
}
|
|
9358
|
-
delete(rows) {
|
|
9359
|
-
this.deleteRows.emit(rows);
|
|
9360
|
-
this.contextMenuTarget = null;
|
|
9361
|
-
this.showContextMenu = false;
|
|
9362
|
-
}
|
|
9363
|
-
async pasteData() {
|
|
9364
|
-
const result = await navigator.clipboard.readText();
|
|
9365
|
-
of(1)
|
|
9366
|
-
.pipe(withLatestFrom(this._svc.columns, this._svc.hiddenColumns))
|
|
9367
|
-
.subscribe((data) => {
|
|
9368
|
-
const [, columns, hidden] = data;
|
|
9369
|
-
this.pasteRows.emit(this.fromClipboard(result, this.getVisibleColumns(columns, hidden)));
|
|
9370
|
-
});
|
|
9371
|
-
this.contextMenuTarget = null;
|
|
9372
|
-
this.showContextMenu = false;
|
|
9373
|
-
}
|
|
9374
9854
|
ngOnInit() {
|
|
9375
9855
|
this._svc.restoreState();
|
|
9376
9856
|
this._svc.restoreHiddenColumns();
|
|
@@ -9413,8 +9893,19 @@ class TableComponent {
|
|
|
9413
9893
|
}
|
|
9414
9894
|
if (changes.hasOwnProperty('dict')) {
|
|
9415
9895
|
this._svc.setDict(this.dict);
|
|
9896
|
+
this._svc.setFilterOptions(this.dict);
|
|
9897
|
+
}
|
|
9898
|
+
if (changes.hasOwnProperty('filterOptions')) {
|
|
9899
|
+
this._svc.setFilterOptions(this.filterOptions);
|
|
9900
|
+
}
|
|
9901
|
+
if (changes.hasOwnProperty('trackRow')) {
|
|
9902
|
+
this._svc.trackRow = this.trackRow;
|
|
9416
9903
|
}
|
|
9417
9904
|
}
|
|
9905
|
+
setContextMenuOpen(value) {
|
|
9906
|
+
this.contextMenuOpen = value;
|
|
9907
|
+
this.contextMenuOpenChange.emit(this.contextMenuOpen);
|
|
9908
|
+
}
|
|
9418
9909
|
startEditRowOrCell(coordinates) {
|
|
9419
9910
|
if (this.editType === EditType.row) {
|
|
9420
9911
|
this._svc.startEditRow(coordinates);
|
|
@@ -9428,6 +9919,14 @@ class TableComponent {
|
|
|
9428
9919
|
return target.tagName?.toLowerCase() === 'teta-cell';
|
|
9429
9920
|
});
|
|
9430
9921
|
}
|
|
9922
|
+
getEventRow(event) {
|
|
9923
|
+
return event.composedPath().find((target) => {
|
|
9924
|
+
return target?.getAttribute && target?.getAttribute('data-row');
|
|
9925
|
+
});
|
|
9926
|
+
}
|
|
9927
|
+
getCellElement(coordinates) {
|
|
9928
|
+
return this._elementRef.nativeElement.querySelector(`teta-cell[data-row="${coordinates.row}"][data-column="${coordinates.column}"]`);
|
|
9929
|
+
}
|
|
9431
9930
|
eventIsOnRow(event) {
|
|
9432
9931
|
const row = event.composedPath().find((target) => {
|
|
9433
9932
|
return target?.getAttribute && target?.getAttribute('data-row');
|
|
@@ -9437,76 +9936,43 @@ class TableComponent {
|
|
|
9437
9936
|
getCoordinates(event) {
|
|
9438
9937
|
const cell = this.getEventCell(event);
|
|
9439
9938
|
if (cell) {
|
|
9440
|
-
const rowIndex = cell.getAttribute('data-row');
|
|
9939
|
+
const rowIndex = parseInt(cell.getAttribute('data-row'), 10);
|
|
9441
9940
|
const columnName = cell.getAttribute('data-column');
|
|
9442
|
-
if (rowIndex && columnName) {
|
|
9443
|
-
const row = this._svc.getRowByIndex(rowIndex);
|
|
9444
|
-
const column = this._svc.getColumnByName(columnName);
|
|
9941
|
+
if (rowIndex >= 0 && columnName) {
|
|
9445
9942
|
return {
|
|
9446
|
-
row,
|
|
9447
|
-
column:
|
|
9943
|
+
row: rowIndex,
|
|
9944
|
+
column: columnName,
|
|
9448
9945
|
event,
|
|
9449
9946
|
};
|
|
9450
9947
|
}
|
|
9451
9948
|
}
|
|
9452
9949
|
return null;
|
|
9453
9950
|
}
|
|
9454
|
-
|
|
9455
|
-
|
|
9456
|
-
if (
|
|
9457
|
-
|
|
9458
|
-
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
|
|
9462
|
-
|
|
9463
|
-
top: event.y,
|
|
9464
|
-
bottom: event.y,
|
|
9465
|
-
left: event.x,
|
|
9466
|
-
right: event.x,
|
|
9467
|
-
}, this.menu.nativeElement.getBoundingClientRect(), Align.left, VerticalAlign.auto);
|
|
9468
|
-
PositionUtil.setElementPosition(this.menu.nativeElement, position);
|
|
9469
|
-
}
|
|
9470
|
-
toClipboardString(rows, columns) {
|
|
9471
|
-
return rows.reduce((res, currentRow, i) => `${res}${i === 0 ? '' : '\n'}${columns.reduce((columnResult, column, j) => `${columnResult}${j === 0 ? '' : '\t'}${currentRow.data[column.name] ?? ''}`, '')}`, '');
|
|
9472
|
-
}
|
|
9473
|
-
fromClipboard(data, columns) {
|
|
9474
|
-
const rows = data.split('\n').filter((_) => _?.length > 0);
|
|
9475
|
-
const result = rows.map((_) => _.replace('\r', '').replace('\n', '').split('\t'));
|
|
9476
|
-
return result.map((row) => row.reduce((res, item, index) => {
|
|
9477
|
-
let value = item;
|
|
9478
|
-
if (columns[index]?.filterType === FilterType.number ||
|
|
9479
|
-
columns[index]?.filterType === FilterType.list) {
|
|
9480
|
-
value = parseFloat(item);
|
|
9481
|
-
}
|
|
9482
|
-
if (columns[index]?.filterType === FilterType.boolean) {
|
|
9483
|
-
value = Boolean(JSON.parse(item.toLowerCase()));
|
|
9484
|
-
}
|
|
9485
|
-
if (columns[index]) {
|
|
9486
|
-
res[columns[index].name] = value;
|
|
9487
|
-
}
|
|
9488
|
-
return res;
|
|
9489
|
-
}, {}));
|
|
9490
|
-
}
|
|
9491
|
-
getVisibleColumns(columns, hidden) {
|
|
9492
|
-
const visible = ArrayUtil.flatten(columns, 'columns', true).filter((_) => hidden.indexOf(_.name) < 0);
|
|
9493
|
-
return visible.sort((a, b) => Number(b.locked) - Number(a.locked));
|
|
9951
|
+
getRow(event) {
|
|
9952
|
+
const rowElement = this.getEventRow(event);
|
|
9953
|
+
if (rowElement) {
|
|
9954
|
+
const rowIndex = parseInt(rowElement.getAttribute('data-row'), 10);
|
|
9955
|
+
if (rowIndex >= 0) {
|
|
9956
|
+
return this._svc.getRowByIndex(rowIndex);
|
|
9957
|
+
}
|
|
9958
|
+
}
|
|
9959
|
+
return null;
|
|
9494
9960
|
}
|
|
9495
9961
|
}
|
|
9496
9962
|
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableComponent, deps: [{ token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9497
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableComponent, selector: "teta-table", inputs: { data: "data", columns: "columns", dict: "dict",
|
|
9963
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableComponent, selector: "teta-table", inputs: { data: "data", columns: "columns", dict: "dict", filterOptions: "filterOptions", state: "state", cookieName: "cookieName", virtual: "virtual", detailComponent: "detailComponent", activeRow: "activeRow", selectedRows: "selectedRows", selectType: "selectType", aggregate: "aggregate", grouping: "grouping", groupRowComponent: "groupRowComponent", openLevels: "openLevels", tree: "tree", trackRow: "trackRow", editType: "editType", editEvent: "editEvent", rowEditable: "rowEditable", rowClass: "rowClass", scrollToIndex: "scrollToIndex", showHeadCellMenu: "showHeadCellMenu", contextMenu: "contextMenu", contextMenuOpen: "contextMenuOpen" }, outputs: { contextMenuOpenChange: "contextMenuOpenChange", stateChange: "stateChange", bodyLeft: "bodyLeft", activeRowChange: "activeRowChange", selectedRowsChange: "selectedRowsChange", cellClick: "cellClick", cellDoubleClick: "cellDoubleClick", cellFocus: "cellFocus", cellKeyDown: "cellKeyDown", rowLeft: "rowLeft", rowEditStart: "rowEditStart", rowEditEnd: "rowEditEnd", cellEditStart: "cellEditStart", cellEditEnd: "cellEditEnd", valueChange: "valueChange", tableService: "tableService" }, host: { listeners: { "document:click": "handleClickOutsideAnyRow($event)", "focusin": "focusIn($event)", "dblclick": "dblclick($event)", "keydown": "keydown($event)", "mousedown": "mousedown($event)" }, properties: { "class.table": "this.tableClass" } }, providers: [TableService], viewQueries: [{ propertyName: "menu", first: true, predicate: ["contextMenu"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"column column_auto\">\n <teta-table-head\n [selectType]=\"selectType\"\n [showHeadCellMenu]=\"showHeadCellMenu\"></teta-table-head>\n <teta-table-body\n [tetaContextMenu]=\"contextMenu\"\n [open]=\"contextMenuOpen\"\n (openChange)=\"setContextMenuOpen($event)\"\n [aggregate]=\"aggregate\"\n [virtual]=\"virtual\"\n [activeRow]=\"activeRow\"\n [selectedRows]=\"selectedRowsList\"\n [additionalComponent]=\"detailComponent\"\n [grouping]=\"grouping\"\n [groupRowComponent]=\"groupRowComponent\"\n [openLevels]=\"openLevels\"\n [selectType]=\"selectType\"\n [rowClass]=\"rowClass\"\n [tree]=\"tree\"></teta-table-body>\n</div>\n", styles: [""], components: [{ type: TableHeadComponent, selector: "teta-table-head", inputs: ["selectType", "showHeadCellMenu"] }, { type: TableBodyComponent, selector: "teta-table-body", inputs: ["virtual", "activeRow", "selectedRows", "additionalComponent", "tree", "aggregate", "grouping", "groupRowComponent", "openLevels", "selectType", "rowClass"] }], directives: [{ type: ContextMenuDirective, selector: "[tetaContextMenu]", inputs: ["tetaContextMenu"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9498
9964
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableComponent, decorators: [{
|
|
9499
9965
|
type: Component,
|
|
9500
|
-
args: [{ selector: 'teta-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableService], template: "<div class=\"column column_auto\">\n <teta-table-head
|
|
9966
|
+
args: [{ selector: 'teta-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableService], template: "<div class=\"column column_auto\">\n <teta-table-head\n [selectType]=\"selectType\"\n [showHeadCellMenu]=\"showHeadCellMenu\"></teta-table-head>\n <teta-table-body\n [tetaContextMenu]=\"contextMenu\"\n [open]=\"contextMenuOpen\"\n (openChange)=\"setContextMenuOpen($event)\"\n [aggregate]=\"aggregate\"\n [virtual]=\"virtual\"\n [activeRow]=\"activeRow\"\n [selectedRows]=\"selectedRowsList\"\n [additionalComponent]=\"detailComponent\"\n [grouping]=\"grouping\"\n [groupRowComponent]=\"groupRowComponent\"\n [openLevels]=\"openLevels\"\n [selectType]=\"selectType\"\n [rowClass]=\"rowClass\"\n [tree]=\"tree\"></teta-table-body>\n</div>\n", styles: [""] }]
|
|
9501
9967
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ElementRef }]; }, propDecorators: { data: [{
|
|
9502
9968
|
type: Input
|
|
9503
9969
|
}], columns: [{
|
|
9504
9970
|
type: Input
|
|
9505
9971
|
}], dict: [{
|
|
9506
9972
|
type: Input
|
|
9507
|
-
}],
|
|
9973
|
+
}], filterOptions: [{
|
|
9508
9974
|
type: Input
|
|
9509
|
-
}],
|
|
9975
|
+
}], state: [{
|
|
9510
9976
|
type: Input
|
|
9511
9977
|
}], cookieName: [{
|
|
9512
9978
|
type: Input
|
|
@@ -9530,7 +9996,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9530
9996
|
type: Input
|
|
9531
9997
|
}], tree: [{
|
|
9532
9998
|
type: Input
|
|
9533
|
-
}],
|
|
9999
|
+
}], trackRow: [{
|
|
9534
10000
|
type: Input
|
|
9535
10001
|
}], editType: [{
|
|
9536
10002
|
type: Input
|
|
@@ -9542,10 +10008,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9542
10008
|
type: Input
|
|
9543
10009
|
}], scrollToIndex: [{
|
|
9544
10010
|
type: Input
|
|
9545
|
-
}], contextMenuConfig: [{
|
|
9546
|
-
type: Input
|
|
9547
10011
|
}], showHeadCellMenu: [{
|
|
9548
10012
|
type: Input
|
|
10013
|
+
}], contextMenu: [{
|
|
10014
|
+
type: Input
|
|
10015
|
+
}], contextMenuOpen: [{
|
|
10016
|
+
type: Input
|
|
10017
|
+
}], contextMenuOpenChange: [{
|
|
10018
|
+
type: Output
|
|
9549
10019
|
}], stateChange: [{
|
|
9550
10020
|
type: Output
|
|
9551
10021
|
}], bodyLeft: [{
|
|
@@ -9554,31 +10024,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9554
10024
|
type: Output
|
|
9555
10025
|
}], selectedRowsChange: [{
|
|
9556
10026
|
type: Output
|
|
9557
|
-
}], rowLeft: [{
|
|
9558
|
-
type: Output
|
|
9559
|
-
}], rowEditStart: [{
|
|
9560
|
-
type: Output
|
|
9561
|
-
}], rowEditEnd: [{
|
|
9562
|
-
type: Output
|
|
9563
10027
|
}], cellClick: [{
|
|
9564
10028
|
type: Output
|
|
9565
10029
|
}], cellDoubleClick: [{
|
|
9566
10030
|
type: Output
|
|
9567
10031
|
}], cellFocus: [{
|
|
9568
10032
|
type: Output
|
|
9569
|
-
}],
|
|
10033
|
+
}], cellKeyDown: [{
|
|
9570
10034
|
type: Output
|
|
9571
|
-
}],
|
|
10035
|
+
}], rowLeft: [{
|
|
9572
10036
|
type: Output
|
|
9573
|
-
}],
|
|
10037
|
+
}], rowEditStart: [{
|
|
9574
10038
|
type: Output
|
|
9575
|
-
}],
|
|
10039
|
+
}], rowEditEnd: [{
|
|
9576
10040
|
type: Output
|
|
9577
|
-
}],
|
|
10041
|
+
}], cellEditStart: [{
|
|
9578
10042
|
type: Output
|
|
9579
|
-
}],
|
|
10043
|
+
}], cellEditEnd: [{
|
|
9580
10044
|
type: Output
|
|
9581
|
-
}],
|
|
10045
|
+
}], valueChange: [{
|
|
9582
10046
|
type: Output
|
|
9583
10047
|
}], tableService: [{
|
|
9584
10048
|
type: Output
|
|
@@ -9597,15 +10061,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9597
10061
|
}], dblclick: [{
|
|
9598
10062
|
type: HostListener,
|
|
9599
10063
|
args: ['dblclick', ['$event']]
|
|
9600
|
-
}],
|
|
10064
|
+
}], keydown: [{
|
|
9601
10065
|
type: HostListener,
|
|
9602
|
-
args: ['
|
|
10066
|
+
args: ['keydown', ['$event']]
|
|
9603
10067
|
}], mousedown: [{
|
|
9604
10068
|
type: HostListener,
|
|
9605
10069
|
args: ['mousedown', ['$event']]
|
|
9606
|
-
}], contextMenu: [{
|
|
9607
|
-
type: HostListener,
|
|
9608
|
-
args: ['contextmenu', ['$event']]
|
|
9609
10070
|
}] } });
|
|
9610
10071
|
|
|
9611
10072
|
class TabsModule {
|
|
@@ -9692,9 +10153,9 @@ class DateTimeCellComponent extends CellComponentBase {
|
|
|
9692
10153
|
this.valueChanged();
|
|
9693
10154
|
}
|
|
9694
10155
|
startEdit(initiator, type) {
|
|
9695
|
-
if (initiator?.column
|
|
10156
|
+
if (initiator?.column === this.column.name) {
|
|
9696
10157
|
setTimeout(() => {
|
|
9697
|
-
this.input
|
|
10158
|
+
this.input?.openPicker(true);
|
|
9698
10159
|
this.cdr.markForCheck();
|
|
9699
10160
|
}, 0);
|
|
9700
10161
|
}
|
|
@@ -9704,10 +10165,10 @@ class DateTimeCellComponent extends CellComponentBase {
|
|
|
9704
10165
|
}
|
|
9705
10166
|
}
|
|
9706
10167
|
DateTimeCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateTimeCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9707
|
-
DateTimeCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateTimeCellComponent, selector: "teta-date-time-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
10168
|
+
DateTimeCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateTimeCellComponent, selector: "teta-date-time-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | date : 'dd.MM.yyyy HH:mm:ss'}}\n</span>\n<teta-date-picker class=\"datepicker-table\" #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""], components: [{ type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i3.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9708
10169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateTimeCellComponent, decorators: [{
|
|
9709
10170
|
type: Component,
|
|
9710
|
-
args: [{ selector: 'teta-date-time-cell', template: "<span [style.display]=\"edit ? 'none' : 'block'\"
|
|
10171
|
+
args: [{ selector: 'teta-date-time-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | date : 'dd.MM.yyyy HH:mm:ss'}}\n</span>\n<teta-date-picker class=\"datepicker-table\" #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""] }]
|
|
9711
10172
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
9712
10173
|
type: Input
|
|
9713
10174
|
}], row: [{
|
|
@@ -9731,6 +10192,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9731
10192
|
}]
|
|
9732
10193
|
}] });
|
|
9733
10194
|
|
|
10195
|
+
class ContextMenuModule {
|
|
10196
|
+
}
|
|
10197
|
+
ContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10198
|
+
ContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, declarations: [ContextMenuDirective], imports: [CommonModule,
|
|
10199
|
+
DynamicComponentModule], exports: [ContextMenuDirective] });
|
|
10200
|
+
ContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, imports: [[
|
|
10201
|
+
CommonModule,
|
|
10202
|
+
DynamicComponentModule
|
|
10203
|
+
]] });
|
|
10204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, decorators: [{
|
|
10205
|
+
type: NgModule,
|
|
10206
|
+
args: [{
|
|
10207
|
+
declarations: [ContextMenuDirective],
|
|
10208
|
+
exports: [ContextMenuDirective],
|
|
10209
|
+
imports: [
|
|
10210
|
+
CommonModule,
|
|
10211
|
+
DynamicComponentModule
|
|
10212
|
+
]
|
|
10213
|
+
}]
|
|
10214
|
+
}] });
|
|
10215
|
+
|
|
9734
10216
|
class TableModule {
|
|
9735
10217
|
}
|
|
9736
10218
|
TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -9769,7 +10251,8 @@ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
9769
10251
|
ToolbarModule,
|
|
9770
10252
|
ClickOutsideModule,
|
|
9771
10253
|
ResizeDragModule,
|
|
9772
|
-
ScrollingModule
|
|
10254
|
+
ScrollingModule,
|
|
10255
|
+
ContextMenuModule], exports: [TableComponent,
|
|
9773
10256
|
NumericCellComponent,
|
|
9774
10257
|
ListCellComponent,
|
|
9775
10258
|
DateCellComponent,
|
|
@@ -9801,6 +10284,7 @@ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "1
|
|
|
9801
10284
|
ClickOutsideModule,
|
|
9802
10285
|
ResizeDragModule,
|
|
9803
10286
|
ScrollingModule,
|
|
10287
|
+
ContextMenuModule,
|
|
9804
10288
|
]] });
|
|
9805
10289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableModule, decorators: [{
|
|
9806
10290
|
type: NgModule,
|
|
@@ -9860,6 +10344,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
9860
10344
|
ClickOutsideModule,
|
|
9861
10345
|
ResizeDragModule,
|
|
9862
10346
|
ScrollingModule,
|
|
10347
|
+
ContextMenuModule,
|
|
9863
10348
|
],
|
|
9864
10349
|
}]
|
|
9865
10350
|
}] });
|
|
@@ -9967,7 +10452,8 @@ class Chart3dComponent {
|
|
|
9967
10452
|
ngOnInit() {
|
|
9968
10453
|
this._themeService.theme
|
|
9969
10454
|
.pipe(takeWhile((_) => this._alive), tap((_) => {
|
|
9970
|
-
this.gridColor = _ ? '#
|
|
10455
|
+
this.gridColor = _ ? '#5d6a73' : '#bdbdc6';
|
|
10456
|
+
this.axesColor = _ ? '#8e8f9d' : '#7d8f9a';
|
|
9971
10457
|
this.init();
|
|
9972
10458
|
}))
|
|
9973
10459
|
.subscribe();
|
|
@@ -9976,6 +10462,7 @@ class Chart3dComponent {
|
|
|
9976
10462
|
this.addResizeObserver();
|
|
9977
10463
|
this.createScene();
|
|
9978
10464
|
this.startRenderingLoop();
|
|
10465
|
+
this.init();
|
|
9979
10466
|
}
|
|
9980
10467
|
ngOnDestroy() {
|
|
9981
10468
|
this._alive = false;
|
|
@@ -9989,37 +10476,51 @@ class Chart3dComponent {
|
|
|
9989
10476
|
}
|
|
9990
10477
|
const { x, y, z } = this.getScales(this._config.series);
|
|
9991
10478
|
this.config.series.forEach((data, idx) => {
|
|
9992
|
-
|
|
10479
|
+
if (!data.points?.length) {
|
|
10480
|
+
return;
|
|
10481
|
+
}
|
|
10482
|
+
const points = data.points.map((_) => new THREE.Vector3(x(_.x), y(_.y), z(_.z)));
|
|
9993
10483
|
const color = d3.scaleOrdinal(d3.schemeTableau10);
|
|
9994
10484
|
const material = new THREE.LineBasicMaterial({
|
|
9995
10485
|
color: data?.color ?? color(idx.toString()),
|
|
9996
10486
|
});
|
|
9997
|
-
const
|
|
9998
|
-
|
|
9999
|
-
|
|
10000
|
-
|
|
10487
|
+
const tubeGeometry = new THREE.TubeGeometry(new THREE.CatmullRomCurve3(points), 1024, 0.5, 20, false);
|
|
10488
|
+
let tube = new THREE.Line(tubeGeometry, material);
|
|
10489
|
+
this._scene.add(tube);
|
|
10490
|
+
});
|
|
10491
|
+
const circles = x.ticks(this.SIDE_SIZE / 10);
|
|
10492
|
+
const material = new THREE.LineBasicMaterial({ color: this.axesColor });
|
|
10493
|
+
const pointsLines = [];
|
|
10494
|
+
pointsLines.push(new THREE.Vector3(0, 0, 0));
|
|
10495
|
+
pointsLines.push(new THREE.Vector3(0, 0, z(-z.domain()[1])));
|
|
10496
|
+
pointsLines.push(new THREE.Vector3(0, 0, 0));
|
|
10497
|
+
pointsLines.push(new THREE.Vector3(x(-x.domain()[1]), 0, 0));
|
|
10498
|
+
const geometryLines = new THREE.BufferGeometry().setFromPoints(pointsLines);
|
|
10499
|
+
const line = new THREE.Line(geometryLines, material);
|
|
10500
|
+
this._scene.add(line);
|
|
10501
|
+
circles.forEach((r) => {
|
|
10502
|
+
const material = new THREE.LineDashedMaterial({
|
|
10503
|
+
color: this.gridColor,
|
|
10504
|
+
dashSize: 1,
|
|
10505
|
+
gapSize: 3
|
|
10506
|
+
});
|
|
10507
|
+
const circleGeometry = new THREE.BufferGeometry().setFromPoints(new THREE.Path().absarc(0, 0, x(r), 0, Math.PI * 2, false).getSpacedPoints(100));
|
|
10508
|
+
const circle = new THREE.LineSegments(circleGeometry, material);
|
|
10509
|
+
circle.geometry.rotateX(-Math.PI / 2);
|
|
10510
|
+
this._scene.add(circle);
|
|
10001
10511
|
});
|
|
10002
|
-
const plane = new THREE.GridHelper(this.SIDE_SIZE, this.SIDE_SIZE / 10, this.gridColor, this.gridColor);
|
|
10003
|
-
plane.position.set(this.SIDE_SIZE / 2, 0, this.SIDE_SIZE / 2);
|
|
10004
|
-
this._scene.add(plane);
|
|
10005
|
-
const gridX = new THREE.GridHelper(this.SIDE_SIZE, this.SIDE_SIZE / 10, this.gridColor, this.gridColor);
|
|
10006
|
-
gridX.geometry.rotateX(-Math.PI / 2);
|
|
10007
|
-
gridX.position.set(this.SIDE_SIZE / 2, this.SIDE_SIZE / 2, 0);
|
|
10008
|
-
this._scene.add(gridX);
|
|
10009
|
-
const gridY = new THREE.GridHelper(this.SIDE_SIZE, this.SIDE_SIZE / 10, this.gridColor, this.gridColor);
|
|
10010
|
-
gridY.geometry.rotateZ(Math.PI / 2);
|
|
10011
|
-
gridY.position.set(0, this.SIDE_SIZE / 2, this.SIDE_SIZE / 2);
|
|
10012
|
-
this._scene.add(gridY);
|
|
10013
10512
|
this.drawTicks(x, y, z);
|
|
10014
|
-
|
|
10015
|
-
|
|
10016
|
-
|
|
10017
|
-
|
|
10018
|
-
|
|
10019
|
-
|
|
10020
|
-
|
|
10021
|
-
|
|
10022
|
-
|
|
10513
|
+
if (!this._controls) {
|
|
10514
|
+
this._controls = new OrbitControls(this._camera, this._renderer.domElement);
|
|
10515
|
+
this._controls.enableDamping = true;
|
|
10516
|
+
this._controls.enablePan = true;
|
|
10517
|
+
this._controls.dampingFactor = 0.25;
|
|
10518
|
+
this._controls.screenSpacePanning = true;
|
|
10519
|
+
this._controls.minDistance = 0;
|
|
10520
|
+
this._controls.maxDistance = 10000;
|
|
10521
|
+
this._controls.maxPolarAngle = Math.PI / 2;
|
|
10522
|
+
this._controls.enableZoom = true;
|
|
10523
|
+
}
|
|
10023
10524
|
}
|
|
10024
10525
|
createScene() {
|
|
10025
10526
|
this._scene = new THREE.Scene();
|
|
@@ -10081,7 +10582,7 @@ class Chart3dComponent {
|
|
|
10081
10582
|
map: texture,
|
|
10082
10583
|
});
|
|
10083
10584
|
const sprite = new THREE.Sprite(spriteMaterial);
|
|
10084
|
-
sprite.scale.set(
|
|
10585
|
+
sprite.scale.set(0.4 * fontSize, 0.4 * fontSize, 0.4 * fontSize);
|
|
10085
10586
|
return sprite;
|
|
10086
10587
|
}
|
|
10087
10588
|
drawTicks(x, y, z) {
|
|
@@ -10093,24 +10594,27 @@ class Chart3dComponent {
|
|
|
10093
10594
|
generatedTicks.forEach((_) => {
|
|
10094
10595
|
const sprite = this.makeSprite(_);
|
|
10095
10596
|
if (idx === 0) {
|
|
10096
|
-
sprite.position.set(x(_),
|
|
10597
|
+
sprite.position.set(x(_), y(y.domain()[1]), 0);
|
|
10097
10598
|
}
|
|
10098
10599
|
if (idx === 1) {
|
|
10099
|
-
sprite.position.set(-
|
|
10600
|
+
sprite.position.set(-10, y(_), 0);
|
|
10100
10601
|
}
|
|
10101
10602
|
if (idx === 2) {
|
|
10102
|
-
sprite.position.set(0,
|
|
10603
|
+
sprite.position.set(0, y(y.domain()[1]), z(_));
|
|
10103
10604
|
}
|
|
10104
10605
|
ticks.add(sprite);
|
|
10105
10606
|
});
|
|
10106
10607
|
});
|
|
10107
|
-
const northLabel = this.makeSprite('
|
|
10108
|
-
const westLabel = this.makeSprite('
|
|
10608
|
+
const northLabel = this.makeSprite('X', { fontSize: 28 });
|
|
10609
|
+
const westLabel = this.makeSprite('Y', { fontSize: 28 });
|
|
10109
10610
|
const tvdLabel = this.makeSprite('TVD', { fontSize: 28 });
|
|
10110
|
-
northLabel.position.set(x(
|
|
10111
|
-
westLabel.position.set(0, 0, y(
|
|
10112
|
-
tvdLabel.position.set(0, z(
|
|
10611
|
+
northLabel.position.set(x(x.domain()[1]) + 5, 0, 0);
|
|
10612
|
+
westLabel.position.set(0, 0, y(y.domain()[0]) + 5);
|
|
10613
|
+
tvdLabel.position.set(0, z(z.domain()[1]) + 5, 0);
|
|
10113
10614
|
ticks.add(northLabel, westLabel, tvdLabel);
|
|
10615
|
+
const axesHelper = new THREE.AxesHelper(this.SIDE_SIZE);
|
|
10616
|
+
axesHelper.setColors(this.axesColor, this.axesColor, this.axesColor);
|
|
10617
|
+
this._scene.add(axesHelper);
|
|
10114
10618
|
this._scene.add(ticks);
|
|
10115
10619
|
}
|
|
10116
10620
|
getScales(series) {
|
|
@@ -10127,34 +10631,22 @@ class Chart3dComponent {
|
|
|
10127
10631
|
}, { x: [], y: [], z: [] });
|
|
10128
10632
|
const x = d3
|
|
10129
10633
|
.scaleLinear()
|
|
10130
|
-
.domain([
|
|
10131
|
-
|
|
10132
|
-
this._config?.axes?.max == null
|
|
10133
|
-
? d3.max(flattenExtrems.x)
|
|
10634
|
+
.domain([0, this._config?.axes?.max == null
|
|
10635
|
+
? parseInt(d3.max(flattenExtrems.x))
|
|
10134
10636
|
: this._config.axes.max,
|
|
10135
10637
|
])
|
|
10136
|
-
.range([0, this.SIDE_SIZE])
|
|
10137
|
-
.nice();
|
|
10638
|
+
.range([0, this.SIDE_SIZE]).nice();
|
|
10138
10639
|
const y = d3
|
|
10139
10640
|
.scaleLinear()
|
|
10140
|
-
.domain([
|
|
10141
|
-
|
|
10142
|
-
this._config?.axes?.max == null
|
|
10143
|
-
? d3.max(flattenExtrems.y)
|
|
10144
|
-
: this._config.axes.max,
|
|
10145
|
-
])
|
|
10146
|
-
.range([0, this.SIDE_SIZE])
|
|
10147
|
-
.nice();
|
|
10641
|
+
.domain([0, parseInt(d3.max(flattenExtrems.y), 10)])
|
|
10642
|
+
.range([this.SIDE_SIZE, 0]);
|
|
10148
10643
|
const z = d3
|
|
10149
10644
|
.scaleLinear()
|
|
10150
|
-
.domain([
|
|
10151
|
-
d3.min(flattenExtrems.z),
|
|
10645
|
+
.domain([0,
|
|
10152
10646
|
this._config?.axes?.max == null
|
|
10153
|
-
? d3.max(flattenExtrems.z)
|
|
10154
|
-
: this._config.axes.max
|
|
10155
|
-
|
|
10156
|
-
.range([this.SIDE_SIZE, 0])
|
|
10157
|
-
.nice();
|
|
10647
|
+
? parseInt(d3.max(flattenExtrems.z))
|
|
10648
|
+
: this._config.axes.max])
|
|
10649
|
+
.range([0, this.SIDE_SIZE]).nice();
|
|
10158
10650
|
return { x, y, z };
|
|
10159
10651
|
}
|
|
10160
10652
|
}
|
|
@@ -10193,129 +10685,6 @@ class Chart3dOptions {
|
|
|
10193
10685
|
|
|
10194
10686
|
/* accordion */
|
|
10195
10687
|
|
|
10196
|
-
class ClickService {
|
|
10197
|
-
constructor(_document) {
|
|
10198
|
-
this._document = _document;
|
|
10199
|
-
this.click = fromEvent(this._document, 'click');
|
|
10200
|
-
this.contextMenu = fromEvent(this._document, 'contextmenu');
|
|
10201
|
-
}
|
|
10202
|
-
}
|
|
10203
|
-
ClickService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10204
|
-
ClickService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickService, providedIn: 'root' });
|
|
10205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickService, decorators: [{
|
|
10206
|
-
type: Injectable,
|
|
10207
|
-
args: [{
|
|
10208
|
-
providedIn: 'root',
|
|
10209
|
-
}]
|
|
10210
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10211
|
-
type: Inject,
|
|
10212
|
-
args: [DOCUMENT]
|
|
10213
|
-
}] }]; } });
|
|
10214
|
-
|
|
10215
|
-
class ContextMenuDirective extends DynamicContentBaseDirective {
|
|
10216
|
-
constructor(_document, _elementRef, _service, _injector, _zone, _cdr, _click) {
|
|
10217
|
-
super(_document, _elementRef, _service, _injector, _zone, _cdr);
|
|
10218
|
-
this._document = _document;
|
|
10219
|
-
this._elementRef = _elementRef;
|
|
10220
|
-
this._service = _service;
|
|
10221
|
-
this._injector = _injector;
|
|
10222
|
-
this._zone = _zone;
|
|
10223
|
-
this._cdr = _cdr;
|
|
10224
|
-
this._click = _click;
|
|
10225
|
-
}
|
|
10226
|
-
get _dynamicContent() {
|
|
10227
|
-
return this.tetaContextMenu;
|
|
10228
|
-
}
|
|
10229
|
-
showContent(event) {
|
|
10230
|
-
event.preventDefault();
|
|
10231
|
-
setTimeout(() => {
|
|
10232
|
-
this.createMenu(event);
|
|
10233
|
-
});
|
|
10234
|
-
}
|
|
10235
|
-
click(event) {
|
|
10236
|
-
if (this._componentRef &&
|
|
10237
|
-
DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
|
|
10238
|
-
event.preventDefault();
|
|
10239
|
-
event.stopPropagation();
|
|
10240
|
-
}
|
|
10241
|
-
}
|
|
10242
|
-
ngOnInit() {
|
|
10243
|
-
super.ngOnInit();
|
|
10244
|
-
merge(this._click.click, this._click.contextMenu)
|
|
10245
|
-
.pipe(takeWhile(() => this._alive), filter(() => this._open), filter(() => this._componentRef != null), filter((event) => !DomUtil.clickedInside(this._componentRef.location.nativeElement, event)), tap((_) => {
|
|
10246
|
-
this.destroyContentRef();
|
|
10247
|
-
this.openChange.emit(false);
|
|
10248
|
-
}))
|
|
10249
|
-
.subscribe();
|
|
10250
|
-
}
|
|
10251
|
-
ngOnDestroy() {
|
|
10252
|
-
super.ngOnDestroy();
|
|
10253
|
-
}
|
|
10254
|
-
setPosition() {
|
|
10255
|
-
if (this._componentRef && this._open) {
|
|
10256
|
-
const position = PositionUtil.getPosition({
|
|
10257
|
-
top: this._eventPoint.y,
|
|
10258
|
-
bottom: this._eventPoint.y,
|
|
10259
|
-
left: this._eventPoint.x,
|
|
10260
|
-
right: this._eventPoint.x,
|
|
10261
|
-
}, this._componentRef.location.nativeElement.getBoundingClientRect(), this.align, this.verticalAlign);
|
|
10262
|
-
PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
|
|
10263
|
-
}
|
|
10264
|
-
}
|
|
10265
|
-
createMenu(event) {
|
|
10266
|
-
if (this.tetaContextMenu == null) {
|
|
10267
|
-
return;
|
|
10268
|
-
}
|
|
10269
|
-
this._eventPoint = event;
|
|
10270
|
-
this._componentRef = this.createContentRef();
|
|
10271
|
-
this._componentRef.instance.className = [
|
|
10272
|
-
...ArrayUtil.asArray(this.className),
|
|
10273
|
-
'context-menu',
|
|
10274
|
-
];
|
|
10275
|
-
this.openChange.emit(true);
|
|
10276
|
-
}
|
|
10277
|
-
}
|
|
10278
|
-
ContextMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: DynamicComponentService }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: ClickService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10279
|
-
ContextMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: ContextMenuDirective, selector: "[tetaContextMenu]", inputs: { tetaContextMenu: "tetaContextMenu" }, host: { listeners: { "contextmenu": "showContent($event)", "click": "click($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
10280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuDirective, decorators: [{
|
|
10281
|
-
type: Directive,
|
|
10282
|
-
args: [{
|
|
10283
|
-
selector: '[tetaContextMenu]',
|
|
10284
|
-
}]
|
|
10285
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10286
|
-
type: Inject,
|
|
10287
|
-
args: [DOCUMENT]
|
|
10288
|
-
}] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: ClickService }]; }, propDecorators: { tetaContextMenu: [{
|
|
10289
|
-
type: Input
|
|
10290
|
-
}], showContent: [{
|
|
10291
|
-
type: HostListener,
|
|
10292
|
-
args: ['contextmenu', ['$event']]
|
|
10293
|
-
}], click: [{
|
|
10294
|
-
type: HostListener,
|
|
10295
|
-
args: ['click', ['$event']]
|
|
10296
|
-
}] } });
|
|
10297
|
-
|
|
10298
|
-
class ContextMenuModule {
|
|
10299
|
-
}
|
|
10300
|
-
ContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10301
|
-
ContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, declarations: [ContextMenuDirective], imports: [CommonModule,
|
|
10302
|
-
DynamicComponentModule], exports: [ContextMenuDirective] });
|
|
10303
|
-
ContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, imports: [[
|
|
10304
|
-
CommonModule,
|
|
10305
|
-
DynamicComponentModule
|
|
10306
|
-
]] });
|
|
10307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ContextMenuModule, decorators: [{
|
|
10308
|
-
type: NgModule,
|
|
10309
|
-
args: [{
|
|
10310
|
-
declarations: [ContextMenuDirective],
|
|
10311
|
-
exports: [ContextMenuDirective],
|
|
10312
|
-
imports: [
|
|
10313
|
-
CommonModule,
|
|
10314
|
-
DynamicComponentModule
|
|
10315
|
-
]
|
|
10316
|
-
}]
|
|
10317
|
-
}] });
|
|
10318
|
-
|
|
10319
10688
|
class DisableControlDirective {
|
|
10320
10689
|
constructor(ngControl) {
|
|
10321
10690
|
this.ngControl = ngControl;
|
|
@@ -10331,14 +10700,14 @@ class DisableControlDirective {
|
|
|
10331
10700
|
}
|
|
10332
10701
|
}
|
|
10333
10702
|
}
|
|
10334
|
-
DisableControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DisableControlDirective, deps: [{ token: i3.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10703
|
+
DisableControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DisableControlDirective, deps: [{ token: i3$1.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10335
10704
|
DisableControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: DisableControlDirective, selector: "[tetaDisableControl]", inputs: { tetaDisableControl: "tetaDisableControl" }, ngImport: i0 });
|
|
10336
10705
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DisableControlDirective, decorators: [{
|
|
10337
10706
|
type: Directive,
|
|
10338
10707
|
args: [{
|
|
10339
10708
|
selector: '[tetaDisableControl]'
|
|
10340
10709
|
}]
|
|
10341
|
-
}], ctorParameters: function () { return [{ type: i3.NgControl }]; }, propDecorators: { tetaDisableControl: [{
|
|
10710
|
+
}], ctorParameters: function () { return [{ type: i3$1.NgControl }]; }, propDecorators: { tetaDisableControl: [{
|
|
10342
10711
|
type: Input
|
|
10343
10712
|
}] } });
|
|
10344
10713
|
|
|
@@ -10771,7 +11140,7 @@ class ResizePanelComponent {
|
|
|
10771
11140
|
}
|
|
10772
11141
|
}
|
|
10773
11142
|
ResizePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ResizePanelComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
10774
|
-
ResizePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ResizePanelComponent, selector: "teta-resize-panel", inputs: { direction: "direction", grabPosition: "grabPosition", name: "name", minSize: "minSize", maxSize: "maxSize" }, host: { properties: { "class.resize-panel": "this.resizePanelClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n<div #grab class=\"resize-grab\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd($event)\"\n [tetaResizeDrag]=\"direction\"\n [ngClass]=\"getClassName()\">\n <teta-icon [name]=\"direction\"></teta-icon>\n</div>\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: ResizeDragDirective, selector: "[tetaResizeDrag]", inputs: ["tetaResizeDrag"], outputs: ["resizeStart", "resizeProcess", "resizeEnd"] }, { type:
|
|
11143
|
+
ResizePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ResizePanelComponent, selector: "teta-resize-panel", inputs: { direction: "direction", grabPosition: "grabPosition", name: "name", minSize: "minSize", maxSize: "maxSize" }, host: { properties: { "class.resize-panel": "this.resizePanelClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n<div #grab class=\"resize-grab\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd($event)\"\n [tetaResizeDrag]=\"direction\"\n [ngClass]=\"getClassName()\">\n <teta-icon [name]=\"direction\"></teta-icon>\n</div>\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: ResizeDragDirective, selector: "[tetaResizeDrag]", inputs: ["tetaResizeDrag"], outputs: ["resizeStart", "resizeProcess", "resizeEnd"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10775
11144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ResizePanelComponent, decorators: [{
|
|
10776
11145
|
type: Component,
|
|
10777
11146
|
args: [{ selector: 'teta-resize-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<div #grab class=\"resize-grab\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd($event)\"\n [tetaResizeDrag]=\"direction\"\n [ngClass]=\"getClassName()\">\n <teta-icon [name]=\"direction\"></teta-icon>\n</div>\n", styles: [""] }]
|
|
@@ -10965,12 +11334,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
10965
11334
|
args: [DOCUMENT]
|
|
10966
11335
|
}] }]; } });
|
|
10967
11336
|
|
|
10968
|
-
|
|
10969
|
-
|
|
10970
|
-
|
|
10971
|
-
|
|
10972
|
-
|
|
10973
|
-
|
|
11337
|
+
const ruLocale = {
|
|
11338
|
+
apply: 'Применить',
|
|
11339
|
+
cancel: 'Отменить',
|
|
11340
|
+
clear: 'Очистить',
|
|
11341
|
+
pin: 'Закрепить',
|
|
11342
|
+
unpin: 'Открепить',
|
|
11343
|
+
sortAsc: 'Сортировать по возрастанию',
|
|
11344
|
+
sortDesc: 'Сортировать по убыванию',
|
|
11345
|
+
clearSort: 'Сбросить сортировку',
|
|
11346
|
+
clearAllSort: 'Сбросить все сортировки',
|
|
11347
|
+
clearFilter: 'Очистить фильтр',
|
|
11348
|
+
clearAllFilters: 'Очистить все фильтры',
|
|
11349
|
+
autosizeColumn: 'Авторазмер колонки',
|
|
11350
|
+
autosizeAll: 'Авторазмер всех колонок',
|
|
11351
|
+
resetColumnsSize: 'Восстановить размер колонок',
|
|
11352
|
+
from: 'От',
|
|
11353
|
+
to: 'До',
|
|
11354
|
+
all: 'Все',
|
|
11355
|
+
min: 'Мин',
|
|
11356
|
+
max: 'Макс',
|
|
11357
|
+
sum: 'Сумма',
|
|
11358
|
+
avg: 'Средн',
|
|
11359
|
+
search: 'Поиск',
|
|
11360
|
+
months: [
|
|
11361
|
+
'Январь',
|
|
11362
|
+
'Февраль',
|
|
11363
|
+
'Март',
|
|
11364
|
+
'Апрель',
|
|
11365
|
+
'Май',
|
|
11366
|
+
'Июнь',
|
|
11367
|
+
'Июль',
|
|
11368
|
+
'Август',
|
|
11369
|
+
'Сентябрь',
|
|
11370
|
+
'Октябрь',
|
|
11371
|
+
'Ноябрь',
|
|
11372
|
+
'Декабрь'
|
|
11373
|
+
],
|
|
11374
|
+
days: [
|
|
11375
|
+
'Воскресенье',
|
|
11376
|
+
'Понедельник',
|
|
11377
|
+
'Вторник',
|
|
11378
|
+
'Среда',
|
|
11379
|
+
'Четверг',
|
|
11380
|
+
'Пятниуа',
|
|
11381
|
+
'Суббота'
|
|
11382
|
+
],
|
|
11383
|
+
daysShort: [
|
|
11384
|
+
'Вс',
|
|
11385
|
+
'Пн',
|
|
11386
|
+
'Вт',
|
|
11387
|
+
'Ср',
|
|
11388
|
+
'Чт',
|
|
11389
|
+
'Пт',
|
|
11390
|
+
'Сб'
|
|
11391
|
+
]
|
|
11392
|
+
};
|
|
10974
11393
|
|
|
10975
11394
|
/**
|
|
10976
11395
|
* Components
|
|
@@ -10980,5 +11399,5 @@ class StringUtil {
|
|
|
10980
11399
|
* Generated bundle index. Do not edit.
|
|
10981
11400
|
*/
|
|
10982
11401
|
|
|
10983
|
-
export { AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AccordionModule, AggregationType, Align, ArrayUtil, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dModule, Chart3dOptions, CheckboxComponent, CheckboxModule, ClickOutsideDirective, ClickOutsideModule, ClickService, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, ContextMenuModule, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DAY_SELECT_CONTROL_VALUE_ACCESSOR, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerModule, DateTimeCellComponent, DateUtil, DaySelectComponent, DelimiterComponent, DelimiterModule, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DisableControlModule, DomUtil, DragSortContainerDirective, DragSortItemDirective, DragSortModule, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DropdownModule, DynamicComponentModule, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExpandPanelModule, FileItemComponent, FileUploadAreaComponent, FileUploadModule, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterModule,
|
|
11402
|
+
export { AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AccordionModule, AggregationType, Align, ArrayUtil, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dModule, Chart3dOptions, CheckboxComponent, CheckboxModule, ClickOutsideDirective, ClickOutsideModule, ClickService, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, ContextMenuModule, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DAY_SELECT_CONTROL_VALUE_ACCESSOR, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerModule, DateTimeCellComponent, DateUtil, DaySelectComponent, DelimiterComponent, DelimiterModule, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DisableControlModule, DomUtil, DragSortContainerDirective, DragSortItemDirective, DragSortModule, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DropdownModule, DynamicComponentModule, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExpandPanelModule, FileItemComponent, FileUploadAreaComponent, FileUploadModule, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterModule, FilterState, FilterType, FormGroupTitleComponent, FormsUtil, GroupRowComponent, HeadCellComponentBase, HeadCellHostComponent, HighlightDirective, HighlightModule, HintDirective, HintModule, IconComponent, IconModule, IconService, IconSpriteDirective, InputComponent, InputModule, ListCellComponent, ListFilter, ListFilterComponent, ListFilterType, LoaderDirective, LoaderModule, MONTH_PICKER_CONTROL_VALUE_ACCESSOR, Message, MessageComponent, MessageHostComponent, MessageModule, MessageService, ModalCloseReason, ModalContainerComponent, ModalInstance, ModalModule, ModalService, MonthPickerComponent, NoAutofillDirective, NoAutofillModule, NumberPipe, NumberPipeModule, NumericCellComponent, NumericFilter, NumericFilterComponent, NumericFilterValue, OnlyNumberDirective, OnlyNumberModule, OverlayContainerService, PagerComponent, PagerModule, PagerState, PagerUtil, PanelComponent, PanelModule, PopupContentComponent, PositionUtil, ProgressBarComponent, ProgressBarModule, PropertyGridComponent, PropertyGridModule, RadioButtonComponent, RadioComponent, RadioModule, ResizeDragDirective, ResizeDragModule, ResizePanelComponent, ResizePanelModule, SLIDER_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, SelectComponent, SelectModule, SelectOptionDirective, SelectType, SelectValueDirective, SidebarComponent, SidebarModule, SidebarPosition, SortEvent, SortParam, StateUtil, StringCellComponent, StringFilter, StringFilterComponent, StringFilterType, StringUtil, SwitchButtonComponent, SwitchComponent, SwitchModule, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabContentDirective, TabTitleDirective, TableBodyComponent, TableColumn, TableColumnStore, TableComponent, TableHeadComponent, TableModule, TableRow, TableService, TableUtil, TabsComponent, TabsModule, TetaConfigService, TetaContentRef, TetaSize, TetaTemplateDirective, TetaTemplateModule, TextFieldComponent, ThemeSwitchComponent, ThemeSwitchModule, ThemeSwitchService, ToggleComponent, ToggleModule, ToolbarComponent, ToolbarModule, TooltipDirective, TooltipModule, TreeComponent, TreeItemToggleComponent, TreeModule, TreeService, VerticalAlign, enLocale, formatNumber, getCellComponent, getPrecision, prependZero, ruLocale };
|
|
10984
11403
|
//# sourceMappingURL=tetacom-ng-components.mjs.map
|