@tetacom/ng-components 1.0.135 → 1.0.137

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.
@@ -0,0 +1,38 @@
1
+ <svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" width="0"
2
+ height="0" class="hidden">
3
+ <!-- SVG Sprite -->
4
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_csv">
5
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z" fill="#59AE50"></path>
6
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#3F8438"></path>
7
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M11.7 22C11.1133 22 10.6833 21.8767 10.41 21.63C10.1367 21.3767 10 20.9667 10 20.4V18.6C10 18.04 10.1367 17.6333 10.41 17.38C10.69 17.1267 11.12 17 11.7 17H12.99V18H11.74C11.4933 18 11.3067 18.0567 11.18 18.17C11.0533 18.2833 10.99 18.4433 10.99 18.65V20.35C10.99 20.5567 11.0533 20.7167 11.18 20.83C11.3067 20.9433 11.4933 21 11.74 21H12.99V22H11.7ZM18 17H19V20H20V17H21V20L20 22H19L18 20V17ZM16.61 21.69C16.87 21.4833 17 21.17 17 20.75V20.3C17 19.8733 16.8833 19.5533 16.65 19.34C16.4167 19.12 16.0767 19 15.63 19H15.48C15.34 19 15.2233 18.9733 15.13 18.9C15.0433 18.8267 15 18.7133 15 18.56V18.45C15 18.3033 15.05 18.1933 15.15 18.12C15.25 18.04 15.3833 18 15.55 18H17V17H15.5C15.0067 17 14.5933 17.1 14.34 17.3C14.0867 17.4933 14 17.8133 14 18.26V18.73C14 19.17 14.0733 19.4933 14.3 19.7C14.5333 19.9 14.7333 20 15.2 20H15.57C15.8567 20 16 20.15 16 20.45V20.55C16 20.6967 15.9533 20.81 15.86 20.89C15.7667 20.9633 15.63 21 15.45 21H14V22H15.5C15.9867 22 16.3567 21.8967 16.61 21.69Z" fill="white"></path>
8
+ </symbol>
9
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_doc">
10
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z" fill="#579FFF"></path>
11
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#4380D0"></path>
12
+ <path d="M12.5 21.77C12.28 21.9233 12.0133 22 11.7 22H11.2C10.6133 22 10.1833 21.8767 9.91 21.63C9.63667 21.3767 9.5 20.9667 9.5 20.4V18.6C9.5 18.04 9.63667 17.6333 9.91 17.38C10.19 17.1267 10.68 17 11.26 17H12.5V15H13.5V22H12.5V21.77ZM11.85 21C12.07 21 12.2333 20.9433 12.34 20.83C12.4467 20.71 12.5 20.5833 12.5 20.45V18H11.25C11.0033 18 10.8167 18.0567 10.69 18.17C10.5633 18.2833 10.5 18.4433 10.5 18.65V20.35C10.5 20.5567 10.5633 20.7167 10.69 20.83C10.8167 20.9433 11.0033 21 11.25 21H11.85Z" fill="white"></path>
13
+ <path d="M18.5 20.4C18.5 20.96 18.36 21.3667 18.08 21.62C17.8067 21.8733 17.38 22 16.8 22L16.2 22C15.62 22 15.19 21.8733 14.91 21.62C14.6367 21.3667 14.5 20.96 14.5 20.4V18.6C14.5 18.04 14.6367 17.6333 14.91 17.38C15.19 17.1267 15.62 17 16.2 17L16.8 17C17.38 17 17.8067 17.1267 18.08 17.38C18.36 17.6333 18.5 18.04 18.5 18.6V20.4ZM17.5 18.65C17.5 18.4433 17.4367 18.2833 17.31 18.17C17.1833 18.0567 16.9967 18 16.75 18H16.25C16.0033 18 15.8167 18.0567 15.69 18.17C15.5633 18.2833 15.5 18.4433 15.5 18.65V20.35C15.5 20.5567 15.5633 20.7167 15.69 20.83C15.8167 20.9433 16.0033 21 16.25 21H16.75C16.9967 21 17.1833 20.9433 17.31 20.83C17.4367 20.7167 17.5 20.5567 17.5 20.35V18.65Z" fill="white"></path>
14
+ <path d="M21.21 22C20.6233 22 20.1933 21.8767 19.92 21.63C19.6467 21.3767 19.51 20.9667 19.51 20.4V18.6C19.51 18.04 19.6467 17.6333 19.92 17.38C20.2 17.1267 20.63 17 21.21 17H22.5V18H21.25C21.0033 18 20.8167 18.0567 20.69 18.17C20.5633 18.2833 20.5 18.4433 20.5 18.65V20.35C20.5 20.5567 20.5633 20.7167 20.69 20.83C20.8167 20.9433 21.0033 21 21.25 21H22.5V22H21.21Z" fill="white"></path>
15
+ </symbol>
16
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_las">
17
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z" fill="#59AE50"></path>
18
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M11.2198 21.76C11.3931 21.92 11.6933 22 11.92 22H13V21H12.35C12.2233 21 12.1333 20.9767 12.08 20.93C12.0267 20.8833 12 20.8067 12 20.7V15H10V16H11V21C11 21.3467 11.0531 21.6 11.2198 21.76ZM20.5 22C20.9867 22 21.3567 21.8967 21.61 21.69C21.87 21.4833 22 21.17 22 20.75V20.3C22 19.8733 21.8833 19.5533 21.65 19.34C21.4167 19.12 21.0767 19 20.63 19H20.48C20.34 19 20.2233 18.9733 20.13 18.9C20.0433 18.8267 20 18.7133 20 18.56V18.45C20 18.3033 20.05 18.1933 20.15 18.12C20.25 18.04 20.3833 18 20.55 18H22V17H20.5C20.0067 17 19.5933 17.1 19.34 17.3C19.0867 17.4933 19 17.8133 19 18.26V18.73C19 19.17 19.0733 19.4933 19.3 19.7C19.5333 19.9 19.7333 20 20.2 20H20.57C20.8567 20 21 20.15 21 20.45V20.55C21 20.6967 20.9533 20.81 20.86 20.89C20.7667 20.9633 20.63 21 20.45 21H19V22H20.5ZM17.3849 21.92C17.4916 21.9733 17.5882 22 17.6749 22H18.2249V21.3C18.0449 21.3 17.9149 21.2767 17.8349 21.23C17.7616 21.1767 17.7249 21.1 17.7249 21V18.6C17.7249 18.04 17.5849 17.6333 17.3049 17.38C17.0316 17.1267 16.6049 17 16.0249 17H14.2249V18H15.9749C16.2216 18 16.4082 18.0567 16.5349 18.17C16.6616 18.2833 16.7249 18.4433 16.7249 18.65V19H15.1849C14.2116 19 13.7249 19.5167 13.7249 20.55V20.65C13.7249 21.1433 13.8382 21.4933 14.0649 21.7C14.2982 21.9 14.6682 22 15.1749 22H16.5149C16.7682 22 16.9716 21.9 17.1249 21.7C17.1982 21.7933 17.2849 21.8667 17.3849 21.92ZM16.6449 20.86C16.5916 20.9533 16.4649 21 16.2649 21H15.2249C15.0516 21 14.9249 20.96 14.8449 20.88C14.7735 20.8086 14.7339 20.6999 14.7263 20.554C14.7355 20.4012 14.7918 20.2732 14.8949 20.17C15.0082 20.0567 15.1516 20 15.3249 20H16.7249V20.5C16.7249 20.6467 16.6982 20.7667 16.6449 20.86Z" fill="white"></path>
19
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#3F8438"></path>
20
+ </symbol>
21
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_pdf">
22
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z" fill="#E25C41"></path>
23
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#A5402C"></path>
24
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M21.35 16C21.2433 16 21.1567 16.03 21.09 16.09C21.03 16.1433 21 16.2133 21 16.3V17H22V18H21V21H22V22H19V21H20V18H19V17H20V16.1C20 15.76 20.0967 15.4933 20.29 15.3C20.4833 15.1 20.7333 15 21.04 15H22.5V16L21.35 16ZM9.8 17V17.24C10.0067 17.08 10.2733 17 10.6 17H11.3C11.8867 17 12.3167 17.1267 12.59 17.38C12.8633 17.6267 13 18.0333 13 18.6V20.4C13 20.96 12.86 21.3667 12.58 21.62C12.3067 21.8733 11.88 22 11.3 22H10.01V24H9V17H9.8ZM10.65 18C10.43 18 10.2667 18.06 10.16 18.18C10.0533 18.2933 10 18.4167 10 18.55L10.01 21H11.25C11.4967 21 11.6833 20.9433 11.81 20.83C11.9367 20.7167 12 20.5567 12 20.35V18.65C12 18.4433 11.9367 18.2833 11.81 18.17C11.6833 18.0567 11.4967 18 11.25 18H10.65ZM16.2 22C16.5133 22 16.78 21.9233 17 21.77V22H18V15H17V17H15.76C15.18 17 14.69 17.1267 14.41 17.38C14.1367 17.6333 14 18.04 14 18.6V20.4C14 20.9667 14.1367 21.3767 14.41 21.63C14.6833 21.8767 15.1133 22 15.7 22H16.2ZM16.84 20.83C16.7333 20.9433 16.57 21 16.35 21H15.75C15.5033 21 15.3167 20.9433 15.19 20.83C15.0633 20.7167 15 20.5567 15 20.35V18.65C15 18.4433 15.0633 18.2833 15.19 18.17C15.3167 18.0567 15.5033 18 15.75 18H17V20.45C17 20.5833 16.9467 20.71 16.84 20.83Z" fill="white"></path>
25
+ </symbol>
26
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_txt">
27
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z" fill="#579FFF"></path>
28
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#4380D0"></path>
29
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12.05 21.9996C11.71 21.9996 11.45 21.8896 11.27 21.6696C11.09 21.4496 11 21.1596 11 20.7996V17.9998H10V16.9996H11V16H12V16.9996H13V17.9998H12V20.6C12 20.7467 12.0367 20.85 12.11 20.91C12.1833 20.97 12.2967 21 12.45 21L13 21.0004V22L12.05 21.9996ZM15 21.9998H14V19.9998H15V18.9998H14V16.9998H15V18.4998L16 18.9998L17 18.4998V16.9998H18V18.9998H17V19.9998H18V21.9998H17V20.4998L16 19.9998L15 20.4998V21.9998ZM20.27 21.6696C20.45 21.8896 20.71 21.9996 21.05 21.9996L22 22V21.0004L21.45 21C21.2967 21 21.1833 20.97 21.11 20.91C21.0367 20.85 21 20.7467 21 20.6V17.9998H22V16.9996H21V16H20V16.9996H19V17.9998H20V20.7996C20 21.1596 20.09 21.4496 20.27 21.6696Z" fill="white"></path>
30
+ </symbol>
31
+ <symbol fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 40" id="file_xls">
32
+ <path d="M0 4C0 1.79086 1.79086 0 4 0H24L28 4L32 8V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z" fill="#59AE50"></path>
33
+ <path d="M24 0L28 4L32 8H28C25.7909 8 24 6.20914 24 4V0Z" fill="#3F8438"></path>
34
+ <path d="M11 22H10V20H11V19H10V17H11V18.5L12 19L13 18.5V17H14V19H13V20H14V22H13V20.5L12 20L11 20.5V22Z" fill="white"></path>
35
+ <path d="M16.92 22C16.6933 22 16.3931 21.92 16.2198 21.76C16.0531 21.6 16 21.3467 16 21V16H15V15H17V20.7C17 20.8067 17.0267 20.8833 17.08 20.93C17.1333 20.9767 17.2233 21 17.35 21H18V22H16.92Z" fill="white"></path>
36
+ <path d="M22 20.75C22 21.17 21.87 21.4833 21.61 21.69C21.3567 21.8967 20.9867 22 20.5 22H19V21H20.45C20.63 21 20.7667 20.9633 20.86 20.89C20.9533 20.81 21 20.6967 21 20.55V20.45C21 20.15 20.8567 20 20.57 20H20.2C19.7333 20 19.5333 19.9 19.3 19.7C19.0733 19.4933 19 19.17 19 18.73V18.26C19 17.8133 19.0867 17.4933 19.34 17.3C19.5933 17.1 20.0067 17 20.5 17H22V18H20.55C20.3833 18 20.25 18.04 20.15 18.12C20.05 18.1933 20 18.3033 20 18.45V18.56C20 18.7133 20.0433 18.8267 20.13 18.9C20.2233 18.9733 20.34 19 20.48 19H20.63C21.0767 19 21.4167 19.12 21.65 19.34C21.8833 19.5533 22 19.8733 22 20.3V20.75Z" fill="white"></path>
37
+ </symbol>
38
+ </svg>
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class IconFileComponent {
3
+ extension: 'csv' | 'doc' | 'pdf' | 'txt' | 'las' | 'xls';
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconFileComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconFileComponent, "teta-icon-file", never, { "extension": "extension"; }, {}, never, never, false>;
6
+ }
@@ -1,10 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./icon/icon.component";
3
- import * as i2 from "./icon-sprite.directive";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/common/http";
3
+ import * as i2 from "./icon-file/icon-file.component";
4
+ import * as i3 from "./icon-sprite.directive";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@angular/common/http";
6
7
  export declare class IconModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<IconModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<IconModule, [typeof i1.IconComponent, typeof i2.IconSpriteDirective], [typeof i3.CommonModule, typeof i4.HttpClientModule], [typeof i1.IconComponent, typeof i2.IconSpriteDirective]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IconModule, [typeof i1.IconComponent, typeof i2.IconFileComponent, typeof i3.IconSpriteDirective], [typeof i4.CommonModule, typeof i5.HttpClientModule], [typeof i1.IconComponent, typeof i2.IconFileComponent, typeof i3.IconSpriteDirective]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<IconModule>;
10
11
  }
@@ -2,3 +2,4 @@ export * from './icon.module';
2
2
  export * from './icon.service';
3
3
  export * from './icon-sprite.directive';
4
4
  export * from './icon/icon.component';
5
+ export * from './icon-file/icon-file.component';
@@ -14,6 +14,7 @@ export declare class PropertyGridGroupComponent<T> implements OnInit {
14
14
  decimalPart: number;
15
15
  constructor();
16
16
  ngOnInit(): void;
17
+ trackColumns(index: number, column: TableColumn): any;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridGroupComponent<any>, never>;
18
19
  static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridGroupComponent<any>, "teta-property-grid-group", never, { "column": "column"; "hideNonEditable": "hideNonEditable"; "dict": "dict"; "formGroup": "formGroup"; "horizontal": "horizontal"; "decimalPart": "decimalPart"; }, { "controlValueChange": "controlValueChange"; }, never, never, false>;
19
20
  }
@@ -18,6 +18,7 @@ export declare class PropertyGridComponent<T> implements OnInit, OnDestroy {
18
18
  onControlValueChange(event: IIdName<any>): void;
19
19
  ngOnInit(): void;
20
20
  ngOnDestroy(): void;
21
+ trackColumns(index: number, column: TableColumn): any;
21
22
  private getDictValue;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridComponent<any>, never>;
23
24
  static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridComponent<any>, "teta-property-grid", never, { "hideNonEditable": "hideNonEditable"; "columns": "columns"; "dict": "dict"; "formGroup": "formGroup"; "horizontal": "horizontal"; "decimalPart": "decimalPart"; }, { "controlValueChange": "controlValueChange"; }, never, never, false>;
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../icon/icon.component";
4
+ export class IconFileComponent {
5
+ }
6
+ IconFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ IconFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: IconFileComponent, selector: "teta-icon-file", inputs: { extension: "extension" }, ngImport: i0, template: "<teta-icon [name]=\"'file_' + extension\" [class]=\"'icon-file'\"></teta-icon>\n", styles: [""], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconFileComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'teta-icon-file', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon [name]=\"'file_' + extension\" [class]=\"'icon-file'\"></teta-icon>\n" }]
11
+ }], propDecorators: { extension: [{
12
+ type: Input
13
+ }] } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvaWNvbi9pY29uLWZpbGUvaWNvbi1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvaWNvbi9pY29uLWZpbGUvaWNvbi1maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFReEUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBGQ1I5QixrRkFDQTsyRkRPYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1pY29uLWZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi1maWxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uRmlsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGV4dGVuc2lvbjogJ2NzdicgfCAnZG9jJyB8ICdwZGYnIHwgJ3R4dCcgfCAnbGFzJyB8ICd4bHMnO1xufVxuIiwiPHRldGEtaWNvbiBbbmFtZV09XCInZmlsZV8nICsgZXh0ZW5zaW9uXCIgW2NsYXNzXT1cIidpY29uLWZpbGUnXCI+PC90ZXRhLWljb24+XG4iXX0=
@@ -1,15 +1,18 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { IconComponent } from './icon/icon.component';
4
3
  import { IconSpriteDirective } from './icon-sprite.directive';
5
4
  import { HttpClientModule } from '@angular/common/http';
5
+ import { IconComponent } from "./icon/icon.component";
6
+ import { IconFileComponent } from "./icon-file/icon-file.component";
6
7
  import * as i0 from "@angular/core";
7
8
  export class IconModule {
8
9
  }
9
10
  IconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
11
  IconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: IconModule, declarations: [IconComponent,
12
+ IconFileComponent,
11
13
  IconSpriteDirective], imports: [CommonModule,
12
14
  HttpClientModule], exports: [IconComponent,
15
+ IconFileComponent,
13
16
  IconSpriteDirective] });
14
17
  IconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconModule, imports: [CommonModule,
15
18
  HttpClientModule] });
@@ -18,10 +21,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
18
21
  args: [{
19
22
  declarations: [
20
23
  IconComponent,
24
+ IconFileComponent,
21
25
  IconSpriteDirective
22
26
  ],
23
27
  exports: [
24
28
  IconComponent,
29
+ IconFileComponent,
25
30
  IconSpriteDirective
26
31
  ],
27
32
  imports: [
@@ -30,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
30
35
  ]
31
36
  }]
32
37
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2ljb24vaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQWlCdEQsTUFBTSxPQUFPLFVBQVU7O3VHQUFWLFVBQVU7d0dBQVYsVUFBVSxpQkFabkIsYUFBYTtRQUNiLG1CQUFtQixhQU9uQixZQUFZO1FBQ1osZ0JBQWdCLGFBTGhCLGFBQWE7UUFDYixtQkFBbUI7d0dBT1YsVUFBVSxZQUpuQixZQUFZO1FBQ1osZ0JBQWdCOzJGQUdQLFVBQVU7a0JBZHRCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJY29uQ29tcG9uZW50fSBmcm9tICcuL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtJY29uU3ByaXRlRGlyZWN0aXZlfSBmcm9tICcuL2ljb24tc3ByaXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0h0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEljb25TcHJpdGVEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEljb25Db21wb25lbnQsXG4gICAgSWNvblNwcml0ZURpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJY29uTW9kdWxlIHtcbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2ljb24vaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOztBQW1CbEUsTUFBTSxPQUFPLFVBQVU7O3VHQUFWLFVBQVU7d0dBQVYsVUFBVSxpQkFkbkIsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixtQkFBbUIsYUFRbkIsWUFBWTtRQUNaLGdCQUFnQixhQU5oQixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLG1CQUFtQjt3R0FPVixVQUFVLFlBSm5CLFlBQVk7UUFDWixnQkFBZ0I7MkZBR1AsVUFBVTtrQkFoQnRCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SWNvblNwcml0ZURpcmVjdGl2ZX0gZnJvbSAnLi9pY29uLXNwcml0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0ljb25Db21wb25lbnR9IGZyb20gXCIuL2ljb24vaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7SWNvbkZpbGVDb21wb25lbnR9IGZyb20gXCIuL2ljb24tZmlsZS9pY29uLWZpbGUuY29tcG9uZW50XCI7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBJY29uRmlsZUNvbXBvbmVudCxcbiAgICBJY29uU3ByaXRlRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEljb25GaWxlQ29tcG9uZW50LFxuICAgIEljb25TcHJpdGVEaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWNvbk1vZHVsZSB7XG59XG4iXX0=
@@ -2,4 +2,5 @@ export * from './icon.module';
2
2
  export * from './icon.service';
3
3
  export * from './icon-sprite.directive';
4
4
  export * from './icon/icon.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvaWNvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pY29uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24tc3ByaXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24vaWNvbi5jb21wb25lbnQnO1xuIl19
5
+ export * from './icon-file/icon-file.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvaWNvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ljb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi1zcHJpdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24tZmlsZS9pY29uLWZpbGUuY29tcG9uZW50JztcbiJdfQ==
@@ -8,13 +8,17 @@ export class PropertyGridGroupComponent {
8
8
  constructor() {
9
9
  this.controlValueChange = new EventEmitter();
10
10
  }
11
- ngOnInit() { }
11
+ ngOnInit() {
12
+ }
13
+ trackColumns(index, column) {
14
+ return column.name;
15
+ }
12
16
  }
13
17
  PropertyGridGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: i4.PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
18
+ PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: i4.PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
15
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, decorators: [{
16
20
  type: Component,
17
- args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
21
+ args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
18
22
  }], ctorParameters: function () { return []; }, propDecorators: { column: [{
19
23
  type: Input
20
24
  }], hideNonEditable: [{
@@ -30,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
30
34
  }], decimalPart: [{
31
35
  type: Input
32
36
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLWdyb3VwL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1ncm91cC9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd2QixNQUFNLE9BQU8sMEJBQTBCO0lBUXJDO1FBRlUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFFakQsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs7dUhBVlIsMEJBQTBCOzJHQUExQiwwQkFBMEIscVJDakJ2Qyw4L0NBOEJBLDR3QkRiYSwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBSzNCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNFLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vdGFibGUvY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7IElEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBJSWROYW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktaWQtbmFtZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlHcmlkR3JvdXBDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBoaWRlTm9uRWRpdGFibGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpY3Q6IElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPjtcbiAgQElucHV0KCkgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBASW5wdXQoKSBob3Jpem9udGFsOiBib29sZWFuO1xuICBAT3V0cHV0KCkgY29udHJvbFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJSWROYW1lPGFueT4+KCk7XG4gIEBJbnB1dCgpIGRlY2ltYWxQYXJ0OiBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG59XG4iLCI8dGV0YS1leHBhbmQtaXRlbT5cbiAgPHNwYW4gbmdQcm9qZWN0QXM9J2hlYWQnPlxuICAgIHt7Y29sdW1uLmNhcHRpb259fVxuICA8L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW4uY29sdW1uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5jb2x1bW5zPy5sZW5ndGggPCAxXCI+XG4gICAgICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtaXRlbSAqbmdJZj1cImNvbHVtbi5lZGl0YWJsZSB8fCAhaGlkZU5vbkVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGljdF09XCJkaWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cImNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW0+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wuY29sdW1ucz8ubGVuZ3RoID4gMFwiPlxuICAgICAgICA8dGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpY3RdPVwiZGljdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtob3Jpem9udGFsXT1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250cm9sVmFsdWVDaGFuZ2UpPVwiY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj48L3RldGEtcHJvcGVydHktZ3JpZC1ncm91cD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvdGV0YS1leHBhbmQtaXRlbT5cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLWdyb3VwL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1ncm91cC9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd2QixNQUFNLE9BQU8sMEJBQTBCO0lBU3JDO1FBSFUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFJaEUsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxNQUFtQjtRQUM3QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQzs7dUhBakJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFSQ2pCdkMscWhEQThCQSw0d0JEYmEsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQUszQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi8uLi8uLi90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtJRGljdGlvbmFyeX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQge0lJZE5hbWV9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcHJvcGVydHktZ3JpZC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUdyaWRHcm91cENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbjogVGFibGVDb2x1bW47XG4gIEBJbnB1dCgpIGhpZGVOb25FZGl0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGljdDogSURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+O1xuICBASW5wdXQoKSBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGhvcml6b250YWw6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBjb250cm9sVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElJZE5hbWU8YW55Pj4oKTtcbiAgQElucHV0KCkgZGVjaW1hbFBhcnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgdHJhY2tDb2x1bW5zKGluZGV4OiBudW1iZXIsIGNvbHVtbjogVGFibGVDb2x1bW4pOiBhbnkge1xuICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgfVxufVxuIiwiPHRldGEtZXhwYW5kLWl0ZW0+XG4gIDxzcGFuIG5nUHJvamVjdEFzPSdoZWFkJz5cbiAgICB7e2NvbHVtbi5jYXB0aW9ufX1cbiAgPC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uLmNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQ29sdW1uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5jb2x1bW5zPy5sZW5ndGggPCAxXCI+XG4gICAgICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtaXRlbSAqbmdJZj1cImNvbHVtbi5lZGl0YWJsZSB8fCAhaGlkZU5vbkVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGljdF09XCJkaWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cImNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW0+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wuY29sdW1ucz8ubGVuZ3RoID4gMFwiPlxuICAgICAgICA8dGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpY3RdPVwiZGljdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtob3Jpem9udGFsXT1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250cm9sVmFsdWVDaGFuZ2UpPVwiY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj48L3RldGEtcHJvcGVydHktZ3JpZC1ncm91cD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvdGV0YS1leHBhbmQtaXRlbT5cbiJdfQ==
@@ -27,19 +27,23 @@ export class PropertyGridComponent {
27
27
  }
28
28
  this.controlValueChange.emit(event);
29
29
  }
30
- ngOnInit() { }
30
+ ngOnInit() {
31
+ }
31
32
  ngOnDestroy() {
32
33
  this._alive = false;
33
34
  }
35
+ trackColumns(index, column) {
36
+ return column.name;
37
+ }
34
38
  getDictValue(value, name) {
35
39
  return this.dict[name]?.find((_) => _.id === value);
36
40
  }
37
41
  }
38
42
  PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: i4.PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
43
+ PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: i4.PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
40
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridComponent, decorators: [{
41
45
  type: Component,
42
- args: [{ selector: 'teta-property-grid', template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"] }]
46
+ args: [{ selector: 'teta-property-grid', template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"] }]
43
47
  }], ctorParameters: function () { return []; }, propDecorators: { formClass: [{
44
48
  type: HostBinding,
45
49
  args: ['class.form-container']
@@ -58,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
58
62
  }], controlValueChange: [{
59
63
  type: Output
60
64
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd2QixNQUFNLE9BQU8scUJBQXFCO0lBY2hDO1FBYnFDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFTNUMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFeEQsV0FBTSxHQUFHLElBQUksQ0FBQztJQUVQLENBQUM7SUFFaEIsb0JBQW9CLENBQUMsS0FBbUI7UUFDdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRTtZQUNwQixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLEtBQUssRUFBRTtvQkFDVCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsRUFBRTt3QkFDaEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO3dCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ25DO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQVUsRUFBRSxJQUFZO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7a0hBMUNVLHFCQUFxQjtzR0FBckIscUJBQXFCLHFWQ25CbEMsNjBDQXNCQTsyRkRIYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9COzBFQUtPLFNBQVM7c0JBQTdDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUUxQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL3RhYmxlL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBJRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgSUlkTmFtZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1wcm9wZXJ0eS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5R3JpZENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb3JtLWNvbnRhaW5lcicpIGZvcm1DbGFzcyA9IHRydWU7XG5cbiAgQElucHV0KCkgaGlkZU5vbkVkaXRhYmxlOiBib29sZWFuO1xuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdO1xuICBASW5wdXQoKSBkaWN0OiBJRGljdGlvbmFyeTxJSWROYW1lPGFueT5bXT47XG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cDtcbiAgQElucHV0KCkgaG9yaXpvbnRhbDogYm9vbGVhbjtcbiAgQElucHV0KCkgZGVjaW1hbFBhcnQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgY29udHJvbFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJSWROYW1lPGFueT4+KCk7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBvbkNvbnRyb2xWYWx1ZUNoYW5nZShldmVudDogSUlkTmFtZTxhbnk+KSB7XG4gICAgY29uc3QgYWZmZWN0ZWQgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKChfKSA9PiBfLnBhcmVudE5hbWUgPT09IGV2ZW50Lm5hbWUpO1xuICAgIGlmIChhZmZlY3RlZD8ubGVuZ3RoKSB7XG4gICAgICBhZmZlY3RlZC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVtpdGVtLm5hbWVdO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBjb25zdCBkaWN0VmFsdWUgPSB0aGlzLmdldERpY3RWYWx1ZSh2YWx1ZSwgaXRlbS5uYW1lKTtcbiAgICAgICAgICBpZiAoZGljdFZhbHVlICYmIGRpY3RWYWx1ZS5wYXJlbnRJZCAhPT0gZXZlbnQuaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld09iaiA9IHt9O1xuICAgICAgICAgICAgbmV3T2JqW2l0ZW0ubmFtZV0gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZShuZXdPYmopO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldERpY3RWYWx1ZSh2YWx1ZTogYW55LCBuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kaWN0W25hbWVdPy5maW5kKChfKSA9PiBfLmlkID09PSB2YWx1ZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5zPy5sZW5ndGhcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICA8dGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW0gKm5nSWY9XCJjb2x1bW4uY29sdW1ucz8ubGVuZ3RoIDwgMSAmJiAoY29sdW1uLmVkaXRhYmxlIHx8ICFoaWRlTm9uRWRpdGFibGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpY3RdPVwiZGljdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlY2ltYWxQYXJ0XT1cImRlY2ltYWxQYXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRyb2xWYWx1ZUNoYW5nZSk9XCJvbkNvbnRyb2xWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGVcIj48L3RldGEtcHJvcGVydHktZ3JpZC1pdGVtPlxuICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXAgKm5nSWY9XCJjb2x1bW4uY29sdW1ucz8ubGVuZ3RoID4gMCAmJiAoY29sdW1uLmVkaXRhYmxlIHx8ICFoaWRlTm9uRWRpdGFibGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGljdF09XCJkaWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250cm9sVmFsdWVDaGFuZ2UpPVwib25Db250cm9sVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZVwiPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd2QixNQUFNLE9BQU8scUJBQXFCO0lBY2hDO1FBYnFDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFTNUMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFeEQsV0FBTSxHQUFHLElBQUksQ0FBQztJQUd0QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBbUI7UUFDdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRTtZQUNwQixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLEtBQUssRUFBRTtvQkFDVCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsRUFBRTt3QkFDaEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO3dCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ25DO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLE1BQW1CO1FBQzdDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQVUsRUFBRSxJQUFZO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7a0hBaERVLHFCQUFxQjtzR0FBckIscUJBQXFCLHFWQ25CbEMsbzJDQXNCQTsyRkRIYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9COzBFQUtPLFNBQVM7c0JBQTdDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUUxQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi8uLi90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtJRGljdGlvbmFyeX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQge0lJZE5hbWV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcHJvcGVydHktZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHktZ3JpZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUdyaWRDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9ybS1jb250YWluZXInKSBmb3JtQ2xhc3MgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGhpZGVOb25FZGl0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgY29sdW1uczogVGFibGVDb2x1bW5bXTtcbiAgQElucHV0KCkgZGljdDogSURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+O1xuICBASW5wdXQoKSBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGhvcml6b250YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlY2ltYWxQYXJ0OiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIGNvbnRyb2xWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUlkTmFtZTxhbnk+PigpO1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG9uQ29udHJvbFZhbHVlQ2hhbmdlKGV2ZW50OiBJSWROYW1lPGFueT4pIHtcbiAgICBjb25zdCBhZmZlY3RlZCA9IHRoaXMuY29sdW1ucy5maWx0ZXIoKF8pID0+IF8ucGFyZW50TmFtZSA9PT0gZXZlbnQubmFtZSk7XG4gICAgaWYgKGFmZmVjdGVkPy5sZW5ndGgpIHtcbiAgICAgIGFmZmVjdGVkLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpW2l0ZW0ubmFtZV07XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGRpY3RWYWx1ZSA9IHRoaXMuZ2V0RGljdFZhbHVlKHZhbHVlLCBpdGVtLm5hbWUpO1xuICAgICAgICAgIGlmIChkaWN0VmFsdWUgJiYgZGljdFZhbHVlLnBhcmVudElkICE9PSBldmVudC5pZCkge1xuICAgICAgICAgICAgY29uc3QgbmV3T2JqID0ge307XG4gICAgICAgICAgICBuZXdPYmpbaXRlbS5uYW1lXSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKG5ld09iaik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICB0cmFja0NvbHVtbnMoaW5kZXg6IG51bWJlciwgY29sdW1uOiBUYWJsZUNvbHVtbik6IGFueSB7XG4gICAgcmV0dXJuIGNvbHVtbi5uYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaWN0VmFsdWUodmFsdWU6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZGljdFtuYW1lXT8uZmluZCgoXykgPT4gXy5pZCA9PT0gdmFsdWUpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1ucz8ubGVuZ3RoXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5OiB0cmFja0NvbHVtbnNcIj5cbiAgICA8dGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW0gKm5nSWY9XCJjb2x1bW4uY29sdW1ucz8ubGVuZ3RoIDwgMSAmJiAoY29sdW1uLmVkaXRhYmxlIHx8ICFoaWRlTm9uRWRpdGFibGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpY3RdPVwiZGljdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlY2ltYWxQYXJ0XT1cImRlY2ltYWxQYXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRyb2xWYWx1ZUNoYW5nZSk9XCJvbkNvbnRyb2xWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGVcIj48L3RldGEtcHJvcGVydHktZ3JpZC1pdGVtPlxuICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXAgKm5nSWY9XCJjb2x1bW4uY29sdW1ucz8ubGVuZ3RoID4gMCAmJiAoY29sdW1uLmVkaXRhYmxlIHx8ICFoaWRlTm9uRWRpdGFibGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGljdF09XCJkaWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250cm9sVmFsdWVDaGFuZ2UpPVwib25Db250cm9sVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZVwiPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -268,12 +268,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
268
268
  type: Input
269
269
  }] } });
270
270
 
271
+ class IconFileComponent {
272
+ }
273
+ IconFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
274
+ IconFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: IconFileComponent, selector: "teta-icon-file", inputs: { extension: "extension" }, ngImport: i0, template: "<teta-icon [name]=\"'file_' + extension\" [class]=\"'icon-file'\"></teta-icon>\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconFileComponent, decorators: [{
276
+ type: Component,
277
+ args: [{ selector: 'teta-icon-file', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon [name]=\"'file_' + extension\" [class]=\"'icon-file'\"></teta-icon>\n" }]
278
+ }], propDecorators: { extension: [{
279
+ type: Input
280
+ }] } });
281
+
271
282
  class IconModule {
272
283
  }
273
284
  IconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
274
285
  IconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: IconModule, declarations: [IconComponent,
286
+ IconFileComponent,
275
287
  IconSpriteDirective], imports: [CommonModule,
276
288
  HttpClientModule], exports: [IconComponent,
289
+ IconFileComponent,
277
290
  IconSpriteDirective] });
278
291
  IconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: IconModule, imports: [CommonModule,
279
292
  HttpClientModule] });
@@ -282,10 +295,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
282
295
  args: [{
283
296
  declarations: [
284
297
  IconComponent,
298
+ IconFileComponent,
285
299
  IconSpriteDirective
286
300
  ],
287
301
  exports: [
288
302
  IconComponent,
303
+ IconFileComponent,
289
304
  IconSpriteDirective
290
305
  ],
291
306
  imports: [
@@ -6835,13 +6850,17 @@ class PropertyGridGroupComponent {
6835
6850
  constructor() {
6836
6851
  this.controlValueChange = new EventEmitter();
6837
6852
  }
6838
- ngOnInit() { }
6853
+ ngOnInit() {
6854
+ }
6855
+ trackColumns(index, column) {
6856
+ return column.name;
6857
+ }
6839
6858
  }
6840
6859
  PropertyGridGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6841
- PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], 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: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
6860
+ PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], 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: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
6842
6861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, decorators: [{
6843
6862
  type: Component,
6844
- args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
6863
+ args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
6845
6864
  }], ctorParameters: function () { return []; }, propDecorators: { column: [{
6846
6865
  type: Input
6847
6866
  }], hideNonEditable: [{
@@ -6881,20 +6900,24 @@ class PropertyGridComponent {
6881
6900
  }
6882
6901
  this.controlValueChange.emit(event);
6883
6902
  }
6884
- ngOnInit() { }
6903
+ ngOnInit() {
6904
+ }
6885
6905
  ngOnDestroy() {
6886
6906
  this._alive = false;
6887
6907
  }
6908
+ trackColumns(index, column) {
6909
+ return column.name;
6910
+ }
6888
6911
  getDictValue(value, name) {
6889
6912
  var _a;
6890
6913
  return (_a = this.dict[name]) === null || _a === void 0 ? void 0 : _a.find((_) => _.id === value);
6891
6914
  }
6892
6915
  }
6893
6916
  PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6894
- PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], 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: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
6917
+ PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridComponent, selector: "teta-property-grid", inputs: { hideNonEditable: "hideNonEditable", columns: "columns", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, host: { properties: { "class.form-container": "this.formClass" } }, ngImport: i0, template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"], 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: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
6895
6918
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridComponent, decorators: [{
6896
6919
  type: Component,
6897
- args: [{ selector: 'teta-property-grid', template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"] }]
6920
+ args: [{ selector: 'teta-property-grid', template: "<ng-container *ngIf=\"columns?.length\">\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumns\">\n <teta-property-grid-item *ngIf=\"column.columns?.length < 1 && (column.editable || !hideNonEditable)\"\n [dict]=\"dict\"\n [column]=\"column\"\n [id]=\"column.name\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-item>\n <teta-property-grid-group *ngIf=\"column.columns?.length > 0 && (column.editable || !hideNonEditable)\"\n [id]=\"column.name\"\n [dict]=\"dict\"\n [column]=\"column\"\n [decimalPart]=\"decimalPart\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"onControlValueChange($event)\"\n [hideNonEditable]=\"hideNonEditable\"></teta-property-grid-group>\n </ng-container>\n</ng-container>\n", styles: [":host{padding:12px 8px}\n"] }]
6898
6921
  }], ctorParameters: function () { return []; }, propDecorators: { formClass: [{
6899
6922
  type: HostBinding,
6900
6923
  args: ['class.form-container']
@@ -12730,5 +12753,5 @@ function tetaZoneOptimized(ngZone) {
12730
12753
  * Generated bundle index. Do not edit.
12731
12754
  */
12732
12755
 
12733
- export { AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AccordionModule, AggregationType, Align, ArrayUtil, AutoPositionDirective, AutoPositionModule, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dModule, Chart3dOptions, CheckboxComponent, CheckboxModule, ClickOutsideDirective, ClickOutsideModule, ClickService, ColorInputComponent, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, ContextMenuModule, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DAY_SELECT_CONTROL_VALUE_ACCESSOR, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerModule, DateTimeCellComponent, DateUtil, DaySelectComponent, DelimiterComponent, DelimiterModule, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DisableControlModule, DomUtil, DragContainerDirective, DragContainerInstance, DragDirective, DragDropModule, DragDropService, DragInstance, DragPlaceholderDirective, DragPreviewDirective, DragSortContainerDirective, DragSortItemDirective, DragSortModule, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DropdownModule, DynamicComponentModule, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandCardComponent, ExpandCardModule, ExpandItemComponent, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExpandPanelModule, ExportType, FileItemComponent, FileUploadAreaComponent, FileUploadModule, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterModule, FilterState, FilterType, FormGroupTitleComponent, FormsUtil, HeadCellComponentBase, HeadCellHostComponent, HighlightDirective, HighlightModule, HintDirective, HintModule, IconComponent, IconModule, IconService, IconSpriteDirective, InputComponent, InputModule, LetContext, LetDirective, LetModule, ListCellComponent, ListFilter, ListFilterComponent, ListFilterType, LoaderDirective, LoaderModule, MONTH_PICKER_CONTROL_VALUE_ACCESSOR, Message, MessageComponent, MessageHostComponent, MessageModule, MessageService, ModalCloseReason, ModalContainerComponent, ModalInstance, ModalModule, ModalService, MonthPickerComponent, NoAutofillDirective, NoAutofillModule, NumberPipe, NumberPipeModule, NumericCellComponent, NumericFilter, NumericFilterComponent, NumericFilterValue, OnlyNumberDirective, OnlyNumberModule, OverlayContainerService, PagerComponent, PagerModule, PagerState, PagerUtil, PanelComponent, PanelModule, PopupContentComponent, PositionUtil, ProgressBarComponent, ProgressBarModule, PropertyGridComponent, PropertyGridModule, RadioButtonComponent, RadioComponent, RadioModule, ResizeDragDirective, ResizeDragModule, ResizePanelComponent, ResizePanelModule, SLIDER_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, ScrollIntoViewDirective, ScrollIntoViewModule, SelectComponent, SelectModule, SelectOptionDirective, SelectType, SelectValueDirective, SidebarComponent, SidebarModule, SidebarPosition, SortEvent, SortParam, StateUtil, StringCellComponent, StringFilter, StringFilterComponent, StringFilterType, StringUtil, SwitchButtonComponent, SwitchComponent, SwitchModule, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabContentDirective, TabTitleDirective, TableBodyComponent, TableColumn, TableColumnStore, TableComponent, TableHeadComponent, TableModule, TableService, TableUtil, TabsComponent, TabsModule, TetaConfigService, TetaContentRef, TetaDatePipe, TetaDatePipeModule, TetaSize, TetaTemplateDirective, TetaTemplateModule, TextFieldComponent, ThemeSwitchComponent, ThemeSwitchModule, ThemeSwitchService, ToggleComponent, ToggleModule, ToolbarComponent, ToolbarModule, TooltipDirective, TooltipModule, TreeComponent, TreeItemToggleComponent, TreeModule, TreeService, VerticalAlign, enLocale, exportDomToImage, formatNumber, getCellComponent, getPrecision, prependZero, ruLocale, tetaZoneFree, tetaZoneFull, tetaZoneOptimized };
12756
+ export { AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AccordionModule, AggregationType, Align, ArrayUtil, AutoPositionDirective, AutoPositionModule, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dModule, Chart3dOptions, CheckboxComponent, CheckboxModule, ClickOutsideDirective, ClickOutsideModule, ClickService, ColorInputComponent, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, ContextMenuModule, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DAY_SELECT_CONTROL_VALUE_ACCESSOR, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerModule, DateTimeCellComponent, DateUtil, DaySelectComponent, DelimiterComponent, DelimiterModule, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DisableControlModule, DomUtil, DragContainerDirective, DragContainerInstance, DragDirective, DragDropModule, DragDropService, DragInstance, DragPlaceholderDirective, DragPreviewDirective, DragSortContainerDirective, DragSortItemDirective, DragSortModule, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DropdownModule, DynamicComponentModule, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandCardComponent, ExpandCardModule, ExpandItemComponent, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExpandPanelModule, ExportType, FileItemComponent, FileUploadAreaComponent, FileUploadModule, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterModule, FilterState, FilterType, FormGroupTitleComponent, FormsUtil, HeadCellComponentBase, HeadCellHostComponent, HighlightDirective, HighlightModule, HintDirective, HintModule, IconComponent, IconFileComponent, IconModule, IconService, IconSpriteDirective, InputComponent, InputModule, LetContext, LetDirective, LetModule, ListCellComponent, ListFilter, ListFilterComponent, ListFilterType, LoaderDirective, LoaderModule, MONTH_PICKER_CONTROL_VALUE_ACCESSOR, Message, MessageComponent, MessageHostComponent, MessageModule, MessageService, ModalCloseReason, ModalContainerComponent, ModalInstance, ModalModule, ModalService, MonthPickerComponent, NoAutofillDirective, NoAutofillModule, NumberPipe, NumberPipeModule, NumericCellComponent, NumericFilter, NumericFilterComponent, NumericFilterValue, OnlyNumberDirective, OnlyNumberModule, OverlayContainerService, PagerComponent, PagerModule, PagerState, PagerUtil, PanelComponent, PanelModule, PopupContentComponent, PositionUtil, ProgressBarComponent, ProgressBarModule, PropertyGridComponent, PropertyGridModule, RadioButtonComponent, RadioComponent, RadioModule, ResizeDragDirective, ResizeDragModule, ResizePanelComponent, ResizePanelModule, SLIDER_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, ScrollIntoViewDirective, ScrollIntoViewModule, SelectComponent, SelectModule, SelectOptionDirective, SelectType, SelectValueDirective, SidebarComponent, SidebarModule, SidebarPosition, SortEvent, SortParam, StateUtil, StringCellComponent, StringFilter, StringFilterComponent, StringFilterType, StringUtil, SwitchButtonComponent, SwitchComponent, SwitchModule, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabContentDirective, TabTitleDirective, TableBodyComponent, TableColumn, TableColumnStore, TableComponent, TableHeadComponent, TableModule, TableService, TableUtil, TabsComponent, TabsModule, TetaConfigService, TetaContentRef, TetaDatePipe, TetaDatePipeModule, TetaSize, TetaTemplateDirective, TetaTemplateModule, TextFieldComponent, ThemeSwitchComponent, ThemeSwitchModule, ThemeSwitchService, ToggleComponent, ToggleModule, ToolbarComponent, ToolbarModule, TooltipDirective, TooltipModule, TreeComponent, TreeItemToggleComponent, TreeModule, TreeService, VerticalAlign, enLocale, exportDomToImage, formatNumber, getCellComponent, getPrecision, prependZero, ruLocale, tetaZoneFree, tetaZoneFull, tetaZoneOptimized };
12734
12757
  //# sourceMappingURL=tetacom-ng-components.mjs.map