@myrtex-org/form 1.0.18 → 1.0.19

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 (20) hide show
  1. package/esm2022/lib/modules/object-form/components/elements/base/base-field/base-field.component.mjs +15 -2
  2. package/esm2022/lib/modules/object-form/components/elements/input/number/input-number.component.mjs +13 -3
  3. package/esm2022/lib/modules/object-form/components/elements/input/text/input-text.component.mjs +12 -3
  4. package/esm2022/lib/modules/object-form/components/elements/input/textarea/input-textarea.component.mjs +12 -3
  5. package/esm2022/lib/modules/object-form/components/object-form-content/object-form-content.component.mjs +7 -7
  6. package/esm2022/lib/modules/object-form/models/elemets/inputs/input-textarea.model.mjs +1 -1
  7. package/esm2022/lib/modules/object-form/object-form.module.mjs +8 -5
  8. package/esm2022/lib/modules/object-form/store/object-form.reducers.mjs +1 -2
  9. package/fesm2022/myrtex-org-form.mjs +59 -17
  10. package/fesm2022/myrtex-org-form.mjs.map +1 -1
  11. package/lib/modules/object-form/components/elements/base/base-field/base-field.component.d.ts +2 -0
  12. package/lib/modules/object-form/components/elements/input/number/input-number.component.d.ts +4 -0
  13. package/lib/modules/object-form/components/elements/input/table/input-table.component.d.ts +1 -1
  14. package/lib/modules/object-form/components/elements/input/text/input-text.component.d.ts +4 -0
  15. package/lib/modules/object-form/components/elements/input/textarea/input-textarea.component.d.ts +4 -0
  16. package/lib/modules/object-form/components/object-form-content/object-form-content.component.d.ts +0 -1
  17. package/lib/modules/object-form/models/elemets/inputs/input-textarea.model.d.ts +2 -2
  18. package/lib/modules/object-form/object-form.module.d.ts +1 -1
  19. package/lib/modules/object-form/store/object-form.effects.d.ts +12 -12
  20. package/package.json +1 -1
@@ -24,7 +24,6 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(objectForm
24
24
  // т.к. зависимые поля могут находиться в других секциях, а их необходимо обнулять.
25
25
  return fromHelpers.getUpdatedValues(sectionValue, Array.isArray(value) ? value : [value], fromHelpers.getValuesToClean(dependenceRulesResults));
26
26
  });
27
- console.log(selectedSectionValues);
28
27
  return {
29
28
  ...state,
30
29
  sectionValues: selectedSectionValues,
@@ -83,4 +82,4 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(objectForm
83
82
  export function objectReducer(state, action) {
84
83
  return objectReducerCreator(state, action);
85
84
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0ucmVkdWNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vc3RvcmUvb2JqZWN0LWZvcm0ucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEtBQUssV0FBVyxNQUFNLFlBQVksQ0FBQztBQUcxQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FDeEMsc0JBQXNCLEVBQ3RCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLEVBQUUsRUFBRTtJQUNoRSxPQUFPLEVBQUMsR0FBRyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2hELE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUNBLGlCQUFpQixDQUFDLGlCQUFpQixFQUNuQyxDQUFDLEtBQUssRUFBRSxFQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFDLEVBQUUsRUFBRTtJQUNuRSxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixhQUFhLEVB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QUUsQ0FBQztJQUVoQixPQUFPLEVBQUMsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFrQyxFQUFFLE1BQWM7SUFDOUUsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IE9iamVjdEZvcm1TdGF0ZSwgb2JqZWN0Rm9ybUFjdGlvbnMgfSBmcm9tICcuLi9zdG9yZSc7XHJcbmltcG9ydCB7IGluaXRpYWxPYmplY3RGb3JtU3RhdGUgfSBmcm9tICcuL29iamVjdC1mb3JtLnN0YXRlJ1xyXG5pbXBvcnQgKiBhcyBmcm9tSGVscGVycyBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgRmllbGREZXBlbmRlbmNlTW9kZWwsIFNlY3Rpb25WYWx1ZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbmNvbnN0IG9iamVjdFJlZHVjZXJDcmVhdG9yID0gY3JlYXRlUmVkdWNlcihcclxuICBpbml0aWFsT2JqZWN0Rm9ybVN0YXRlLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnVwZGF0ZUFwaVVybCwgKHN0YXRlLCB7YXBpUHJlZml4LCBhcGlVcmx9KSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBhcGlQcmVmaXgsIGFwaVVybH07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZE9iamVjdFBlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiB0cnVlfTtcclxuICB9KSxcclxuICBvbihcclxuICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRPYmplY3RTdWNjZXNzLFxyXG4gICAgKHN0YXRlLCB7dGVtcGxhdGVTZXR0aW5ncywgc2VjdGlvblZhbHVlcywgYXBwbGljYXRpb25JZCwgaXNEcmFmdH0pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiB0ZW1wbGF0ZVNldHRpbmdzLFxyXG4gICAgICAgIHNlY3Rpb25WYWx1ZXM6IHNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgICAgaXNFZGl0ZWQ6IGlzRHJhZnQsXHJcbiAgICAgICAgbWVudU1vZGVsOiBmcm9tSGVscGVycy5nZXRNZW51TW9kZWwoc3RhdGUuYXBpUHJlZml4LCB0ZW1wbGF0ZVNldHRpbmdzLCBzZWN0aW9uVmFsdWVzLCBhcHBsaWNhdGlvbklkKVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZE9iamVjdEVycm9yLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzTG9hZGluZzogZmFsc2V9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnVwZGF0ZVZhbHVlcywgKHN0YXRlLCB7dmFsdWV9KSA9PiB7XHJcblxyXG4gICAgY29uc3QgZGVwZW5kZW5jZVJ1bGVzUmVzdWx0cyA9IGZyb21IZWxwZXJzLmdldERlcGVuZGVuY2VSdWxlc1Jlc3VsdHMoXHJcbiAgICAgIHN0YXRlLmRlcGVuZGVuY3lSdWxlQ2hlY2tSZXN1bHRzLFxyXG4gICAgICBzdGF0ZS5zZWN0aW9uVmFsdWVzLFxyXG4gICAgICB2YWx1ZSxcclxuICAgICAgc3RhdGUuc2V0dGluZ3M/LmRlcGVuZGVuY2VSdWxlcy5ydWxlc1xyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZFNlY3Rpb25WYWx1ZXMgPSBzdGF0ZS5zZWN0aW9uVmFsdWVzLm1hcCgoc2VjdGlvblZhbHVlOiBTZWN0aW9uVmFsdWVNb2RlbCkgPT4ge1xyXG4gICAgICAvLyDQv9GA0LjRiNC70L7RgdGMINC+0YLQutCw0LfQsNGC0YzRgdGPINC+0YIg0YPRgdC70L7QstC40Y8g0L/RgNC+0LLQtdGA0LrQuCDQstGL0LHRgNCw0L3QvdC+0Lkg0YHQtdC60YbQuNC4LFxyXG4gICAgICAvLyDRgi7Qui4g0LfQsNCy0LjRgdC40LzRi9C1INC/0L7Qu9GPINC80L7Qs9GD0YIg0L3QsNGF0L7QtNC40YLRjNGB0Y8g0LIg0LTRgNGD0LPQuNGFINGB0LXQutGG0LjRj9GFLCDQsCDQuNGFINC90LXQvtCx0YXQvtC00LjQvNC+INC+0LHQvdGD0LvRj9GC0YwuXHJcbiAgICAgIHJldHVybiBmcm9tSGVscGVycy5nZXRVcGRhdGVkVmFsdWVzKFxyXG4gICAgICAgIHNlY3Rpb25WYWx1ZSxcclxuICAgICAgICBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXSxcclxuICAgICAgICBmcm9tSGVscGVycy5nZXRWYWx1ZXNUb0NsZWFuKGRlcGVuZGVuY2VSdWxlc1Jlc3VsdHMpXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhzZWxlY3RlZFNlY3Rpb25WYWx1ZXMpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICBzZWN0aW9uVmFsdWVzOiBzZWxlY3RlZFNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgIGlzRWRpdGVkOiB0cnVlLFxyXG4gICAgICBkZXBlbmRlbmN5UnVsZUNoZWNrUmVzdWx0czogZGVwZW5kZW5jZVJ1bGVzUmVzdWx0c1xyXG4gICAgfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlVmFsdWVzU3VjY2VzcywgKHN0YXRlLCB7cmVzdWx0LCBvYmplY3RJZH0pID0+IHtcclxuICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9uVmFsdWVzID0gc3RhdGUuc2VjdGlvblZhbHVlcy5tYXAoKHNlY3Rpb25WYWx1ZTogU2VjdGlvblZhbHVlTW9kZWwpID0+IHtcclxuICAgICAgY29uc3Qgc2VjdGlvbiA9IHtcclxuICAgICAgICAuLi5zZWN0aW9uVmFsdWUsXHJcbiAgICAgICAgcGVyY2VudDogcmVzdWx0LmZpbGxuZXNzLmZpbmQoeCA9PiB4Lm5hbWUgPT09IHNlY3Rpb25WYWx1ZS5zeXNOYW1lKT8ucGVyY2VudCB8fCAwXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiBmcm9tSGVscGVycy5nZXRVcGRhdGVkVmFsdWVzKHNlY3Rpb24sIHJlc3VsdC52YWx1ZXMpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIHNlY3Rpb25WYWx1ZXM6IHVwZGF0ZWRTZWN0aW9uVmFsdWVzLFxyXG4gICAgICBpc0VkaXRlZDogdHJ1ZSxcclxuICAgICAgbWVudU1vZGVsOiBmcm9tSGVscGVycy5nZXRNZW51TW9kZWwoc3RhdGUuYXBpUHJlZml4LCBzdGF0ZS5zZXR0aW5ncywgdXBkYXRlZFNlY3Rpb25WYWx1ZXMsIG9iamVjdElkKVxyXG4gICAgfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlVmFsdWVzRXJyb3IsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZX07XHJcbiAgfSksXHJcblxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVPYmplY3RQZW5kaW5nLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzQXBwbGljYXRpb25TYXZlTG9hZGluZzogdHJ1ZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZU9iamVjdFN1Y2Nlc3MsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNBcHBsaWNhdGlvblNhdmVMb2FkaW5nOiBmYWxzZSwgaXNFZGl0ZWQ6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlT2JqZWN0RXJyb3IsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNBcHBsaWNhdGlvblNhdmVMb2FkaW5nOiBmYWxzZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlU2VsZWN0ZWRTZWN0aW9uU3lzTmFtZSwgKHN0YXRlLCB7c2VjdGlvblN5c05hbWV9KSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBzZWxlY3RlZFNlY3Rpb25TeXNOYW1lOiBzZWN0aW9uU3lzTmFtZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFNlY3Rpb25GaWxlc1BlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2VjdGlvbkZpbGVzOiBbXX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFNlY3Rpb25GaWxlc1N1Y2Nlc3MsIChzdGF0ZSwge3NlY3Rpb25GaWxlc30pID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIHNlY3Rpb25GaWxlczogc2VjdGlvbkZpbGVzfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy50b2dnbGVDaGVja1JlcXVpcmVkLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzQ2hlY2tSZXF1aXJlZDogIXN0YXRlLmlzQ2hlY2tSZXF1aXJlZH07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlQ2hlY2tSZXF1aXJlZCwgKHN0YXRlLCB7aXNDaGVja1JlcXVpcmVkfSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNDaGVja1JlcXVpcmVkOiBpc0NoZWNrUmVxdWlyZWR9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRQcmV2aWV3VGVtcGxhdGVQZW5kaW5nLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzTG9hZGluZzogdHJ1ZX07XHJcbiAgfSksXHJcbiAgb24oXHJcbiAgICBvYmplY3RGb3JtQWN0aW9ucy5sb2FkUHJldmlld1RlbXBsYXRlU3VjY2VzcyxcclxuICAgIChzdGF0ZSwge3RlbXBsYXRlU2V0dGluZ3MsIHRlbXBsYXRlU3lzTmFtZX0pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiB0ZW1wbGF0ZVNldHRpbmdzLFxyXG4gICAgICAgIG1lbnVNb2RlbDogZnJvbUhlbHBlcnMuZ2V0UHJldmlld01lbnVNb2RlbChzdGF0ZS5hcGlQcmVmaXgsIHRlbXBsYXRlU2V0dGluZ3MsIHRlbXBsYXRlU3lzTmFtZSlcclxuICAgICAgfTtcclxuICAgIH1cclxuICApLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLmxvYWRQcmV2aWV3VGVtcGxhdGVFcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0xvYWRpbmc6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5jaGVja0FsbERlcGVuZGVuY3lSdWxlcywgKHN0YXRlKSA9PiB7XHJcblxyXG4gICAgY29uc3QgZGVwZW5kZW5jZVJlc3VsdHMgPSBzdGF0ZS5zZXR0aW5ncz8uZGVwZW5kZW5jZVJ1bGVzLnJ1bGVzXHJcbiAgICAgIC5tYXAoKHJ1bGU6IEZpZWxkRGVwZW5kZW5jZU1vZGVsKSA9PiAoZnJvbUhlbHBlcnMuY2hlY2tEZXBlbmRlbmNlUnVsZShydWxlLCBzdGF0ZS5zZWN0aW9uVmFsdWVzKSkpXHJcbiAgICAgIC5mbGF0KCkgfHwgW107XHJcblxyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgZGVwZW5kZW5jeVJ1bGVDaGVja1Jlc3VsdHM6IGRlcGVuZGVuY2VSZXN1bHRzfTtcclxuICB9KVxyXG4pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdFJlZHVjZXIoc3RhdGU6IE9iamVjdEZvcm1TdGF0ZSB8IHVuZGVmaW5lZCwgYWN0aW9uOiBBY3Rpb24pIHtcclxuICByZXR1cm4gb2JqZWN0UmVkdWNlckNyZWF0b3Ioc3RhdGUsIGFjdGlvbik7XHJcbn1cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0ucmVkdWNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vc3RvcmUvb2JqZWN0LWZvcm0ucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEtBQUssV0FBVyxNQUFNLFlBQVksQ0FBQztBQUcxQyxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FDeEMsc0JBQXNCLEVBQ3RCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLEVBQUUsRUFBRTtJQUNoRSxPQUFPLEVBQUMsR0FBRyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2hELE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUNBLGlCQUFpQixDQUFDLGlCQUFpQixFQUNuQyxDQUFDLEtBQUssRUFBRSxFQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFDLEVBQUUsRUFBRTtJQUNuRSxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsU0FBUyxFQUFFLEtBQUs7UUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixhQUFhLEVB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MEIsRUFBRSxpQkFBaUIsRUFBQyxDQUFDO0FBQ25FLENBQUMsQ0FBQyxDQUNILENBQUM7QUFFRixNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWtDLEVBQUUsTUFBYztJQUM5RSxPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgT2JqZWN0Rm9ybVN0YXRlLCBvYmplY3RGb3JtQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgaW5pdGlhbE9iamVjdEZvcm1TdGF0ZSB9IGZyb20gJy4vb2JqZWN0LWZvcm0uc3RhdGUnXHJcbmltcG9ydCAqIGFzIGZyb21IZWxwZXJzIGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBGaWVsZERlcGVuZGVuY2VNb2RlbCwgU2VjdGlvblZhbHVlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuY29uc3Qgb2JqZWN0UmVkdWNlckNyZWF0b3IgPSBjcmVhdGVSZWR1Y2VyKFxyXG4gIGluaXRpYWxPYmplY3RGb3JtU3RhdGUsXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlQXBpVXJsLCAoc3RhdGUsIHthcGlQcmVmaXgsIGFwaVVybH0pID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGFwaVByZWZpeCwgYXBpVXJsfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5sb2FkT2JqZWN0UGVuZGluZywgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0xvYWRpbmc6IHRydWV9O1xyXG4gIH0pLFxyXG4gIG9uKFxyXG4gICAgb2JqZWN0Rm9ybUFjdGlvbnMubG9hZE9iamVjdFN1Y2Nlc3MsXHJcbiAgICAoc3RhdGUsIHt0ZW1wbGF0ZVNldHRpbmdzLCBzZWN0aW9uVmFsdWVzLCBhcHBsaWNhdGlvbklkLCBpc0RyYWZ0fSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ3M6IHRlbXBsYXRlU2V0dGluZ3MsXHJcbiAgICAgICAgc2VjdGlvblZhbHVlczogc2VjdGlvblZhbHVlcyxcclxuICAgICAgICBpc0VkaXRlZDogaXNEcmFmdCxcclxuICAgICAgICBtZW51TW9kZWw6IGZyb21IZWxwZXJzLmdldE1lbnVNb2RlbChzdGF0ZS5hcGlQcmVmaXgsIHRlbXBsYXRlU2V0dGluZ3MsIHNlY3Rpb25WYWx1ZXMsIGFwcGxpY2F0aW9uSWQpXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgKSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5sb2FkT2JqZWN0RXJyb3IsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiBmYWxzZX07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlVmFsdWVzLCAoc3RhdGUsIHt2YWx1ZX0pID0+IHtcclxuICAgIGNvbnN0IGRlcGVuZGVuY2VSdWxlc1Jlc3VsdHMgPSBmcm9tSGVscGVycy5nZXREZXBlbmRlbmNlUnVsZXNSZXN1bHRzKFxyXG4gICAgICBzdGF0ZS5kZXBlbmRlbmN5UnVsZUNoZWNrUmVzdWx0cyxcclxuICAgICAgc3RhdGUuc2VjdGlvblZhbHVlcyxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHN0YXRlLnNldHRpbmdzPy5kZXBlbmRlbmNlUnVsZXMucnVsZXNcclxuICAgICk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRTZWN0aW9uVmFsdWVzID0gc3RhdGUuc2VjdGlvblZhbHVlcy5tYXAoKHNlY3Rpb25WYWx1ZTogU2VjdGlvblZhbHVlTW9kZWwpID0+IHtcclxuICAgICAgLy8g0L/RgNC40YjQu9C+0YHRjCDQvtGC0LrQsNC30LDRgtGM0YHRjyDQvtGCINGD0YHQu9C+0LLQuNGPINC/0YDQvtCy0LXRgNC60Lgg0LLRi9Cx0YDQsNC90L3QvtC5INGB0LXQutGG0LjQuCxcclxuICAgICAgLy8g0YIu0LouINC30LDQstC40YHQuNC80YvQtSDQv9C+0LvRjyDQvNC+0LPRg9GCINC90LDRhdC+0LTQuNGC0YzRgdGPINCyINC00YDRg9Cz0LjRhSDRgdC10LrRhtC40Y/RhSwg0LAg0LjRhSDQvdC10L7QsdGF0L7QtNC40LzQviDQvtCx0L3Rg9C70Y/RgtGMLlxyXG4gICAgICByZXR1cm4gZnJvbUhlbHBlcnMuZ2V0VXBkYXRlZFZhbHVlcyhcclxuICAgICAgICBzZWN0aW9uVmFsdWUsXHJcbiAgICAgICAgQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV0sXHJcbiAgICAgICAgZnJvbUhlbHBlcnMuZ2V0VmFsdWVzVG9DbGVhbihkZXBlbmRlbmNlUnVsZXNSZXN1bHRzKVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIHNlY3Rpb25WYWx1ZXM6IHNlbGVjdGVkU2VjdGlvblZhbHVlcyxcclxuICAgICAgaXNFZGl0ZWQ6IHRydWUsXHJcbiAgICAgIGRlcGVuZGVuY3lSdWxlQ2hlY2tSZXN1bHRzOiBkZXBlbmRlbmNlUnVsZXNSZXN1bHRzXHJcbiAgICB9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVWYWx1ZXNTdWNjZXNzLCAoc3RhdGUsIHtyZXN1bHQsIG9iamVjdElkfSkgPT4ge1xyXG4gICAgY29uc3QgdXBkYXRlZFNlY3Rpb25WYWx1ZXMgPSBzdGF0ZS5zZWN0aW9uVmFsdWVzLm1hcCgoc2VjdGlvblZhbHVlOiBTZWN0aW9uVmFsdWVNb2RlbCkgPT4ge1xyXG4gICAgICBjb25zdCBzZWN0aW9uID0ge1xyXG4gICAgICAgIC4uLnNlY3Rpb25WYWx1ZSxcclxuICAgICAgICBwZXJjZW50OiByZXN1bHQuZmlsbG5lc3MuZmluZCh4ID0+IHgubmFtZSA9PT0gc2VjdGlvblZhbHVlLnN5c05hbWUpPy5wZXJjZW50IHx8IDBcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIGZyb21IZWxwZXJzLmdldFVwZGF0ZWRWYWx1ZXMoc2VjdGlvbiwgcmVzdWx0LnZhbHVlcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgc2VjdGlvblZhbHVlczogdXBkYXRlZFNlY3Rpb25WYWx1ZXMsXHJcbiAgICAgIGlzRWRpdGVkOiB0cnVlLFxyXG4gICAgICBtZW51TW9kZWw6IGZyb21IZWxwZXJzLmdldE1lbnVNb2RlbChzdGF0ZS5hcGlQcmVmaXgsIHN0YXRlLnNldHRpbmdzLCB1cGRhdGVkU2VjdGlvblZhbHVlcywgb2JqZWN0SWQpXHJcbiAgICB9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVWYWx1ZXNFcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlfTtcclxuICB9KSxcclxuXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMuc2F2ZU9iamVjdFBlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNBcHBsaWNhdGlvblNhdmVMb2FkaW5nOiB0cnVlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5zYXZlT2JqZWN0U3VjY2VzcywgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0FwcGxpY2F0aW9uU2F2ZUxvYWRpbmc6IGZhbHNlLCBpc0VkaXRlZDogZmFsc2V9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnNhdmVPYmplY3RFcnJvciwgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0FwcGxpY2F0aW9uU2F2ZUxvYWRpbmc6IGZhbHNlfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy51cGRhdGVTZWxlY3RlZFNlY3Rpb25TeXNOYW1lLCAoc3RhdGUsIHtzZWN0aW9uU3lzTmFtZX0pID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIHNlbGVjdGVkU2VjdGlvblN5c05hbWU6IHNlY3Rpb25TeXNOYW1lfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5sb2FkU2VjdGlvbkZpbGVzUGVuZGluZywgKHN0YXRlKSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBzZWN0aW9uRmlsZXM6IFtdfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy5sb2FkU2VjdGlvbkZpbGVzU3VjY2VzcywgKHN0YXRlLCB7c2VjdGlvbkZpbGVzfSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2VjdGlvbkZpbGVzOiBzZWN0aW9uRmlsZXN9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLnRvZ2dsZUNoZWNrUmVxdWlyZWQsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNDaGVja1JlcXVpcmVkOiAhc3RhdGUuaXNDaGVja1JlcXVpcmVkfTtcclxuICB9KSxcclxuICBvbihvYmplY3RGb3JtQWN0aW9ucy51cGRhdGVDaGVja1JlcXVpcmVkLCAoc3RhdGUsIHtpc0NoZWNrUmVxdWlyZWR9KSA9PiB7XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBpc0NoZWNrUmVxdWlyZWQ6IGlzQ2hlY2tSZXF1aXJlZH07XHJcbiAgfSksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFByZXZpZXdUZW1wbGF0ZVBlbmRpbmcsIChzdGF0ZSkgPT4ge1xyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgaXNMb2FkaW5nOiB0cnVlfTtcclxuICB9KSxcclxuICBvbihcclxuICAgIG9iamVjdEZvcm1BY3Rpb25zLmxvYWRQcmV2aWV3VGVtcGxhdGVTdWNjZXNzLFxyXG4gICAgKHN0YXRlLCB7dGVtcGxhdGVTZXR0aW5ncywgdGVtcGxhdGVTeXNOYW1lfSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ3M6IHRlbXBsYXRlU2V0dGluZ3MsXHJcbiAgICAgICAgbWVudU1vZGVsOiBmcm9tSGVscGVycy5nZXRQcmV2aWV3TWVudU1vZGVsKHN0YXRlLmFwaVByZWZpeCwgdGVtcGxhdGVTZXR0aW5ncywgdGVtcGxhdGVTeXNOYW1lKVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICksXHJcbiAgb24ob2JqZWN0Rm9ybUFjdGlvbnMubG9hZFByZXZpZXdUZW1wbGF0ZUVycm9yLCAoc3RhdGUpID0+IHtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGlzTG9hZGluZzogZmFsc2V9O1xyXG4gIH0pLFxyXG4gIG9uKG9iamVjdEZvcm1BY3Rpb25zLmNoZWNrQWxsRGVwZW5kZW5jeVJ1bGVzLCAoc3RhdGUpID0+IHtcclxuXHJcbiAgICBjb25zdCBkZXBlbmRlbmNlUmVzdWx0cyA9IHN0YXRlLnNldHRpbmdzPy5kZXBlbmRlbmNlUnVsZXMucnVsZXNcclxuICAgICAgLm1hcCgocnVsZTogRmllbGREZXBlbmRlbmNlTW9kZWwpID0+IChmcm9tSGVscGVycy5jaGVja0RlcGVuZGVuY2VSdWxlKHJ1bGUsIHN0YXRlLnNlY3Rpb25WYWx1ZXMpKSlcclxuICAgICAgLmZsYXQoKSB8fCBbXTtcclxuXHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBkZXBlbmRlbmN5UnVsZUNoZWNrUmVzdWx0czogZGVwZW5kZW5jZVJlc3VsdHN9O1xyXG4gIH0pXHJcbik7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0UmVkdWNlcihzdGF0ZTogT2JqZWN0Rm9ybVN0YXRlIHwgdW5kZWZpbmVkLCBhY3Rpb246IEFjdGlvbikge1xyXG4gIHJldHVybiBvYmplY3RSZWR1Y2VyQ3JlYXRvcihzdGF0ZSwgYWN0aW9uKTtcclxufVxyXG4iXX0=
@@ -13,7 +13,7 @@ import * as i1 from '@ngrx/effects';
13
13
  import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
14
14
  import { of, forkJoin, Subject, throwError } from 'rxjs';
15
15
  import * as i1$1 from '@myrtex-org/ui';
16
- import { AutoSaveStore, ToasterType, LabelModule, ModalServiceComponent, MODAL_DATA, ModalModule, ButtonModule, ModalService, LoaderModule, InputTextModule, ContentWrapperModule, EditorModule, InputTextareaModule, CheckboxModule, SwitchModule, InputNumberModule, InputSelectModule, InputDateTimeModule, InputTimepickerModule, InputFileModule, AlertModule, CheckboxGroupModule, RadioGroupModule, DropdownModule, InputTelModule, LinkModule, ErrorMessageModule, ToasterServiceModule } from '@myrtex-org/ui';
16
+ import { AutoSaveStore, ToasterType, LabelModule, ModalServiceComponent, MODAL_DATA, ModalModule, ButtonModule, ModalService, LoaderModule, InputTextModule, ContentWrapperModule, EditorModule, InputTextareaModule, CheckboxModule, SwitchModule, InputNumberModule, InputSelectModule, InputDateTimeModule, InputTimepickerModule, InputFileModule, AlertModule, CheckboxGroupModule, RadioGroupModule, DropdownModule, InputTelModule, LinkModule, ErrorMessageModule, ToasterServiceModule, HintErrorMessageModule } from '@myrtex-org/ui';
17
17
  import { HttpHeaders, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';
18
18
  import * as i2$1 from '@myrtex-org/templates';
19
19
  import { FormHeaderModule, MenuAdminModule } from '@myrtex-org/templates';
@@ -610,7 +610,6 @@ const objectReducerCreator = createReducer(initialObjectFormState, on(updateApiU
610
610
  // т.к. зависимые поля могут находиться в других секциях, а их необходимо обнулять.
611
611
  return getUpdatedValues(sectionValue, Array.isArray(value) ? value : [value], getValuesToClean(dependenceRulesResults));
612
612
  });
613
- console.log(selectedSectionValues);
614
613
  return {
615
614
  ...state,
616
615
  sectionValues: selectedSectionValues,
@@ -1066,6 +1065,7 @@ class BaseFieldComponent {
1066
1065
  this._store = inject(Store);
1067
1066
  this._detector = inject(ChangeDetectorRef);
1068
1067
  this._subscriptions$ = [];
1068
+ this._changeSubject$ = new Subject();
1069
1069
  this._autoSaveStore = inject(AutoSaveStore);
1070
1070
  this._isCheckRequired = false;
1071
1071
  this.manualValues = [];
@@ -1084,6 +1084,13 @@ class BaseFieldComponent {
1084
1084
  }
1085
1085
  ngOnInit() {
1086
1086
  this._initModel();
1087
+ this._changeSubject$
1088
+ .pipe(debounceTime(500))
1089
+ .subscribe(model => {
1090
+ if (this._customValidate(this.model)) {
1091
+ this.changed.emit(this._transformOutputValue());
1092
+ }
1093
+ });
1087
1094
  this._subscriptions$.push(this._store.select(selectIsCheckRequired)
1088
1095
  .subscribe(result => {
1089
1096
  this._isCheckRequired = result;
@@ -1143,7 +1150,7 @@ class BaseFieldComponent {
1143
1150
  }));
1144
1151
  }
1145
1152
  _updateValue() {
1146
- this.changed.emit(this._transformOutputValue());
1153
+ this._changeSubject$.next(this._transformOutputValue());
1147
1154
  }
1148
1155
  _transformOutputValue() {
1149
1156
  return cloneDeep(this.model);
@@ -1153,6 +1160,9 @@ class BaseFieldComponent {
1153
1160
  _customInit() {
1154
1161
  this.model = this.model || defaultValueModel(this.settings);
1155
1162
  }
1163
+ _customValidate(model) {
1164
+ return true;
1165
+ }
1156
1166
  _initModel() {
1157
1167
  if (this.valueMode === 'manual') {
1158
1168
  this.model = cloneDeep(getValueModel(this.settings, this.manualValues)) || defaultValueModel(this.settings);
@@ -1185,19 +1195,29 @@ class InputTextComponent extends BaseFieldComponent {
1185
1195
  constructor() {
1186
1196
  super(...arguments);
1187
1197
  this.type = ComponentType.InputText;
1198
+ this.validateValue = '';
1199
+ }
1200
+ onChangeInput() {
1201
+ this.validateValue = this.model.value;
1202
+ }
1203
+ _customValidate(model) {
1204
+ this.validateValue = model.value;
1205
+ this._detector.markForCheck();
1206
+ return !(this.settings.options.minLength && model.value && this.settings.options.minLength > model.value.length);
1188
1207
  }
1189
1208
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1190
- 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 ></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.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 }); }
1191
1210
  }
1192
1211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextComponent, decorators: [{
1193
1212
  type: Component,
1194
- 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 ></mrx-input-text>\r\n </div>\r\n}\r\n" }]
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" }]
1195
1214
  }] });
1196
1215
 
1197
1216
  class InputTextareaComponent extends BaseFieldComponent {
1198
1217
  constructor() {
1199
1218
  super(...arguments);
1200
1219
  this.type = ComponentType.InputTextarea;
1220
+ this.validateValue = '';
1201
1221
  this.config = {
1202
1222
  buttons: []
1203
1223
  };
@@ -1224,12 +1244,20 @@ class InputTextareaComponent extends BaseFieldComponent {
1224
1244
  ]
1225
1245
  };
1226
1246
  }
1247
+ onChangeInput() {
1248
+ this.validateValue = this.model.value;
1249
+ }
1250
+ _customValidate(model) {
1251
+ this.validateValue = model.value;
1252
+ this._detector.markForCheck();
1253
+ return !(this.settings.options.minLength && model.value && this.settings.options.minLength > model.value.length);
1254
+ }
1227
1255
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1228
- 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 || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.min || 0\"\r\n [maxlength]=\"settings.options.max || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\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 (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-editor>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 || ''\"\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 (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 }); }
1229
1257
  }
1230
1258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextareaComponent, decorators: [{
1231
1259
  type: Component,
1232
- 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 || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.min || 0\"\r\n [maxlength]=\"settings.options.max || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\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 (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-editor>\r\n }\r\n </div>\r\n}\r\n" }]
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 || ''\"\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 (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" }]
1233
1261
  }] });
1234
1262
 
1235
1263
  class InputLinkComponent extends BaseFieldComponent {
@@ -1262,16 +1290,26 @@ class InputNumberComponent extends BaseFieldComponent {
1262
1290
  constructor() {
1263
1291
  super(...arguments);
1264
1292
  this.type = ComponentType.InputNumber;
1293
+ this.validateValue = 0;
1265
1294
  }
1266
1295
  get isReadonly() {
1267
1296
  return this.settings.options.inputState === InputState.Formula;
1268
1297
  }
1298
+ onChangeInput() {
1299
+ this.validateValue = this.model.value;
1300
+ }
1301
+ _customValidate(model) {
1302
+ this.validateValue = model.value;
1303
+ this._detector.markForCheck();
1304
+ return !(this.settings.options.minValue && model.value && this.settings.options.minValue > model.value ||
1305
+ this.settings.options.maxValue && model.value && this.settings.options.maxValue < model.value);
1306
+ }
1269
1307
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1270
- 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 [placeholder]=\"settings.options.placeholder || ''\"\r\n [minValue]=\"settings.options.minValue || 0\"\r\n [maxValue]=\"settings.options.maxValue || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-number>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 [placeholder]=\"settings.options.placeholder || ''\"\r\n\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\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 }); }
1271
1309
  }
1272
1310
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputNumberComponent, decorators: [{
1273
1311
  type: Component,
1274
- 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 [placeholder]=\"settings.options.placeholder || ''\"\r\n [minValue]=\"settings.options.minValue || 0\"\r\n [maxValue]=\"settings.options.maxValue || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-number>\r\n </div>\r\n}\r\n" }]
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 [placeholder]=\"settings.options.placeholder || ''\"\r\n\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\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" }]
1275
1313
  }] });
1276
1314
 
1277
1315
  class InputSelectComponent extends BaseFieldComponent {
@@ -2106,19 +2144,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2106
2144
  class ApplicationContent {
2107
2145
  constructor() {
2108
2146
  this._store = inject(Store);
2109
- this._changeSubject$ = new Subject();
2147
+ // private _changeSubject$: Subject<ComponentValueModel | ComponentValueModel[]> = new Subject<ComponentValueModel | ComponentValueModel[]>();
2110
2148
  this.sectionSettings$ = this._store.select(selectSectionSettings);
2111
2149
  }
2112
2150
  ngOnInit() {
2113
- this._changeSubject$.subscribe(model => {
2114
- this._store.dispatch(updateValues({ value: model }));
2115
- });
2151
+ // this._changeSubject$.subscribe(model => {
2152
+ //
2153
+ // });
2116
2154
  }
2117
2155
  changeCheckRequiredState() {
2118
2156
  this._store.dispatch(toggleCheckRequired());
2119
2157
  }
2120
2158
  componentValueChanged(model) {
2121
- this._changeSubject$.next(model);
2159
+ // this._changeSubject$.next(model);
2160
+ this._store.dispatch(updateValues({ value: model }));
2122
2161
  }
2123
2162
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplicationContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2124
2163
  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 }); }
@@ -2262,7 +2301,8 @@ class ObjectFormModule {
2262
2301
  DxoToolbarModule,
2263
2302
  ModalModule,
2264
2303
  ToasterServiceModule,
2265
- SharedFormModule] }); }
2304
+ SharedFormModule,
2305
+ HintErrorMessageModule] }); }
2266
2306
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectFormModule, providers: [
2267
2307
  ObjectFormService,
2268
2308
  ConcurrencyStoreService,
@@ -2306,7 +2346,8 @@ class ObjectFormModule {
2306
2346
  DxoToolbarModule,
2307
2347
  ModalModule,
2308
2348
  ToasterServiceModule,
2309
- SharedFormModule] }); }
2349
+ SharedFormModule,
2350
+ HintErrorMessageModule] }); }
2310
2351
  }
2311
2352
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ObjectFormModule, decorators: [{
2312
2353
  type: NgModule,
@@ -2369,7 +2410,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2369
2410
  DxoToolbarModule,
2370
2411
  ModalModule,
2371
2412
  ToasterServiceModule,
2372
- SharedFormModule
2413
+ SharedFormModule,
2414
+ HintErrorMessageModule
2373
2415
  ],
2374
2416
  providers: [
2375
2417
  ObjectFormService,