@myrtex-org/form 1.1.41 → 1.1.43

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.
@@ -1,2 +1,6 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vbW9kZWxzL3ZhbHVlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi9zaGFyZWQtZm9ybS9lbnVtcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZhbHVlTW9kZWxCYXNlIHtcclxuICBzeXNOYW1lOiBzdHJpbmc7XHJcbiAgdHlwZTogQ29tcG9uZW50VHlwZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uVmFsdWVNb2RlbCBleHRlbmRzIFZhbHVlTW9kZWxCYXNlIHtcclxuICB2YWx1ZXM6IFZhbHVlTW9kZWxbXTtcclxuICBwZXJjZW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBWYWx1ZU1vZGVsIGV4dGVuZHMgVmFsdWVNb2RlbEJhc2Uge1xyXG4gIHZhbHVlczogVmFsdWVNb2RlbFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlVmFsdWVNb2RlbCBleHRlbmRzIFZhbHVlTW9kZWxCYXNlIHtcclxuICBkYXRhOiBUYWJsZVJvd01vZGVsW107XHJcbiAgdG90YWxzOiBDb21wb25lbnRWYWx1ZU1vZGVsW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVSb3dNb2RlbCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBkYXRhOiBDb21wb25lbnRWYWx1ZU1vZGVsW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50VmFsdWVNb2RlbCBleHRlbmRzIFZhbHVlTW9kZWxCYXNlIHtcclxuICB2YWx1ZVR5cGU6IFZhbHVlVHlwZTtcclxuICB2YWx1ZT86IGFueTtcclxuICBkaXNwbGF5VmFsdWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFZhbHVlTW9kZWwgPSBHcm91cFZhbHVlTW9kZWwgfCBUYWJsZVZhbHVlTW9kZWwgfCBDb21wb25lbnRWYWx1ZU1vZGVsXHJcblxyXG4iXX0=
1
+ export var TableItemType;
2
+ (function (TableItemType) {
3
+ TableItemType[TableItemType["Row"] = 1] = "Row";
4
+ TableItemType[TableItemType["Group"] = 2] = "Group";
5
+ })(TableItemType || (TableItemType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vbW9kZWxzL3ZhbHVlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsK0NBQU8sQ0FBQTtJQUNQLG1EQUFTLENBQUE7QUFDWCxDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi9zaGFyZWQtZm9ybS9lbnVtcyc7XHJcblxyXG5leHBvcnQgZW51bSBUYWJsZUl0ZW1UeXBlIHtcclxuICBSb3cgPSAxLFxyXG4gIEdyb3VwID0gMlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZhbHVlTW9kZWxCYXNlIHtcclxuICBzeXNOYW1lOiBzdHJpbmc7XHJcbiAgdHlwZTogQ29tcG9uZW50VHlwZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uVmFsdWVNb2RlbCBleHRlbmRzIFZhbHVlTW9kZWxCYXNlIHtcclxuICB2YWx1ZXM6IFZhbHVlTW9kZWxbXTtcclxuICBwZXJjZW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBWYWx1ZU1vZGVsIGV4dGVuZHMgVmFsdWVNb2RlbEJhc2Uge1xyXG4gIHZhbHVlczogVmFsdWVNb2RlbFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlSXRlbSB7XHJcbiAgaXRlbVR5cGU6IFRhYmxlSXRlbVR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVWYWx1ZU1vZGVsIGV4dGVuZHMgVmFsdWVNb2RlbEJhc2Uge1xyXG4gIGRhdGE6IFRhYmxlSXRlbVtdO1xyXG4gIHRvdGFsczogQ29tcG9uZW50VmFsdWVNb2RlbFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlR3JvdXBNb2RlbCBleHRlbmRzIFRhYmxlSXRlbSB7XHJcbiAgZGF0YTogVGFibGVJdGVtW107XHJcbiAgdG90YWxzOiBDb21wb25lbnRWYWx1ZU1vZGVsW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVSb3dNb2RlbCBleHRlbmRzIFRhYmxlSXRlbSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBkYXRhOiBDb21wb25lbnRWYWx1ZU1vZGVsW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50VmFsdWVNb2RlbCBleHRlbmRzIFZhbHVlTW9kZWxCYXNlIHtcclxuICB2YWx1ZVR5cGU6IFZhbHVlVHlwZTtcclxuICB2YWx1ZT86IGFueTtcclxuICBkaXNwbGF5VmFsdWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFZhbHVlTW9kZWwgPSBHcm91cFZhbHVlTW9kZWwgfCBUYWJsZVZhbHVlTW9kZWwgfCBDb21wb25lbnRWYWx1ZU1vZGVsXHJcblxyXG4iXX0=
@@ -2114,6 +2114,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2114
2114
  args: [{ selector: 'app-input-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-radio-group-content\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-radio-group\r\n [(ngModel)]=\"value\"\r\n [fields]=\"autosaveFields\"\r\n [items]=\"list\"\r\n [invalid]=\"getInvalid\"\r\n [disabled]=\"disabled\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-radio-group>\r\n </div>\r\n}\r\n" }]
2115
2115
  }] });
2116
2116
 
2117
+ var TableItemType;
2118
+ (function (TableItemType) {
2119
+ TableItemType[TableItemType["Row"] = 1] = "Row";
2120
+ TableItemType[TableItemType["Group"] = 2] = "Group";
2121
+ })(TableItemType || (TableItemType = {}));
2122
+
2117
2123
  class FormDispenserModal {
2118
2124
  constructor() {
2119
2125
  this._store = inject(Store);
@@ -2334,7 +2340,7 @@ const getRowModel = (model) => {
2334
2340
  });
2335
2341
  return values;
2336
2342
  };
2337
- return { id: v4(), data: getValuesFromModel(model) };
2343
+ return { id: v4(), data: getValuesFromModel(model), itemType: TableItemType.Row };
2338
2344
  };
2339
2345
 
2340
2346
  class InputTableComponent {
@@ -2349,6 +2355,7 @@ class InputTableComponent {
2349
2355
  this._subscriptions$ = [];
2350
2356
  this._isCheckRequired = false;
2351
2357
  this._canEditObject = false;
2358
+ this._rows = [];
2352
2359
  this.dataSource = [];
2353
2360
  this.columns = [];
2354
2361
  this.values = [];
@@ -2357,14 +2364,14 @@ class InputTableComponent {
2357
2364
  set data(settings) {
2358
2365
  this.settings = settings;
2359
2366
  this.model = { sysName: settings.sysName, type: settings.type, data: [], totals: [] };
2367
+ this._rows = [];
2360
2368
  this._detector.detectChanges();
2361
2369
  this._initColumns(this.settings.components);
2362
2370
  }
2363
2371
  get rowsCount() {
2364
- return this.model?.data?.length || 0;
2372
+ return this._rows.length || 0;
2365
2373
  }
2366
2374
  get hasAnyTotal() {
2367
- // Проверяем все компоненты и их вложенные компоненты на наличие showTotal
2368
2375
  return this.settings.components.some(c => this.showTotal(c) || c.components?.some(inner => this.showTotal(inner)));
2369
2376
  }
2370
2377
  get isRedNoData() {
@@ -2373,12 +2380,6 @@ class InputTableComponent {
2373
2380
  ngOnInit() {
2374
2381
  this._initModel();
2375
2382
  this._changeSubject$.pipe(debounceTime(700)).subscribe(model => {
2376
- console.log('Данные таблицы обновлены и готовы к отправке:', model);
2377
- console.log('Чистые строки (data):', model.data);
2378
- console.log('Данные для отображения в Grid:', this.dataSource);
2379
- console.log('Grid Instance:', this.dataGrid.instance);
2380
- window.grid = this.dataGrid.instance;
2381
- console.log('Экземпляр привязан к window.grid');
2382
2383
  this._store.dispatch(updateValues({ value: model }));
2383
2384
  });
2384
2385
  this._subscriptions$.push(this._store.select(selectIsCheckRequired).subscribe(result => {
@@ -2395,7 +2396,8 @@ class InputTableComponent {
2395
2396
  const cloneResult = structuredClone(result);
2396
2397
  if (cloneResult && !Array.isArray(cloneResult) && this.model.data !== cloneResult.data) {
2397
2398
  this.model = structuredClone(cloneResult);
2398
- this._initDataSource(this.model.data);
2399
+ this._rows = this._extractRows(this.model.data);
2400
+ this._initDataSource(this._rows);
2399
2401
  }
2400
2402
  }));
2401
2403
  }
@@ -2404,6 +2406,9 @@ class InputTableComponent {
2404
2406
  this._subscriptions$.forEach((subscription) => subscription.unsubscribe());
2405
2407
  }
2406
2408
  createRow() {
2409
+ if (this.disabled) {
2410
+ return;
2411
+ }
2407
2412
  this._modalService.open(InputTableModalComponent, {
2408
2413
  title: 'Создание строки',
2409
2414
  okText: 'Создать',
@@ -2412,25 +2417,28 @@ class InputTableComponent {
2412
2417
  isCheckRequired: this._isCheckRequired
2413
2418
  }).afterClosed().subscribe(resolve => {
2414
2419
  if (resolve.result) {
2415
- this.model.data = [...structuredClone(this.model.data), resolve.rowModel];
2416
- this._initDataSource(this.model.data);
2417
- this._changeSubject$.next(structuredClone(this.model));
2420
+ this._rows = [...structuredClone(this._rows), resolve.rowModel];
2421
+ this._initDataSource(this._rows);
2422
+ this._changeSubject$.next(this._buildTableValueModel());
2418
2423
  }
2419
2424
  });
2420
2425
  }
2421
2426
  deleteRow(event) {
2422
- const findRow = this.model.data.find(item => item.id === event.row.data.id);
2427
+ if (this.disabled) {
2428
+ return;
2429
+ }
2430
+ const findRow = this._rows.find(item => item.id === event.row.data.id);
2423
2431
  if (findRow) {
2424
- this.model.data = this.model.data.filter(item => item.id !== event.row.data.id);
2425
- this._initDataSource(this.model.data);
2426
- this._changeSubject$.next(this.model);
2432
+ this._rows = this._rows.filter(item => item.id !== event.row.data.id);
2433
+ this._initDataSource(this._rows);
2434
+ this._changeSubject$.next(this._buildTableValueModel());
2427
2435
  }
2428
2436
  }
2429
2437
  get disabled() {
2430
2438
  return !this._canEditObject;
2431
2439
  }
2432
2440
  editRow(event) {
2433
- const findRow = this.model.data.find(item => item.id === event.row.data.id);
2441
+ const findRow = this._rows.find(item => item.id === event.row.data.id);
2434
2442
  if (findRow) {
2435
2443
  this._modalService.open(InputTableModalComponent, {
2436
2444
  title: 'Редактирование строки',
@@ -2439,12 +2447,13 @@ class InputTableComponent {
2439
2447
  rowModel: findRow
2440
2448
  }).afterClosed().subscribe(resolve => {
2441
2449
  if (resolve.result) {
2442
- const cloneModel = structuredClone(this.model);
2443
- const findRow = cloneModel.data.find(row => row.id === resolve.rowModel.id);
2444
- if (findRow) {
2445
- findRow.data = resolve.rowModel.data;
2446
- this._initDataSource(cloneModel.data);
2447
- this._changeSubject$.next(structuredClone(cloneModel));
2450
+ const cloneRows = structuredClone(this._rows);
2451
+ const editableRow = cloneRows.find(row => row.id === resolve.rowModel.id);
2452
+ if (editableRow) {
2453
+ editableRow.data = resolve.rowModel.data;
2454
+ this._rows = cloneRows;
2455
+ this._initDataSource(this._rows);
2456
+ this._changeSubject$.next(this._buildTableValueModel());
2448
2457
  }
2449
2458
  }
2450
2459
  });
@@ -2481,7 +2490,7 @@ class InputTableComponent {
2481
2490
  return false;
2482
2491
  }
2483
2492
  isTotalColumn(component) {
2484
- return component.options['inTotals'];
2493
+ return component.options.inTotals;
2485
2494
  }
2486
2495
  _initModel() {
2487
2496
  this.model = {
@@ -2490,6 +2499,7 @@ class InputTableComponent {
2490
2499
  data: [],
2491
2500
  totals: []
2492
2501
  };
2502
+ this._rows = [];
2493
2503
  }
2494
2504
  _initDataSource(data) {
2495
2505
  this.dataSource = data.map((item) => {
@@ -2501,7 +2511,9 @@ class InputTableComponent {
2501
2511
  return newDataItem;
2502
2512
  });
2503
2513
  this._detector.detectChanges();
2504
- this.dataGrid.instance.refresh();
2514
+ if (this.dataGrid?.instance) {
2515
+ this.dataGrid.instance.refresh();
2516
+ }
2505
2517
  }
2506
2518
  _initColumns(components) {
2507
2519
  this.columns = components.map(c => this._transformColumn(structuredClone(c)));
@@ -2521,7 +2533,9 @@ class InputTableComponent {
2521
2533
  },
2522
2534
  ],
2523
2535
  });
2524
- this.dataGrid.instance.repaint();
2536
+ if (this.dataGrid?.instance) {
2537
+ this.dataGrid.instance.repaint();
2538
+ }
2525
2539
  this._detector.detectChanges();
2526
2540
  }
2527
2541
  _transformColumn(component) {
@@ -2601,12 +2615,127 @@ class InputTableComponent {
2601
2615
  });
2602
2616
  });
2603
2617
  }
2618
+ _buildTableValueModel() {
2619
+ const groupedData = this._buildGroupedItems(this._rows, this.settings.options.groups || [], 0);
2620
+ const totals = this._calculateTotals(this._rows);
2621
+ this.model = {
2622
+ sysName: this.settings.sysName,
2623
+ type: this.settings.type,
2624
+ data: groupedData,
2625
+ totals
2626
+ };
2627
+ return structuredClone(this.model);
2628
+ }
2629
+ _buildGroupedItems(rows, groupFields, level) {
2630
+ if (!groupFields.length || level >= groupFields.length) {
2631
+ return rows.map(row => ({ ...row, itemType: row.itemType ?? TableItemType.Row }));
2632
+ }
2633
+ const groupField = groupFields[level];
2634
+ const groups = new Map();
2635
+ for (const row of rows) {
2636
+ const fieldValue = row.data.find(x => x.sysName === groupField)?.value ?? null;
2637
+ const key = JSON.stringify(fieldValue);
2638
+ const existing = groups.get(key) ?? {
2639
+ rows: [],
2640
+ groupValueSysName: this._getGroupValueSysName(fieldValue, groupField)
2641
+ };
2642
+ existing.rows.push(row);
2643
+ groups.set(key, existing);
2644
+ }
2645
+ const result = [];
2646
+ for (const groupItem of groups.values()) {
2647
+ const nestedData = this._buildGroupedItems(groupItem.rows, groupFields, level + 1);
2648
+ const groupModel = {
2649
+ itemType: TableItemType.Group,
2650
+ data: nestedData,
2651
+ totals: this._calculateTotals(groupItem.rows, groupItem.groupValueSysName)
2652
+ };
2653
+ result.push(groupModel);
2654
+ }
2655
+ return result;
2656
+ }
2657
+ _calculateTotals(rows, groupFieldSysName) {
2658
+ const totalColumns = this._getTotalColumns(this.settings.components);
2659
+ return totalColumns.map(component => {
2660
+ const sum = rows.reduce((acc, row) => {
2661
+ const value = row.data.find(x => x.sysName === component.sysName)?.value;
2662
+ const numericValue = typeof value === 'number' ? value : Number(value);
2663
+ return Number.isFinite(numericValue) ? acc + numericValue : acc;
2664
+ }, 0);
2665
+ return {
2666
+ sysName: this._getTotalSysName(component.sysName, groupFieldSysName),
2667
+ type: component.type,
2668
+ valueType: component.valueType,
2669
+ value: sum
2670
+ };
2671
+ });
2672
+ }
2673
+ _getTotalSysName(columnSysName, groupFieldSysName) {
2674
+ if (groupFieldSysName) {
2675
+ return `${columnSysName}_${groupFieldSysName}_total`;
2676
+ }
2677
+ return `${columnSysName}_total`;
2678
+ }
2679
+ _getGroupValueSysName(fieldValue, fallbackSysName) {
2680
+ if (Array.isArray(fieldValue) && fieldValue.length) {
2681
+ const firstValue = fieldValue[0];
2682
+ if (typeof firstValue === 'string' || typeof firstValue === 'number' || typeof firstValue === 'boolean') {
2683
+ return String(firstValue);
2684
+ }
2685
+ }
2686
+ if (fieldValue && typeof fieldValue === 'object') {
2687
+ if (typeof fieldValue.value === 'string' || typeof fieldValue.value === 'number' || typeof fieldValue.value === 'boolean') {
2688
+ return String(fieldValue.value);
2689
+ }
2690
+ if (typeof fieldValue.sysName === 'string' && fieldValue.sysName) {
2691
+ return fieldValue.sysName;
2692
+ }
2693
+ }
2694
+ if (typeof fieldValue === 'string' || typeof fieldValue === 'number' || typeof fieldValue === 'boolean') {
2695
+ return String(fieldValue);
2696
+ }
2697
+ return fallbackSysName;
2698
+ }
2699
+ _getTotalColumns(components) {
2700
+ const result = [];
2701
+ for (const component of components) {
2702
+ if (component.type === ComponentType.InputNumber && this.showTotal(component)) {
2703
+ result.push(component);
2704
+ }
2705
+ if (component.components?.length) {
2706
+ result.push(...this._getTotalColumns(component.components));
2707
+ }
2708
+ }
2709
+ return result;
2710
+ }
2711
+ _extractRows(items = []) {
2712
+ const rows = [];
2713
+ for (const item of items) {
2714
+ if (this._isRow(item)) {
2715
+ rows.push({
2716
+ ...item,
2717
+ itemType: TableItemType.Row
2718
+ });
2719
+ }
2720
+ else {
2721
+ const group = item;
2722
+ if (group.data?.length) {
2723
+ rows.push(...this._extractRows(group.data));
2724
+ }
2725
+ }
2726
+ }
2727
+ return rows;
2728
+ }
2729
+ _isRow(item) {
2730
+ const maybeRow = item;
2731
+ return typeof maybeRow.id === 'string' && Array.isArray(maybeRow.data);
2732
+ }
2604
2733
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2605
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTableComponent, selector: "app-input-table", inputs: { values: "values", data: "data" }, outputs: { changed: "changed" }, viewQueries: [{ propertyName: "dataGrid", first: true, predicate: ["dataGrid"], descendants: true }, { propertyName: "editTemplate", first: true, predicate: ["editTemplate"], descendants: true }], ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-table-content w-100\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [disabled]=\"disabled\"\r\n noDataText=\"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445\"\r\n style=\"width: 100%\"\r\n [wordWrapEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [class.noData]=\"isRedNoData\"\r\n >\r\n <dxo-toolbar>\r\n <dxi-item location=\"after\">\r\n <div *dxTemplate class=\"add-row\">\r\n <mrx-button\r\n [size]=\"'medium'\"\r\n [type]=\"'secondary'\"\r\n [customClasses]=\"'mb-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >{{settings.options.addBtnTitle}}\r\n </mrx-button>\r\n </div>\r\n </dxi-item>\r\n </dxo-toolbar>\r\n\r\n <div *dxTemplate=\"let buttonData of 'editButtonTemplate'\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(buttonData)\"></span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let buttonData of 'deleteButtonTemplate'\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(buttonData)\"></span>\r\n </div>\r\n\r\n @if (dataSource.length) {\r\n <dxo-summary>\r\n @for (component of settings.components; track component.id; let first = $first) {\r\n @if (!first) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n\r\n <dxi-total-item \r\n [column]=\"component.sysName\" \r\n displayFormat=\"{0}\"\r\n summaryType=\"sum\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (hasAnyTotal) { \r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"showTotal(component) ? '{0}' : '\u0418\u0422\u041E\u0413\u041E'\"\r\n [summaryType]=\"showTotal(component) ? 'sum' : undefined\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n </dxo-summary>\r\n }\r\n </dx-data-grid>\r\n\r\n @if(!!settings.options.maxRows) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0442\u0440\u043E\u043A: {{ settings.options.maxRows }}\"\r\n [maxValue]=\"settings.options.maxRows\"\r\n [value]=\"rowsCount\"\r\n ></mrx-hint-error-message>\r\n }\r\n\r\n <ng-template #editTemplate let-cellInfo=\"cellInfo\">\r\n <div class=\"d-flex align-items-center justify-content-center\" style=\"gap: 4px\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(cellInfo)\"></span>\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(cellInfo)\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n}\r\n\r\n\r\n", styles: [":host::ng-deep .input-table-content .noData .dx-datagrid-nodata{color:var(--system-text-negative, #8E2100)}:host::ng-deep .input-table-content .dx-datagrid{padding:0}:host::ng-deep .input-table-content .dx-datagrid-header-panel{display:flex;align-items:center;min-height:40px;padding:0}:host::ng-deep .input-table-content .dx-datagrid-rowsview{border-bottom:none}:host::ng-deep .input-table-content .dx-datagrid-rowsview.dx-empty{border-bottom:1px solid #ddd;height:48px}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer{border-top:none;border-left:none;border-right:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content{padding:0}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content th,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content td{border:1px solid #ddd;border-top:none;border-collapse:collapse}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table{border-top:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content .dx-datagrid-summary-item{font-weight:400}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers{position:relative;top:0;border-top:1px solid var(--neutral-bg-divider)}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers td.dx-command-expand.dx-datagrid-group-space{border-right:none!important;border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer td.dx-command-expand.dx-datagrid-group-space{border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-row>td,:host::ng-deep .input-table-content .dx-datagrid .page-wrapper .dx-treelist-container .dx-row>td{color:var(--neutral-text-secondary, #4D5157);font-family:var(--body-md-bold-font-family, \"PT Sans\");font-size:var(--body-md-bold-font-size, 14px);font-weight:var(--body-md-bold-font-weight, 700);line-height:var(--body-md-bold-line-height, 16px)}:host::ng-deep .input-table-content .dx-datagrid .dx-row.dx-data-row.dx-column-lines>td{color:var(--neutral-text-tertiary, #71767E);font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);font-weight:var(--body-md-font-weight, 400);line-height:var(--body-md-line-height, 20px)}:host::ng-deep .custom-cell-controls .dx-template-wrapper{display:inline-flex}\n"], dependencies: [{ kind: "component", type: i1$2.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "switchSize", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: i2$3.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i3.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { kind: "component", type: i3.DxoSummaryComponent, selector: "dxo-summary", inputs: ["calculateCustomSummary", "groupItems", "recalculateWhileEditing", "skipEmptyValues", "texts", "totalItems"] }, { kind: "component", type: i3.DxiGroupItemComponent, selector: "dxi-group-item", inputs: ["alignByColumn", "column", "customizeText", "displayFormat", "name", "showInColumn", "showInGroupFooter", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "component", type: i3.DxiTotalItemComponent, selector: "dxi-total-item", inputs: ["alignment", "column", "cssClass", "customizeText", "displayFormat", "name", "showInColumn", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "component", type: i3.DxoToolbarComponent, selector: "dxo-toolbar", inputs: ["disabled", "items", "visible", "fileSelectionItems", "container", "multiline"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i1$2.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2734
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTableComponent, selector: "app-input-table", inputs: { values: "values", data: "data" }, outputs: { changed: "changed" }, viewQueries: [{ propertyName: "dataGrid", first: true, predicate: ["dataGrid"], descendants: true }, { propertyName: "editTemplate", first: true, predicate: ["editTemplate"], descendants: true }], ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-table-content w-100\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n noDataText=\"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445\"\r\n style=\"width: 100%\"\r\n [wordWrapEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [class.noData]=\"isRedNoData\"\r\n >\r\n @if(disabled) {\r\n <dxo-toolbar>\r\n <dxi-item location=\"after\">\r\n <div *dxTemplate class=\"add-row\">\r\n <mrx-button\r\n [size]=\"'medium'\"\r\n [type]=\"'secondary'\"\r\n [customClasses]=\"'mb-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >{{settings.options.addBtnTitle}}\r\n </mrx-button>\r\n </div>\r\n </dxi-item>\r\n </dxo-toolbar>\r\n\r\n <div *dxTemplate=\"let buttonData of 'editButtonTemplate'\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(buttonData)\"></span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let buttonData of 'deleteButtonTemplate'\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(buttonData)\"></span>\r\n </div>\r\n }\r\n\r\n @if (dataSource.length) {\r\n <dxo-summary>\r\n @for (component of settings.components; track component.id; let first = $first) {\r\n @if (!first) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n\r\n <dxi-total-item \r\n [column]=\"component.sysName\" \r\n displayFormat=\"{0}\"\r\n summaryType=\"sum\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (hasAnyTotal) { \r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"showTotal(component) ? '{0}' : '\u0418\u0422\u041E\u0413\u041E'\"\r\n [summaryType]=\"showTotal(component) ? 'sum' : undefined\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n </dxo-summary>\r\n }\r\n </dx-data-grid>\r\n\r\n @if(!!settings.options.maxRows) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0442\u0440\u043E\u043A: {{ settings.options.maxRows }}\"\r\n [maxValue]=\"settings.options.maxRows\"\r\n [value]=\"rowsCount\"\r\n ></mrx-hint-error-message>\r\n }\r\n\r\n @if(disabled) {\r\n <ng-template #editTemplate let-cellInfo=\"cellInfo\">\r\n <div class=\"d-flex align-items-center justify-content-center\" style=\"gap: 4px\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(cellInfo)\"></span>\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(cellInfo)\"></span>\r\n </div>\r\n </ng-template>\r\n }\r\n </div>\r\n}\r\n\r\n\r\n", styles: [":host::ng-deep .input-table-content .noData .dx-datagrid-nodata{color:var(--system-text-negative, #8E2100)}:host::ng-deep .input-table-content .dx-datagrid{padding:0}:host::ng-deep .input-table-content .dx-datagrid-header-panel{display:flex;align-items:center;min-height:40px;padding:0}:host::ng-deep .input-table-content .dx-datagrid-rowsview{border-bottom:none}:host::ng-deep .input-table-content .dx-datagrid-rowsview.dx-empty{border-bottom:1px solid #ddd;height:48px}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer{border-top:none;border-left:none;border-right:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content{padding:0}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content th,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content td{border:1px solid #ddd;border-top:none;border-collapse:collapse}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table{border-top:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content .dx-datagrid-summary-item{font-weight:400}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers{position:relative;top:0;border-top:1px solid var(--neutral-bg-divider)}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers td.dx-command-expand.dx-datagrid-group-space{border-right:none!important;border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer td.dx-command-expand.dx-datagrid-group-space{border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-row>td,:host::ng-deep .input-table-content .dx-datagrid .page-wrapper .dx-treelist-container .dx-row>td{color:var(--neutral-text-secondary, #4D5157);font-family:var(--body-md-bold-font-family, \"PT Sans\");font-size:var(--body-md-bold-font-size, 14px);font-weight:var(--body-md-bold-font-weight, 700);line-height:var(--body-md-bold-line-height, 16px)}:host::ng-deep .input-table-content .dx-datagrid .dx-row.dx-data-row.dx-column-lines>td{color:var(--neutral-text-tertiary, #71767E);font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);font-weight:var(--body-md-font-weight, 400);line-height:var(--body-md-line-height, 20px)}:host::ng-deep .custom-cell-controls .dx-template-wrapper{display:inline-flex}\n"], dependencies: [{ kind: "component", type: i1$2.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "switchSize", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$2.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: i2$3.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i3.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { kind: "component", type: i3.DxoSummaryComponent, selector: "dxo-summary", inputs: ["calculateCustomSummary", "groupItems", "recalculateWhileEditing", "skipEmptyValues", "texts", "totalItems"] }, { kind: "component", type: i3.DxiGroupItemComponent, selector: "dxi-group-item", inputs: ["alignByColumn", "column", "customizeText", "displayFormat", "name", "showInColumn", "showInGroupFooter", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "component", type: i3.DxiTotalItemComponent, selector: "dxi-total-item", inputs: ["alignment", "column", "cssClass", "customizeText", "displayFormat", "name", "showInColumn", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "component", type: i3.DxoToolbarComponent, selector: "dxo-toolbar", inputs: ["disabled", "items", "visible", "fileSelectionItems", "container", "multiline"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i1$2.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2606
2735
  }
2607
2736
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableComponent, decorators: [{
2608
2737
  type: Component,
2609
- args: [{ selector: 'app-input-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-table-content w-100\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [disabled]=\"disabled\"\r\n noDataText=\"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445\"\r\n style=\"width: 100%\"\r\n [wordWrapEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [class.noData]=\"isRedNoData\"\r\n >\r\n <dxo-toolbar>\r\n <dxi-item location=\"after\">\r\n <div *dxTemplate class=\"add-row\">\r\n <mrx-button\r\n [size]=\"'medium'\"\r\n [type]=\"'secondary'\"\r\n [customClasses]=\"'mb-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >{{settings.options.addBtnTitle}}\r\n </mrx-button>\r\n </div>\r\n </dxi-item>\r\n </dxo-toolbar>\r\n\r\n <div *dxTemplate=\"let buttonData of 'editButtonTemplate'\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(buttonData)\"></span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let buttonData of 'deleteButtonTemplate'\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(buttonData)\"></span>\r\n </div>\r\n\r\n @if (dataSource.length) {\r\n <dxo-summary>\r\n @for (component of settings.components; track component.id; let first = $first) {\r\n @if (!first) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n\r\n <dxi-total-item \r\n [column]=\"component.sysName\" \r\n displayFormat=\"{0}\"\r\n summaryType=\"sum\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (hasAnyTotal) { \r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"showTotal(component) ? '{0}' : '\u0418\u0422\u041E\u0413\u041E'\"\r\n [summaryType]=\"showTotal(component) ? 'sum' : undefined\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n </dxo-summary>\r\n }\r\n </dx-data-grid>\r\n\r\n @if(!!settings.options.maxRows) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0442\u0440\u043E\u043A: {{ settings.options.maxRows }}\"\r\n [maxValue]=\"settings.options.maxRows\"\r\n [value]=\"rowsCount\"\r\n ></mrx-hint-error-message>\r\n }\r\n\r\n <ng-template #editTemplate let-cellInfo=\"cellInfo\">\r\n <div class=\"d-flex align-items-center justify-content-center\" style=\"gap: 4px\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(cellInfo)\"></span>\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(cellInfo)\"></span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n}\r\n\r\n\r\n", styles: [":host::ng-deep .input-table-content .noData .dx-datagrid-nodata{color:var(--system-text-negative, #8E2100)}:host::ng-deep .input-table-content .dx-datagrid{padding:0}:host::ng-deep .input-table-content .dx-datagrid-header-panel{display:flex;align-items:center;min-height:40px;padding:0}:host::ng-deep .input-table-content .dx-datagrid-rowsview{border-bottom:none}:host::ng-deep .input-table-content .dx-datagrid-rowsview.dx-empty{border-bottom:1px solid #ddd;height:48px}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer{border-top:none;border-left:none;border-right:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content{padding:0}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content th,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content td{border:1px solid #ddd;border-top:none;border-collapse:collapse}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table{border-top:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content .dx-datagrid-summary-item{font-weight:400}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers{position:relative;top:0;border-top:1px solid var(--neutral-bg-divider)}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers td.dx-command-expand.dx-datagrid-group-space{border-right:none!important;border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer td.dx-command-expand.dx-datagrid-group-space{border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-row>td,:host::ng-deep .input-table-content .dx-datagrid .page-wrapper .dx-treelist-container .dx-row>td{color:var(--neutral-text-secondary, #4D5157);font-family:var(--body-md-bold-font-family, \"PT Sans\");font-size:var(--body-md-bold-font-size, 14px);font-weight:var(--body-md-bold-font-weight, 700);line-height:var(--body-md-bold-line-height, 16px)}:host::ng-deep .input-table-content .dx-datagrid .dx-row.dx-data-row.dx-column-lines>td{color:var(--neutral-text-tertiary, #71767E);font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);font-weight:var(--body-md-font-weight, 400);line-height:var(--body-md-line-height, 20px)}:host::ng-deep .custom-cell-controls .dx-template-wrapper{display:inline-flex}\n"] }]
2738
+ args: [{ selector: 'app-input-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-table-content w-100\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n noDataText=\"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445\"\r\n style=\"width: 100%\"\r\n [wordWrapEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [class.noData]=\"isRedNoData\"\r\n >\r\n @if(disabled) {\r\n <dxo-toolbar>\r\n <dxi-item location=\"after\">\r\n <div *dxTemplate class=\"add-row\">\r\n <mrx-button\r\n [size]=\"'medium'\"\r\n [type]=\"'secondary'\"\r\n [customClasses]=\"'mb-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >{{settings.options.addBtnTitle}}\r\n </mrx-button>\r\n </div>\r\n </dxi-item>\r\n </dxo-toolbar>\r\n\r\n <div *dxTemplate=\"let buttonData of 'editButtonTemplate'\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(buttonData)\"></span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let buttonData of 'deleteButtonTemplate'\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(buttonData)\"></span>\r\n </div>\r\n }\r\n\r\n @if (dataSource.length) {\r\n <dxo-summary>\r\n @for (component of settings.components; track component.id; let first = $first) {\r\n @if (!first) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n\r\n <dxi-total-item \r\n [column]=\"component.sysName\" \r\n displayFormat=\"{0}\"\r\n summaryType=\"sum\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-group-item\r\n [column]=\"component.sysName\"\r\n summaryType=\"sum\"\r\n displayFormat=\"\u0418\u0442\u043E\u0433\u043E: {0}\"\r\n [showInGroupFooter]=\"true\"\r\n [alignByColumn]=\"true\">\r\n </dxi-group-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (hasAnyTotal) { \r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"showTotal(component) ? '{0}' : '\u0418\u0422\u041E\u0413\u041E'\"\r\n [summaryType]=\"showTotal(component) ? 'sum' : undefined\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n </dxo-summary>\r\n }\r\n </dx-data-grid>\r\n\r\n @if(!!settings.options.maxRows) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0441\u0442\u0440\u043E\u043A: {{ settings.options.maxRows }}\"\r\n [maxValue]=\"settings.options.maxRows\"\r\n [value]=\"rowsCount\"\r\n ></mrx-hint-error-message>\r\n }\r\n\r\n @if(disabled) {\r\n <ng-template #editTemplate let-cellInfo=\"cellInfo\">\r\n <div class=\"d-flex align-items-center justify-content-center\" style=\"gap: 4px\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(cellInfo)\"></span>\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(cellInfo)\"></span>\r\n </div>\r\n </ng-template>\r\n }\r\n </div>\r\n}\r\n\r\n\r\n", styles: [":host::ng-deep .input-table-content .noData .dx-datagrid-nodata{color:var(--system-text-negative, #8E2100)}:host::ng-deep .input-table-content .dx-datagrid{padding:0}:host::ng-deep .input-table-content .dx-datagrid-header-panel{display:flex;align-items:center;min-height:40px;padding:0}:host::ng-deep .input-table-content .dx-datagrid-rowsview{border-bottom:none}:host::ng-deep .input-table-content .dx-datagrid-rowsview.dx-empty{border-bottom:1px solid #ddd;height:48px}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer{border-top:none;border-left:none;border-right:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content{padding:0}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content th,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content td{border:1px solid #ddd;border-top:none;border-collapse:collapse}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table{border-top:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content .dx-datagrid-summary-item{font-weight:400}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers{position:relative;top:0;border-top:1px solid var(--neutral-bg-divider)}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-headers td.dx-command-expand.dx-datagrid-group-space{border-right:none!important;border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer td.dx-command-expand.dx-datagrid-group-space{border-right-color:transparent}:host::ng-deep .input-table-content .dx-datagrid .dx-row>td,:host::ng-deep .input-table-content .dx-datagrid .page-wrapper .dx-treelist-container .dx-row>td{color:var(--neutral-text-secondary, #4D5157);font-family:var(--body-md-bold-font-family, \"PT Sans\");font-size:var(--body-md-bold-font-size, 14px);font-weight:var(--body-md-bold-font-weight, 700);line-height:var(--body-md-bold-line-height, 16px)}:host::ng-deep .input-table-content .dx-datagrid .dx-row.dx-data-row.dx-column-lines>td{color:var(--neutral-text-tertiary, #71767E);font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);font-weight:var(--body-md-font-weight, 400);line-height:var(--body-md-line-height, 20px)}:host::ng-deep .custom-cell-controls .dx-template-wrapper{display:inline-flex}\n"] }]
2610
2739
  }], propDecorators: { values: [{
2611
2740
  type: Input
2612
2741
  }], data: [{
@@ -3071,5 +3200,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3071
3200
  * Generated bundle index. Do not edit.
3072
3201
  */
3073
3202
 
3074
- export { ComponentShortType, ComponentSizeEnum, ComponentType, ConcurrencyInterceptor, ConcurrencyStoreService, ConditionOperatorType, CustomInputStateEnum, CustomInputStateEnumLabel, DateFormatEnum, DateFormatLabelEnum, DateTypeEnum, DateTypeLabelEnum, DependenceActionType, EApplicationActions, EFFECTS, InnTypeEnum, InnTypeLabelEnum, InputState, InputTableComponent, InputTableModalComponent, LogicalOperatorType, OBJECT_ID_NAME, OBJECT_VERSION_ID_NAME, ObjectFormEffects, ObjectFormModule, SECTION_SYS_NAME_NAME, STATE_NAME, SharedFormModule, TEMPLATE_SYS_NAME_NAME, TemplateComponentsGroupTypeEnum, TemplateComponentsGroupTypeLabels, TemplateStatus, ValueType, appendVersionId, conditionOperatorTypeLabel, getConditionOperatorsList, getDependenceActionsList, getTemplateStatusText, initialObjectFormState, initialSharedFormState, isNullOrUndefined, isNumeric, objectForm_actions as objectFormActions, objectForm_selector as objectFormSelectors, objectReducer, sharedFormReducer, sharedForm_selector as sharedSelectors };
3203
+ export { ComponentShortType, ComponentSizeEnum, ComponentType, ConcurrencyInterceptor, ConcurrencyStoreService, ConditionOperatorType, CustomInputStateEnum, CustomInputStateEnumLabel, DateFormatEnum, DateFormatLabelEnum, DateTypeEnum, DateTypeLabelEnum, DependenceActionType, EApplicationActions, EFFECTS, InnTypeEnum, InnTypeLabelEnum, InputState, InputTableComponent, InputTableModalComponent, LogicalOperatorType, OBJECT_ID_NAME, OBJECT_VERSION_ID_NAME, ObjectFormEffects, ObjectFormModule, SECTION_SYS_NAME_NAME, STATE_NAME, SharedFormModule, TEMPLATE_SYS_NAME_NAME, TableItemType, TemplateComponentsGroupTypeEnum, TemplateComponentsGroupTypeLabels, TemplateStatus, ValueType, appendVersionId, conditionOperatorTypeLabel, getConditionOperatorsList, getDependenceActionsList, getTemplateStatusText, initialObjectFormState, initialSharedFormState, isNullOrUndefined, isNumeric, objectForm_actions as objectFormActions, objectForm_selector as objectFormSelectors, objectReducer, sharedFormReducer, sharedForm_selector as sharedSelectors };
3075
3204
  //# sourceMappingURL=myrtex-org-form.mjs.map