@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';
|
|
@@ -1053,6 +1053,9 @@ class DomUtil {
|
|
|
1053
1053
|
}
|
|
1054
1054
|
return null;
|
|
1055
1055
|
}
|
|
1056
|
+
static isOverflown(element) {
|
|
1057
|
+
return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
|
|
1058
|
+
}
|
|
1056
1059
|
}
|
|
1057
1060
|
|
|
1058
1061
|
class PositionUtil {
|
|
@@ -3584,151 +3587,424 @@ class NumericFilterValue {
|
|
|
3584
3587
|
}
|
|
3585
3588
|
}
|
|
3586
3589
|
|
|
3587
|
-
class
|
|
3588
|
-
constructor() {
|
|
3589
|
-
this.
|
|
3590
|
+
class TetaContentRef {
|
|
3591
|
+
constructor(nodes, viewRef, componentRef) {
|
|
3592
|
+
this.nodes = nodes;
|
|
3593
|
+
this.viewRef = viewRef;
|
|
3594
|
+
this.componentRef = componentRef;
|
|
3590
3595
|
}
|
|
3591
|
-
|
|
3592
|
-
|
|
3596
|
+
}
|
|
3597
|
+
|
|
3598
|
+
class DynamicData {
|
|
3599
|
+
constructor(value) {
|
|
3600
|
+
for (const key in value) {
|
|
3601
|
+
if (value.hasOwnProperty(key)) {
|
|
3602
|
+
this[key] = value[key];
|
|
3603
|
+
}
|
|
3604
|
+
}
|
|
3593
3605
|
}
|
|
3594
|
-
ngOnInit() { }
|
|
3595
3606
|
}
|
|
3596
|
-
InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3597
|
-
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 });
|
|
3598
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, decorators: [{
|
|
3599
|
-
type: Component,
|
|
3600
|
-
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"] }]
|
|
3601
|
-
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
3602
|
-
type: Input
|
|
3603
|
-
}], horizontal: [{
|
|
3604
|
-
type: Input
|
|
3605
|
-
}, {
|
|
3606
|
-
type: HostBinding,
|
|
3607
|
-
args: ['class.row']
|
|
3608
|
-
}], required: [{
|
|
3609
|
-
type: Input
|
|
3610
|
-
}], column: [{
|
|
3611
|
-
type: HostBinding,
|
|
3612
|
-
args: ['class.column']
|
|
3613
|
-
}] } });
|
|
3614
3607
|
|
|
3615
|
-
class
|
|
3616
|
-
constructor(
|
|
3617
|
-
|
|
3618
|
-
this.
|
|
3619
|
-
this.
|
|
3620
|
-
this.
|
|
3621
|
-
this.filterChanged = new EventEmitter();
|
|
3622
|
-
this.locale = this._config.locale;
|
|
3608
|
+
class DynamicComponentService {
|
|
3609
|
+
constructor(_componentFactoryResolver, _rendererFactory, _appRef) {
|
|
3610
|
+
this._componentFactoryResolver = _componentFactoryResolver;
|
|
3611
|
+
this._rendererFactory = _rendererFactory;
|
|
3612
|
+
this._appRef = _appRef;
|
|
3613
|
+
this._renderer = this._rendererFactory.createRenderer(null, null);
|
|
3623
3614
|
}
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3615
|
+
createComponent(component, contentRef, injector, container) {
|
|
3616
|
+
const componentRef = this._componentFactoryResolver
|
|
3617
|
+
.resolveComponentFactory(component)
|
|
3618
|
+
.create(injector, contentRef.nodes);
|
|
3619
|
+
this._appRef.attachView(componentRef.hostView);
|
|
3620
|
+
container.appendChild(componentRef.location.nativeElement);
|
|
3621
|
+
return componentRef;
|
|
3628
3622
|
}
|
|
3629
|
-
|
|
3630
|
-
|
|
3623
|
+
createContent(content, injector, context) {
|
|
3624
|
+
if (content === null || content === undefined) {
|
|
3625
|
+
throw new Error('Content is undefined');
|
|
3626
|
+
}
|
|
3627
|
+
if (typeof content === 'string') {
|
|
3628
|
+
return this.fromString(content);
|
|
3629
|
+
}
|
|
3630
|
+
else if (content instanceof TemplateRef) {
|
|
3631
|
+
return this.fromTemplate(content, context);
|
|
3632
|
+
}
|
|
3633
|
+
else {
|
|
3634
|
+
return this.fromComponent(content, injector, context);
|
|
3635
|
+
}
|
|
3631
3636
|
}
|
|
3632
|
-
|
|
3633
|
-
|
|
3637
|
+
destroy(component, content, container) {
|
|
3638
|
+
if (component) {
|
|
3639
|
+
this._appRef.detachView(component.hostView);
|
|
3640
|
+
component.destroy();
|
|
3641
|
+
}
|
|
3642
|
+
if (content && content.viewRef) {
|
|
3643
|
+
content.viewRef.destroy();
|
|
3644
|
+
}
|
|
3645
|
+
content = null;
|
|
3634
3646
|
}
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
name: this.column.name,
|
|
3642
|
-
strict: true,
|
|
3643
|
-
}));
|
|
3647
|
+
getContext(content, context) {
|
|
3648
|
+
if (content instanceof TemplateRef) {
|
|
3649
|
+
return {
|
|
3650
|
+
$implicit: context,
|
|
3651
|
+
data: context,
|
|
3652
|
+
};
|
|
3644
3653
|
}
|
|
3645
|
-
return
|
|
3654
|
+
return context;
|
|
3646
3655
|
}
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
(
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
*/
|
|
3674
|
-
StringFilterType[StringFilterType["StartsWith"] = 2] = "StartsWith";
|
|
3675
|
-
/**
|
|
3676
|
-
* Оканчивается указанной подстрокой
|
|
3677
|
-
*/
|
|
3678
|
-
StringFilterType[StringFilterType["EndsWith"] = 3] = "EndsWith";
|
|
3679
|
-
/**
|
|
3680
|
-
* Содержит указанную подстроку
|
|
3681
|
-
*/
|
|
3682
|
-
StringFilterType[StringFilterType["Contains"] = 4] = "Contains";
|
|
3683
|
-
})(StringFilterType || (StringFilterType = {}));
|
|
3684
|
-
|
|
3685
|
-
class StringFilter extends FilterBase {
|
|
3686
|
-
constructor(options) {
|
|
3687
|
-
super(options);
|
|
3688
|
-
if (options) {
|
|
3689
|
-
this.value = options.value || this.value;
|
|
3690
|
-
this.type = options.type || StringFilterType.Contains;
|
|
3656
|
+
getInjector(data, parent) {
|
|
3657
|
+
return Injector.create({
|
|
3658
|
+
providers: [
|
|
3659
|
+
{
|
|
3660
|
+
provide: DynamicData,
|
|
3661
|
+
useValue: data,
|
|
3662
|
+
},
|
|
3663
|
+
],
|
|
3664
|
+
parent,
|
|
3665
|
+
});
|
|
3666
|
+
}
|
|
3667
|
+
fromString(content) {
|
|
3668
|
+
return new TetaContentRef([[this._renderer.createText(`${content}`)]]);
|
|
3669
|
+
}
|
|
3670
|
+
fromTemplate(content, context) {
|
|
3671
|
+
const viewRef = content.createEmbeddedView(context);
|
|
3672
|
+
this._appRef.attachView(viewRef);
|
|
3673
|
+
return new TetaContentRef([viewRef.rootNodes], viewRef);
|
|
3674
|
+
}
|
|
3675
|
+
fromComponent(content, injector, context) {
|
|
3676
|
+
const componentFactory = this._componentFactoryResolver.resolveComponentFactory(content);
|
|
3677
|
+
const componentRef = componentFactory.create(injector);
|
|
3678
|
+
for (const key in context) {
|
|
3679
|
+
if (context.hasOwnProperty(key)) {
|
|
3680
|
+
componentRef.instance[key] = context[key];
|
|
3681
|
+
}
|
|
3691
3682
|
}
|
|
3683
|
+
const componentNativeEl = componentRef.location.nativeElement;
|
|
3684
|
+
this._appRef.attachView(componentRef.hostView);
|
|
3685
|
+
return new TetaContentRef([[componentNativeEl]], componentRef.hostView, componentRef);
|
|
3692
3686
|
}
|
|
3693
3687
|
}
|
|
3688
|
+
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 });
|
|
3689
|
+
DynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, providedIn: 'root' });
|
|
3690
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, decorators: [{
|
|
3691
|
+
type: Injectable,
|
|
3692
|
+
args: [{
|
|
3693
|
+
providedIn: 'root',
|
|
3694
|
+
}]
|
|
3695
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.RendererFactory2 }, { type: i0.ApplicationRef }]; } });
|
|
3694
3696
|
|
|
3695
|
-
class
|
|
3696
|
-
constructor(
|
|
3697
|
-
|
|
3698
|
-
this.
|
|
3699
|
-
this.
|
|
3700
|
-
this.
|
|
3701
|
-
this.
|
|
3702
|
-
this.
|
|
3697
|
+
class DynamicContentBaseDirective {
|
|
3698
|
+
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
3699
|
+
this._document = _document;
|
|
3700
|
+
this._elementRef = _elementRef;
|
|
3701
|
+
this._service = _service;
|
|
3702
|
+
this._injector = _injector;
|
|
3703
|
+
this._zone = _zone;
|
|
3704
|
+
this._cdr = _cdr;
|
|
3705
|
+
this.align = Align.left;
|
|
3706
|
+
this.verticalAlign = VerticalAlign.bottom;
|
|
3707
|
+
this.openChange = new EventEmitter();
|
|
3708
|
+
this._alive = true;
|
|
3709
|
+
this._open = false;
|
|
3710
|
+
this._zone.onStable
|
|
3711
|
+
.pipe(takeWhile((_) => this._alive), filter((_) => this._open))
|
|
3712
|
+
.subscribe((_) => {
|
|
3713
|
+
this.setPosition();
|
|
3714
|
+
});
|
|
3703
3715
|
}
|
|
3704
|
-
set
|
|
3705
|
-
this.
|
|
3706
|
-
|
|
3707
|
-
|
|
3716
|
+
set open(open) {
|
|
3717
|
+
this._open = open;
|
|
3718
|
+
if (this._open) {
|
|
3719
|
+
this.createContentRef();
|
|
3720
|
+
}
|
|
3721
|
+
else {
|
|
3722
|
+
this.destroyContentRef();
|
|
3723
|
+
}
|
|
3708
3724
|
}
|
|
3709
|
-
|
|
3710
|
-
|
|
3725
|
+
ngOnDestroy() {
|
|
3726
|
+
this._alive = false;
|
|
3727
|
+
this.destroyContentRef();
|
|
3711
3728
|
}
|
|
3712
3729
|
ngOnInit() {
|
|
3713
3730
|
}
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
name: this.column.name,
|
|
3725
|
-
}));
|
|
3731
|
+
createContentRef(className) {
|
|
3732
|
+
if (!this._componentRef) {
|
|
3733
|
+
this._open = true;
|
|
3734
|
+
const injector = this._service.getInjector(this.data, this._injector);
|
|
3735
|
+
const context = this._service.getContext(this._dynamicContent, this.data);
|
|
3736
|
+
this._content = this._service.createContent(this._dynamicContent, this._injector, context);
|
|
3737
|
+
this._componentRef = this._service.createComponent(PopupContentComponent, this._content, injector, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
3738
|
+
if (className) {
|
|
3739
|
+
this._componentRef.instance.addClass(className);
|
|
3740
|
+
}
|
|
3726
3741
|
}
|
|
3727
|
-
|
|
3728
|
-
return filter;
|
|
3742
|
+
return this._componentRef;
|
|
3729
3743
|
}
|
|
3730
|
-
|
|
3731
|
-
|
|
3744
|
+
destroyContentRef() {
|
|
3745
|
+
this._open = false;
|
|
3746
|
+
this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
3747
|
+
this._componentRef = null;
|
|
3748
|
+
}
|
|
3749
|
+
}
|
|
3750
|
+
DynamicContentBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
3751
|
+
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 });
|
|
3752
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, decorators: [{
|
|
3753
|
+
type: Directive
|
|
3754
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
3755
|
+
type: Input
|
|
3756
|
+
}], className: [{
|
|
3757
|
+
type: Input
|
|
3758
|
+
}], align: [{
|
|
3759
|
+
type: Input
|
|
3760
|
+
}], verticalAlign: [{
|
|
3761
|
+
type: Input
|
|
3762
|
+
}], appendToBody: [{
|
|
3763
|
+
type: Input
|
|
3764
|
+
}], open: [{
|
|
3765
|
+
type: Input
|
|
3766
|
+
}], openChange: [{
|
|
3767
|
+
type: Output
|
|
3768
|
+
}] } });
|
|
3769
|
+
|
|
3770
|
+
class HintDirective extends DynamicContentBaseDirective {
|
|
3771
|
+
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
3772
|
+
super(_document, _elementRef, _service, _injector, _zone, _cdr);
|
|
3773
|
+
this._document = _document;
|
|
3774
|
+
this._elementRef = _elementRef;
|
|
3775
|
+
this._service = _service;
|
|
3776
|
+
this._injector = _injector;
|
|
3777
|
+
this._zone = _zone;
|
|
3778
|
+
this._cdr = _cdr;
|
|
3779
|
+
this.align = Align.center;
|
|
3780
|
+
this.verticalAlign = VerticalAlign.top;
|
|
3781
|
+
this.delay = 300;
|
|
3782
|
+
this.overflownOnly = false;
|
|
3783
|
+
}
|
|
3784
|
+
get _dynamicContent() {
|
|
3785
|
+
return this.tetaHint;
|
|
3786
|
+
}
|
|
3787
|
+
mouseenter() {
|
|
3788
|
+
clearTimeout(this._timeout);
|
|
3789
|
+
this._timeout = setTimeout(() => {
|
|
3790
|
+
this.createHint();
|
|
3791
|
+
}, this.delay);
|
|
3792
|
+
}
|
|
3793
|
+
mouseleave() {
|
|
3794
|
+
clearTimeout(this._timeout);
|
|
3795
|
+
if (this._open && this._componentRef) {
|
|
3796
|
+
this._timeout = setTimeout(() => {
|
|
3797
|
+
this.destroyContentRef();
|
|
3798
|
+
}, this.delay);
|
|
3799
|
+
}
|
|
3800
|
+
}
|
|
3801
|
+
click(event) {
|
|
3802
|
+
if (this._open &&
|
|
3803
|
+
this._componentRef &&
|
|
3804
|
+
DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
|
|
3805
|
+
event.stopPropagation();
|
|
3806
|
+
}
|
|
3807
|
+
}
|
|
3808
|
+
setPosition() {
|
|
3809
|
+
if (this._componentRef && this._open) {
|
|
3810
|
+
if (!this._componentRect) {
|
|
3811
|
+
this._componentRect =
|
|
3812
|
+
this._componentRef.location.nativeElement.getBoundingClientRect();
|
|
3813
|
+
}
|
|
3814
|
+
const position = PositionUtil.getPosition(this._elementRef.nativeElement.getBoundingClientRect(), this._componentRect, this.align, this.verticalAlign, 0, 4);
|
|
3815
|
+
PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
|
|
3816
|
+
}
|
|
3817
|
+
}
|
|
3818
|
+
createHint() {
|
|
3819
|
+
if (!this._dynamicContent || (this.overflownOnly && !DomUtil.isOverflown(this._elementRef.nativeElement))) {
|
|
3820
|
+
return;
|
|
3821
|
+
}
|
|
3822
|
+
this._componentRef = this.createContentRef();
|
|
3823
|
+
this._componentRef.instance.className = [
|
|
3824
|
+
...ArrayUtil.asArray(this.className),
|
|
3825
|
+
'hint',
|
|
3826
|
+
];
|
|
3827
|
+
}
|
|
3828
|
+
ngOnDestroy() {
|
|
3829
|
+
super.ngOnDestroy();
|
|
3830
|
+
}
|
|
3831
|
+
}
|
|
3832
|
+
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 });
|
|
3833
|
+
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 });
|
|
3834
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintDirective, decorators: [{
|
|
3835
|
+
type: Directive,
|
|
3836
|
+
args: [{
|
|
3837
|
+
selector: '[tetaHint]',
|
|
3838
|
+
}]
|
|
3839
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
3840
|
+
type: Inject,
|
|
3841
|
+
args: [DOCUMENT]
|
|
3842
|
+
}] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tetaHint: [{
|
|
3843
|
+
type: Input
|
|
3844
|
+
}], align: [{
|
|
3845
|
+
type: Input
|
|
3846
|
+
}], verticalAlign: [{
|
|
3847
|
+
type: Input
|
|
3848
|
+
}], delay: [{
|
|
3849
|
+
type: Input
|
|
3850
|
+
}], overflownOnly: [{
|
|
3851
|
+
type: Input
|
|
3852
|
+
}], mouseenter: [{
|
|
3853
|
+
type: HostListener,
|
|
3854
|
+
args: ['mouseenter', ['$event']]
|
|
3855
|
+
}], mouseleave: [{
|
|
3856
|
+
type: HostListener,
|
|
3857
|
+
args: ['mouseleave', ['$event']]
|
|
3858
|
+
}], click: [{
|
|
3859
|
+
type: HostListener,
|
|
3860
|
+
args: ['click', ['$event']]
|
|
3861
|
+
}] } });
|
|
3862
|
+
|
|
3863
|
+
class InputComponent {
|
|
3864
|
+
constructor() {
|
|
3865
|
+
this.required = false;
|
|
3866
|
+
}
|
|
3867
|
+
get column() {
|
|
3868
|
+
return !this.horizontal;
|
|
3869
|
+
}
|
|
3870
|
+
ngOnInit() { }
|
|
3871
|
+
}
|
|
3872
|
+
InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3873
|
+
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 });
|
|
3874
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, decorators: [{
|
|
3875
|
+
type: Component,
|
|
3876
|
+
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"] }]
|
|
3877
|
+
}], ctorParameters: function () { return []; }, propDecorators: { label: [{
|
|
3878
|
+
type: Input
|
|
3879
|
+
}], horizontal: [{
|
|
3880
|
+
type: Input
|
|
3881
|
+
}, {
|
|
3882
|
+
type: HostBinding,
|
|
3883
|
+
args: ['class.row']
|
|
3884
|
+
}], required: [{
|
|
3885
|
+
type: Input
|
|
3886
|
+
}], column: [{
|
|
3887
|
+
type: HostBinding,
|
|
3888
|
+
args: ['class.column']
|
|
3889
|
+
}] } });
|
|
3890
|
+
|
|
3891
|
+
class NumericFilterComponent extends FilterComponentBase {
|
|
3892
|
+
constructor(changeDetector, _config) {
|
|
3893
|
+
super();
|
|
3894
|
+
this.changeDetector = changeDetector;
|
|
3895
|
+
this._config = _config;
|
|
3896
|
+
this.filterOptions = [];
|
|
3897
|
+
this.filterChanged = new EventEmitter();
|
|
3898
|
+
this.locale = this._config.locale;
|
|
3899
|
+
}
|
|
3900
|
+
set state(val) {
|
|
3901
|
+
this.state$ = val;
|
|
3902
|
+
this.filter = this.getFilter();
|
|
3903
|
+
this.changeDetector.detectChanges();
|
|
3904
|
+
}
|
|
3905
|
+
get state() {
|
|
3906
|
+
return this.state$;
|
|
3907
|
+
}
|
|
3908
|
+
ngOnInit() {
|
|
3909
|
+
this.filter = this.getFilter();
|
|
3910
|
+
}
|
|
3911
|
+
getFilter() {
|
|
3912
|
+
let filter = this.state.numericFilters?.find((f) => f.field === this.column.filterField);
|
|
3913
|
+
if (filter === null || filter === undefined) {
|
|
3914
|
+
filter = this.state.addNumericFilter(new NumericFilter({
|
|
3915
|
+
value: new NumericFilterValue(),
|
|
3916
|
+
field: this.column.filterField,
|
|
3917
|
+
name: this.column.name,
|
|
3918
|
+
strict: true,
|
|
3919
|
+
}));
|
|
3920
|
+
}
|
|
3921
|
+
return filter;
|
|
3922
|
+
}
|
|
3923
|
+
}
|
|
3924
|
+
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 });
|
|
3925
|
+
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 });
|
|
3926
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NumericFilterComponent, decorators: [{
|
|
3927
|
+
type: Component,
|
|
3928
|
+
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" }]
|
|
3929
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TetaConfigService }]; }, propDecorators: { column: [{
|
|
3930
|
+
type: Input
|
|
3931
|
+
}], data: [{
|
|
3932
|
+
type: Input
|
|
3933
|
+
}], filterOptions: [{
|
|
3934
|
+
type: Input
|
|
3935
|
+
}], filterChanged: [{
|
|
3936
|
+
type: Output
|
|
3937
|
+
}], state: [{
|
|
3938
|
+
type: Input
|
|
3939
|
+
}] } });
|
|
3940
|
+
|
|
3941
|
+
var StringFilterType;
|
|
3942
|
+
(function (StringFilterType) {
|
|
3943
|
+
/**
|
|
3944
|
+
* Строгое совпадение
|
|
3945
|
+
*/
|
|
3946
|
+
StringFilterType[StringFilterType["Equals"] = 1] = "Equals";
|
|
3947
|
+
/**
|
|
3948
|
+
* Начинается с указанной подстроки
|
|
3949
|
+
*/
|
|
3950
|
+
StringFilterType[StringFilterType["StartsWith"] = 2] = "StartsWith";
|
|
3951
|
+
/**
|
|
3952
|
+
* Оканчивается указанной подстрокой
|
|
3953
|
+
*/
|
|
3954
|
+
StringFilterType[StringFilterType["EndsWith"] = 3] = "EndsWith";
|
|
3955
|
+
/**
|
|
3956
|
+
* Содержит указанную подстроку
|
|
3957
|
+
*/
|
|
3958
|
+
StringFilterType[StringFilterType["Contains"] = 4] = "Contains";
|
|
3959
|
+
})(StringFilterType || (StringFilterType = {}));
|
|
3960
|
+
|
|
3961
|
+
class StringFilter extends FilterBase {
|
|
3962
|
+
constructor(options) {
|
|
3963
|
+
super(options);
|
|
3964
|
+
if (options) {
|
|
3965
|
+
this.value = options.value || this.value;
|
|
3966
|
+
this.type = options.type || StringFilterType.Contains;
|
|
3967
|
+
}
|
|
3968
|
+
}
|
|
3969
|
+
}
|
|
3970
|
+
|
|
3971
|
+
class StringFilterComponent extends FilterComponentBase {
|
|
3972
|
+
constructor(changeDetector, _config) {
|
|
3973
|
+
super();
|
|
3974
|
+
this.changeDetector = changeDetector;
|
|
3975
|
+
this._config = _config;
|
|
3976
|
+
this.filterOptions = [];
|
|
3977
|
+
this.filterChanged = new EventEmitter();
|
|
3978
|
+
this.locale = this._config.locale;
|
|
3979
|
+
}
|
|
3980
|
+
set state(val) {
|
|
3981
|
+
this.state$ = val;
|
|
3982
|
+
this.filter = this.getFilter();
|
|
3983
|
+
this.changeDetector.detectChanges();
|
|
3984
|
+
}
|
|
3985
|
+
get state() {
|
|
3986
|
+
return this.state$;
|
|
3987
|
+
}
|
|
3988
|
+
ngOnInit() {
|
|
3989
|
+
}
|
|
3990
|
+
setFilter() {
|
|
3991
|
+
this.filterChanged.emit(this.filter);
|
|
3992
|
+
}
|
|
3993
|
+
getFilter() {
|
|
3994
|
+
let filter = this.state.stringFilters.find((f) => f.field === this.column.filterField);
|
|
3995
|
+
if (!filter) {
|
|
3996
|
+
filter = this.state.addStringFilter(new StringFilter({
|
|
3997
|
+
value: '',
|
|
3998
|
+
field: this.column.filterField,
|
|
3999
|
+
type: this.column.stringFilterType,
|
|
4000
|
+
name: this.column.name,
|
|
4001
|
+
}));
|
|
4002
|
+
}
|
|
4003
|
+
filter.type = this.column.stringFilterType;
|
|
4004
|
+
return filter;
|
|
4005
|
+
}
|
|
4006
|
+
}
|
|
4007
|
+
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 });
|
|
3732
4008
|
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 });
|
|
3733
4009
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringFilterComponent, decorators: [{
|
|
3734
4010
|
type: Component,
|
|
@@ -4805,17 +5081,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
4805
5081
|
args: ['class.form-group-title']
|
|
4806
5082
|
}] } });
|
|
4807
5083
|
|
|
5084
|
+
class HintModule {
|
|
5085
|
+
}
|
|
5086
|
+
HintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5087
|
+
HintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: HintModule, declarations: [HintDirective], imports: [CommonModule,
|
|
5088
|
+
DynamicComponentModule], exports: [HintDirective] });
|
|
5089
|
+
HintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, imports: [CommonModule,
|
|
5090
|
+
DynamicComponentModule] });
|
|
5091
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, decorators: [{
|
|
5092
|
+
type: NgModule,
|
|
5093
|
+
args: [{
|
|
5094
|
+
declarations: [HintDirective],
|
|
5095
|
+
exports: [HintDirective],
|
|
5096
|
+
imports: [
|
|
5097
|
+
CommonModule,
|
|
5098
|
+
DynamicComponentModule
|
|
5099
|
+
]
|
|
5100
|
+
}]
|
|
5101
|
+
}] });
|
|
5102
|
+
|
|
4808
5103
|
class InputModule {
|
|
4809
5104
|
}
|
|
4810
5105
|
InputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4811
|
-
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] });
|
|
4812
|
-
InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule] });
|
|
5106
|
+
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] });
|
|
5107
|
+
InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule] });
|
|
4813
5108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputModule, decorators: [{
|
|
4814
5109
|
type: NgModule,
|
|
4815
5110
|
args: [{
|
|
4816
5111
|
declarations: [InputComponent, TextFieldComponent, FormGroupTitleComponent],
|
|
4817
5112
|
exports: [InputComponent, TextFieldComponent, FormGroupTitleComponent],
|
|
4818
|
-
imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule],
|
|
5113
|
+
imports: [CommonModule, IconModule, FormsModule, OnlyNumberModule, HintModule],
|
|
4819
5114
|
}]
|
|
4820
5115
|
}] });
|
|
4821
5116
|
|
|
@@ -5423,16 +5718,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
5423
5718
|
class CurrentModal {
|
|
5424
5719
|
}
|
|
5425
5720
|
|
|
5426
|
-
class DynamicData {
|
|
5427
|
-
constructor(value) {
|
|
5428
|
-
for (const key in value) {
|
|
5429
|
-
if (value.hasOwnProperty(key)) {
|
|
5430
|
-
this[key] = value[key];
|
|
5431
|
-
}
|
|
5432
|
-
}
|
|
5433
|
-
}
|
|
5434
|
-
}
|
|
5435
|
-
|
|
5436
5721
|
class DialogComponent {
|
|
5437
5722
|
constructor(modal, data) {
|
|
5438
5723
|
this.modal = modal;
|
|
@@ -5493,150 +5778,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
5493
5778
|
exports: [ModalContainerComponent, DialogComponent],
|
|
5494
5779
|
imports: [
|
|
5495
5780
|
CommonModule,
|
|
5496
|
-
ToolbarModule,
|
|
5497
|
-
ButtonModule,
|
|
5498
|
-
TranslocoModule,
|
|
5499
|
-
IconModule,
|
|
5500
|
-
],
|
|
5501
|
-
providers: [
|
|
5502
|
-
{
|
|
5503
|
-
provide: TRANSLOCO_SCOPE,
|
|
5504
|
-
useValue: { scope: 'common', alias: 'common' },
|
|
5505
|
-
multi: true,
|
|
5506
|
-
},
|
|
5507
|
-
],
|
|
5508
|
-
}]
|
|
5509
|
-
}] });
|
|
5510
|
-
|
|
5511
|
-
class ModalInstance {
|
|
5512
|
-
constructor(_window, _content) {
|
|
5513
|
-
this._window = _window;
|
|
5514
|
-
this._content = _content;
|
|
5515
|
-
this._onClose = new Subject();
|
|
5516
|
-
this.close = (event) => {
|
|
5517
|
-
this._onClose.next(event);
|
|
5518
|
-
this._onClose.complete();
|
|
5519
|
-
this.destroy();
|
|
5520
|
-
};
|
|
5521
|
-
this.onClose = this._onClose.asObservable();
|
|
5522
|
-
if (this._window && this._window.instance) {
|
|
5523
|
-
this._window.instance.closeEvent.subscribe((event) => {
|
|
5524
|
-
this.close(event);
|
|
5525
|
-
});
|
|
5526
|
-
}
|
|
5527
|
-
}
|
|
5528
|
-
get window() {
|
|
5529
|
-
return this._window;
|
|
5530
|
-
}
|
|
5531
|
-
get component() {
|
|
5532
|
-
return this._content.componentRef ? this._content.componentRef : null;
|
|
5533
|
-
}
|
|
5534
|
-
destroy() {
|
|
5535
|
-
this._window.destroy();
|
|
5536
|
-
if (this._content && this._content.viewRef) {
|
|
5537
|
-
setTimeout(() => {
|
|
5538
|
-
this._content.viewRef.destroy();
|
|
5539
|
-
}, 150);
|
|
5540
|
-
}
|
|
5541
|
-
}
|
|
5542
|
-
}
|
|
5543
|
-
|
|
5544
|
-
class TetaContentRef {
|
|
5545
|
-
constructor(nodes, viewRef, componentRef) {
|
|
5546
|
-
this.nodes = nodes;
|
|
5547
|
-
this.viewRef = viewRef;
|
|
5548
|
-
this.componentRef = componentRef;
|
|
5549
|
-
}
|
|
5550
|
-
}
|
|
5551
|
-
|
|
5552
|
-
class DynamicComponentService {
|
|
5553
|
-
constructor(_componentFactoryResolver, _rendererFactory, _appRef) {
|
|
5554
|
-
this._componentFactoryResolver = _componentFactoryResolver;
|
|
5555
|
-
this._rendererFactory = _rendererFactory;
|
|
5556
|
-
this._appRef = _appRef;
|
|
5557
|
-
this._renderer = this._rendererFactory.createRenderer(null, null);
|
|
5558
|
-
}
|
|
5559
|
-
createComponent(component, contentRef, injector, container) {
|
|
5560
|
-
const componentRef = this._componentFactoryResolver
|
|
5561
|
-
.resolveComponentFactory(component)
|
|
5562
|
-
.create(injector, contentRef.nodes);
|
|
5563
|
-
this._appRef.attachView(componentRef.hostView);
|
|
5564
|
-
container.appendChild(componentRef.location.nativeElement);
|
|
5565
|
-
return componentRef;
|
|
5566
|
-
}
|
|
5567
|
-
createContent(content, injector, context) {
|
|
5568
|
-
if (content === null || content === undefined) {
|
|
5569
|
-
throw new Error('Content is undefined');
|
|
5570
|
-
}
|
|
5571
|
-
if (typeof content === 'string') {
|
|
5572
|
-
return this.fromString(content);
|
|
5573
|
-
}
|
|
5574
|
-
else if (content instanceof TemplateRef) {
|
|
5575
|
-
return this.fromTemplate(content, context);
|
|
5576
|
-
}
|
|
5577
|
-
else {
|
|
5578
|
-
return this.fromComponent(content, injector, context);
|
|
5579
|
-
}
|
|
5580
|
-
}
|
|
5581
|
-
destroy(component, content, container) {
|
|
5582
|
-
if (component) {
|
|
5583
|
-
this._appRef.detachView(component.hostView);
|
|
5584
|
-
component.destroy();
|
|
5585
|
-
}
|
|
5586
|
-
if (content && content.viewRef) {
|
|
5587
|
-
content.viewRef.destroy();
|
|
5588
|
-
}
|
|
5589
|
-
content = null;
|
|
5590
|
-
}
|
|
5591
|
-
getContext(content, context) {
|
|
5592
|
-
if (content instanceof TemplateRef) {
|
|
5593
|
-
return {
|
|
5594
|
-
$implicit: context,
|
|
5595
|
-
data: context,
|
|
5596
|
-
};
|
|
5781
|
+
ToolbarModule,
|
|
5782
|
+
ButtonModule,
|
|
5783
|
+
TranslocoModule,
|
|
5784
|
+
IconModule,
|
|
5785
|
+
],
|
|
5786
|
+
providers: [
|
|
5787
|
+
{
|
|
5788
|
+
provide: TRANSLOCO_SCOPE,
|
|
5789
|
+
useValue: { scope: 'common', alias: 'common' },
|
|
5790
|
+
multi: true,
|
|
5791
|
+
},
|
|
5792
|
+
],
|
|
5793
|
+
}]
|
|
5794
|
+
}] });
|
|
5795
|
+
|
|
5796
|
+
class ModalInstance {
|
|
5797
|
+
constructor(_window, _content) {
|
|
5798
|
+
this._window = _window;
|
|
5799
|
+
this._content = _content;
|
|
5800
|
+
this._onClose = new Subject();
|
|
5801
|
+
this.close = (event) => {
|
|
5802
|
+
this._onClose.next(event);
|
|
5803
|
+
this._onClose.complete();
|
|
5804
|
+
this.destroy();
|
|
5805
|
+
};
|
|
5806
|
+
this.onClose = this._onClose.asObservable();
|
|
5807
|
+
if (this._window && this._window.instance) {
|
|
5808
|
+
this._window.instance.closeEvent.subscribe((event) => {
|
|
5809
|
+
this.close(event);
|
|
5810
|
+
});
|
|
5597
5811
|
}
|
|
5598
|
-
return context;
|
|
5599
|
-
}
|
|
5600
|
-
getInjector(data, parent) {
|
|
5601
|
-
return Injector.create({
|
|
5602
|
-
providers: [
|
|
5603
|
-
{
|
|
5604
|
-
provide: DynamicData,
|
|
5605
|
-
useValue: data,
|
|
5606
|
-
},
|
|
5607
|
-
],
|
|
5608
|
-
parent,
|
|
5609
|
-
});
|
|
5610
5812
|
}
|
|
5611
|
-
|
|
5612
|
-
return
|
|
5813
|
+
get window() {
|
|
5814
|
+
return this._window;
|
|
5613
5815
|
}
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
this._appRef.attachView(viewRef);
|
|
5617
|
-
return new TetaContentRef([viewRef.rootNodes], viewRef);
|
|
5816
|
+
get component() {
|
|
5817
|
+
return this._content.componentRef ? this._content.componentRef : null;
|
|
5618
5818
|
}
|
|
5619
|
-
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
|
|
5623
|
-
|
|
5624
|
-
|
|
5625
|
-
}
|
|
5819
|
+
destroy() {
|
|
5820
|
+
this._window.destroy();
|
|
5821
|
+
if (this._content && this._content.viewRef) {
|
|
5822
|
+
setTimeout(() => {
|
|
5823
|
+
this._content.viewRef.destroy();
|
|
5824
|
+
}, 150);
|
|
5626
5825
|
}
|
|
5627
|
-
const componentNativeEl = componentRef.location.nativeElement;
|
|
5628
|
-
this._appRef.attachView(componentRef.hostView);
|
|
5629
|
-
return new TetaContentRef([[componentNativeEl]], componentRef.hostView, componentRef);
|
|
5630
5826
|
}
|
|
5631
5827
|
}
|
|
5632
|
-
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 });
|
|
5633
|
-
DynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, providedIn: 'root' });
|
|
5634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicComponentService, decorators: [{
|
|
5635
|
-
type: Injectable,
|
|
5636
|
-
args: [{
|
|
5637
|
-
providedIn: 'root',
|
|
5638
|
-
}]
|
|
5639
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.RendererFactory2 }, { type: i0.ApplicationRef }]; } });
|
|
5640
5828
|
|
|
5641
5829
|
class ModalService {
|
|
5642
5830
|
constructor(_document, _injector, _factory) {
|
|
@@ -6215,169 +6403,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
6215
6403
|
args: ['click']
|
|
6216
6404
|
}] } });
|
|
6217
6405
|
|
|
6218
|
-
class DynamicContentBaseDirective {
|
|
6219
|
-
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
6220
|
-
this._document = _document;
|
|
6221
|
-
this._elementRef = _elementRef;
|
|
6222
|
-
this._service = _service;
|
|
6223
|
-
this._injector = _injector;
|
|
6224
|
-
this._zone = _zone;
|
|
6225
|
-
this._cdr = _cdr;
|
|
6226
|
-
this.align = Align.left;
|
|
6227
|
-
this.verticalAlign = VerticalAlign.bottom;
|
|
6228
|
-
this.openChange = new EventEmitter();
|
|
6229
|
-
this._alive = true;
|
|
6230
|
-
this._open = false;
|
|
6231
|
-
this._zone.onStable
|
|
6232
|
-
.pipe(takeWhile((_) => this._alive), filter((_) => this._open))
|
|
6233
|
-
.subscribe((_) => {
|
|
6234
|
-
this.setPosition();
|
|
6235
|
-
});
|
|
6236
|
-
}
|
|
6237
|
-
set open(open) {
|
|
6238
|
-
this._open = open;
|
|
6239
|
-
if (this._open) {
|
|
6240
|
-
this.createContentRef();
|
|
6241
|
-
}
|
|
6242
|
-
else {
|
|
6243
|
-
this.destroyContentRef();
|
|
6244
|
-
}
|
|
6245
|
-
}
|
|
6246
|
-
ngOnDestroy() {
|
|
6247
|
-
this._alive = false;
|
|
6248
|
-
this.destroyContentRef();
|
|
6249
|
-
}
|
|
6250
|
-
ngOnInit() {
|
|
6251
|
-
}
|
|
6252
|
-
createContentRef(className) {
|
|
6253
|
-
if (!this._componentRef) {
|
|
6254
|
-
this._open = true;
|
|
6255
|
-
const injector = this._service.getInjector(this.data, this._injector);
|
|
6256
|
-
const context = this._service.getContext(this._dynamicContent, this.data);
|
|
6257
|
-
this._content = this._service.createContent(this._dynamicContent, this._injector, context);
|
|
6258
|
-
this._componentRef = this._service.createComponent(PopupContentComponent, this._content, injector, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
6259
|
-
if (className) {
|
|
6260
|
-
this._componentRef.instance.addClass(className);
|
|
6261
|
-
}
|
|
6262
|
-
}
|
|
6263
|
-
return this._componentRef;
|
|
6264
|
-
}
|
|
6265
|
-
destroyContentRef() {
|
|
6266
|
-
this._open = false;
|
|
6267
|
-
this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
|
|
6268
|
-
this._componentRef = null;
|
|
6269
|
-
}
|
|
6270
|
-
}
|
|
6271
|
-
DynamicContentBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
6272
|
-
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 });
|
|
6273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicContentBaseDirective, decorators: [{
|
|
6274
|
-
type: Directive
|
|
6275
|
-
}], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
6276
|
-
type: Input
|
|
6277
|
-
}], className: [{
|
|
6278
|
-
type: Input
|
|
6279
|
-
}], align: [{
|
|
6280
|
-
type: Input
|
|
6281
|
-
}], verticalAlign: [{
|
|
6282
|
-
type: Input
|
|
6283
|
-
}], appendToBody: [{
|
|
6284
|
-
type: Input
|
|
6285
|
-
}], open: [{
|
|
6286
|
-
type: Input
|
|
6287
|
-
}], openChange: [{
|
|
6288
|
-
type: Output
|
|
6289
|
-
}] } });
|
|
6290
|
-
|
|
6291
|
-
class HintDirective extends DynamicContentBaseDirective {
|
|
6292
|
-
constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
|
|
6293
|
-
super(_document, _elementRef, _service, _injector, _zone, _cdr);
|
|
6294
|
-
this._document = _document;
|
|
6295
|
-
this._elementRef = _elementRef;
|
|
6296
|
-
this._service = _service;
|
|
6297
|
-
this._injector = _injector;
|
|
6298
|
-
this._zone = _zone;
|
|
6299
|
-
this._cdr = _cdr;
|
|
6300
|
-
this.align = Align.center;
|
|
6301
|
-
this.verticalAlign = VerticalAlign.top;
|
|
6302
|
-
this.delay = 300;
|
|
6303
|
-
}
|
|
6304
|
-
get _dynamicContent() {
|
|
6305
|
-
return this.tetaHint;
|
|
6306
|
-
}
|
|
6307
|
-
mouseenter() {
|
|
6308
|
-
clearTimeout(this._timeout);
|
|
6309
|
-
this._timeout = setTimeout(() => {
|
|
6310
|
-
this.createHint();
|
|
6311
|
-
}, this.delay);
|
|
6312
|
-
}
|
|
6313
|
-
mouseleave() {
|
|
6314
|
-
clearTimeout(this._timeout);
|
|
6315
|
-
if (this._open && this._componentRef) {
|
|
6316
|
-
this._timeout = setTimeout(() => {
|
|
6317
|
-
this.destroyContentRef();
|
|
6318
|
-
}, this.delay);
|
|
6319
|
-
}
|
|
6320
|
-
}
|
|
6321
|
-
click(event) {
|
|
6322
|
-
if (this._open &&
|
|
6323
|
-
this._componentRef &&
|
|
6324
|
-
DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
|
|
6325
|
-
event.stopPropagation();
|
|
6326
|
-
}
|
|
6327
|
-
}
|
|
6328
|
-
setPosition() {
|
|
6329
|
-
if (this._componentRef && this._open) {
|
|
6330
|
-
if (!this._componentRect) {
|
|
6331
|
-
this._componentRect =
|
|
6332
|
-
this._componentRef.location.nativeElement.getBoundingClientRect();
|
|
6333
|
-
}
|
|
6334
|
-
const position = PositionUtil.getPosition(this._elementRef.nativeElement.getBoundingClientRect(), this._componentRect, this.align, this.verticalAlign, 0, 4);
|
|
6335
|
-
PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
|
|
6336
|
-
}
|
|
6337
|
-
}
|
|
6338
|
-
createHint() {
|
|
6339
|
-
if (!this._dynamicContent) {
|
|
6340
|
-
return;
|
|
6341
|
-
}
|
|
6342
|
-
this._componentRef = this.createContentRef();
|
|
6343
|
-
this._componentRef.instance.className = [
|
|
6344
|
-
...ArrayUtil.asArray(this.className),
|
|
6345
|
-
'hint',
|
|
6346
|
-
];
|
|
6347
|
-
}
|
|
6348
|
-
ngOnDestroy() {
|
|
6349
|
-
super.ngOnDestroy();
|
|
6350
|
-
}
|
|
6351
|
-
}
|
|
6352
|
-
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 });
|
|
6353
|
-
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 });
|
|
6354
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintDirective, decorators: [{
|
|
6355
|
-
type: Directive,
|
|
6356
|
-
args: [{
|
|
6357
|
-
selector: '[tetaHint]',
|
|
6358
|
-
}]
|
|
6359
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
6360
|
-
type: Inject,
|
|
6361
|
-
args: [DOCUMENT]
|
|
6362
|
-
}] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tetaHint: [{
|
|
6363
|
-
type: Input
|
|
6364
|
-
}], align: [{
|
|
6365
|
-
type: Input
|
|
6366
|
-
}], verticalAlign: [{
|
|
6367
|
-
type: Input
|
|
6368
|
-
}], delay: [{
|
|
6369
|
-
type: Input
|
|
6370
|
-
}], mouseenter: [{
|
|
6371
|
-
type: HostListener,
|
|
6372
|
-
args: ['mouseenter', ['$event']]
|
|
6373
|
-
}], mouseleave: [{
|
|
6374
|
-
type: HostListener,
|
|
6375
|
-
args: ['mouseleave', ['$event']]
|
|
6376
|
-
}], click: [{
|
|
6377
|
-
type: HostListener,
|
|
6378
|
-
args: ['click', ['$event']]
|
|
6379
|
-
}] } });
|
|
6380
|
-
|
|
6381
6406
|
class PropertyGridItemComponent {
|
|
6382
6407
|
constructor(_transloco) {
|
|
6383
6408
|
this._transloco = _transloco;
|
|
@@ -6448,7 +6473,7 @@ class PropertyGridItemComponent {
|
|
|
6448
6473
|
}
|
|
6449
6474
|
}
|
|
6450
6475
|
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 });
|
|
6451
|
-
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"] }] });
|
|
6476
|
+
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"] }] });
|
|
6452
6477
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridItemComponent, decorators: [{
|
|
6453
6478
|
type: Component,
|
|
6454
6479
|
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" }]
|
|
@@ -6645,25 +6670,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
6645
6670
|
}]
|
|
6646
6671
|
}] });
|
|
6647
6672
|
|
|
6648
|
-
class HintModule {
|
|
6649
|
-
}
|
|
6650
|
-
HintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6651
|
-
HintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: HintModule, declarations: [HintDirective], imports: [CommonModule,
|
|
6652
|
-
DynamicComponentModule], exports: [HintDirective] });
|
|
6653
|
-
HintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, imports: [CommonModule,
|
|
6654
|
-
DynamicComponentModule] });
|
|
6655
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HintModule, decorators: [{
|
|
6656
|
-
type: NgModule,
|
|
6657
|
-
args: [{
|
|
6658
|
-
declarations: [HintDirective],
|
|
6659
|
-
exports: [HintDirective],
|
|
6660
|
-
imports: [
|
|
6661
|
-
CommonModule,
|
|
6662
|
-
DynamicComponentModule
|
|
6663
|
-
]
|
|
6664
|
-
}]
|
|
6665
|
-
}] });
|
|
6666
|
-
|
|
6667
6673
|
class PropertyGridModule {
|
|
6668
6674
|
}
|
|
6669
6675
|
PropertyGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -8147,7 +8153,7 @@ class DefaultHeadCellComponent extends HeadCellComponentBase {
|
|
|
8147
8153
|
}
|
|
8148
8154
|
}
|
|
8149
8155
|
DefaultHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DefaultHeadCellComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8150
|
-
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 });
|
|
8156
|
+
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 });
|
|
8151
8157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DefaultHeadCellComponent, decorators: [{
|
|
8152
8158
|
type: Component,
|
|
8153
8159
|
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"] }]
|
|
@@ -8329,10 +8335,10 @@ class TabsComponent {
|
|
|
8329
8335
|
}
|
|
8330
8336
|
}
|
|
8331
8337
|
TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8332
|
-
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"] }] });
|
|
8338
|
+
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"] }] });
|
|
8333
8339
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TabsComponent, decorators: [{
|
|
8334
8340
|
type: Component,
|
|
8335
|
-
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" }]
|
|
8341
|
+
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" }]
|
|
8336
8342
|
}], ctorParameters: function () { return []; }, propDecorators: { classTabs: [{
|
|
8337
8343
|
type: HostBinding,
|
|
8338
8344
|
args: ['class.tabs']
|
|
@@ -9465,10 +9471,10 @@ class StringCellComponent extends CellComponentBase {
|
|
|
9465
9471
|
}
|
|
9466
9472
|
}
|
|
9467
9473
|
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 });
|
|
9468
|
-
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 });
|
|
9474
|
+
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 });
|
|
9469
9475
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: StringCellComponent, decorators: [{
|
|
9470
9476
|
type: Component,
|
|
9471
|
-
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" }]
|
|
9477
|
+
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" }]
|
|
9472
9478
|
}], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
|
|
9473
9479
|
type: Input
|
|
9474
9480
|
}], row: [{
|