@myrtex-org/form 1.0.32 → 1.0.34

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.
Files changed (41) hide show
  1. package/esm2022/lib/modules/object-form/components/elements/base/base-field/base-field.component.mjs +10 -1
  2. package/esm2022/lib/modules/object-form/components/elements/content/title/content-title.component.mjs +3 -3
  3. package/esm2022/lib/modules/object-form/components/elements/input/checkbox-group/input-checkbox-group.component.mjs +3 -3
  4. package/esm2022/lib/modules/object-form/components/elements/input/date/input-date.component.mjs +3 -3
  5. package/esm2022/lib/modules/object-form/components/elements/input/file/input-file.component.mjs +3 -3
  6. package/esm2022/lib/modules/object-form/components/elements/input/inn/input-inn.component.mjs +3 -3
  7. package/esm2022/lib/modules/object-form/components/elements/input/link/input-link.component.mjs +3 -3
  8. package/esm2022/lib/modules/object-form/components/elements/input/number/input-number.component.mjs +3 -3
  9. package/esm2022/lib/modules/object-form/components/elements/input/phone/input-phone.component.mjs +3 -3
  10. package/esm2022/lib/modules/object-form/components/elements/input/radio-group/input-radio-group.component.mjs +3 -3
  11. package/esm2022/lib/modules/object-form/components/elements/input/select/input-select.component.mjs +3 -3
  12. package/esm2022/lib/modules/object-form/components/elements/input/switch/input-switch.component.mjs +3 -3
  13. package/esm2022/lib/modules/object-form/components/elements/input/table/input-table.component.mjs +12 -3
  14. package/esm2022/lib/modules/object-form/components/elements/input/text/input-text.component.mjs +3 -3
  15. package/esm2022/lib/modules/object-form/components/elements/input/textarea/input-textarea.component.mjs +3 -3
  16. package/esm2022/lib/modules/object-form/components/object-form-content/object-form-content.component.mjs +3 -6
  17. package/esm2022/lib/modules/object-form/constants.mjs +2 -1
  18. package/esm2022/lib/modules/object-form/helpers/get-menu-model.mjs +3 -2
  19. package/esm2022/lib/modules/object-form/services/object-form.service.mjs +13 -9
  20. package/esm2022/lib/modules/object-form/store/object-form.actions.mjs +2 -1
  21. package/esm2022/lib/modules/object-form/store/object-form.effects.mjs +20 -16
  22. package/esm2022/lib/modules/object-form/store/object-form.reducers.mjs +6 -5
  23. package/esm2022/lib/modules/object-form/store/object-form.selector.mjs +12 -1
  24. package/esm2022/lib/modules/object-form/store/object-form.state.mjs +2 -1
  25. package/esm2022/lib/modules/shared-form/helpers/common.helpers.mjs +4 -1
  26. package/esm2022/lib/modules/shared-form/store/shared-form.selector.mjs +3 -2
  27. package/fesm2022/myrtex-org-form.mjs +117 -74
  28. package/fesm2022/myrtex-org-form.mjs.map +1 -1
  29. package/lib/modules/object-form/components/elements/base/base-field/base-field.component.d.ts +2 -0
  30. package/lib/modules/object-form/components/elements/input/table/input-table.component.d.ts +3 -1
  31. package/lib/modules/object-form/components/object-form-content/object-form-content.component.d.ts +0 -1
  32. package/lib/modules/object-form/constants.d.ts +1 -0
  33. package/lib/modules/object-form/helpers/get-menu-model.d.ts +1 -1
  34. package/lib/modules/object-form/services/object-form.service.d.ts +5 -4
  35. package/lib/modules/object-form/store/object-form.actions.d.ts +7 -0
  36. package/lib/modules/object-form/store/object-form.effects.d.ts +14 -11
  37. package/lib/modules/object-form/store/object-form.selector.d.ts +2 -0
  38. package/lib/modules/object-form/store/object-form.state.d.ts +1 -0
  39. package/lib/modules/shared-form/helpers/common.helpers.d.ts +1 -0
  40. package/lib/modules/shared-form/store/shared-form.selector.d.ts +1 -0
  41. package/package.json +1 -1
@@ -38,6 +38,7 @@ const initialSharedFormState = {};
38
38
 
39
39
  const STATE_NAME = 'object-form';
40
40
  const OBJECT_ID_NAME = 'objectId';
41
+ const OBJECT_VERSION_ID_NAME = 'versionId';
41
42
  const SECTION_SYS_NAME_NAME = 'sectionSysName';
42
43
  const TEMPLATE_SYS_NAME_NAME = 'templateSysName';
43
44
 
@@ -62,6 +63,7 @@ const selectTemplateSysName$1 = createSelector(selectRouteNestedParam(TEMPLATE_S
62
63
  const selectIdFromQuery = createSelector(selectQueryParam('id'), (rparam) => {
63
64
  return rparam || null;
64
65
  });
66
+ const selectVersionIdFromQuery = createSelector(selectQueryParam(OBJECT_VERSION_ID_NAME), (rparam) => rparam || null);
65
67
  const selectSectionSysName = createSelector(selectRouteParam(SECTION_SYS_NAME_NAME), (rparam) => {
66
68
  return rparam || null;
67
69
  });
@@ -72,7 +74,8 @@ var sharedForm_selector = /*#__PURE__*/Object.freeze({
72
74
  selectRouteNestedParam: selectRouteNestedParam,
73
75
  selectRouteNestedParams: selectRouteNestedParams,
74
76
  selectSectionSysName: selectSectionSysName,
75
- selectTemplateSysName: selectTemplateSysName$1
77
+ selectTemplateSysName: selectTemplateSysName$1,
78
+ selectVersionIdFromQuery: selectVersionIdFromQuery
76
79
  });
77
80
 
78
81
  var EApplicationActions;
@@ -84,6 +87,7 @@ var EApplicationActions;
84
87
  EApplicationActions["LoadObjectPending"] = "[Object Form] Load Object Pending";
85
88
  EApplicationActions["LoadObjectSuccess"] = "[Object Form] Load Object Success";
86
89
  EApplicationActions["LoadObjectError"] = "[Object Form] Load Object Error";
90
+ EApplicationActions["SetCanEditObject"] = "[Object Form] Set Can Edit Object";
87
91
  EApplicationActions["SaveObjectPending"] = "[Object Form] Save Object Pending";
88
92
  EApplicationActions["SaveObjectSuccess"] = "[Object Form] Save Object Success";
89
93
  EApplicationActions["SaveObjectError"] = "[Object Form] Save Object Error";
@@ -443,12 +447,13 @@ const containsConditionValue = (conditions, value) => {
443
447
  return conditions.some(s => val.some(v => v.sysName === s.field?.s));
444
448
  };
445
449
 
446
- const getMenuModel = (apiPrefix, settings, sectionValues, applicationId) => {
450
+ const getMenuModel = (apiPrefix, settings, sectionValues, applicationId, versionId) => {
447
451
  return {
448
452
  items: settings?.sections.map((section) => {
449
453
  return {
450
454
  title: section.options.title || '',
451
455
  routerLink: `/${apiPrefix}/${applicationId}/${section.sysName}`,
456
+ queryParams: !!versionId ? { ['versionId']: versionId.toString() } : {},
452
457
  type: 'default',
453
458
  params: {
454
459
  percent: getPercentForSection(section, sectionValues)
@@ -540,6 +545,7 @@ const selectApiPrefix = createSelector(objectFeature, (state) => state.apiPrefix
540
545
  const selectApiUrl = createSelector(objectFeature, (state) => state.apiUrl);
541
546
  const selectIsLoading = createSelector(objectFeature, (state) => state.isLoading);
542
547
  const selectIsObjectSaveLoading = createSelector(objectFeature, (state) => state.isObjectSaveLoading);
548
+ const selectCanEditObject = createSelector(objectFeature, (state) => state.canEditObject);
543
549
  const selectIsEdited = createSelector(objectFeature, (state) => state.isEdited);
544
550
  const selectIsCheckRequired = createSelector(objectFeature, (state) => state.isCheckRequired);
545
551
  const selectMenuModel = createSelector(objectFeature, (state) => state.menuModel);
@@ -547,6 +553,15 @@ const selectSectionSettings = createSelector(objectFeature, selectRouteNestedPar
547
553
  return state?.settings?.sections.find(s => s.sysName === sectionSysName) || null;
548
554
  });
549
555
  const selectSectionValues = createSelector(objectFeature, (state) => state.sectionValues);
556
+ const selectUnfilledSections = createSelector(objectFeature, (state) => {
557
+ const unfilledSections = state.sectionValues.filter(v => v.percent !== 100).map(v => v.sysName);
558
+ return unfilledSections.length ?
559
+ state.settings?.sections
560
+ .filter(s => s.type === ComponentType.Section && unfilledSections.includes(s.sysName))
561
+ .map(s => s.options?.title ?? '')
562
+ .filter(v => !!v) ?? [] :
563
+ [];
564
+ });
550
565
  const selectObjectId = createSelector(selectRouteNestedParam(OBJECT_ID_NAME), (applicationId) => applicationId);
551
566
  const selectSectionFiles = createSelector(objectFeature, (state) => state.sectionFiles);
552
567
  const selectTemplateSysName = createSelector(objectFeature, (state) => state?.settings?.sysName);
@@ -557,6 +572,7 @@ var objectForm_selector = /*#__PURE__*/Object.freeze({
557
572
  __proto__: null,
558
573
  selectApiPrefix: selectApiPrefix,
559
574
  selectApiUrl: selectApiUrl,
575
+ selectCanEditObject: selectCanEditObject,
560
576
  selectDependencyRulesResults: selectDependencyRulesResults,
561
577
  selectIsCheckRequired: selectIsCheckRequired,
562
578
  selectIsEdited: selectIsEdited,
@@ -568,6 +584,7 @@ var objectForm_selector = /*#__PURE__*/Object.freeze({
568
584
  selectSectionSettings: selectSectionSettings,
569
585
  selectSectionValues: selectSectionValues,
570
586
  selectTemplateSysName: selectTemplateSysName,
587
+ selectUnfilledSections: selectUnfilledSections,
571
588
  selectValueModel: selectValueModel
572
589
  });
573
590
 
@@ -576,6 +593,7 @@ const initialObjectFormState = {
576
593
  isEdited: false,
577
594
  isCheckRequired: false,
578
595
  isObjectSaveLoading: false,
596
+ canEditObject: false,
579
597
  settings: null,
580
598
  selectedSectionSysName: null,
581
599
  sectionValues: [],
@@ -592,14 +610,15 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(updateApiU
592
610
  return { ...state, apiPrefix, apiUrl };
593
611
  }), on(loadObjectPending, (state) => {
594
612
  return { ...state, isLoading: true };
595
- }), on(loadObjectSuccess, (state, { templateSettings, sectionValues, applicationId, isDraft }) => {
613
+ }), on(loadObjectSuccess, (state, { templateSettings, sectionValues, applicationId, isDraft, canEditObject, versionId }) => {
596
614
  return {
597
615
  ...state,
598
616
  isLoading: false,
599
617
  settings: templateSettings,
600
618
  sectionValues: sectionValues,
601
619
  isEdited: isDraft,
602
- menuModel: getMenuModel(state.apiPrefix, templateSettings, sectionValues, applicationId)
620
+ canEditObject: canEditObject,
621
+ menuModel: getMenuModel(state.apiPrefix, templateSettings, sectionValues, applicationId, versionId)
603
622
  };
604
623
  }), on(loadObjectError, (state) => {
605
624
  return { ...state, isLoading: false };
@@ -616,7 +635,7 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(updateApiU
616
635
  isEdited: true,
617
636
  dependencyRuleCheckResults: dependenceRulesResults
618
637
  };
619
- }), on(saveValuesSuccess, (state, { result, objectId }) => {
638
+ }), on(saveValuesSuccess, (state, { result, objectId, versionId }) => {
620
639
  const updatedSectionValues = state.sectionValues.map((sectionValue) => {
621
640
  const section = {
622
641
  ...sectionValue,
@@ -628,7 +647,7 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(updateApiU
628
647
  ...state,
629
648
  sectionValues: updatedSectionValues,
630
649
  isEdited: true,
631
- menuModel: getMenuModel(state.apiPrefix, state.settings, updatedSectionValues, objectId)
650
+ menuModel: getMenuModel(state.apiPrefix, state.settings, updatedSectionValues, objectId, versionId)
632
651
  };
633
652
  }), on(saveValuesError, (state) => {
634
653
  return { ...state };
@@ -669,6 +688,20 @@ function objectReducer(state, action) {
669
688
  return objectReducerCreator(state, action);
670
689
  }
671
690
 
691
+ function isNumeric(str) {
692
+ if (typeof str != 'string') {
693
+ return false; // we only process strings!
694
+ }
695
+ return !isNaN(str) && !isNaN(parseInt(str)) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...
696
+ !isNaN(parseFloat(str)); // ...and ensure strings of whitespace fail
697
+ }
698
+ const isNullOrUndefined = (model) => {
699
+ return model === null || typeof model === 'undefined';
700
+ };
701
+ function appendVersionId(url, versionId) {
702
+ return !!versionId ? url += `?versionId=${versionId}` : url;
703
+ }
704
+
672
705
  const tokenKey = 'Csy-Token';
673
706
  const eTag = "ETag";
674
707
  const ifMatch = "If-Match";
@@ -745,32 +778,35 @@ class ObjectFormService {
745
778
  getTemplate(objectId) {
746
779
  return this._http.get(`${this.apiUrl}/${objectId}/params`);
747
780
  }
748
- getSectionValues(applicationId) {
781
+ getSectionValues(applicationId, versionId) {
749
782
  return this._http
750
- .get(`${this.apiUrl}/${applicationId}`, this.getHeaders())
783
+ .get(appendVersionId(`${this.apiUrl}/${applicationId}`, versionId), this.getHeaders())
751
784
  .pipe(map(this.mapResult.bind(this)));
752
785
  }
753
786
  getTemplateSettings(templateSysName) {
754
787
  return this._http.get(`${this.apiUrl}/template/settings/${templateSysName}`);
755
788
  }
756
- updateApplicationValues(applicationId, sectionValues) {
789
+ updateApplicationValues(applicationId, sectionValues, versionId) {
757
790
  return this._http
758
- .put(`${this.apiUrl}/${applicationId}`, { sectionValues }, this.getHeaders())
791
+ .put(appendVersionId(`${this.apiUrl}/${applicationId}`, versionId), { sectionValues }, this.getHeaders())
759
792
  .pipe(map(this.mapResult.bind(this)));
760
793
  }
761
- saveApplication(applicationId) {
794
+ saveApplication(applicationId, versionId) {
762
795
  return this._http
763
- .post(`${this.apiUrl}/${applicationId}/save`, null, this.getHeaders())
796
+ .post(appendVersionId(`${this.apiUrl}/${applicationId}/save`, versionId), null, this.getHeaders())
764
797
  .pipe(map(this.mapResult.bind(this)));
765
798
  }
766
799
  copyApplication(copyCommand) {
767
800
  return this._http.post(`${this.apiUrl}/copy`, copyCommand);
768
801
  }
769
- getSectionFiles(applicationId, sectionSysName) {
802
+ getSectionFiles(applicationId, sectionSysName, versionId) {
770
803
  return this._http
771
- .get(`${this.apiUrl}/${applicationId}/${sectionSysName}/files`, this.getHeaders())
804
+ .get(appendVersionId(`${this.apiUrl}/${applicationId}/${sectionSysName}/files`, versionId), this.getHeaders())
772
805
  .pipe(map(this.mapResult.bind(this)));
773
806
  }
807
+ canEditObject(applicationId, versionId) {
808
+ return this._http.get(appendVersionId(`${this.apiUrl}/${applicationId}/can-edit`, versionId));
809
+ }
774
810
  getHeaders() {
775
811
  return this._concurrencyService.getHeaders(this._concurrencyKey);
776
812
  }
@@ -825,22 +861,25 @@ class ObjectFormEffects {
825
861
  return of(loadPreviewTemplateError());
826
862
  }));
827
863
  })));
828
- this.loadApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadObjectPending), map((props) => props.templateSysName), withLatestFrom(this._store.select(selectApiPrefix), this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectRouteNestedParam(SECTION_SYS_NAME_NAME))), switchMap(([templateSysName, apiPrefix, objectId, sectionSysName]) => {
864
+ this.loadApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadObjectPending), map((props) => props.templateSysName), withLatestFrom(this._store.select(selectApiPrefix), this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectRouteNestedParam(SECTION_SYS_NAME_NAME)), this._store.select(selectVersionIdFromQuery)), switchMap(([templateSysName, apiPrefix, objectId, sectionSysName, versionId]) => {
829
865
  const requests = [
830
866
  this._applicationService.getTemplateSettings(templateSysName),
831
- this._applicationService.getSectionValues(objectId)
867
+ this._applicationService.getSectionValues(objectId, versionId),
868
+ this._applicationService.canEditObject(objectId, versionId)
832
869
  ];
833
- return forkJoin(requests).pipe(switchMap(([templateSettings, valueDto]) => {
870
+ return forkJoin(requests).pipe(switchMap(([templateSettings, valueDto, canEditObject]) => {
834
871
  const activeSection = templateSettings.sections.find((s) => s.sysName === sectionSysName);
835
872
  if (!activeSection && templateSettings.sections.length) {
836
- this._router.navigate([`/${apiPrefix}/${objectId}/${templateSettings.sections[0].sysName}`]);
873
+ this._router.navigate([appendVersionId(`/${apiPrefix}/${objectId}/${templateSettings.sections[0].sysName}`, versionId)]);
837
874
  }
838
875
  return [
839
876
  loadObjectSuccess({
840
877
  templateSettings: templateSettings,
841
878
  sectionValues: valueDto.value.sectionValues,
842
879
  applicationId: objectId,
843
- isDraft: valueDto.isDraft
880
+ isDraft: valueDto.isDraft,
881
+ canEditObject: canEditObject,
882
+ versionId: versionId
844
883
  }),
845
884
  checkAllDependencyRules()
846
885
  ];
@@ -858,17 +897,17 @@ class ObjectFormEffects {
858
897
  this._autoSaveStore.start();
859
898
  this._store.dispatch(saveValuesPending());
860
899
  })), { dispatch: false });
861
- this.updateApplicationValues$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveValuesPending), withLatestFrom(this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectSectionValues)), switchMap(([_, objectId, sectionValues]) => {
862
- return this._applicationService.updateApplicationValues(objectId, sectionValues).pipe(map((result) => {
900
+ this.updateApplicationValues$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveValuesPending), withLatestFrom(this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectSectionValues), this._store.select(selectVersionIdFromQuery)), switchMap(([_, objectId, sectionValues, versionId]) => {
901
+ return this._applicationService.updateApplicationValues(objectId, sectionValues, versionId).pipe(map((result) => {
863
902
  this._autoSaveStore.success();
864
- return saveValuesSuccess({ result, objectId });
903
+ return saveValuesSuccess({ result, objectId, versionId });
865
904
  }), catchError((error) => {
866
905
  this._autoSaveStore.error();
867
906
  return of(saveValuesError());
868
907
  }));
869
908
  })));
870
- this.saveApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveObjectPending), withLatestFrom(this._store.select(selectRouteNestedParam(OBJECT_ID_NAME))), switchMap(([_, objectId]) => {
871
- return this._applicationService.saveApplication(objectId).pipe(map(() => {
909
+ this.saveApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.SaveObjectPending), withLatestFrom(this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectVersionIdFromQuery)), switchMap(([_, objectId, versionId]) => {
910
+ return this._applicationService.saveApplication(objectId, versionId).pipe(map(() => {
872
911
  this._toasterService.show({
873
912
  title: 'Сохранено успешно',
874
913
  type: ToasterType.Positive
@@ -885,7 +924,7 @@ class ObjectFormEffects {
885
924
  this.copyApplicationPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.CopyObjectPending), map((action) => action), withLatestFrom(this._store.select(selectApiPrefix)), switchMap(([action, apiPrefix]) => {
886
925
  return this._applicationService.copyApplication(action).pipe(map((result) => {
887
926
  this._toasterService.show({
888
- title: 'Копировнаие прошло успешно',
927
+ title: 'Копирование прошло успешно',
889
928
  type: ToasterType.Positive
890
929
  });
891
930
  window.open(`/${apiPrefix}` + result.id, '_blank');
@@ -898,16 +937,16 @@ class ObjectFormEffects {
898
937
  return of(copyObjectError());
899
938
  }));
900
939
  })), { dispatch: false });
901
- this.loadSectionFilesPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadSectionFilesPending), withLatestFrom(this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectRouteNestedParam(SECTION_SYS_NAME_NAME))), switchMap(([_, objectId, sectionSysName]) => {
902
- return this._applicationService.getSectionFiles(objectId, sectionSysName).pipe(map((sectionFiles) => {
940
+ this.loadSectionFilesPending$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.LoadSectionFilesPending), withLatestFrom(this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectRouteNestedParam(SECTION_SYS_NAME_NAME)), this._store.select(selectVersionIdFromQuery)), switchMap(([_, objectId, sectionSysName, versionId]) => {
941
+ return this._applicationService.getSectionFiles(objectId, sectionSysName, versionId).pipe(map((sectionFiles) => {
903
942
  return loadSectionFilesSuccess({ sectionFiles: sectionFiles });
904
943
  }), catchError(() => {
905
944
  return of(loadSectionFilesError());
906
945
  }));
907
946
  })));
908
- this.printDocument$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.PrintDocument), withLatestFrom(this._store.select(selectApiUrl), this._store.select(selectRouteNestedParam(OBJECT_ID_NAME))), tap(([_, apiUrl, objectId]) => {
947
+ this.printDocument$ = createEffect(() => this._actions$.pipe(ofType(EApplicationActions.PrintDocument), withLatestFrom(this._store.select(selectApiUrl), this._store.select(selectRouteNestedParam(OBJECT_ID_NAME)), this._store.select(selectVersionIdFromQuery)), tap(([_, apiUrl, objectId, versionId]) => {
909
948
  console.log('печать документа ' + objectId);
910
- window.open(`${apiUrl}/${objectId}/print`, '_blank');
949
+ window.open(appendVersionId(`${apiUrl}/${objectId}/print`, versionId), '_blank');
911
950
  })), { dispatch: false });
912
951
  }
913
952
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectFormEffects, deps: [{ token: i1.Actions }, { token: i2.Store }, { token: i3.Router }, { token: ObjectFormService }, { token: i1$1.ToasterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -1068,6 +1107,7 @@ class BaseFieldComponent {
1068
1107
  this._changeSubject$ = new Subject();
1069
1108
  this._autoSaveStore = inject(AutoSaveStore);
1070
1109
  this._isCheckRequired = false;
1110
+ this._canEditObject = false;
1071
1111
  this.manualValues = [];
1072
1112
  this.valueMode = 'auto';
1073
1113
  this.changed = new EventEmitter();
@@ -1096,6 +1136,11 @@ class BaseFieldComponent {
1096
1136
  this._isCheckRequired = result;
1097
1137
  this._detector.detectChanges();
1098
1138
  }));
1139
+ this._subscriptions$.push(this._store.select(selectCanEditObject)
1140
+ .subscribe(result => {
1141
+ this._canEditObject = result;
1142
+ this._detector.detectChanges();
1143
+ }));
1099
1144
  if (this.valueMode === 'auto') {
1100
1145
  this._initSubscriptionForValue();
1101
1146
  }
@@ -1122,6 +1167,9 @@ class BaseFieldComponent {
1122
1167
  return '';
1123
1168
  }
1124
1169
  }
1170
+ get disabled() {
1171
+ return !this.settings.options.canEdit || !this._canEditObject;
1172
+ }
1125
1173
  _requiredValidate(type) {
1126
1174
  switch (type) {
1127
1175
  case (ValueType.String):
@@ -1206,11 +1254,11 @@ class InputTextComponent extends BaseFieldComponent {
1206
1254
  return !(this.settings.options.minLength && model.value && this.settings.options.minLength > model.value.length);
1207
1255
  }
1208
1256
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTextComponent, selector: "app-input-text", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-text-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [showMaskTyped]=\"true\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-text>\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1257
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTextComponent, selector: "app-input-text", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-text-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [showMaskTyped]=\"true\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-text>\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1210
1258
  }
1211
1259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextComponent, decorators: [{
1212
1260
  type: Component,
1213
- args: [{ selector: 'app-input-text', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-text-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [showMaskTyped]=\"true\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-text>\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1261
+ args: [{ selector: 'app-input-text', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-text-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [showMaskTyped]=\"true\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-text>\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1214
1262
  }] });
1215
1263
 
1216
1264
  class InputTextareaComponent extends BaseFieldComponent {
@@ -1253,11 +1301,11 @@ class InputTextareaComponent extends BaseFieldComponent {
1253
1301
  return !(this.settings.options.minLength && model.value && this.settings.options.minLength > model.value.length);
1254
1302
  }
1255
1303
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTextareaComponent, selector: "app-input-textarea", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-textarea-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n @if (!settings.options.editor) {\r\n <mrx-input-textarea\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [rows]=\"2\"\r\n [autosize]=\"true\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n\r\n ></mrx-input-textarea>\r\n } @else {\r\n <mrx-editor\r\n [(ngModel)]=\"model.value\"\r\n [readonly]=\"false\"\r\n [fields]=\"autosaveFields\"\r\n [toolbar]=\"config\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-editor>\r\n }\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$1.EditorComponent, selector: "mrx-editor", inputs: ["fields", "toolbar", "maxLength", "minHeight", "customClasses", "placeholder", "disabled", "readonly", "iframe", "defaultInlineStyle", "config", "editHTMLDocumentMode", "defaultMode", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1304
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTextareaComponent, selector: "app-input-textarea", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-textarea-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n @if (!settings.options.editor) {\r\n <mrx-input-textarea\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [rows]=\"2\"\r\n [autosize]=\"true\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n [disabled]=\"disabled\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n\r\n ></mrx-input-textarea>\r\n } @else {\r\n <mrx-editor\r\n [(ngModel)]=\"model.value\"\r\n [readonly]=\"false\"\r\n [fields]=\"autosaveFields\"\r\n [toolbar]=\"config\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-editor>\r\n }\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$1.EditorComponent, selector: "mrx-editor", inputs: ["fields", "toolbar", "maxLength", "minHeight", "customClasses", "placeholder", "disabled", "readonly", "iframe", "defaultInlineStyle", "config", "editHTMLDocumentMode", "defaultMode", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1257
1305
  }
1258
1306
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextareaComponent, decorators: [{
1259
1307
  type: Component,
1260
- args: [{ selector: 'app-input-textarea', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-textarea-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n @if (!settings.options.editor) {\r\n <mrx-input-textarea\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [rows]=\"2\"\r\n [autosize]=\"true\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n\r\n ></mrx-input-textarea>\r\n } @else {\r\n <mrx-editor\r\n [(ngModel)]=\"model.value\"\r\n [readonly]=\"false\"\r\n [fields]=\"autosaveFields\"\r\n [toolbar]=\"config\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-editor>\r\n }\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1308
+ args: [{ selector: 'app-input-textarea', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-textarea-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n @if (!settings.options.editor) {\r\n <mrx-input-textarea\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [rows]=\"2\"\r\n [autosize]=\"true\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n [disabled]=\"disabled\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n\r\n ></mrx-input-textarea>\r\n } @else {\r\n <mrx-editor\r\n [(ngModel)]=\"model.value\"\r\n [readonly]=\"false\"\r\n [fields]=\"autosaveFields\"\r\n [toolbar]=\"config\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442'\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-editor>\r\n }\r\n\r\n @if (settings.options.minLength) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0442\u0441\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 \u2014 {{ settings.options.minLength }}\"\r\n [value]=\"validateValue\"\r\n [minLength]=\"settings.options.minLength\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1261
1309
  }] });
1262
1310
 
1263
1311
  class InputLinkComponent extends BaseFieldComponent {
@@ -1266,11 +1314,11 @@ class InputLinkComponent extends BaseFieldComponent {
1266
1314
  this.type = ComponentType.InputLink;
1267
1315
  }
1268
1316
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1269
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputLinkComponent, selector: "app-input-link", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-link-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1317
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputLinkComponent, selector: "app-input-link", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-link-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1270
1318
  }
1271
1319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputLinkComponent, decorators: [{
1272
1320
  type: Component,
1273
- args: [{ selector: 'app-input-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-link-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n" }]
1321
+ args: [{ selector: 'app-input-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-link-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n" }]
1274
1322
  }] });
1275
1323
 
1276
1324
  class InputSwitchComponent extends BaseFieldComponent {
@@ -1279,11 +1327,11 @@ class InputSwitchComponent extends BaseFieldComponent {
1279
1327
  this.type = ComponentType.InputText;
1280
1328
  }
1281
1329
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1282
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSwitchComponent, selector: "app-input-switch", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-switch-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 @switch (settings.options.switchType) {\r\n @case (0) {\r\n <mrx-switch\r\n [(ngModel)]=\"model.value\"\r\n [size]=\"'large'\"\r\n [label]=\"!!model.value ? settings.options.switchTextOn : settings.options.switchTextOff\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-switch>\r\n }\r\n @case (1) {\r\n <mrx-checkbox\r\n [(ngModel)]=\"model.value\"\r\n [invalid]=\"getInvalid\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n >{{settings.options.switchTextOn}}</mrx-checkbox>\r\n }\r\n }\r\n\r\n @if (getInvalid) {\r\n <mrx-error-message>{{ getInvalidMessage }}</mrx-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.CheckboxComponent, selector: "mrx-checkbox", inputs: ["fields", "required", "boldLabel", "indeterminate", "disabled", "readonly", "label", "customClasses", "customWrapperClasses", "invalid", "checkInvalid", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.SwitchComponent, selector: "mrx-switch", inputs: ["fields", "size", "type", "label", "boldLabel", "disabled", "readonly", "required", "customClasses", "leftText", "rightText"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1330
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSwitchComponent, selector: "app-input-switch", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-switch-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 @switch (settings.options.switchType) {\r\n @case (0) {\r\n <mrx-switch\r\n [(ngModel)]=\"model.value\"\r\n [size]=\"'large'\"\r\n [disabled]=\"disabled\"\r\n [label]=\"!!model.value ? settings.options.switchTextOn : settings.options.switchTextOff\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-switch>\r\n }\r\n @case (1) {\r\n <mrx-checkbox\r\n [(ngModel)]=\"model.value\"\r\n [invalid]=\"getInvalid\"\r\n [disabled]=\"disabled\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n >{{settings.options.switchTextOn}}</mrx-checkbox>\r\n }\r\n }\r\n\r\n @if (getInvalid) {\r\n <mrx-error-message>{{ getInvalidMessage }}</mrx-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.CheckboxComponent, selector: "mrx-checkbox", inputs: ["fields", "required", "boldLabel", "indeterminate", "disabled", "readonly", "label", "customClasses", "customWrapperClasses", "invalid", "checkInvalid", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.SwitchComponent, selector: "mrx-switch", inputs: ["fields", "size", "type", "label", "boldLabel", "disabled", "readonly", "required", "customClasses", "leftText", "rightText"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1283
1331
  }
1284
1332
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSwitchComponent, decorators: [{
1285
1333
  type: Component,
1286
- args: [{ selector: 'app-input-switch', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-switch-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 @switch (settings.options.switchType) {\r\n @case (0) {\r\n <mrx-switch\r\n [(ngModel)]=\"model.value\"\r\n [size]=\"'large'\"\r\n [label]=\"!!model.value ? settings.options.switchTextOn : settings.options.switchTextOff\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-switch>\r\n }\r\n @case (1) {\r\n <mrx-checkbox\r\n [(ngModel)]=\"model.value\"\r\n [invalid]=\"getInvalid\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n >{{settings.options.switchTextOn}}</mrx-checkbox>\r\n }\r\n }\r\n\r\n @if (getInvalid) {\r\n <mrx-error-message>{{ getInvalidMessage }}</mrx-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1334
+ args: [{ selector: 'app-input-switch', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-switch-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 @switch (settings.options.switchType) {\r\n @case (0) {\r\n <mrx-switch\r\n [(ngModel)]=\"model.value\"\r\n [size]=\"'large'\"\r\n [disabled]=\"disabled\"\r\n [label]=\"!!model.value ? settings.options.switchTextOn : settings.options.switchTextOff\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-switch>\r\n }\r\n @case (1) {\r\n <mrx-checkbox\r\n [(ngModel)]=\"model.value\"\r\n [invalid]=\"getInvalid\"\r\n [disabled]=\"disabled\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n >{{settings.options.switchTextOn}}</mrx-checkbox>\r\n }\r\n }\r\n\r\n @if (getInvalid) {\r\n <mrx-error-message>{{ getInvalidMessage }}</mrx-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1287
1335
  }] });
1288
1336
 
1289
1337
  class InputNumberComponent extends BaseFieldComponent {
@@ -1305,11 +1353,11 @@ class InputNumberComponent extends BaseFieldComponent {
1305
1353
  this.settings.options.maxValue && model.value && this.settings.options.maxValue < model.value);
1306
1354
  }
1307
1355
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1308
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputNumberComponent, selector: "app-input-number", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-number-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-number\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"isReadonly\"\r\n [numberType]=\"settings.options.decimals ? 'float' : 'int'\"\r\n [decimalSeparator]=\"settings.options.decimalSeparator\"\r\n [decimals]=\"settings.options.decimals\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-number>\r\n\r\n @if (settings.options.minValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.minValue }}\"\r\n [value]=\"validateValue\"\r\n [minValue]=\"settings.options.minValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n @if (settings.options.maxValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.maxValue }}\"\r\n [value]=\"validateValue\"\r\n [maxValue]=\"settings.options.maxValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.InputNumberComponent, selector: "mrx-input-number", inputs: ["fields", "placeholder", "innerClass", "customClasses", "required", "allowNegative", "size", "separator", "decimalSeparator", "decimals", "isNullableValue", "isAutoCorrectingValue", "invalid", "checkInvalid", "numberType", "invalidMessage", "disabled", "readonly", "minValue", "maxValue"], outputs: ["modelChange"] }, { kind: "component", type: i1$1.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1356
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputNumberComponent, selector: "app-input-number", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-number-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-number\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"isReadonly\"\r\n [numberType]=\"settings.options.decimals ? 'float' : 'int'\"\r\n [decimalSeparator]=\"settings.options.decimalSeparator\"\r\n [decimals]=\"settings.options.decimals\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [disabled]=\"disabled\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-number>\r\n\r\n @if (settings.options.minValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.minValue }}\"\r\n [value]=\"validateValue\"\r\n [minValue]=\"settings.options.minValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n @if (settings.options.maxValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.maxValue }}\"\r\n [value]=\"validateValue\"\r\n [maxValue]=\"settings.options.maxValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.InputNumberComponent, selector: "mrx-input-number", inputs: ["fields", "placeholder", "innerClass", "customClasses", "required", "allowNegative", "size", "separator", "decimalSeparator", "decimals", "isNullableValue", "isAutoCorrectingValue", "invalid", "checkInvalid", "numberType", "invalidMessage", "disabled", "readonly", "minValue", "maxValue"], outputs: ["modelChange"] }, { kind: "component", type: i1$1.HintErrorMessageComponent, selector: "mrx-hint-error-message", inputs: ["message", "value", "maxValue", "minValue", "minLength", "maxLength", "checkInvalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1309
1357
  }
1310
1358
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputNumberComponent, decorators: [{
1311
1359
  type: Component,
1312
- args: [{ selector: 'app-input-number', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-number-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-number\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"isReadonly\"\r\n [numberType]=\"settings.options.decimals ? 'float' : 'int'\"\r\n [decimalSeparator]=\"settings.options.decimalSeparator\"\r\n [decimals]=\"settings.options.decimals\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-number>\r\n\r\n @if (settings.options.minValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.minValue }}\"\r\n [value]=\"validateValue\"\r\n [minValue]=\"settings.options.minValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n @if (settings.options.maxValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.maxValue }}\"\r\n [value]=\"validateValue\"\r\n [maxValue]=\"settings.options.maxValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1360
+ args: [{ selector: 'app-input-number', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-number-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-number\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"isReadonly\"\r\n [numberType]=\"settings.options.decimals ? 'float' : 'int'\"\r\n [decimalSeparator]=\"settings.options.decimalSeparator\"\r\n [decimals]=\"settings.options.decimals\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [disabled]=\"disabled\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n (change)=\"onChangeInput()\"\r\n ></mrx-input-number>\r\n\r\n @if (settings.options.minValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.minValue }}\"\r\n [value]=\"validateValue\"\r\n [minValue]=\"settings.options.minValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n @if (settings.options.maxValue) {\r\n <mrx-hint-error-message\r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.maxValue }}\"\r\n [value]=\"validateValue\"\r\n [maxValue]=\"settings.options.maxValue\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n}\r\n" }]
1313
1361
  }] });
1314
1362
 
1315
1363
  class InputSelectComponent extends BaseFieldComponent {
@@ -1358,11 +1406,11 @@ class InputSelectComponent extends BaseFieldComponent {
1358
1406
  return result.join(', ');
1359
1407
  }
1360
1408
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1361
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSelectComponent, selector: "app-input-select", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-select-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-select\r\n [(ngModel)]=\"value\"\r\n [fields]=\"autosaveFields\"\r\n [items]=\"settings.options.items\"\r\n [readonly]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"value\"\r\n bindLabel=\"text\"\r\n [multiple]=\"settings.options.multiply\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-select>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.SelectComponent, selector: "mrx-select", inputs: ["fields", "items", "multiple", "isLoading", "searchable", "clearable", "closable", "size", "bindValue", "bindLabel", "bindIcon", "emptyText", "placeholder", "searchPlaceholder", "multiCollapseCount", "addOption", "isExtraOption", "extraOptionPlaceholder", "use", "sortIcon", "sortPlaceholder", "isFullWidthDropdown", "disabled", "readonly", "invalid", "invalidMessage", "checkInvalid", "popupPosition", "singleChange"], outputs: ["changed", "modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1409
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSelectComponent, selector: "app-input-select", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-select-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-select\r\n [(ngModel)]=\"value\"\r\n [fields]=\"autosaveFields\"\r\n [items]=\"settings.options.items\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [searchable]=\"false\"\r\n bindValue=\"value\"\r\n bindLabel=\"text\"\r\n [multiple]=\"settings.options.multiply\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-select>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.SelectComponent, selector: "mrx-select", inputs: ["fields", "items", "multiple", "isLoading", "searchable", "clearable", "closable", "size", "bindValue", "bindLabel", "bindIcon", "emptyText", "placeholder", "searchPlaceholder", "multiCollapseCount", "addOption", "isExtraOption", "extraOptionPlaceholder", "use", "sortIcon", "sortPlaceholder", "isFullWidthDropdown", "disabled", "readonly", "invalid", "invalidMessage", "checkInvalid", "popupPosition", "singleChange"], outputs: ["changed", "modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1362
1410
  }
1363
1411
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectComponent, decorators: [{
1364
1412
  type: Component,
1365
- args: [{ selector: 'app-input-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-select-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-select\r\n [(ngModel)]=\"value\"\r\n [fields]=\"autosaveFields\"\r\n [items]=\"settings.options.items\"\r\n [readonly]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"value\"\r\n bindLabel=\"text\"\r\n [multiple]=\"settings.options.multiply\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-select>\r\n </div>\r\n}\r\n" }]
1413
+ args: [{ selector: 'app-input-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-select-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-select\r\n [(ngModel)]=\"value\"\r\n [fields]=\"autosaveFields\"\r\n [items]=\"settings.options.items\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [searchable]=\"false\"\r\n bindValue=\"value\"\r\n bindLabel=\"text\"\r\n [multiple]=\"settings.options.multiply\"\r\n [placeholder]=\"settings.options.placeholder || '\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435'\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-select>\r\n </div>\r\n}\r\n" }]
1366
1414
  }] });
1367
1415
 
1368
1416
  class InputDateComponent extends BaseFieldComponent {
@@ -1498,11 +1546,11 @@ class InputDateComponent extends BaseFieldComponent {
1498
1546
  }
1499
1547
  }
1500
1548
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1501
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputDateComponent, selector: "app-input-date", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-date-content\">\r\n <div class=\"row\">\r\n <div class=\"col\" [class.col-8]=\"settings.options.counter\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-date-time\r\n [ngModel]=\"dateModel\"\r\n [fields]=\"autosaveFields\"\r\n [range]=\"settings.options.range\"\r\n [datePlaceholder]=\"(settings.options.range ? settings.options.placeholder + ' - ' + settings.options.placeholder : settings.options.placeholder) || ''\"\r\n [isManualInput]=\"!settings.options.range\"\r\n [timepicker]=\"getViewTypeTimepicker\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [minDate]=\"settings.options.minDate\"\r\n [maxDate]=\"settings.options.maxDate\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-date-time>\r\n </div>\r\n\r\n @if (settings.options.counter && settings.options.range) {\r\n <div class=\"col col-4\">\r\n <mrx-label customClasses=\"mt-2\">\r\n {{ settings.options.counterLabel }}\r\n </mrx-label>\r\n <mrx-input-number\r\n [ngModel]=\"modelCounter\"\r\n [placeholder]=\"'0'\"\r\n [disabled]=\"!settings.options.counterEditable\"\r\n (ngModelChange)=\"updateCounter($event)\"\r\n ></mrx-input-number>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.InputNumberComponent, selector: "mrx-input-number", inputs: ["fields", "placeholder", "innerClass", "customClasses", "required", "allowNegative", "size", "separator", "decimalSeparator", "decimals", "isNullableValue", "isAutoCorrectingValue", "invalid", "checkInvalid", "numberType", "invalidMessage", "disabled", "readonly", "minValue", "maxValue"], outputs: ["modelChange"] }, { kind: "component", type: i1$1.InputDateTimeComponent, selector: "mrx-input-date-time", inputs: ["fields", "size", "customClasses", "dateLabel", "timeLabel", "datePlaceholder", "timePlaceholder", "disabled", "readonly", "required", "timepicker", "range", "minDate", "maxDate", "timezone", "inline", "isManualInput", "addMinTime", "addMaxTime", "addMinTimeObj", "addMaxTimeObj", "disableValidate", "container", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange", "blurred"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1549
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputDateComponent, selector: "app-input-date", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-date-content\">\r\n <div class=\"row\">\r\n <div class=\"col\" [class.col-8]=\"settings.options.counter\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-date-time\r\n [ngModel]=\"dateModel\"\r\n [fields]=\"autosaveFields\"\r\n [range]=\"settings.options.range\"\r\n [datePlaceholder]=\"(settings.options.range ? settings.options.placeholder + ' - ' + settings.options.placeholder : settings.options.placeholder) || ''\"\r\n [isManualInput]=\"!settings.options.range\"\r\n [timepicker]=\"getViewTypeTimepicker\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [minDate]=\"settings.options.minDate\"\r\n [maxDate]=\"settings.options.maxDate\"\r\n [disabled]=\"disabled\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-date-time>\r\n </div>\r\n\r\n @if (settings.options.counter && settings.options.range) {\r\n <div class=\"col col-4\">\r\n <mrx-label customClasses=\"mt-2\">\r\n {{ settings.options.counterLabel }}\r\n </mrx-label>\r\n <mrx-input-number\r\n [ngModel]=\"modelCounter\"\r\n [placeholder]=\"'0'\"\r\n [disabled]=\"!settings.options.counterEditable\"\r\n (ngModelChange)=\"updateCounter($event)\"\r\n ></mrx-input-number>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.InputNumberComponent, selector: "mrx-input-number", inputs: ["fields", "placeholder", "innerClass", "customClasses", "required", "allowNegative", "size", "separator", "decimalSeparator", "decimals", "isNullableValue", "isAutoCorrectingValue", "invalid", "checkInvalid", "numberType", "invalidMessage", "disabled", "readonly", "minValue", "maxValue"], outputs: ["modelChange"] }, { kind: "component", type: i1$1.InputDateTimeComponent, selector: "mrx-input-date-time", inputs: ["fields", "size", "customClasses", "dateLabel", "timeLabel", "datePlaceholder", "timePlaceholder", "disabled", "readonly", "required", "timepicker", "range", "minDate", "maxDate", "timezone", "inline", "isManualInput", "addMinTime", "addMaxTime", "addMinTimeObj", "addMaxTimeObj", "disableValidate", "container", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange", "blurred"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1502
1550
  }
1503
1551
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputDateComponent, decorators: [{
1504
1552
  type: Component,
1505
- args: [{ selector: 'app-input-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-date-content\">\r\n <div class=\"row\">\r\n <div class=\"col\" [class.col-8]=\"settings.options.counter\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-date-time\r\n [ngModel]=\"dateModel\"\r\n [fields]=\"autosaveFields\"\r\n [range]=\"settings.options.range\"\r\n [datePlaceholder]=\"(settings.options.range ? settings.options.placeholder + ' - ' + settings.options.placeholder : settings.options.placeholder) || ''\"\r\n [isManualInput]=\"!settings.options.range\"\r\n [timepicker]=\"getViewTypeTimepicker\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [minDate]=\"settings.options.minDate\"\r\n [maxDate]=\"settings.options.maxDate\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-date-time>\r\n </div>\r\n\r\n @if (settings.options.counter && settings.options.range) {\r\n <div class=\"col col-4\">\r\n <mrx-label customClasses=\"mt-2\">\r\n {{ settings.options.counterLabel }}\r\n </mrx-label>\r\n <mrx-input-number\r\n [ngModel]=\"modelCounter\"\r\n [placeholder]=\"'0'\"\r\n [disabled]=\"!settings.options.counterEditable\"\r\n (ngModelChange)=\"updateCounter($event)\"\r\n ></mrx-input-number>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n" }]
1553
+ args: [{ selector: 'app-input-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-date-content\">\r\n <div class=\"row\">\r\n <div class=\"col\" [class.col-8]=\"settings.options.counter\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-date-time\r\n [ngModel]=\"dateModel\"\r\n [fields]=\"autosaveFields\"\r\n [range]=\"settings.options.range\"\r\n [datePlaceholder]=\"(settings.options.range ? settings.options.placeholder + ' - ' + settings.options.placeholder : settings.options.placeholder) || ''\"\r\n [isManualInput]=\"!settings.options.range\"\r\n [timepicker]=\"getViewTypeTimepicker\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [minDate]=\"settings.options.minDate\"\r\n [maxDate]=\"settings.options.maxDate\"\r\n [disabled]=\"disabled\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-date-time>\r\n </div>\r\n\r\n @if (settings.options.counter && settings.options.range) {\r\n <div class=\"col col-4\">\r\n <mrx-label customClasses=\"mt-2\">\r\n {{ settings.options.counterLabel }}\r\n </mrx-label>\r\n <mrx-input-number\r\n [ngModel]=\"modelCounter\"\r\n [placeholder]=\"'0'\"\r\n [disabled]=\"!settings.options.counterEditable\"\r\n (ngModelChange)=\"updateCounter($event)\"\r\n ></mrx-input-number>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n" }]
1506
1554
  }] });
1507
1555
 
1508
1556
  class InputInnComponent extends BaseFieldComponent {
@@ -1526,11 +1574,11 @@ class InputInnComponent extends BaseFieldComponent {
1526
1574
  return this.settings.options.viewType === InnTypeEnum.ForeignLegal ? '9909' : '';
1527
1575
  }
1528
1576
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputInnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1529
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputInnComponent, selector: "app-input-inn", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-inn-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"getMask\"\r\n [maskPrefix]=\"getMaskPrefix\"\r\n [maskDropSpecialCharacters]=\"false\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1577
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputInnComponent, selector: "app-input-inn", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-inn-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"getMask\"\r\n [maskPrefix]=\"getMaskPrefix\"\r\n [maskDropSpecialCharacters]=\"false\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1530
1578
  }
1531
1579
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputInnComponent, decorators: [{
1532
1580
  type: Component,
1533
- args: [{ selector: 'app-input-inn', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-inn-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"getMask\"\r\n [maskPrefix]=\"getMaskPrefix\"\r\n [maskDropSpecialCharacters]=\"false\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n" }]
1581
+ args: [{ selector: 'app-input-inn', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-inn-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"getMask\"\r\n [maskPrefix]=\"getMaskPrefix\"\r\n [maskDropSpecialCharacters]=\"false\"\r\n [showMaskTyped]=\"true\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n" }]
1534
1582
  }] });
1535
1583
 
1536
1584
  class InputFileComponent extends BaseFieldComponent {
@@ -1604,11 +1652,11 @@ class InputFileComponent extends BaseFieldComponent {
1604
1652
  this._detector.detectChanges();
1605
1653
  }
1606
1654
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1607
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputFileComponent, selector: "app-input-file", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-file-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-input-file\r\n [files]=\"files\"\r\n [allowedExtensions]=\"settings.options.allowedExtensions\"\r\n [maxFiles]=\"!!settings.options.maxFiles ? settings.options.maxFiles : 9999\"\r\n [minFiles]=\"1\"\r\n [maxSize]=\"!!settings.options.maxSize ? settings.options.maxSize : 52428800\"\r\n [uploadEndPoint]=\"apiUrl + '/' + (applicationId$ | async) + '/upload-temp-file'\"\r\n [deleteConfirm]=\"deleteFile.bind(this)\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"'\u041F\u043E\u043B\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F'\"\r\n (filesChanged)=\"filesChanged($event)\"\r\n ></mrx-input-file>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$1.InputFileComponent, selector: "mrx-input-file", inputs: ["autoUpload", "required", "disabled", "viewOnly", "lightDisabled", "bottomFiles", "maxSize", "maxFiles", "minFiles", "formData", "uploadEndPoint", "deleteEndPoint", "downloadEndPoint", "fileNamePlaceholder", "showInputWithError", "showDeleteButton", "isTooltipValue", "isDownloadingFile", "isHideListFiles", "target", "deleteConfirm", "innerTemplate", "uploadAdditionalData", "invalid", "invalidMessage", "checkInvalid", "messageTooManyFiles", "messageFileTooBig", "messageEmptyFile", "messageInvalidFileFormat", "placeholder", "placeholderFileMaxSize", "placeholderFileFormat", "files", "allowedExtensions"], outputs: ["filesChanged", "checkDroppedFile"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1655
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputFileComponent, selector: "app-input-file", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-file-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-input-file\r\n [files]=\"files\"\r\n [allowedExtensions]=\"settings.options.allowedExtensions\"\r\n [maxFiles]=\"!!settings.options.maxFiles ? settings.options.maxFiles : 9999\"\r\n [minFiles]=\"1\"\r\n [maxSize]=\"!!settings.options.maxSize ? settings.options.maxSize : 52428800\"\r\n [uploadEndPoint]=\"apiUrl + '/' + (applicationId$ | async) + '/upload-temp-file'\"\r\n [deleteConfirm]=\"deleteFile.bind(this)\"\r\n [disabled]=\"disabled\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"'\u041F\u043E\u043B\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F'\"\r\n (filesChanged)=\"filesChanged($event)\"\r\n ></mrx-input-file>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$1.InputFileComponent, selector: "mrx-input-file", inputs: ["autoUpload", "required", "disabled", "viewOnly", "lightDisabled", "bottomFiles", "maxSize", "maxFiles", "minFiles", "formData", "uploadEndPoint", "deleteEndPoint", "downloadEndPoint", "fileNamePlaceholder", "showInputWithError", "showDeleteButton", "isTooltipValue", "isDownloadingFile", "isHideListFiles", "target", "deleteConfirm", "innerTemplate", "uploadAdditionalData", "invalid", "invalidMessage", "checkInvalid", "messageTooManyFiles", "messageFileTooBig", "messageEmptyFile", "messageInvalidFileFormat", "placeholder", "placeholderFileMaxSize", "placeholderFileFormat", "files", "allowedExtensions"], outputs: ["filesChanged", "checkDroppedFile"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1608
1656
  }
1609
1657
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFileComponent, decorators: [{
1610
1658
  type: Component,
1611
- args: [{ selector: 'app-input-file', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-file-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-input-file\r\n [files]=\"files\"\r\n [allowedExtensions]=\"settings.options.allowedExtensions\"\r\n [maxFiles]=\"!!settings.options.maxFiles ? settings.options.maxFiles : 9999\"\r\n [minFiles]=\"1\"\r\n [maxSize]=\"!!settings.options.maxSize ? settings.options.maxSize : 52428800\"\r\n [uploadEndPoint]=\"apiUrl + '/' + (applicationId$ | async) + '/upload-temp-file'\"\r\n [deleteConfirm]=\"deleteFile.bind(this)\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"'\u041F\u043E\u043B\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F'\"\r\n (filesChanged)=\"filesChanged($event)\"\r\n ></mrx-input-file>\r\n </div>\r\n}\r\n" }]
1659
+ args: [{ selector: 'app-input-file', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-file-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-input-file\r\n [files]=\"files\"\r\n [allowedExtensions]=\"settings.options.allowedExtensions\"\r\n [maxFiles]=\"!!settings.options.maxFiles ? settings.options.maxFiles : 9999\"\r\n [minFiles]=\"1\"\r\n [maxSize]=\"!!settings.options.maxSize ? settings.options.maxSize : 52428800\"\r\n [uploadEndPoint]=\"apiUrl + '/' + (applicationId$ | async) + '/upload-temp-file'\"\r\n [deleteConfirm]=\"deleteFile.bind(this)\"\r\n [disabled]=\"disabled\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"'\u041F\u043E\u043B\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F'\"\r\n (filesChanged)=\"filesChanged($event)\"\r\n ></mrx-input-file>\r\n </div>\r\n}\r\n" }]
1612
1660
  }] });
1613
1661
 
1614
1662
  //TODO InputTelValueWithId добавить в компонент
@@ -1632,11 +1680,11 @@ class InputPhoneComponent extends BaseFieldComponent {
1632
1680
  });
1633
1681
  }
1634
1682
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputPhoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1635
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputPhoneComponent, selector: "app-input-phone", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-phone-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-tel\r\n [ngModel]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [onlyCountries]=\"onlyCountries\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [readonly]=\"false\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-tel>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.InputTelComponent, selector: "mrx-input-tel", inputs: ["fields", "disabled", "readonly", "maxLength", "customClasses", "size", "cssClass", "preferredCountries", "onlyCountries", "enableAutoCountrySelect", "enablePlaceholder", "customPlaceholder", "numberFormat", "searchCountryFlag", "searchCountryField", "searchCountryPlaceholder", "selectFirstCountry", "phoneValidation", "inputId", "selectedCountryISO", "separateDialCode", "autoDealCode", "autoCloseDropdown", "invalid", "invalidMessage", "invalidPhoneMessage", "checkInvalid"], outputs: ["changed", "modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1683
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputPhoneComponent, selector: "app-input-phone", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-phone-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-tel\r\n [ngModel]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [onlyCountries]=\"onlyCountries\"\r\n [disabled]=\"disabled\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [readonly]=\"false\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-tel>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.InputTelComponent, selector: "mrx-input-tel", inputs: ["fields", "disabled", "readonly", "maxLength", "customClasses", "size", "cssClass", "preferredCountries", "onlyCountries", "enableAutoCountrySelect", "enablePlaceholder", "customPlaceholder", "numberFormat", "searchCountryFlag", "searchCountryField", "searchCountryPlaceholder", "selectFirstCountry", "phoneValidation", "inputId", "selectedCountryISO", "separateDialCode", "autoDealCode", "autoCloseDropdown", "invalid", "invalidMessage", "invalidPhoneMessage", "checkInvalid"], outputs: ["changed", "modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1636
1684
  }
1637
1685
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputPhoneComponent, decorators: [{
1638
1686
  type: Component,
1639
- args: [{ selector: 'app-input-phone', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-phone-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-tel\r\n [ngModel]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [onlyCountries]=\"onlyCountries\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [readonly]=\"false\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-tel>\r\n </div>\r\n}\r\n" }]
1687
+ args: [{ selector: 'app-input-phone', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-phone-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-tel\r\n [ngModel]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [onlyCountries]=\"onlyCountries\"\r\n [disabled]=\"disabled\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [readonly]=\"false\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-tel>\r\n </div>\r\n}\r\n" }]
1640
1688
  }] });
1641
1689
 
1642
1690
  class InputCheckboxGroupComponent extends BaseFieldComponent {
@@ -1674,11 +1722,11 @@ class InputCheckboxGroupComponent extends BaseFieldComponent {
1674
1722
  return result.join(', ');
1675
1723
  }
1676
1724
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputCheckboxGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1677
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputCheckboxGroupComponent, selector: "app-input-checkbox-group", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"checkbox-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-checkbox-group\r\n [(ngModel)]=\"value\"\r\n [items]=\"list\"\r\n [fields]=\"autosaveFields\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-checkbox-group>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: ["fields", "scrollMaxHeight", "searchable", "scrollable", "sortable", "disabled", "readonly", "enableMessage", "searchPlaceholder", "customClasses", "tooltip", "labelText", "linkText", "invalid", "invalidMessage", "items"], outputs: ["changed", "modelChange", "changedInner", "modelChangeInner", "modelItemChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1725
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputCheckboxGroupComponent, selector: "app-input-checkbox-group", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"checkbox-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-checkbox-group\r\n [(ngModel)]=\"value\"\r\n [items]=\"list\"\r\n [fields]=\"autosaveFields\"\r\n [invalid]=\"getInvalid\"\r\n [disabled]=\"disabled\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-checkbox-group>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: ["fields", "scrollMaxHeight", "searchable", "scrollable", "sortable", "disabled", "readonly", "enableMessage", "searchPlaceholder", "customClasses", "tooltip", "labelText", "linkText", "invalid", "invalidMessage", "items"], outputs: ["changed", "modelChange", "changedInner", "modelChangeInner", "modelItemChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1678
1726
  }
1679
1727
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputCheckboxGroupComponent, decorators: [{
1680
1728
  type: Component,
1681
- args: [{ selector: 'app-input-checkbox-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"checkbox-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-checkbox-group\r\n [(ngModel)]=\"value\"\r\n [items]=\"list\"\r\n [fields]=\"autosaveFields\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-checkbox-group>\r\n </div>\r\n}\r\n" }]
1729
+ args: [{ selector: 'app-input-checkbox-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"checkbox-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 [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-checkbox-group\r\n [(ngModel)]=\"value\"\r\n [items]=\"list\"\r\n [fields]=\"autosaveFields\"\r\n [invalid]=\"getInvalid\"\r\n [disabled]=\"disabled\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-checkbox-group>\r\n </div>\r\n}\r\n" }]
1682
1730
  }] });
1683
1731
 
1684
1732
  class InputRadioGroupComponent extends BaseFieldComponent {
@@ -1715,11 +1763,11 @@ class InputRadioGroupComponent extends BaseFieldComponent {
1715
1763
  .map(x => x.text).join(', ');
1716
1764
  }
1717
1765
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputRadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1718
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputRadioGroupComponent, selector: "app-input-radio-group", usesInheritance: true, ngImport: i0, 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 [customClasses]=\"'mt-2'\"\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 [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-radio-group>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.RadioGroupComponent, selector: "mrx-radio-group", inputs: ["fields", "searchSize", "name", "scrollMaxHeight", "searchable", "bold", "scrollable", "sortable", "disabled", "readonly", "enableMessage", "searchPlaceholder", "customClasses", "required", "invalid", "invalidMessage", "checkInvalid", "tooltip", "labelText", "items"], outputs: ["changed", "modelChange", "modelCheckedChange", "modelItemChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1766
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputRadioGroupComponent, selector: "app-input-radio-group", usesInheritance: true, ngImport: i0, 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 [customClasses]=\"'mt-2'\"\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", styles: [""], dependencies: [{ kind: "component", type: i1$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.RadioGroupComponent, selector: "mrx-radio-group", inputs: ["fields", "searchSize", "name", "scrollMaxHeight", "searchable", "bold", "scrollable", "sortable", "disabled", "readonly", "enableMessage", "searchPlaceholder", "customClasses", "required", "invalid", "invalidMessage", "checkInvalid", "tooltip", "labelText", "items"], outputs: ["changed", "modelChange", "modelCheckedChange", "modelItemChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1719
1767
  }
1720
1768
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputRadioGroupComponent, decorators: [{
1721
1769
  type: Component,
1722
- 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 [customClasses]=\"'mt-2'\"\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 [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-radio-group>\r\n </div>\r\n}\r\n" }]
1770
+ 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 [customClasses]=\"'mt-2'\"\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" }]
1723
1771
  }] });
1724
1772
 
1725
1773
  class FormDispenserModal {
@@ -1861,6 +1909,7 @@ class InputTableComponent {
1861
1909
  this._changeSubject$ = new Subject();
1862
1910
  this._subscriptions$ = [];
1863
1911
  this._isCheckRequired = false;
1912
+ this._canEditObject = false;
1864
1913
  this.dataSource = [];
1865
1914
  this.columns = [];
1866
1915
  this.values = [];
@@ -1881,6 +1930,11 @@ class InputTableComponent {
1881
1930
  this._isCheckRequired = result;
1882
1931
  this._detector.detectChanges();
1883
1932
  }));
1933
+ this._subscriptions$.push(this._store.select(selectCanEditObject)
1934
+ .subscribe(result => {
1935
+ this._canEditObject = result;
1936
+ this._detector.detectChanges();
1937
+ }));
1884
1938
  this._subscriptions$.push(this._store.select(selectValueModel(this.settings))
1885
1939
  .subscribe((result) => {
1886
1940
  const cloneResult = structuredClone(result);
@@ -1916,6 +1970,9 @@ class InputTableComponent {
1916
1970
  this._changeSubject$.next(this.model);
1917
1971
  }
1918
1972
  }
1973
+ get disabled() {
1974
+ return !this._canEditObject;
1975
+ }
1919
1976
  editRow(event) {
1920
1977
  const findRow = this.model.data.find(item => item.id === event.row.data.id);
1921
1978
  if (findRow) {
@@ -2026,11 +2083,11 @@ class InputTableComponent {
2026
2083
  return column;
2027
2084
  }
2028
2085
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2029
- 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 [customClasses]=\"'mt-2'\"\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 >\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]=\"'tertiary'\"\r\n [customClasses]=\"'px-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (isTotalColumn(component)) {\r\n <dxi-total-item [column]=\"component.sysName\" [displayFormat]=\"'{0}'\"></dxi-total-item>\r\n } @else {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"'\u0418\u0422\u041E\u0413\u041E'\"\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 <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 .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{top:-24px}: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$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$1.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$1.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$1.DxoSummaryComponent, selector: "dxo-summary", inputs: ["calculateCustomSummary", "groupItems", "recalculateWhileEditing", "skipEmptyValues", "texts", "totalItems"] }, { kind: "component", type: i3$1.DxiTotalItemComponent, selector: "dxi-total-item", inputs: ["alignment", "column", "cssClass", "customizeText", "displayFormat", "name", "showInColumn", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "component", type: i3$1.DxoToolbarComponent, selector: "dxo-toolbar", inputs: ["disabled", "items", "visible", "fileSelectionItems", "container", "multiline"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2086
+ 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 [customClasses]=\"'mt-2'\"\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 >\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]=\"'tertiary'\"\r\n [customClasses]=\"'px-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (isTotalColumn(component)) {\r\n <dxi-total-item [column]=\"component.sysName\" [displayFormat]=\"'{0}'\"></dxi-total-item>\r\n } @else {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"'\u0418\u0422\u041E\u0413\u041E'\"\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 <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 .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{top:-24px}: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$1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1$1.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$1.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$1.DxoSummaryComponent, selector: "dxo-summary", inputs: ["calculateCustomSummary", "groupItems", "recalculateWhileEditing", "skipEmptyValues", "texts", "totalItems"] }, { kind: "component", type: i3$1.DxiTotalItemComponent, selector: "dxi-total-item", inputs: ["alignment", "column", "cssClass", "customizeText", "displayFormat", "name", "showInColumn", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "component", type: i3$1.DxoToolbarComponent, selector: "dxo-toolbar", inputs: ["disabled", "items", "visible", "fileSelectionItems", "container", "multiline"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2030
2087
  }
2031
2088
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableComponent, decorators: [{
2032
2089
  type: Component,
2033
- 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 [customClasses]=\"'mt-2'\"\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 >\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]=\"'tertiary'\"\r\n [customClasses]=\"'px-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (isTotalColumn(component)) {\r\n <dxi-total-item [column]=\"component.sysName\" [displayFormat]=\"'{0}'\"></dxi-total-item>\r\n } @else {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"'\u0418\u0422\u041E\u0413\u041E'\"\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 <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 .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{top:-24px}: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"] }]
2090
+ 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 [customClasses]=\"'mt-2'\"\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 >\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]=\"'tertiary'\"\r\n [customClasses]=\"'px-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\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-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (isTotalColumn(component)) {\r\n <dxi-total-item [column]=\"component.sysName\" [displayFormat]=\"'{0}'\"></dxi-total-item>\r\n } @else {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"'\u0418\u0422\u041E\u0413\u041E'\"\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 <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 .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{top:-24px}: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"] }]
2034
2091
  }], propDecorators: { values: [{
2035
2092
  type: Input
2036
2093
  }], data: [{
@@ -2054,11 +2111,11 @@ class ContentTitleComponent extends BaseElementComponent {
2054
2111
  return this.settings.options.size === 'large' ? '-large' : this.settings.options.size === 'medium' ? '-medium' : '-small';
2055
2112
  }
2056
2113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2057
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ContentTitleComponent, selector: "app-content-title", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"content-title-content\">\r\n <h4\r\n class=\"content-title-content__title mt-12px\"\r\n [class]=\"getSizeClass\"\r\n [class.mb-2]=\"settings.options.text && (settings.options.size === 'large' || settings.options.size === 'medium')\"\r\n [class.mb-1]=\"settings.options.text && (settings.options.size === 'small')\"\r\n >\r\n {{ settings.options.title }}\r\n </h4>\r\n\r\n <p class=\"content-title-content__text\" [innerHTML]=\"settings.options.text\"></p>\r\n </div>\r\n}\r\n", styles: [".content-title-content__title{color:var(--neutral-text-primary, #262626);font-style:normal}.content-title-content__title.-large{font-family:var(--headlines-lvl-4-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-4-font-size, 18px);line-height:var(--headlines-lvl-4-line-height, 24px);font-weight:var(--headlines-lvl-4-font-weight, 700)}.content-title-content__title.-medium{font-family:var(--headlines-lvl-5-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-5-font-size, 18px);line-height:var(--headlines-lvl-5-line-height, 24px);font-weight:var(--headlines-lvl-5-font-weight, 700)}.content-title-content__title.-small{font-family:var(--headlines-lvl-6-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-6-font-size, 18px);line-height:var(--headlines-lvl-6-line-height, 24px);font-weight:var(--headlines-lvl-6-font-weight, 700)}.content-title-content__text{color:var(--neutral-text-primary, #262626);font-style:normal;font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);line-height:var(--body-md-line-height, 20px);font-weight:var(--body-md-font-weight, 400)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ContentTitleComponent, selector: "app-content-title", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"content-title-content\">\r\n <h4\r\n class=\"content-title-content__title mt-12px\"\r\n [class]=\"getSizeClass\"\r\n [class.mb-2]=\"settings.options.text && (settings.options.size === 'large' || settings.options.size === 'medium')\"\r\n [class.mb-1]=\"settings.options.text && (settings.options.size === 'small')\"\r\n >\r\n {{ settings.options.label }}\r\n </h4>\r\n\r\n <p class=\"content-title-content__text\" [innerHTML]=\"settings.options.text\"></p>\r\n </div>\r\n}\r\n", styles: [".content-title-content__title{color:var(--neutral-text-primary, #262626);font-style:normal}.content-title-content__title.-large{font-family:var(--headlines-lvl-4-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-4-font-size, 18px);line-height:var(--headlines-lvl-4-line-height, 24px);font-weight:var(--headlines-lvl-4-font-weight, 700)}.content-title-content__title.-medium{font-family:var(--headlines-lvl-5-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-5-font-size, 18px);line-height:var(--headlines-lvl-5-line-height, 24px);font-weight:var(--headlines-lvl-5-font-weight, 700)}.content-title-content__title.-small{font-family:var(--headlines-lvl-6-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-6-font-size, 18px);line-height:var(--headlines-lvl-6-line-height, 24px);font-weight:var(--headlines-lvl-6-font-weight, 700)}.content-title-content__text{color:var(--neutral-text-primary, #262626);font-style:normal;font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);line-height:var(--body-md-line-height, 20px);font-weight:var(--body-md-font-weight, 400)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2058
2115
  }
2059
2116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentTitleComponent, decorators: [{
2060
2117
  type: Component,
2061
- args: [{ selector: 'app-content-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"content-title-content\">\r\n <h4\r\n class=\"content-title-content__title mt-12px\"\r\n [class]=\"getSizeClass\"\r\n [class.mb-2]=\"settings.options.text && (settings.options.size === 'large' || settings.options.size === 'medium')\"\r\n [class.mb-1]=\"settings.options.text && (settings.options.size === 'small')\"\r\n >\r\n {{ settings.options.title }}\r\n </h4>\r\n\r\n <p class=\"content-title-content__text\" [innerHTML]=\"settings.options.text\"></p>\r\n </div>\r\n}\r\n", styles: [".content-title-content__title{color:var(--neutral-text-primary, #262626);font-style:normal}.content-title-content__title.-large{font-family:var(--headlines-lvl-4-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-4-font-size, 18px);line-height:var(--headlines-lvl-4-line-height, 24px);font-weight:var(--headlines-lvl-4-font-weight, 700)}.content-title-content__title.-medium{font-family:var(--headlines-lvl-5-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-5-font-size, 18px);line-height:var(--headlines-lvl-5-line-height, 24px);font-weight:var(--headlines-lvl-5-font-weight, 700)}.content-title-content__title.-small{font-family:var(--headlines-lvl-6-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-6-font-size, 18px);line-height:var(--headlines-lvl-6-line-height, 24px);font-weight:var(--headlines-lvl-6-font-weight, 700)}.content-title-content__text{color:var(--neutral-text-primary, #262626);font-style:normal;font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);line-height:var(--body-md-line-height, 20px);font-weight:var(--body-md-font-weight, 400)}\n"] }]
2118
+ args: [{ selector: 'app-content-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"content-title-content\">\r\n <h4\r\n class=\"content-title-content__title mt-12px\"\r\n [class]=\"getSizeClass\"\r\n [class.mb-2]=\"settings.options.text && (settings.options.size === 'large' || settings.options.size === 'medium')\"\r\n [class.mb-1]=\"settings.options.text && (settings.options.size === 'small')\"\r\n >\r\n {{ settings.options.label }}\r\n </h4>\r\n\r\n <p class=\"content-title-content__text\" [innerHTML]=\"settings.options.text\"></p>\r\n </div>\r\n}\r\n", styles: [".content-title-content__title{color:var(--neutral-text-primary, #262626);font-style:normal}.content-title-content__title.-large{font-family:var(--headlines-lvl-4-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-4-font-size, 18px);line-height:var(--headlines-lvl-4-line-height, 24px);font-weight:var(--headlines-lvl-4-font-weight, 700)}.content-title-content__title.-medium{font-family:var(--headlines-lvl-5-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-5-font-size, 18px);line-height:var(--headlines-lvl-5-line-height, 24px);font-weight:var(--headlines-lvl-5-font-weight, 700)}.content-title-content__title.-small{font-family:var(--headlines-lvl-6-font-family, \"PT Sans Caption\");font-size:var(--headlines-lvl-6-font-size, 18px);line-height:var(--headlines-lvl-6-line-height, 24px);font-weight:var(--headlines-lvl-6-font-weight, 700)}.content-title-content__text{color:var(--neutral-text-primary, #262626);font-style:normal;font-family:var(--body-md-font-family, \"PT Sans\");font-size:var(--body-md-font-size, 14px);line-height:var(--body-md-line-height, 20px);font-weight:var(--body-md-font-weight, 400)}\n"] }]
2062
2119
  }] });
2063
2120
 
2064
2121
  class ContentTextComponent extends BaseElementComponent {
@@ -2209,18 +2266,15 @@ class ApplicationContent {
2209
2266
  this._store = inject(Store);
2210
2267
  this.sectionSettings$ = this._store.select(selectSectionSettings);
2211
2268
  }
2212
- changeCheckRequiredState() {
2213
- this._store.dispatch(toggleCheckRequired());
2214
- }
2215
2269
  componentValueChanged(model) {
2216
2270
  this._store.dispatch(updateValues({ value: model }));
2217
2271
  }
2218
2272
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ApplicationContent, selector: "app-object-form-content", ngImport: i0, template: "<mrx-content-wrapper maxWidth=\"1144px\" customClasses=\"px-3\">\r\n @if (sectionSettings$ | async) {\r\n <mrx-content-wrapper type=\"default\" maxWidth=\"1112px\">\r\n <div class=\"row mb-4 mt-12px\">\r\n <div class=\"col\">\r\n <div class=\"application-form__title\">\r\n <h3>{{ (sectionSettings$ | async)?.options?.title }}</h3>\r\n <mrx-link type=\"pseudo\" [prevent]=\"true\" (click)=\"changeCheckRequiredState()\">\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443</mrx-link>\r\n </div>\r\n </div>\r\n </div>\r\n </mrx-content-wrapper>\r\n\r\n <mrx-content-wrapper type=\"colored\" maxWidth=\"1112px\">\r\n <app-form-dispenser\r\n [sectionSettings]=\"sectionSettings$ | async\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser>\r\n </mrx-content-wrapper>\r\n }\r\n</mrx-content-wrapper>\r\n\r\n\r\n", styles: ["::ng-deep .application-form__title{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px}::ng-deep .application-form__content{row-gap:16px}::ng-deep .application-form__group .row{row-gap:16px}\n"], dependencies: [{ kind: "component", type: FormDispenser, selector: "app-form-dispenser", inputs: ["sectionSettings", "values", "valueMode"], outputs: ["changed"] }, { kind: "component", type: i1$1.ContentWrapperComponent, selector: "mrx-content-wrapper", inputs: ["type", "customClasses", "maxWidth"] }, { kind: "component", type: i1$1.LinkComponent, selector: "mrx-link", inputs: ["href", "target", "routerLink", "queryParams", "type", "monochrome", "customClasses", "prevent", "size"], outputs: ["clicked"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2273
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ApplicationContent, selector: "app-object-form-content", ngImport: i0, template: "<mrx-content-wrapper maxWidth=\"1144px\" customClasses=\"px-3\">\r\n @if (sectionSettings$ | async) {\r\n <mrx-content-wrapper type=\"default\" maxWidth=\"1112px\">\r\n <div class=\"row mb-4 mt-12px\">\r\n <div class=\"col\">\r\n <div class=\"application-form__title\">\r\n <h3>{{ (sectionSettings$ | async)?.options?.title }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n </mrx-content-wrapper>\r\n\r\n <mrx-content-wrapper type=\"colored\" maxWidth=\"1112px\">\r\n <app-form-dispenser\r\n [sectionSettings]=\"sectionSettings$ | async\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser>\r\n </mrx-content-wrapper>\r\n }\r\n</mrx-content-wrapper>\r\n\r\n\r\n", styles: ["::ng-deep .application-form__title{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px}::ng-deep .application-form__content{row-gap:16px}::ng-deep .application-form__group .row{row-gap:16px}\n"], dependencies: [{ kind: "component", type: FormDispenser, selector: "app-form-dispenser", inputs: ["sectionSettings", "values", "valueMode"], outputs: ["changed"] }, { kind: "component", type: i1$1.ContentWrapperComponent, selector: "mrx-content-wrapper", inputs: ["type", "customClasses", "maxWidth"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2220
2274
  }
2221
2275
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationContent, decorators: [{
2222
2276
  type: Component,
2223
- args: [{ selector: 'app-object-form-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mrx-content-wrapper maxWidth=\"1144px\" customClasses=\"px-3\">\r\n @if (sectionSettings$ | async) {\r\n <mrx-content-wrapper type=\"default\" maxWidth=\"1112px\">\r\n <div class=\"row mb-4 mt-12px\">\r\n <div class=\"col\">\r\n <div class=\"application-form__title\">\r\n <h3>{{ (sectionSettings$ | async)?.options?.title }}</h3>\r\n <mrx-link type=\"pseudo\" [prevent]=\"true\" (click)=\"changeCheckRequiredState()\">\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443</mrx-link>\r\n </div>\r\n </div>\r\n </div>\r\n </mrx-content-wrapper>\r\n\r\n <mrx-content-wrapper type=\"colored\" maxWidth=\"1112px\">\r\n <app-form-dispenser\r\n [sectionSettings]=\"sectionSettings$ | async\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser>\r\n </mrx-content-wrapper>\r\n }\r\n</mrx-content-wrapper>\r\n\r\n\r\n", styles: ["::ng-deep .application-form__title{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px}::ng-deep .application-form__content{row-gap:16px}::ng-deep .application-form__group .row{row-gap:16px}\n"] }]
2277
+ args: [{ selector: 'app-object-form-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mrx-content-wrapper maxWidth=\"1144px\" customClasses=\"px-3\">\r\n @if (sectionSettings$ | async) {\r\n <mrx-content-wrapper type=\"default\" maxWidth=\"1112px\">\r\n <div class=\"row mb-4 mt-12px\">\r\n <div class=\"col\">\r\n <div class=\"application-form__title\">\r\n <h3>{{ (sectionSettings$ | async)?.options?.title }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n </mrx-content-wrapper>\r\n\r\n <mrx-content-wrapper type=\"colored\" maxWidth=\"1112px\">\r\n <app-form-dispenser\r\n [sectionSettings]=\"sectionSettings$ | async\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser>\r\n </mrx-content-wrapper>\r\n }\r\n</mrx-content-wrapper>\r\n\r\n\r\n", styles: ["::ng-deep .application-form__title{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:8px 16px}::ng-deep .application-form__content{row-gap:16px}::ng-deep .application-form__group .row{row-gap:16px}\n"] }]
2224
2278
  }] });
2225
2279
 
2226
2280
  const routes = [
@@ -2474,17 +2528,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2474
2528
  }]
2475
2529
  }] });
2476
2530
 
2477
- function isNumeric(str) {
2478
- if (typeof str != 'string') {
2479
- return false; // we only process strings!
2480
- }
2481
- return !isNaN(str) && !isNaN(parseInt(str)) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...
2482
- !isNaN(parseFloat(str)); // ...and ensure strings of whitespace fail
2483
- }
2484
- const isNullOrUndefined = (model) => {
2485
- return model === null || typeof model === 'undefined';
2486
- };
2487
-
2488
2531
  /*
2489
2532
  * Public API Surface of myrtex-form
2490
2533
  */
@@ -2493,5 +2536,5 @@ const isNullOrUndefined = (model) => {
2493
2536
  * Generated bundle index. Do not edit.
2494
2537
  */
2495
2538
 
2496
- 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, ObjectFormEffects, ObjectFormModule, SECTION_SYS_NAME_NAME, STATE_NAME, SharedFormModule, TEMPLATE_SYS_NAME_NAME, TemplateComponentsGroupTypeEnum, TemplateComponentsGroupTypeLabels, TemplateStatus, ValueType, conditionOperatorTypeLabel, getConditionOperatorsList, getDependenceActionsList, getTemplateStatusText, initialObjectFormState, initialSharedFormState, isNullOrUndefined, isNumeric, objectForm_actions as objectFormActions, objectForm_selector as objectFormSelectors, objectReducer, sharedFormReducer, sharedForm_selector as sharedSelectors };
2539
+ 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 };
2497
2540
  //# sourceMappingURL=myrtex-org-form.mjs.map