@tetacom/ng-components 1.0.67 → 1.0.68
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/util/dom-util.d.ts +1 -0
- package/component/input/input.module.d.ts +2 -1
- package/component/tabs/tabs/tabs.component.d.ts +1 -1
- package/directive/hint/hint.directive.d.ts +2 -1
- package/esm2020/common/util/dom-util.mjs +4 -1
- package/esm2020/component/input/input/input.component.mjs +4 -3
- package/esm2020/component/input/input.module.mjs +5 -4
- package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +1 -1
- package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +1 -1
- package/esm2020/component/table/default/string-cell/string-cell.component.mjs +4 -3
- package/esm2020/component/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2020/directive/hint/hint.directive.mjs +6 -3
- package/fesm2015/tetacom-ng-components.mjs +469 -463
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +469 -463
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ChangeDetectionStrategy, HostBinding, Directive, Optional, Inject, ContentChild, Input, Host, HostListener, Injectable, NgModule, forwardRef, EventEmitter, ElementRef, Output, Pipe, ViewChild,
|
|
2
|
+
import { Component, ChangeDetectionStrategy, HostBinding, Directive, Optional, Inject, ContentChild, Input, Host, HostListener, Injectable, NgModule, forwardRef, EventEmitter, ElementRef, Output, Pipe, ViewChild, TemplateRef, Injector, ViewEncapsulation, ChangeDetectorRef, ContentChildren, SkipSelf, ViewContainerRef, PLATFORM_ID } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/common';
|
|
4
4
|
import { DOCUMENT, CommonModule, isPlatformBrowser } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/common/http';
|
|
@@ -1062,6 +1062,9 @@ class DomUtil {
|
|
|
1062
1062
|
}
|
|
1063
1063
|
return null;
|
|
1064
1064
|
}
|
|
1065
|
+
static isOverflown(element) {
|
|
1066
|
+
return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
|
|
1067
|
+
}
|
|
1065
1068
|
}
|
|
1066
1069
|
|
|
1067
1070
|
class PositionUtil {
|
|
@@ -3607,151 +3610,426 @@ class NumericFilterValue {
|
|
|
3607
3610
|
}
|
|
3608
3611
|
}
|
|
3609
3612
|
|
|
3610
|
-
class
|
|
3611
|
-
constructor() {
|
|
3612
|
-
this.
|
|
3613
|
+
class TetaContentRef {
|
|
3614
|
+
constructor(nodes, viewRef, componentRef) {
|
|
3615
|
+
this.nodes = nodes;
|
|
3616
|
+
this.viewRef = viewRef;
|
|
3617
|
+
this.componentRef = componentRef;
|
|
3613
3618
|
}
|
|
3614
|
-
|
|
3615
|
-
|
|
3619
|
+
}
|
|
3620
|
+
|
|
3621
|
+
class DynamicData {
|
|
3622
|
+
constructor(value) {
|
|
3623
|
+
for (const key in value) {
|
|
3624
|
+
if (value.hasOwnProperty(key)) {
|
|
3625
|
+
this[key] = value[key];
|
|
3626
|
+
}
|
|
3627
|
+
}
|
|
3616
3628
|
}
|
|
3617
|
-
ngOnInit() { }
|
|
3618
3629
|
}
|
|
3619
|
-
InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3620
|
-
InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, decorators: [{
|
|
3622
|
-
type: Component,
|
|
3623
|
-
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"] }]
|
|
3624
|
-
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
3625
|
-
type: Input
|
|
3626
|
-
}], horizontal: [{
|
|
3627
|
-
type: Input
|
|
3628
|
-
}, {
|
|
3629
|
-
type: HostBinding,
|
|
3630
|
-
args: ['class.row']
|
|
3631
|
-
}], required: [{
|
|
3632
|
-
type: Input
|
|
3633
|
-
}], column: [{
|
|
3634
|
-
type: HostBinding,
|
|
3635
|
-
args: ['class.column']
|
|
3636
|
-
}] } });
|
|
3637
3630
|
|
|
3638
|
-
class
|
|
3639
|
-
constructor(
|
|
3640
|
-
|
|
3641
|
-
this.
|
|
3642
|
-
this.
|
|
3643
|
-
this.
|
|
3644
|
-
this.filterChanged = new EventEmitter();
|
|
3645
|
-
this.locale = this._config.locale;
|
|
3631
|
+
class DynamicComponentService {
|
|
3632
|
+
constructor(_componentFactoryResolver, _rendererFactory, _appRef) {
|
|
3633
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
|
3634
|
+
this._rendererFactory = _rendererFactory;
|
|
3635
|
+
this._appRef = _appRef;
|
|
3636
|
+
this._renderer = this._rendererFactory.createRenderer(null, null);
|
|
3646
3637
|
}
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3638
|
+
createComponent(component, contentRef, injector, container) {
|
|
3639
|
+
const componentRef = this._componentFactoryResolver
|
|
3640
|
+
.resolveComponentFactory(component)
|
|
3641
|
+
.create(injector, contentRef.nodes);
|
|
3642
|
+
this._appRef.attachView(componentRef.hostView);
|
|
3643
|
+
container.appendChild(componentRef.location.nativeElement);
|
|
3644
|
+
return componentRef;
|
|
3651
3645
|
}
|
|
3652
|
-
|
|
3653
|
-
|
|
3646
|
+
createContent(content, injector, context) {
|
|
3647
|
+
if (content === null || content === undefined) {
|
|
3648
|
+
throw new Error('Content is undefined');
|
|
3649
|
+
}
|
|
3650
|
+
if (typeof content === 'string') {
|
|
3651
|
+
return this.fromString(content);
|
|
3652
|
+
}
|
|
3653
|
+
else if (content instanceof TemplateRef) {
|
|
3654
|
+
return this.fromTemplate(content, context);
|
|
3655
|
+
}
|
|
3656
|
+
else {
|
|
3657
|
+
return this.fromComponent(content, injector, context);
|
|
3658
|
+
}
|
|
3654
3659
|
}
|
|
3655
|
-
|
|
3656
|
-
|
|
3660
|
+
destroy(component, content, container) {
|
|
3661
|
+
if (component) {
|
|
3662
|
+
this._appRef.detachView(component.hostView);
|
|
3663
|
+
component.destroy();
|
|
3664
|
+
}
|
|
3665
|
+
if (content && content.viewRef) {
|
|
3666
|
+
content.viewRef.destroy();
|
|
3667
|
+
}
|
|
3668
|
+
content = null;
|
|
3657
3669
|
}
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
field: this.column.filterField,
|
|
3665
|
-
name: this.column.name,
|
|
3666
|
-
strict: true,
|
|
3667
|
-
}));
|
|
3670
|
+
getContext(content, context) {
|
|
3671
|
+
if (content instanceof TemplateRef) {
|
|
3672
|
+
return {
|
|
3673
|
+
$implicit: context,
|
|
3674
|
+
data: context,
|
|
3675
|
+
};
|
|
3668
3676
|
}
|
|
3669
|
-
return
|
|
3677
|
+
return context;
|
|
3670
3678
|
}
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
(
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
*/
|
|
3698
|
-
StringFilterType[StringFilterType["StartsWith"] = 2] = "StartsWith";
|
|
3699
|
-
/**
|
|
3700
|
-
* Оканчивается указанной подстрокой
|
|
3701
|
-
*/
|
|
3702
|
-
StringFilterType[StringFilterType["EndsWith"] = 3] = "EndsWith";
|
|
3703
|
-
/**
|
|
3704
|
-
* Содержит указанную подстроку
|
|
3705
|
-
*/
|
|
3706
|
-
StringFilterType[StringFilterType["Contains"] = 4] = "Contains";
|
|
3707
|
-
})(StringFilterType || (StringFilterType = {}));
|
|
3708
|
-
|
|
3709
|
-
class StringFilter extends FilterBase {
|
|
3710
|
-
constructor(options) {
|
|
3711
|
-
super(options);
|
|
3712
|
-
if (options) {
|
|
3713
|
-
this.value = options.value || this.value;
|
|
3714
|
-
this.type = options.type || StringFilterType.Contains;
|
|
3679
|
+
getInjector(data, parent) {
|
|
3680
|
+
return Injector.create({
|
|
3681
|
+
providers: [
|
|
3682
|
+
{
|
|
3683
|
+
provide: DynamicData,
|
|
3684
|
+
useValue: data,
|
|
3685
|
+
},
|
|
3686
|
+
],
|
|
3687
|
+
parent,
|
|
3688
|
+
});
|
|
3689
|
+
}
|
|
3690
|
+
fromString(content) {
|
|
3691
|
+
return new TetaContentRef([[this._renderer.createText(`${content}`)]]);
|
|
3692
|
+
}
|
|
3693
|
+
fromTemplate(content, context) {
|
|
3694
|
+
const viewRef = content.createEmbeddedView(context);
|
|
3695
|
+
this._appRef.attachView(viewRef);
|
|
3696
|
+
return new TetaContentRef([viewRef.rootNodes], viewRef);
|
|
3697
|
+
}
|
|
3698
|
+
fromComponent(content, injector, context) {
|
|
3699
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(content);
|
|
3700
|
+
const componentRef = componentFactory.create(injector);
|
|
3701
|
+
for (const key in context) {
|
|
3702
|
+
if (context.hasOwnProperty(key)) {
|
|
3703
|
+
componentRef.instance[key] = context[key];
|
|
3704
|
+
}
|
|
3715
3705
|
}
|
|
3706
|
+
const componentNativeEl = componentRef.location.nativeElement;
|
|
3707
|
+
this._appRef.attachView(componentRef.hostView);
|
|
3708
|
+
return new TetaContentRef([[componentNativeEl]], componentRef.hostView, componentRef);
|
|
3716
3709
|
}
|
|
3717
3710
|
}
|
|
3711
|
+
DynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.RendererFactory2 }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3712
|
+
DynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, providedIn: 'root' });
|
|
3713
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, decorators: [{
|
|
3714
|
+
type: Injectable,
|
|
3715
|
+
args: [{
|
|
3716
|
+
providedIn: 'root',
|
|
3717
|
+
}]
|
|
3718
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.RendererFactory2 }, { type: i0.ApplicationRef }]; } });
|
|
3718
3719
|
|
|
3719
|
-
class
|
|
3720
|
-
constructor(
|
|
3721
|
-
|
|
3722
|
-
this.
|
|
3723
|
-
this.
|
|
3724
|
-
this.
|
|
3725
|
-
this.
|
|
3726
|
-
this.
|
|
3720
|
+
class DynamicContentBaseDirective {
|
|
3721
|
+
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
3722
|
+
this._document = _document;
|
|
3723
|
+
this._elementRef = _elementRef;
|
|
3724
|
+
this._service = _service;
|
|
3725
|
+
this._injector = _injector;
|
|
3726
|
+
this._zone = _zone;
|
|
3727
|
+
this._cdr = _cdr;
|
|
3728
|
+
this.align = Align.left;
|
|
3729
|
+
this.verticalAlign = VerticalAlign.bottom;
|
|
3730
|
+
this.openChange = new EventEmitter();
|
|
3731
|
+
this._alive = true;
|
|
3732
|
+
this._open = false;
|
|
3733
|
+
this._zone.onStable
|
|
3734
|
+
.pipe(takeWhile((_) => this._alive), filter((_) => this._open))
|
|
3735
|
+
.subscribe((_) => {
|
|
3736
|
+
this.setPosition();
|
|
3737
|
+
});
|
|
3727
3738
|
}
|
|
3728
|
-
set
|
|
3729
|
-
this.
|
|
3730
|
-
|
|
3731
|
-
|
|
3739
|
+
set open(open) {
|
|
3740
|
+
this._open = open;
|
|
3741
|
+
if (this._open) {
|
|
3742
|
+
this.createContentRef();
|
|
3743
|
+
}
|
|
3744
|
+
else {
|
|
3745
|
+
this.destroyContentRef();
|
|
3746
|
+
}
|
|
3732
3747
|
}
|
|
3733
|
-
|
|
3734
|
-
|
|
3748
|
+
ngOnDestroy() {
|
|
3749
|
+
this._alive = false;
|
|
3750
|
+
this.destroyContentRef();
|
|
3735
3751
|
}
|
|
3736
3752
|
ngOnInit() {
|
|
3737
3753
|
}
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
name: this.column.name,
|
|
3749
|
-
}));
|
|
3754
|
+
createContentRef(className) {
|
|
3755
|
+
if (!this._componentRef) {
|
|
3756
|
+
this._open = true;
|
|
3757
|
+
const injector = this._service.getInjector(this.data, this._injector);
|
|
3758
|
+
const context = this._service.getContext(this._dynamicContent, this.data);
|
|
3759
|
+
this._content = this._service.createContent(this._dynamicContent, this._injector, context);
|
|
3760
|
+
this._componentRef = this._service.createComponent(PopupContentComponent, this._content, injector, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
3761
|
+
if (className) {
|
|
3762
|
+
this._componentRef.instance.addClass(className);
|
|
3763
|
+
}
|
|
3750
3764
|
}
|
|
3751
|
-
|
|
3752
|
-
return filter;
|
|
3765
|
+
return this._componentRef;
|
|
3753
3766
|
}
|
|
3754
|
-
|
|
3767
|
+
destroyContentRef() {
|
|
3768
|
+
this._open = false;
|
|
3769
|
+
this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
3770
|
+
this._componentRef = null;
|
|
3771
|
+
}
|
|
3772
|
+
}
|
|
3773
|
+
DynamicContentBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
3774
|
+
DynamicContentBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: DynamicContentBaseDirective, inputs: { data: "data", className: "className", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", open: "open" }, outputs: { openChange: "openChange" }, ngImport: i0 });
|
|
3775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, decorators: [{
|
|
3776
|
+
type: Directive
|
|
3777
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
3778
|
+
type: Input
|
|
3779
|
+
}], className: [{
|
|
3780
|
+
type: Input
|
|
3781
|
+
}], align: [{
|
|
3782
|
+
type: Input
|
|
3783
|
+
}], verticalAlign: [{
|
|
3784
|
+
type: Input
|
|
3785
|
+
}], appendToBody: [{
|
|
3786
|
+
type: Input
|
|
3787
|
+
}], open: [{
|
|
3788
|
+
type: Input
|
|
3789
|
+
}], openChange: [{
|
|
3790
|
+
type: Output
|
|
3791
|
+
}] } });
|
|
3792
|
+
|
|
3793
|
+
class HintDirective extends DynamicContentBaseDirective {
|
|
3794
|
+
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
3795
|
+
super(_document, _elementRef, _service, _injector, _zone, _cdr);
|
|
3796
|
+
this._document = _document;
|
|
3797
|
+
this._elementRef = _elementRef;
|
|
3798
|
+
this._service = _service;
|
|
3799
|
+
this._injector = _injector;
|
|
3800
|
+
this._zone = _zone;
|
|
3801
|
+
this._cdr = _cdr;
|
|
3802
|
+
this.align = Align.center;
|
|
3803
|
+
this.verticalAlign = VerticalAlign.top;
|
|
3804
|
+
this.delay = 300;
|
|
3805
|
+
this.overflownOnly = false;
|
|
3806
|
+
}
|
|
3807
|
+
get _dynamicContent() {
|
|
3808
|
+
return this.tetaHint;
|
|
3809
|
+
}
|
|
3810
|
+
mouseenter() {
|
|
3811
|
+
clearTimeout(this._timeout);
|
|
3812
|
+
this._timeout = setTimeout(() => {
|
|
3813
|
+
this.createHint();
|
|
3814
|
+
}, this.delay);
|
|
3815
|
+
}
|
|
3816
|
+
mouseleave() {
|
|
3817
|
+
clearTimeout(this._timeout);
|
|
3818
|
+
if (this._open && this._componentRef) {
|
|
3819
|
+
this._timeout = setTimeout(() => {
|
|
3820
|
+
this.destroyContentRef();
|
|
3821
|
+
}, this.delay);
|
|
3822
|
+
}
|
|
3823
|
+
}
|
|
3824
|
+
click(event) {
|
|
3825
|
+
if (this._open &&
|
|
3826
|
+
this._componentRef &&
|
|
3827
|
+
DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
|
|
3828
|
+
event.stopPropagation();
|
|
3829
|
+
}
|
|
3830
|
+
}
|
|
3831
|
+
setPosition() {
|
|
3832
|
+
if (this._componentRef && this._open) {
|
|
3833
|
+
if (!this._componentRect) {
|
|
3834
|
+
this._componentRect =
|
|
3835
|
+
this._componentRef.location.nativeElement.getBoundingClientRect();
|
|
3836
|
+
}
|
|
3837
|
+
const position = PositionUtil.getPosition(this._elementRef.nativeElement.getBoundingClientRect(), this._componentRect, this.align, this.verticalAlign, 0, 4);
|
|
3838
|
+
PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
|
|
3839
|
+
}
|
|
3840
|
+
}
|
|
3841
|
+
createHint() {
|
|
3842
|
+
if (!this._dynamicContent || (this.overflownOnly && !DomUtil.isOverflown(this._elementRef.nativeElement))) {
|
|
3843
|
+
return;
|
|
3844
|
+
}
|
|
3845
|
+
this._componentRef = this.createContentRef();
|
|
3846
|
+
this._componentRef.instance.className = [
|
|
3847
|
+
...ArrayUtil.asArray(this.className),
|
|
3848
|
+
'hint',
|
|
3849
|
+
];
|
|
3850
|
+
}
|
|
3851
|
+
ngOnDestroy() {
|
|
3852
|
+
super.ngOnDestroy();
|
|
3853
|
+
}
|
|
3854
|
+
}
|
|
3855
|
+
HintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: DynamicComponentService }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3856
|
+
HintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: HintDirective, selector: "[tetaHint]", inputs: { tetaHint: "tetaHint", align: "align", verticalAlign: "verticalAlign", delay: "delay", overflownOnly: "overflownOnly" }, host: { listeners: { "mouseenter": "mouseenter($event)", "mouseleave": "mouseleave($event)", "click": "click($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
3857
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintDirective, decorators: [{
|
|
3858
|
+
type: Directive,
|
|
3859
|
+
args: [{
|
|
3860
|
+
selector: '[tetaHint]',
|
|
3861
|
+
}]
|
|
3862
|
+
}], ctorParameters: function () {
|
|
3863
|
+
return [{ type: undefined, decorators: [{
|
|
3864
|
+
type: Inject,
|
|
3865
|
+
args: [DOCUMENT]
|
|
3866
|
+
}] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }];
|
|
3867
|
+
}, propDecorators: { tetaHint: [{
|
|
3868
|
+
type: Input
|
|
3869
|
+
}], align: [{
|
|
3870
|
+
type: Input
|
|
3871
|
+
}], verticalAlign: [{
|
|
3872
|
+
type: Input
|
|
3873
|
+
}], delay: [{
|
|
3874
|
+
type: Input
|
|
3875
|
+
}], overflownOnly: [{
|
|
3876
|
+
type: Input
|
|
3877
|
+
}], mouseenter: [{
|
|
3878
|
+
type: HostListener,
|
|
3879
|
+
args: ['mouseenter', ['$event']]
|
|
3880
|
+
}], mouseleave: [{
|
|
3881
|
+
type: HostListener,
|
|
3882
|
+
args: ['mouseleave', ['$event']]
|
|
3883
|
+
}], click: [{
|
|
3884
|
+
type: HostListener,
|
|
3885
|
+
args: ['click', ['$event']]
|
|
3886
|
+
}] } });
|
|
3887
|
+
|
|
3888
|
+
class InputComponent {
|
|
3889
|
+
constructor() {
|
|
3890
|
+
this.required = false;
|
|
3891
|
+
}
|
|
3892
|
+
get column() {
|
|
3893
|
+
return !this.horizontal;
|
|
3894
|
+
}
|
|
3895
|
+
ngOnInit() { }
|
|
3896
|
+
}
|
|
3897
|
+
InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3898
|
+
InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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 <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"label\"\n [overflownOnly]=\"true\">\n {{label}}\n </span>\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"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3899
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, decorators: [{
|
|
3900
|
+
type: Component,
|
|
3901
|
+
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 <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"label\"\n [overflownOnly]=\"true\">\n {{label}}\n </span>\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"] }]
|
|
3902
|
+
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
3903
|
+
type: Input
|
|
3904
|
+
}], horizontal: [{
|
|
3905
|
+
type: Input
|
|
3906
|
+
}, {
|
|
3907
|
+
type: HostBinding,
|
|
3908
|
+
args: ['class.row']
|
|
3909
|
+
}], required: [{
|
|
3910
|
+
type: Input
|
|
3911
|
+
}], column: [{
|
|
3912
|
+
type: HostBinding,
|
|
3913
|
+
args: ['class.column']
|
|
3914
|
+
}] } });
|
|
3915
|
+
|
|
3916
|
+
class NumericFilterComponent extends FilterComponentBase {
|
|
3917
|
+
constructor(changeDetector, _config) {
|
|
3918
|
+
super();
|
|
3919
|
+
this.changeDetector = changeDetector;
|
|
3920
|
+
this._config = _config;
|
|
3921
|
+
this.filterOptions = [];
|
|
3922
|
+
this.filterChanged = new EventEmitter();
|
|
3923
|
+
this.locale = this._config.locale;
|
|
3924
|
+
}
|
|
3925
|
+
set state(val) {
|
|
3926
|
+
this.state$ = val;
|
|
3927
|
+
this.filter = this.getFilter();
|
|
3928
|
+
this.changeDetector.detectChanges();
|
|
3929
|
+
}
|
|
3930
|
+
get state() {
|
|
3931
|
+
return this.state$;
|
|
3932
|
+
}
|
|
3933
|
+
ngOnInit() {
|
|
3934
|
+
this.filter = this.getFilter();
|
|
3935
|
+
}
|
|
3936
|
+
getFilter() {
|
|
3937
|
+
var _a;
|
|
3938
|
+
let filter = (_a = this.state.numericFilters) === null || _a === void 0 ? void 0 : _a.find((f) => f.field === this.column.filterField);
|
|
3939
|
+
if (filter === null || filter === undefined) {
|
|
3940
|
+
filter = this.state.addNumericFilter(new NumericFilter({
|
|
3941
|
+
value: new NumericFilterValue(),
|
|
3942
|
+
field: this.column.filterField,
|
|
3943
|
+
name: this.column.name,
|
|
3944
|
+
strict: true,
|
|
3945
|
+
}));
|
|
3946
|
+
}
|
|
3947
|
+
return filter;
|
|
3948
|
+
}
|
|
3949
|
+
}
|
|
3950
|
+
NumericFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumericFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3951
|
+
NumericFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3952
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumericFilterComponent, decorators: [{
|
|
3953
|
+
type: Component,
|
|
3954
|
+
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" }]
|
|
3955
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TetaConfigService }]; }, propDecorators: { column: [{
|
|
3956
|
+
type: Input
|
|
3957
|
+
}], data: [{
|
|
3958
|
+
type: Input
|
|
3959
|
+
}], filterOptions: [{
|
|
3960
|
+
type: Input
|
|
3961
|
+
}], filterChanged: [{
|
|
3962
|
+
type: Output
|
|
3963
|
+
}], state: [{
|
|
3964
|
+
type: Input
|
|
3965
|
+
}] } });
|
|
3966
|
+
|
|
3967
|
+
var StringFilterType;
|
|
3968
|
+
(function (StringFilterType) {
|
|
3969
|
+
/**
|
|
3970
|
+
* Строгое совпадение
|
|
3971
|
+
*/
|
|
3972
|
+
StringFilterType[StringFilterType["Equals"] = 1] = "Equals";
|
|
3973
|
+
/**
|
|
3974
|
+
* Начинается с указанной подстроки
|
|
3975
|
+
*/
|
|
3976
|
+
StringFilterType[StringFilterType["StartsWith"] = 2] = "StartsWith";
|
|
3977
|
+
/**
|
|
3978
|
+
* Оканчивается указанной подстрокой
|
|
3979
|
+
*/
|
|
3980
|
+
StringFilterType[StringFilterType["EndsWith"] = 3] = "EndsWith";
|
|
3981
|
+
/**
|
|
3982
|
+
* Содержит указанную подстроку
|
|
3983
|
+
*/
|
|
3984
|
+
StringFilterType[StringFilterType["Contains"] = 4] = "Contains";
|
|
3985
|
+
})(StringFilterType || (StringFilterType = {}));
|
|
3986
|
+
|
|
3987
|
+
class StringFilter extends FilterBase {
|
|
3988
|
+
constructor(options) {
|
|
3989
|
+
super(options);
|
|
3990
|
+
if (options) {
|
|
3991
|
+
this.value = options.value || this.value;
|
|
3992
|
+
this.type = options.type || StringFilterType.Contains;
|
|
3993
|
+
}
|
|
3994
|
+
}
|
|
3995
|
+
}
|
|
3996
|
+
|
|
3997
|
+
class StringFilterComponent extends FilterComponentBase {
|
|
3998
|
+
constructor(changeDetector, _config) {
|
|
3999
|
+
super();
|
|
4000
|
+
this.changeDetector = changeDetector;
|
|
4001
|
+
this._config = _config;
|
|
4002
|
+
this.filterOptions = [];
|
|
4003
|
+
this.filterChanged = new EventEmitter();
|
|
4004
|
+
this.locale = this._config.locale;
|
|
4005
|
+
}
|
|
4006
|
+
set state(val) {
|
|
4007
|
+
this.state$ = val;
|
|
4008
|
+
this.filter = this.getFilter();
|
|
4009
|
+
this.changeDetector.detectChanges();
|
|
4010
|
+
}
|
|
4011
|
+
get state() {
|
|
4012
|
+
return this.state$;
|
|
4013
|
+
}
|
|
4014
|
+
ngOnInit() {
|
|
4015
|
+
}
|
|
4016
|
+
setFilter() {
|
|
4017
|
+
this.filterChanged.emit(this.filter);
|
|
4018
|
+
}
|
|
4019
|
+
getFilter() {
|
|
4020
|
+
let filter = this.state.stringFilters.find((f) => f.field === this.column.filterField);
|
|
4021
|
+
if (!filter) {
|
|
4022
|
+
filter = this.state.addStringFilter(new StringFilter({
|
|
4023
|
+
value: '',
|
|
4024
|
+
field: this.column.filterField,
|
|
4025
|
+
type: this.column.stringFilterType,
|
|
4026
|
+
name: this.column.name,
|
|
4027
|
+
}));
|
|
4028
|
+
}
|
|
4029
|
+
filter.type = this.column.stringFilterType;
|
|
4030
|
+
return filter;
|
|
4031
|
+
}
|
|
4032
|
+
}
|
|
3755
4033
|
StringFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3756
4034
|
StringFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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: [""], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3757
4035
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringFilterComponent, decorators: [{
|
|
@@ -4840,17 +5118,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
4840
5118
|
args: ['class.form-group-title']
|
|
4841
5119
|
}] } });
|
|
4842
5120
|
|
|
5121
|
+
class HintModule {
|
|
5122
|
+
}
|
|
5123
|
+
HintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5124
|
+
HintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: HintModule, declarations: [HintDirective], imports: [CommonModule,
|
|
5125
|
+
DynamicComponentModule], exports: [HintDirective] });
|
|
5126
|
+
HintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, imports: [CommonModule,
|
|
5127
|
+
DynamicComponentModule] });
|
|
5128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, decorators: [{
|
|
5129
|
+
type: NgModule,
|
|
5130
|
+
args: [{
|
|
5131
|
+
declarations: [HintDirective],
|
|
5132
|
+
exports: [HintDirective],
|
|
5133
|
+
imports: [
|
|
5134
|
+
CommonModule,
|
|
5135
|
+
DynamicComponentModule
|
|
5136
|
+
]
|
|
5137
|
+
}]
|
|
5138
|
+
}] });
|
|
5139
|
+
|
|
4843
5140
|
class InputModule {
|
|
4844
5141
|
}
|
|
4845
5142
|
InputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4846
|
-
InputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: InputModule, declarations: [InputComponent, TextFieldComponent, FormGroupTitleComponent], imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule], exports: [InputComponent, TextFieldComponent, FormGroupTitleComponent] });
|
|
4847
|
-
InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule] });
|
|
5143
|
+
InputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: InputModule, declarations: [InputComponent, TextFieldComponent, FormGroupTitleComponent], imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule], exports: [InputComponent, TextFieldComponent, FormGroupTitleComponent] });
|
|
5144
|
+
InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule] });
|
|
4848
5145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, decorators: [{
|
|
4849
5146
|
type: NgModule,
|
|
4850
5147
|
args: [{
|
|
4851
5148
|
declarations: [InputComponent, TextFieldComponent, FormGroupTitleComponent],
|
|
4852
5149
|
exports: [InputComponent, TextFieldComponent, FormGroupTitleComponent],
|
|
4853
|
-
imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule],
|
|
5150
|
+
imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule],
|
|
4854
5151
|
}]
|
|
4855
5152
|
}] });
|
|
4856
5153
|
|
|
@@ -5461,16 +5758,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
5461
5758
|
class CurrentModal {
|
|
5462
5759
|
}
|
|
5463
5760
|
|
|
5464
|
-
class DynamicData {
|
|
5465
|
-
constructor(value) {
|
|
5466
|
-
for (const key in value) {
|
|
5467
|
-
if (value.hasOwnProperty(key)) {
|
|
5468
|
-
this[key] = value[key];
|
|
5469
|
-
}
|
|
5470
|
-
}
|
|
5471
|
-
}
|
|
5472
|
-
}
|
|
5473
|
-
|
|
5474
5761
|
class DialogComponent {
|
|
5475
5762
|
constructor(modal, data) {
|
|
5476
5763
|
this.modal = modal;
|
|
@@ -5533,148 +5820,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
5533
5820
|
CommonModule,
|
|
5534
5821
|
ToolbarModule,
|
|
5535
5822
|
ButtonModule,
|
|
5536
|
-
TranslocoModule,
|
|
5537
|
-
IconModule,
|
|
5538
|
-
],
|
|
5539
|
-
providers: [
|
|
5540
|
-
{
|
|
5541
|
-
provide: TRANSLOCO_SCOPE,
|
|
5542
|
-
useValue: { scope: 'common', alias: 'common' },
|
|
5543
|
-
multi: true,
|
|
5544
|
-
},
|
|
5545
|
-
],
|
|
5546
|
-
}]
|
|
5547
|
-
}] });
|
|
5548
|
-
|
|
5549
|
-
class ModalInstance {
|
|
5550
|
-
constructor(_window, _content) {
|
|
5551
|
-
this._window = _window;
|
|
5552
|
-
this._content = _content;
|
|
5553
|
-
this._onClose = new Subject();
|
|
5554
|
-
this.close = (event) => {
|
|
5555
|
-
this._onClose.next(event);
|
|
5556
|
-
this._onClose.complete();
|
|
5557
|
-
this.destroy();
|
|
5558
|
-
};
|
|
5559
|
-
this.onClose = this._onClose.asObservable();
|
|
5560
|
-
if (this._window && this._window.instance) {
|
|
5561
|
-
this._window.instance.closeEvent.subscribe((event) => {
|
|
5562
|
-
this.close(event);
|
|
5563
|
-
});
|
|
5564
|
-
}
|
|
5565
|
-
}
|
|
5566
|
-
get window() {
|
|
5567
|
-
return this._window;
|
|
5568
|
-
}
|
|
5569
|
-
get component() {
|
|
5570
|
-
return this._content.componentRef ? this._content.componentRef : null;
|
|
5571
|
-
}
|
|
5572
|
-
destroy() {
|
|
5573
|
-
this._window.destroy();
|
|
5574
|
-
if (this._content && this._content.viewRef) {
|
|
5575
|
-
setTimeout(() => {
|
|
5576
|
-
this._content.viewRef.destroy();
|
|
5577
|
-
}, 150);
|
|
5578
|
-
}
|
|
5579
|
-
}
|
|
5580
|
-
}
|
|
5581
|
-
|
|
5582
|
-
class TetaContentRef {
|
|
5583
|
-
constructor(nodes, viewRef, componentRef) {
|
|
5584
|
-
this.nodes = nodes;
|
|
5585
|
-
this.viewRef = viewRef;
|
|
5586
|
-
this.componentRef = componentRef;
|
|
5587
|
-
}
|
|
5588
|
-
}
|
|
5589
|
-
|
|
5590
|
-
class DynamicComponentService {
|
|
5591
|
-
constructor(_componentFactoryResolver, _rendererFactory, _appRef) {
|
|
5592
|
-
this._componentFactoryResolver = _componentFactoryResolver;
|
|
5593
|
-
this._rendererFactory = _rendererFactory;
|
|
5594
|
-
this._appRef = _appRef;
|
|
5595
|
-
this._renderer = this._rendererFactory.createRenderer(null, null);
|
|
5596
|
-
}
|
|
5597
|
-
createComponent(component, contentRef, injector, container) {
|
|
5598
|
-
const componentRef = this._componentFactoryResolver
|
|
5599
|
-
.resolveComponentFactory(component)
|
|
5600
|
-
.create(injector, contentRef.nodes);
|
|
5601
|
-
this._appRef.attachView(componentRef.hostView);
|
|
5602
|
-
container.appendChild(componentRef.location.nativeElement);
|
|
5603
|
-
return componentRef;
|
|
5604
|
-
}
|
|
5605
|
-
createContent(content, injector, context) {
|
|
5606
|
-
if (content === null || content === undefined) {
|
|
5607
|
-
throw new Error('Content is undefined');
|
|
5608
|
-
}
|
|
5609
|
-
if (typeof content === 'string') {
|
|
5610
|
-
return this.fromString(content);
|
|
5611
|
-
}
|
|
5612
|
-
else if (content instanceof TemplateRef) {
|
|
5613
|
-
return this.fromTemplate(content, context);
|
|
5614
|
-
}
|
|
5615
|
-
else {
|
|
5616
|
-
return this.fromComponent(content, injector, context);
|
|
5617
|
-
}
|
|
5618
|
-
}
|
|
5619
|
-
destroy(component, content, container) {
|
|
5620
|
-
if (component) {
|
|
5621
|
-
this._appRef.detachView(component.hostView);
|
|
5622
|
-
component.destroy();
|
|
5623
|
-
}
|
|
5624
|
-
if (content && content.viewRef) {
|
|
5625
|
-
content.viewRef.destroy();
|
|
5626
|
-
}
|
|
5627
|
-
content = null;
|
|
5628
|
-
}
|
|
5629
|
-
getContext(content, context) {
|
|
5630
|
-
if (content instanceof TemplateRef) {
|
|
5631
|
-
return {
|
|
5632
|
-
$implicit: context,
|
|
5633
|
-
data: context,
|
|
5634
|
-
};
|
|
5823
|
+
TranslocoModule,
|
|
5824
|
+
IconModule,
|
|
5825
|
+
],
|
|
5826
|
+
providers: [
|
|
5827
|
+
{
|
|
5828
|
+
provide: TRANSLOCO_SCOPE,
|
|
5829
|
+
useValue: { scope: 'common', alias: 'common' },
|
|
5830
|
+
multi: true,
|
|
5831
|
+
},
|
|
5832
|
+
],
|
|
5833
|
+
}]
|
|
5834
|
+
}] });
|
|
5835
|
+
|
|
5836
|
+
class ModalInstance {
|
|
5837
|
+
constructor(_window, _content) {
|
|
5838
|
+
this._window = _window;
|
|
5839
|
+
this._content = _content;
|
|
5840
|
+
this._onClose = new Subject();
|
|
5841
|
+
this.close = (event) => {
|
|
5842
|
+
this._onClose.next(event);
|
|
5843
|
+
this._onClose.complete();
|
|
5844
|
+
this.destroy();
|
|
5845
|
+
};
|
|
5846
|
+
this.onClose = this._onClose.asObservable();
|
|
5847
|
+
if (this._window && this._window.instance) {
|
|
5848
|
+
this._window.instance.closeEvent.subscribe((event) => {
|
|
5849
|
+
this.close(event);
|
|
5850
|
+
});
|
|
5635
5851
|
}
|
|
5636
|
-
return context;
|
|
5637
|
-
}
|
|
5638
|
-
getInjector(data, parent) {
|
|
5639
|
-
return Injector.create({
|
|
5640
|
-
providers: [
|
|
5641
|
-
{
|
|
5642
|
-
provide: DynamicData,
|
|
5643
|
-
useValue: data,
|
|
5644
|
-
},
|
|
5645
|
-
],
|
|
5646
|
-
parent,
|
|
5647
|
-
});
|
|
5648
5852
|
}
|
|
5649
|
-
|
|
5650
|
-
return
|
|
5853
|
+
get window() {
|
|
5854
|
+
return this._window;
|
|
5651
5855
|
}
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
this._appRef.attachView(viewRef);
|
|
5655
|
-
return new TetaContentRef([viewRef.rootNodes], viewRef);
|
|
5856
|
+
get component() {
|
|
5857
|
+
return this._content.componentRef ? this._content.componentRef : null;
|
|
5656
5858
|
}
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
}
|
|
5859
|
+
destroy() {
|
|
5860
|
+
this._window.destroy();
|
|
5861
|
+
if (this._content && this._content.viewRef) {
|
|
5862
|
+
setTimeout(() => {
|
|
5863
|
+
this._content.viewRef.destroy();
|
|
5864
|
+
}, 150);
|
|
5664
5865
|
}
|
|
5665
|
-
const componentNativeEl = componentRef.location.nativeElement;
|
|
5666
|
-
this._appRef.attachView(componentRef.hostView);
|
|
5667
|
-
return new TetaContentRef([[componentNativeEl]], componentRef.hostView, componentRef);
|
|
5668
5866
|
}
|
|
5669
5867
|
}
|
|
5670
|
-
DynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.RendererFactory2 }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5671
|
-
DynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, providedIn: 'root' });
|
|
5672
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, decorators: [{
|
|
5673
|
-
type: Injectable,
|
|
5674
|
-
args: [{
|
|
5675
|
-
providedIn: 'root',
|
|
5676
|
-
}]
|
|
5677
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.RendererFactory2 }, { type: i0.ApplicationRef }]; } });
|
|
5678
5868
|
|
|
5679
5869
|
class ModalService {
|
|
5680
5870
|
constructor(_document, _injector, _factory) {
|
|
@@ -6259,171 +6449,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
6259
6449
|
args: ['click']
|
|
6260
6450
|
}] } });
|
|
6261
6451
|
|
|
6262
|
-
class DynamicContentBaseDirective {
|
|
6263
|
-
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
6264
|
-
this._document = _document;
|
|
6265
|
-
this._elementRef = _elementRef;
|
|
6266
|
-
this._service = _service;
|
|
6267
|
-
this._injector = _injector;
|
|
6268
|
-
this._zone = _zone;
|
|
6269
|
-
this._cdr = _cdr;
|
|
6270
|
-
this.align = Align.left;
|
|
6271
|
-
this.verticalAlign = VerticalAlign.bottom;
|
|
6272
|
-
this.openChange = new EventEmitter();
|
|
6273
|
-
this._alive = true;
|
|
6274
|
-
this._open = false;
|
|
6275
|
-
this._zone.onStable
|
|
6276
|
-
.pipe(takeWhile((_) => this._alive), filter((_) => this._open))
|
|
6277
|
-
.subscribe((_) => {
|
|
6278
|
-
this.setPosition();
|
|
6279
|
-
});
|
|
6280
|
-
}
|
|
6281
|
-
set open(open) {
|
|
6282
|
-
this._open = open;
|
|
6283
|
-
if (this._open) {
|
|
6284
|
-
this.createContentRef();
|
|
6285
|
-
}
|
|
6286
|
-
else {
|
|
6287
|
-
this.destroyContentRef();
|
|
6288
|
-
}
|
|
6289
|
-
}
|
|
6290
|
-
ngOnDestroy() {
|
|
6291
|
-
this._alive = false;
|
|
6292
|
-
this.destroyContentRef();
|
|
6293
|
-
}
|
|
6294
|
-
ngOnInit() {
|
|
6295
|
-
}
|
|
6296
|
-
createContentRef(className) {
|
|
6297
|
-
if (!this._componentRef) {
|
|
6298
|
-
this._open = true;
|
|
6299
|
-
const injector = this._service.getInjector(this.data, this._injector);
|
|
6300
|
-
const context = this._service.getContext(this._dynamicContent, this.data);
|
|
6301
|
-
this._content = this._service.createContent(this._dynamicContent, this._injector, context);
|
|
6302
|
-
this._componentRef = this._service.createComponent(PopupContentComponent, this._content, injector, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
6303
|
-
if (className) {
|
|
6304
|
-
this._componentRef.instance.addClass(className);
|
|
6305
|
-
}
|
|
6306
|
-
}
|
|
6307
|
-
return this._componentRef;
|
|
6308
|
-
}
|
|
6309
|
-
destroyContentRef() {
|
|
6310
|
-
this._open = false;
|
|
6311
|
-
this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
6312
|
-
this._componentRef = null;
|
|
6313
|
-
}
|
|
6314
|
-
}
|
|
6315
|
-
DynamicContentBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
6316
|
-
DynamicContentBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: DynamicContentBaseDirective, inputs: { data: "data", className: "className", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", open: "open" }, outputs: { openChange: "openChange" }, ngImport: i0 });
|
|
6317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, decorators: [{
|
|
6318
|
-
type: Directive
|
|
6319
|
-
}], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
6320
|
-
type: Input
|
|
6321
|
-
}], className: [{
|
|
6322
|
-
type: Input
|
|
6323
|
-
}], align: [{
|
|
6324
|
-
type: Input
|
|
6325
|
-
}], verticalAlign: [{
|
|
6326
|
-
type: Input
|
|
6327
|
-
}], appendToBody: [{
|
|
6328
|
-
type: Input
|
|
6329
|
-
}], open: [{
|
|
6330
|
-
type: Input
|
|
6331
|
-
}], openChange: [{
|
|
6332
|
-
type: Output
|
|
6333
|
-
}] } });
|
|
6334
|
-
|
|
6335
|
-
class HintDirective extends DynamicContentBaseDirective {
|
|
6336
|
-
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
6337
|
-
super(_document, _elementRef, _service, _injector, _zone, _cdr);
|
|
6338
|
-
this._document = _document;
|
|
6339
|
-
this._elementRef = _elementRef;
|
|
6340
|
-
this._service = _service;
|
|
6341
|
-
this._injector = _injector;
|
|
6342
|
-
this._zone = _zone;
|
|
6343
|
-
this._cdr = _cdr;
|
|
6344
|
-
this.align = Align.center;
|
|
6345
|
-
this.verticalAlign = VerticalAlign.top;
|
|
6346
|
-
this.delay = 300;
|
|
6347
|
-
}
|
|
6348
|
-
get _dynamicContent() {
|
|
6349
|
-
return this.tetaHint;
|
|
6350
|
-
}
|
|
6351
|
-
mouseenter() {
|
|
6352
|
-
clearTimeout(this._timeout);
|
|
6353
|
-
this._timeout = setTimeout(() => {
|
|
6354
|
-
this.createHint();
|
|
6355
|
-
}, this.delay);
|
|
6356
|
-
}
|
|
6357
|
-
mouseleave() {
|
|
6358
|
-
clearTimeout(this._timeout);
|
|
6359
|
-
if (this._open && this._componentRef) {
|
|
6360
|
-
this._timeout = setTimeout(() => {
|
|
6361
|
-
this.destroyContentRef();
|
|
6362
|
-
}, this.delay);
|
|
6363
|
-
}
|
|
6364
|
-
}
|
|
6365
|
-
click(event) {
|
|
6366
|
-
if (this._open &&
|
|
6367
|
-
this._componentRef &&
|
|
6368
|
-
DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
|
|
6369
|
-
event.stopPropagation();
|
|
6370
|
-
}
|
|
6371
|
-
}
|
|
6372
|
-
setPosition() {
|
|
6373
|
-
if (this._componentRef && this._open) {
|
|
6374
|
-
if (!this._componentRect) {
|
|
6375
|
-
this._componentRect =
|
|
6376
|
-
this._componentRef.location.nativeElement.getBoundingClientRect();
|
|
6377
|
-
}
|
|
6378
|
-
const position = PositionUtil.getPosition(this._elementRef.nativeElement.getBoundingClientRect(), this._componentRect, this.align, this.verticalAlign, 0, 4);
|
|
6379
|
-
PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
|
|
6380
|
-
}
|
|
6381
|
-
}
|
|
6382
|
-
createHint() {
|
|
6383
|
-
if (!this._dynamicContent) {
|
|
6384
|
-
return;
|
|
6385
|
-
}
|
|
6386
|
-
this._componentRef = this.createContentRef();
|
|
6387
|
-
this._componentRef.instance.className = [
|
|
6388
|
-
...ArrayUtil.asArray(this.className),
|
|
6389
|
-
'hint',
|
|
6390
|
-
];
|
|
6391
|
-
}
|
|
6392
|
-
ngOnDestroy() {
|
|
6393
|
-
super.ngOnDestroy();
|
|
6394
|
-
}
|
|
6395
|
-
}
|
|
6396
|
-
HintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: DynamicComponentService }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6397
|
-
HintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: HintDirective, selector: "[tetaHint]", inputs: { tetaHint: "tetaHint", align: "align", verticalAlign: "verticalAlign", delay: "delay" }, host: { listeners: { "mouseenter": "mouseenter($event)", "mouseleave": "mouseleave($event)", "click": "click($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
6398
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintDirective, decorators: [{
|
|
6399
|
-
type: Directive,
|
|
6400
|
-
args: [{
|
|
6401
|
-
selector: '[tetaHint]',
|
|
6402
|
-
}]
|
|
6403
|
-
}], ctorParameters: function () {
|
|
6404
|
-
return [{ type: undefined, decorators: [{
|
|
6405
|
-
type: Inject,
|
|
6406
|
-
args: [DOCUMENT]
|
|
6407
|
-
}] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }];
|
|
6408
|
-
}, propDecorators: { tetaHint: [{
|
|
6409
|
-
type: Input
|
|
6410
|
-
}], align: [{
|
|
6411
|
-
type: Input
|
|
6412
|
-
}], verticalAlign: [{
|
|
6413
|
-
type: Input
|
|
6414
|
-
}], delay: [{
|
|
6415
|
-
type: Input
|
|
6416
|
-
}], mouseenter: [{
|
|
6417
|
-
type: HostListener,
|
|
6418
|
-
args: ['mouseenter', ['$event']]
|
|
6419
|
-
}], mouseleave: [{
|
|
6420
|
-
type: HostListener,
|
|
6421
|
-
args: ['mouseleave', ['$event']]
|
|
6422
|
-
}], click: [{
|
|
6423
|
-
type: HostListener,
|
|
6424
|
-
args: ['click', ['$event']]
|
|
6425
|
-
}] } });
|
|
6426
|
-
|
|
6427
6452
|
class PropertyGridItemComponent {
|
|
6428
6453
|
constructor(_transloco) {
|
|
6429
6454
|
this._transloco = _transloco;
|
|
@@ -6497,7 +6522,7 @@ class PropertyGridItemComponent {
|
|
|
6497
6522
|
}
|
|
6498
6523
|
}
|
|
6499
6524
|
PropertyGridItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridItemComponent, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6500
|
-
PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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 [required]=\"column.required\"\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: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }, { kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }, { kind: "component", type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay"] }] });
|
|
6525
|
+
PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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 [required]=\"column.required\"\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: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }, { kind: "component", type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { kind: "component", type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }, { kind: "component", type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }] });
|
|
6501
6526
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridItemComponent, decorators: [{
|
|
6502
6527
|
type: Component,
|
|
6503
6528
|
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 [required]=\"column.required\"\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" }]
|
|
@@ -6695,25 +6720,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
6695
6720
|
}]
|
|
6696
6721
|
}] });
|
|
6697
6722
|
|
|
6698
|
-
class HintModule {
|
|
6699
|
-
}
|
|
6700
|
-
HintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6701
|
-
HintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: HintModule, declarations: [HintDirective], imports: [CommonModule,
|
|
6702
|
-
DynamicComponentModule], exports: [HintDirective] });
|
|
6703
|
-
HintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, imports: [CommonModule,
|
|
6704
|
-
DynamicComponentModule] });
|
|
6705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, decorators: [{
|
|
6706
|
-
type: NgModule,
|
|
6707
|
-
args: [{
|
|
6708
|
-
declarations: [HintDirective],
|
|
6709
|
-
exports: [HintDirective],
|
|
6710
|
-
imports: [
|
|
6711
|
-
CommonModule,
|
|
6712
|
-
DynamicComponentModule
|
|
6713
|
-
]
|
|
6714
|
-
}]
|
|
6715
|
-
}] });
|
|
6716
|
-
|
|
6717
6723
|
class PropertyGridModule {
|
|
6718
6724
|
}
|
|
6719
6725
|
PropertyGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -8217,7 +8223,7 @@ class DefaultHeadCellComponent extends HeadCellComponentBase {
|
|
|
8217
8223
|
}
|
|
8218
8224
|
}
|
|
8219
8225
|
DefaultHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DefaultHeadCellComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8220
|
-
DefaultHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DefaultHeadCellComponent, selector: "teta-default-head-cell", inputs: { column: "column", columns: "columns", 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 font-caption color-text-70\">\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"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8226
|
+
DefaultHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DefaultHeadCellComponent, selector: "teta-default-head-cell", inputs: { column: "column", columns: "columns", 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 font-caption color-text-70\">\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"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8221
8227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DefaultHeadCellComponent, decorators: [{
|
|
8222
8228
|
type: Component,
|
|
8223
8229
|
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 font-caption color-text-70\">\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"] }]
|
|
@@ -8399,10 +8405,10 @@ class TabsComponent {
|
|
|
8399
8405
|
}
|
|
8400
8406
|
}
|
|
8401
8407
|
TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8402
|
-
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
8408
|
+
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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 <ng-content></ng-content>\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: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
8403
8409
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TabsComponent, decorators: [{
|
|
8404
8410
|
type: Component,
|
|
8405
|
-
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" }]
|
|
8411
|
+
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 <ng-content></ng-content>\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" }]
|
|
8406
8412
|
}], ctorParameters: function () { return []; }, propDecorators: { classTabs: [{
|
|
8407
8413
|
type: HostBinding,
|
|
8408
8414
|
args: ['class.tabs']
|
|
@@ -9546,10 +9552,10 @@ class StringCellComponent extends CellComponentBase {
|
|
|
9546
9552
|
}
|
|
9547
9553
|
}
|
|
9548
9554
|
StringCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringCellComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9549
|
-
StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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[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[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9555
|
+
StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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 [tetaHint]=\"row[column.name]\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[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[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9550
9556
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringCellComponent, decorators: [{
|
|
9551
9557
|
type: Component,
|
|
9552
|
-
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[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[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n" }]
|
|
9558
|
+
args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [tetaHint]=\"row[column.name]\"\n [appendToBody]=\"true\"\n [overflownOnly]=\"true\"\n [class.cell-text_disabled]=\"!editable\">\n {{row[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[column.name]\"\n (ngModelChange)=\"row[column.name]=$event\"/>\n\n" }]
|
|
9553
9559
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
9554
9560
|
type: Input
|
|
9555
9561
|
}], row: [{
|