@myrtex-org/form 1.1.27 → 1.1.28

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.
@@ -9,6 +9,8 @@ export declare class InputNumberComponent extends BaseFieldComponent<InputNumber
9
9
  type: ComponentType;
10
10
  validateValue: number;
11
11
  get isReadonly(): boolean;
12
+ get isInputDisabled(): boolean;
13
+ private get hasFormula();
12
14
  onChangeInput(): void;
13
15
  _customValidate(model: ComponentValueModel): boolean;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<InputNumberComponent, never>;
@@ -1,7 +1,7 @@
1
- import { ChangeDetectorRef } from '@angular/core';
2
1
  import { ModalRef, ModalServiceComponent } from '@myrtex-org/ui';
3
2
  import { InputTableModel } from '../../../../../../models/elemets/inputs';
4
3
  import { ComponentValueModel, TableRowModel } from '../../../../../../models';
4
+ import { FormulaCalculateService } from '../../../../../../services';
5
5
  import { Store } from '@ngrx/store';
6
6
  import * as i0 from "@angular/core";
7
7
  export interface InputTableModalParams {
@@ -18,18 +18,20 @@ export interface InputTableModalResult {
18
18
  export declare class InputTableModalComponent extends ModalServiceComponent<InputTableModalParams, InputTableModalResult> {
19
19
  private dialogRef;
20
20
  private store;
21
- private cdr;
21
+ private formulaCalculateService;
22
22
  title: string;
23
23
  okText: string;
24
24
  settings: InputTableModel;
25
25
  rowModel: TableRowModel;
26
26
  isCheckRequired: boolean;
27
27
  emptyRow: boolean;
28
- constructor(dialogRef: ModalRef<InputTableModalResult>, store: Store, cdr: ChangeDetectorRef, data: InputTableModalParams);
28
+ constructor(dialogRef: ModalRef<InputTableModalResult>, store: Store, formulaCalculateService: FormulaCalculateService, data: InputTableModalParams);
29
29
  componentValueChanged(valueModel: ComponentValueModel | ComponentValueModel[]): void;
30
30
  ok(): void;
31
31
  close(): void;
32
32
  private _transformValues;
33
+ private _recalculateFormulaFields;
34
+ private _getFormulaNumberComponents;
33
35
  private _isValid;
34
36
  private _getRequiredComponents;
35
37
  private isEmpty;
@@ -36,7 +36,7 @@ export declare class InputTableComponent implements OnInit, OnDestroy {
36
36
  get disabled(): boolean;
37
37
  editRow(event: any): void;
38
38
  getFormat(component: ComponentModelBase): "" | "dd.MM.yyyy" | "dd.MM.yyyy hh:mm";
39
- getDataType(component: ComponentModelBase): "date" | "string" | "boolean";
39
+ getDataType(component: ComponentModelBase): "date" | "string";
40
40
  showTotal(component: ComponentModelBase): boolean;
41
41
  isTotalColumn(component: ComponentModelBase): boolean;
42
42
  private _initModel;
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, ComponentRef, EventEmitter, OnChanges, SimpleChanges, ViewContainerRef } from '@angular/core';
1
+ import { ComponentRef, EventEmitter, OnChanges, SimpleChanges, ViewContainerRef } from '@angular/core';
2
2
  import { ComponentType } from '../../../shared-form/enums';
3
3
  import { ComponentModelBase } from '../../../shared-form/models';
4
4
  import { ComponentsMapType } from './enums/component.enum';
@@ -7,7 +7,6 @@ import { ComponentValueModel, ValueModel } from '../../models';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class ComponentFactoryDirective implements OnChanges {
9
9
  private viewContainer;
10
- private cdr;
11
10
  type?: ComponentType;
12
11
  data?: ComponentModelBase;
13
12
  values: ValueModel[];
@@ -15,7 +14,7 @@ export declare class ComponentFactoryDirective implements OnChanges {
15
14
  map: ComponentsMapType;
16
15
  changed: EventEmitter<ComponentValueModel | ComponentValueModel[]>;
17
16
  dynamicComponent?: ComponentRef<AbstractComponent>;
18
- constructor(viewContainer: ViewContainerRef, cdr: ChangeDetectorRef);
17
+ constructor(viewContainer: ViewContainerRef);
19
18
  ngOnChanges(changes: SimpleChanges): void;
20
19
  initWidget(type: ComponentType): void;
21
20
  applyData(data: ComponentModelBase): void;
@@ -0,0 +1,19 @@
1
+ import { ComponentValueModel } from '../models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FormulaCalculateService {
4
+ private readonly _operatorPrecedence;
5
+ private readonly _operators;
6
+ calculateMathExpression(expression: string, values: ComponentValueModel[]): number;
7
+ calculateStringConcatenation(expression: string, values: ComponentValueModel[]): string;
8
+ private _calculateMathExpression;
9
+ private _addFunctionResult;
10
+ private _addOperator;
11
+ private _calculateAll;
12
+ private _getOperatorPrecedence;
13
+ private _getExpressionBetweenParentheses;
14
+ private _getNumberValue;
15
+ private _calculate;
16
+ private _isOperator;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormulaCalculateService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<FormulaCalculateService>;
19
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './object-form.service';
2
2
  export * from './reference.service';
3
+ export * from './formula-calculate.service';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myrtex-org/form",
3
- "version": "1.1.27",
3
+ "version": "1.1.28",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0"