@ldquocc/dynamic-form 0.0.9 → 0.0.10
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.
- package/fesm2022/ldquocc-dynamic-form.mjs +4909 -0
- package/fesm2022/ldquocc-dynamic-form.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/dynamic-form.component.d.ts +67 -0
- package/lib/shared/base/base-select.component.d.ts +19 -0
- package/lib/shared/base/base-value-accessor.d.ts +69 -0
- package/{src/lib/shared/components/component.ts → lib/shared/components/component.d.ts} +14 -34
- package/lib/shared/components/dynamic-field/dynamic-field.component.d.ts +23 -0
- package/lib/shared/components/field-user-config/field-user-config.component.d.ts +10 -0
- package/lib/shared/components/fields/components/suffix/suffix.component.d.ts +12 -0
- package/lib/shared/components/fields/date/date-picker/date-picker.component.d.ts +17 -0
- package/lib/shared/components/fields/date/date-range/date-range.component.d.ts +17 -0
- package/lib/shared/components/fields/input/input-formatted/input-formatted.component.d.ts +20 -0
- package/lib/shared/components/fields/input/input-password/input-password.component.d.ts +12 -0
- package/lib/shared/components/fields/input/input-text/input-text.component.d.ts +14 -0
- package/lib/shared/components/fields/select/multi-select/multi-select.component.d.ts +21 -0
- package/lib/shared/components/fields/select/single-select/single-select.component.d.ts +21 -0
- package/lib/shared/components/fields/select/tree-select/tree-select.component.d.ts +28 -0
- package/lib/shared/components/fields/textarea/textarea.component.d.ts +14 -0
- package/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.d.ts +25 -0
- package/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.d.ts +76 -0
- package/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.d.ts +27 -0
- package/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.d.ts +29 -0
- package/lib/shared/config/dynamic-form.config.d.ts +9 -0
- package/lib/shared/consts/common/common.const.d.ts +5 -0
- package/lib/shared/consts/common/field-dependency.const.d.ts +1 -0
- package/lib/shared/consts/common/file.const.d.ts +148 -0
- package/{src/lib/shared/consts/common/index.ts → lib/shared/consts/common/index.d.ts} +4 -4
- package/lib/shared/consts/common/standalone-import.const.d.ts +7 -0
- package/lib/shared/consts/controls/control.const.d.ts +1 -0
- package/{src/lib/shared/consts/controls/index.ts → lib/shared/consts/controls/index.d.ts} +1 -1
- package/lib/shared/consts/fields/date-field.const.d.ts +7 -0
- package/lib/shared/consts/fields/field.const.d.ts +4 -0
- package/{src/lib/shared/consts/fields/index.ts → lib/shared/consts/fields/index.d.ts} +5 -5
- package/lib/shared/consts/fields/input-field.const.d.ts +4 -0
- package/lib/shared/consts/fields/input-formatted-field.const.d.ts +4 -0
- package/lib/shared/consts/fields/radio-field.const.d.ts +10 -0
- package/lib/shared/consts/fields/select-field.const.d.ts +6 -0
- package/lib/shared/consts/fields/upload-field.const.d.ts +1 -0
- package/lib/shared/consts/validators/pattern.const.d.ts +2 -0
- package/lib/shared/enums/common/field-dependency.enum.d.ts +9 -0
- package/lib/shared/enums/common/file-size-type.enum.d.ts +6 -0
- package/{src/lib/shared/enums/common/index.ts → lib/shared/enums/common/index.d.ts} +4 -4
- package/lib/shared/enums/common/output-value-type.enum.d.ts +19 -0
- package/lib/shared/enums/common/view-mode.enum.d.ts +4 -0
- package/lib/shared/enums/controls/control.enum.d.ts +11 -0
- package/{src/lib/shared/enums/controls/index.ts → lib/shared/enums/controls/index.d.ts} +1 -1
- package/lib/shared/enums/fields/date-field.enum.d.ts +4 -0
- package/lib/shared/enums/fields/field.enum.d.ts +20 -0
- package/{src/lib/shared/enums/fields/index.ts → lib/shared/enums/fields/index.d.ts} +6 -6
- package/lib/shared/enums/fields/input-field.enum.d.ts +6 -0
- package/lib/shared/enums/fields/input-formatted-field.enum.d.ts +6 -0
- package/lib/shared/enums/fields/select-field.enum.d.ts +4 -0
- package/lib/shared/enums/fields/upload-field.enum.d.ts +5 -0
- package/lib/shared/enums/form/dynamic-form.enum.d.ts +6 -0
- package/{src/lib/shared/enums/form/index.ts → lib/shared/enums/form/index.d.ts} +1 -1
- package/{src/lib/shared/enums/validators/index.ts → lib/shared/enums/validators/index.d.ts} +2 -2
- package/lib/shared/enums/validators/regex.enum.d.ts +38 -0
- package/lib/shared/enums/validators/validators.enum.d.ts +14 -0
- package/lib/shared/factories/auto-numeric-options.factory.d.ts +5 -0
- package/lib/shared/models/common/api-config.model.d.ts +4 -0
- package/lib/shared/models/common/api-response.model.d.ts +19 -0
- package/lib/shared/models/common/common.model.d.ts +29 -0
- package/lib/shared/models/common/field-dependency.model.d.ts +16 -0
- package/lib/shared/models/common/file-config.model.d.ts +11 -0
- package/{src/lib/shared/models/common/index.ts → lib/shared/models/common/index.d.ts} +7 -7
- package/lib/shared/models/common/obj-field.model.d.ts +59 -0
- package/lib/shared/models/common/object-storage.model.d.ts +15 -0
- package/{src/lib/shared/models/common/output-value-type.model.ts → lib/shared/models/common/output-value-type.model.d.ts} +4 -4
- package/lib/shared/models/common/table-models.d.ts +15 -0
- package/{src/lib/shared/models/common/view-mode.model.ts → lib/shared/models/common/view-mode.model.d.ts} +1 -1
- package/{src/lib/shared/models/controls/control.model.ts → lib/shared/models/controls/control.model.d.ts} +2 -3
- package/{src/lib/shared/models/controls/index.ts → lib/shared/models/controls/index.d.ts} +1 -1
- package/lib/shared/models/fields/date/base-date-field.model.d.ts +19 -0
- package/lib/shared/models/fields/date/date-picker-field.model.d.ts +12 -0
- package/lib/shared/models/fields/date/date-range-field.model.d.ts +12 -0
- package/{src/lib/shared/models/fields/date/index.ts → lib/shared/models/fields/date/index.d.ts} +3 -3
- package/lib/shared/models/fields/field-grid.model.d.ts +9 -0
- package/lib/shared/models/fields/field-group.model.d.ts +21 -0
- package/lib/shared/models/fields/field-user-config.model.d.ts +3 -0
- package/lib/shared/models/fields/field.model.d.ts +57 -0
- package/{src/lib/shared/models/fields/index.ts → lib/shared/models/fields/index.d.ts} +2 -2
- package/{src/lib/shared/models/fields/input/index.ts → lib/shared/models/fields/input/index.d.ts} +4 -4
- package/lib/shared/models/fields/input/input-field.model.d.ts +31 -0
- package/lib/shared/models/fields/input/input-formatted-field.model.d.ts +13 -0
- package/lib/shared/models/fields/input/input-password-field.model.d.ts +11 -0
- package/lib/shared/models/fields/input/input-text-field.model.d.ts +9 -0
- package/lib/shared/models/fields/radio/radio-base-field.model.d.ts +26 -0
- package/lib/shared/models/fields/select/multi-select-field.model.d.ts +11 -0
- package/lib/shared/models/fields/select/select-base-field.model.d.ts +40 -0
- package/lib/shared/models/fields/select/single-select-field.model.d.ts +9 -0
- package/lib/shared/models/fields/select/tree-select-field.model.d.ts +10 -0
- package/lib/shared/models/fields/textarea/textarea-field.model.d.ts +20 -0
- package/lib/shared/models/fields/upload/avatar-upload-field.model.d.ts +9 -0
- package/lib/shared/models/fields/upload/base-upload-field.model.d.ts +25 -0
- package/{src/lib/shared/models/fields/upload/index.ts → lib/shared/models/fields/upload/index.d.ts} +5 -5
- package/lib/shared/models/fields/upload/multi-file-upload-field.model.d.ts +10 -0
- package/lib/shared/models/fields/upload/multi-image-upload-field.model.d.ts +12 -0
- package/lib/shared/models/fields/upload/single-file-upload-field.model.d.ts +11 -0
- package/{src/lib/shared/models/form/dynamic-form.model.ts → lib/shared/models/form/dynamic-form.model.d.ts} +1 -1
- package/{src/lib/shared/models/form/index.ts → lib/shared/models/form/index.d.ts} +1 -1
- package/lib/shared/services/dynamic-form.service.d.ts +48 -0
- package/lib/shared/services/field.service.d.ts +41 -0
- package/lib/shared/services/file.service.d.ts +20 -0
- package/lib/shared/services/form-config.service.d.ts +10 -0
- package/lib/shared/services/form-data.service.d.ts +53 -0
- package/lib/shared/services/form-utils.d.ts +5 -0
- package/lib/shared/services/suffix.service.d.ts +12 -0
- package/lib/shared/services/validation.service.d.ts +10 -0
- package/lib/shared/utils/common/common.utils.d.ts +7 -0
- package/{src/lib/shared/utils/common/index.ts → lib/shared/utils/common/index.d.ts} +1 -1
- package/lib/shared/utils/date/date.utils.d.ts +6 -0
- package/{src/lib/shared/utils/date/index.ts → lib/shared/utils/date/index.d.ts} +1 -1
- package/lib/shared/utils/dynamic-form/dynamic-form.d.ts +11 -0
- package/lib/shared/utils/fields/fields.d.ts +20 -0
- package/{src/lib/shared/utils/fields/index.ts → lib/shared/utils/fields/index.d.ts} +1 -1
- package/lib/shared/utils/file/file.utils.d.ts +4 -0
- package/{src/lib/shared/utils/file/index.ts → lib/shared/utils/file/index.d.ts} +1 -1
- package/lib/shared/utils/validators/custom-validators.d.ts +11 -0
- package/lib/shared/utils/validators/default-error-message.d.ts +6 -0
- package/{src/lib/shared/utils/validators/index.ts → lib/shared/utils/validators/index.d.ts} +3 -3
- package/lib/shared/utils/validators/pattern.d.ts +4 -0
- package/package.json +31 -20
- package/{src/public-api.ts → public-api.d.ts} +29 -68
- package/ng-package.json +0 -15
- package/src/lib/dynamic-form.component.html +0 -121
- package/src/lib/dynamic-form.component.scss +0 -7
- package/src/lib/dynamic-form.component.spec.ts +0 -21
- package/src/lib/dynamic-form.component.ts +0 -237
- package/src/lib/dynamic-form.service.spec.ts +0 -16
- package/src/lib/dynamic-form.service.ts +0 -9
- package/src/lib/shared/base/base-select.component.ts +0 -183
- package/src/lib/shared/base/base-value-accessor.ts +0 -192
- package/src/lib/shared/components/d-form-testing/d-form-testing.component.html +0 -197
- package/src/lib/shared/components/d-form-testing/d-form-testing.component.less +0 -12
- package/src/lib/shared/components/d-form-testing/d-form-testing.component.spec.ts +0 -22
- package/src/lib/shared/components/d-form-testing/d-form-testing.component.ts +0 -197
- package/src/lib/shared/components/dynamic-field/dynamic-field.component.html +0 -218
- package/src/lib/shared/components/dynamic-field/dynamic-field.component.scss +0 -28
- package/src/lib/shared/components/dynamic-field/dynamic-field.component.spec.ts +0 -21
- package/src/lib/shared/components/dynamic-field/dynamic-field.component.ts +0 -67
- package/src/lib/shared/components/field-user-config/field-user-config.component.html +0 -38
- package/src/lib/shared/components/field-user-config/field-user-config.component.scss +0 -29
- package/src/lib/shared/components/field-user-config/field-user-config.component.ts +0 -33
- package/src/lib/shared/components/fields/components/suffix/suffix.component.html +0 -42
- package/src/lib/shared/components/fields/components/suffix/suffix.component.scss +0 -3
- package/src/lib/shared/components/fields/components/suffix/suffix.component.spec.ts +0 -22
- package/src/lib/shared/components/fields/components/suffix/suffix.component.ts +0 -32
- package/src/lib/shared/components/fields/date/date-picker/date-picker.component.html +0 -20
- package/src/lib/shared/components/fields/date/date-picker/date-picker.component.scss +0 -5
- package/src/lib/shared/components/fields/date/date-picker/date-picker.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/date/date-picker/date-picker.component.ts +0 -148
- package/src/lib/shared/components/fields/date/date-range/date-range.component.html +0 -33
- package/src/lib/shared/components/fields/date/date-range/date-range.component.scss +0 -22
- package/src/lib/shared/components/fields/date/date-range/date-range.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/date/date-range/date-range.component.ts +0 -133
- package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.html +0 -31
- package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.scss +0 -3
- package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/input/input-formatted/input-formatted.component.ts +0 -148
- package/src/lib/shared/components/fields/input/input-password/input-password.component.html +0 -18
- package/src/lib/shared/components/fields/input/input-password/input-password.component.scss +0 -0
- package/src/lib/shared/components/fields/input/input-password/input-password.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/input/input-password/input-password.component.ts +0 -56
- package/src/lib/shared/components/fields/input/input-text/input-text.component.html +0 -73
- package/src/lib/shared/components/fields/input/input-text/input-text.component.scss +0 -0
- package/src/lib/shared/components/fields/input/input-text/input-text.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/input/input-text/input-text.component.ts +0 -98
- package/src/lib/shared/components/fields/select/multi-select/multi-select.component.html +0 -73
- package/src/lib/shared/components/fields/select/multi-select/multi-select.component.scss +0 -21
- package/src/lib/shared/components/fields/select/multi-select/multi-select.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/select/multi-select/multi-select.component.ts +0 -212
- package/src/lib/shared/components/fields/select/single-select/single-select.component.html +0 -55
- package/src/lib/shared/components/fields/select/single-select/single-select.component.scss +0 -1
- package/src/lib/shared/components/fields/select/single-select/single-select.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/select/single-select/single-select.component.ts +0 -217
- package/src/lib/shared/components/fields/select/single-select/sl.component.old.txt +0 -337
- package/src/lib/shared/components/fields/select/single-select/sl.component.old2.txt +0 -340
- package/src/lib/shared/components/fields/select/tree-select/tree-select.component.html +0 -38
- package/src/lib/shared/components/fields/select/tree-select/tree-select.component.scss +0 -1
- package/src/lib/shared/components/fields/select/tree-select/tree-select.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/select/tree-select/tree-select.component.ts +0 -401
- package/src/lib/shared/components/fields/textarea/textarea.component.html +0 -29
- package/src/lib/shared/components/fields/textarea/textarea.component.scss +0 -17
- package/src/lib/shared/components/fields/textarea/textarea.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/textarea/textarea.component.ts +0 -76
- package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.html +0 -30
- package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.scss +0 -22
- package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.spec.ts +0 -22
- package/src/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.ts +0 -217
- package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.html +0 -101
- package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.scss +0 -117
- package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.spec.ts +0 -22
- package/src/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.ts +0 -480
- package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.html +0 -82
- package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.less +0 -80
- package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.spec.ts +0 -22
- package/src/lib/shared/components/fields/upload/multi-image-upload/multi-image-upload.component.ts +0 -288
- package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.html +0 -104
- package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.scss +0 -37
- package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.spec.ts +0 -21
- package/src/lib/shared/components/fields/upload/single-file-upload/single-file-upload.component.ts +0 -317
- package/src/lib/shared/config/dynamic-form.config.ts +0 -11
- package/src/lib/shared/consts/common/common.const.ts +0 -5
- package/src/lib/shared/consts/common/field-dependency.const.ts +0 -1
- package/src/lib/shared/consts/common/file.const.ts +0 -130
- package/src/lib/shared/consts/common/sample-test.const.ts +0 -1648
- package/src/lib/shared/consts/common/standalone-import.const.ts +0 -51
- package/src/lib/shared/consts/controls/control.const.ts +0 -11
- package/src/lib/shared/consts/fields/date-field.const.ts +0 -12
- package/src/lib/shared/consts/fields/field.const.ts +0 -23
- package/src/lib/shared/consts/fields/input-field.const.ts +0 -4
- package/src/lib/shared/consts/fields/input-formatted-field.const.ts +0 -35
- package/src/lib/shared/consts/fields/radio-field.const.ts +0 -31
- package/src/lib/shared/consts/fields/select-field.const.ts +0 -7
- package/src/lib/shared/consts/fields/upload-field.const.ts +0 -1
- package/src/lib/shared/consts/validators/index.ts +0 -0
- package/src/lib/shared/consts/validators/pattern.const.ts +0 -117
- package/src/lib/shared/enums/common/component-ui.enum.ts +0 -8
- package/src/lib/shared/enums/common/field-dependency.enum.ts +0 -10
- package/src/lib/shared/enums/common/file-size-type.enum.ts +0 -6
- package/src/lib/shared/enums/common/output-value-type.enum.ts +0 -22
- package/src/lib/shared/enums/common/view-mode.enum.ts +0 -4
- package/src/lib/shared/enums/controls/control.enum.ts +0 -12
- package/src/lib/shared/enums/fields/date-field.enum.ts +0 -4
- package/src/lib/shared/enums/fields/field.enum.ts +0 -21
- package/src/lib/shared/enums/fields/input-field.enum.ts +0 -6
- package/src/lib/shared/enums/fields/input-formatted-field.enum.ts +0 -6
- package/src/lib/shared/enums/fields/select-field.enum.ts +0 -4
- package/src/lib/shared/enums/fields/upload-field.enum.ts +0 -5
- package/src/lib/shared/enums/form/dynamic-form.enum.ts +0 -6
- package/src/lib/shared/enums/validators/regex.enum.ts +0 -47
- package/src/lib/shared/enums/validators/validators.enum.ts +0 -17
- package/src/lib/shared/factories/auto-numeric-options.factory.ts +0 -14
- package/src/lib/shared/models/common/api-config.model.ts +0 -7
- package/src/lib/shared/models/common/api-response.model.ts +0 -20
- package/src/lib/shared/models/common/common.model.ts +0 -39
- package/src/lib/shared/models/common/field-dependency.model.ts +0 -27
- package/src/lib/shared/models/common/file-config.model.ts +0 -22
- package/src/lib/shared/models/common/obj-field.model.ts +0 -68
- package/src/lib/shared/models/common/object-storage.model.ts +0 -15
- package/src/lib/shared/models/common/table-models.ts +0 -16
- package/src/lib/shared/models/fields/date/base-date-field.model.ts +0 -52
- package/src/lib/shared/models/fields/date/date-picker-field.model.ts +0 -43
- package/src/lib/shared/models/fields/date/date-range-field.model.ts +0 -52
- package/src/lib/shared/models/fields/field-grid.model.ts +0 -10
- package/src/lib/shared/models/fields/field-group.model.ts +0 -50
- package/src/lib/shared/models/fields/field-user-config.model.ts +0 -8
- package/src/lib/shared/models/fields/field.model.ts +0 -184
- package/src/lib/shared/models/fields/input/input-field.model.ts +0 -111
- package/src/lib/shared/models/fields/input/input-formatted-field.model.ts +0 -38
- package/src/lib/shared/models/fields/input/input-password-field.model.ts +0 -38
- package/src/lib/shared/models/fields/input/input-text-field.model.ts +0 -26
- package/src/lib/shared/models/fields/radio/index.ts +0 -0
- package/src/lib/shared/models/fields/radio/radio-base-field.model.ts +0 -84
- package/src/lib/shared/models/fields/select/index.ts +0 -0
- package/src/lib/shared/models/fields/select/multi-select-field.model.ts +0 -46
- package/src/lib/shared/models/fields/select/select-base-field.model.ts +0 -125
- package/src/lib/shared/models/fields/select/single-select-field.model.ts +0 -43
- package/src/lib/shared/models/fields/select/tree-select-field.model.ts +0 -44
- package/src/lib/shared/models/fields/textarea/index.ts +0 -0
- package/src/lib/shared/models/fields/textarea/textarea-field.model.ts +0 -97
- package/src/lib/shared/models/fields/upload/avatar-upload-field.model.ts +0 -33
- package/src/lib/shared/models/fields/upload/base-upload-field.model.ts +0 -105
- package/src/lib/shared/models/fields/upload/multi-file-upload-field.model.ts +0 -34
- package/src/lib/shared/models/fields/upload/multi-image-upload-field.model.ts +0 -42
- package/src/lib/shared/models/fields/upload/single-file-upload-field.model.ts +0 -33
- package/src/lib/shared/models/validations/index.ts +0 -1
- package/src/lib/shared/models/validations/validations.model.ts +0 -14
- package/src/lib/shared/services/dynamic-form.service.spec.ts +0 -16
- package/src/lib/shared/services/dynamic-form.service.ts +0 -251
- package/src/lib/shared/services/field.service.spec.ts +0 -16
- package/src/lib/shared/services/field.service.ts +0 -152
- package/src/lib/shared/services/file.service.spec.ts +0 -16
- package/src/lib/shared/services/file.service.ts +0 -53
- package/src/lib/shared/services/form-config.service.ts +0 -53
- package/src/lib/shared/services/form-data.service.spec.ts +0 -16
- package/src/lib/shared/services/form-data.service.ts +0 -114
- package/src/lib/shared/services/form-utils.ts +0 -52
- package/src/lib/shared/services/suffix.service.spec.ts +0 -16
- package/src/lib/shared/services/suffix.service.ts +0 -16
- package/src/lib/shared/services/validation.service.spec.ts +0 -16
- package/src/lib/shared/services/validation.service.ts +0 -38
- package/src/lib/shared/utils/common/common.utils.ts +0 -52
- package/src/lib/shared/utils/date/date.utils.ts +0 -129
- package/src/lib/shared/utils/dynamic-field/dynamic-field.ts +0 -0
- package/src/lib/shared/utils/dynamic-field/index.ts +0 -0
- package/src/lib/shared/utils/dynamic-form/dynamic-form.ts +0 -114
- package/src/lib/shared/utils/dynamic-form/index.ts +0 -0
- package/src/lib/shared/utils/fields/fields.ts +0 -78
- package/src/lib/shared/utils/file/file.utils.ts +0 -37
- package/src/lib/shared/utils/validators/custom-validators.ts +0 -158
- package/src/lib/shared/utils/validators/default-error-message.ts +0 -42
- package/src/lib/shared/utils/validators/pattern.ts +0 -26
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -11
- package/tsconfig.spec.json +0 -15
- /package/{src/lib/shared/styles → styles}/_common-form.scss +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface ObjectStorage {
|
|
2
|
+
id: string;
|
|
3
|
+
uid?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
contentType?: string;
|
|
6
|
+
size?: number;
|
|
7
|
+
bucket?: string;
|
|
8
|
+
isDir?: boolean;
|
|
9
|
+
createdAt?: string;
|
|
10
|
+
updatedAt?: string;
|
|
11
|
+
path?: string;
|
|
12
|
+
isPublic?: boolean;
|
|
13
|
+
originalName?: string;
|
|
14
|
+
nameAlias?: string;
|
|
15
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type SelectOutputValueType = 'single' | 'object' | 'sourceObject';
|
|
2
|
-
export type DatePickerOutputValueType = 'string' | 'date';
|
|
3
|
-
export type DateRangeOutputValueType = 'string' | 'string-array' | 'date-array';
|
|
4
|
-
export type UploadOutputValueType = 'file' | 'object-storage' | 'object';
|
|
1
|
+
export type SelectOutputValueType = 'single' | 'object' | 'sourceObject';
|
|
2
|
+
export type DatePickerOutputValueType = 'string' | 'date';
|
|
3
|
+
export type DateRangeOutputValueType = 'string' | 'string-array' | 'date-array';
|
|
4
|
+
export type UploadOutputValueType = 'file' | 'object-storage' | 'object';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum TableCellTypeEnum {
|
|
2
|
+
ACTION = "action",
|
|
3
|
+
CHECK = "check",
|
|
4
|
+
SUBTEXT = "subtext",
|
|
5
|
+
IMAGE = "image",
|
|
6
|
+
BADGE = "badge",
|
|
7
|
+
INDEX = "index",
|
|
8
|
+
TEXT = "text",
|
|
9
|
+
ICON_TEXT = "icon-text",
|
|
10
|
+
SWAP_FUNC = "swap",
|
|
11
|
+
EMPTY = "empty"
|
|
12
|
+
}
|
|
13
|
+
export interface RawColumn {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type ViewMode = 'form' | 'text';
|
|
1
|
+
export type ViewMode = 'form' | 'text';
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { CONTROL_TYPES } from '../../consts/controls';
|
|
2
|
-
|
|
3
|
-
export type ControlType = (typeof CONTROL_TYPES)[number];
|
|
1
|
+
import { CONTROL_TYPES } from '../../consts/controls';
|
|
2
|
+
export type ControlType = (typeof CONTROL_TYPES)[number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './control.model';
|
|
1
|
+
export * from './control.model';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FormControl } from '@angular/forms';
|
|
2
|
+
import { BaseField } from '../field.model';
|
|
3
|
+
import { DATE_FIELD_TYPES } from '../../../consts/fields';
|
|
4
|
+
export type DateFieldType = (typeof DATE_FIELD_TYPES)[number];
|
|
5
|
+
/**
|
|
6
|
+
* Interface base chung cho Các dạng Date.
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class BaseDateField<K> extends BaseField<K> {
|
|
9
|
+
format: string;
|
|
10
|
+
allowPastDates?: boolean;
|
|
11
|
+
allowFutureDates?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Props validation chung cho các dạng Date.
|
|
14
|
+
*/
|
|
15
|
+
constructor(init: Partial<BaseDateField<K>>);
|
|
16
|
+
toFormControl(): FormControl;
|
|
17
|
+
abstract getDefaultValue(): K;
|
|
18
|
+
abstract toFormValue(modelValue: unknown): K;
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DatePickerOutputValueType } from '../../common';
|
|
2
|
+
import { BaseDateField } from './base-date-field.model';
|
|
3
|
+
/**
|
|
4
|
+
* Interface của Date type là Picker.
|
|
5
|
+
*/
|
|
6
|
+
export declare class DatePickerField extends BaseDateField<string | Date | null> {
|
|
7
|
+
outputAs: DatePickerOutputValueType;
|
|
8
|
+
disabledDateFn?: (current: Date) => boolean;
|
|
9
|
+
constructor(init: Partial<DatePickerField>);
|
|
10
|
+
getDefaultValue(): string | Date;
|
|
11
|
+
toFormValue(modelValue: unknown): Date | null;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DateRangeOutputValueType } from "../../common";
|
|
2
|
+
import { BaseDateField } from "./base-date-field.model";
|
|
3
|
+
/**
|
|
4
|
+
* Interface của Date type là Range.
|
|
5
|
+
*/
|
|
6
|
+
export declare class DateRangeField extends BaseDateField<string | string[] | Date[]> {
|
|
7
|
+
outputAs: DateRangeOutputValueType;
|
|
8
|
+
placeholders?: string[];
|
|
9
|
+
constructor(init: Partial<DateRangeField>);
|
|
10
|
+
getDefaultValue(): string[] | Date[];
|
|
11
|
+
toFormValue(modelValue: unknown): string[] | Date[];
|
|
12
|
+
}
|
package/{src/lib/shared/models/fields/date/index.ts → lib/shared/models/fields/date/index.d.ts}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './base-date-field.model';
|
|
2
|
-
export * from './date-picker-field.model';
|
|
3
|
-
export * from './date-range-field.model';
|
|
1
|
+
export * from './base-date-field.model';
|
|
2
|
+
export * from './date-picker-field.model';
|
|
3
|
+
export * from './date-range-field.model';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmbeddedProperty } from "ng-zorro-antd/grid";
|
|
2
|
+
export interface FieldGrid {
|
|
3
|
+
xs?: string | number | EmbeddedProperty | null;
|
|
4
|
+
sm?: string | number | EmbeddedProperty | null;
|
|
5
|
+
md?: string | number | EmbeddedProperty | null;
|
|
6
|
+
lg?: string | number | EmbeddedProperty | null;
|
|
7
|
+
xl?: string | number | EmbeddedProperty | null;
|
|
8
|
+
xxl?: string | number | EmbeddedProperty | null;
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { BaseField } from './field.model';
|
|
3
|
+
export declare class GroupedFields {
|
|
4
|
+
noGroup: BaseField<any>[];
|
|
5
|
+
grouped: {
|
|
6
|
+
group: FieldGroup;
|
|
7
|
+
fields: BaseField<any>[];
|
|
8
|
+
}[];
|
|
9
|
+
constructor(init: Partial<GroupedFields>);
|
|
10
|
+
}
|
|
11
|
+
export declare class FieldGroup {
|
|
12
|
+
label: string;
|
|
13
|
+
code: string;
|
|
14
|
+
template?: TemplateRef<any>;
|
|
15
|
+
order: number;
|
|
16
|
+
isActive: boolean;
|
|
17
|
+
showArrow: boolean;
|
|
18
|
+
required: boolean;
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
constructor(init: Partial<FieldGroup>);
|
|
21
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { FormControl, ValidatorFn } from "@angular/forms";
|
|
2
|
+
import { FIELD_TYPES } from "../../consts/fields";
|
|
3
|
+
import { FieldGrid } from "./field-grid.model";
|
|
4
|
+
import { NzLabelAlignType } from "ng-zorro-antd/form";
|
|
5
|
+
import { ControlType } from "../controls";
|
|
6
|
+
import { FormMode } from "../form";
|
|
7
|
+
import { ViewMode } from "../common";
|
|
8
|
+
import { FieldUserConfig } from "../fields/field-user-config.model";
|
|
9
|
+
/**
|
|
10
|
+
* typeof FIELD_TYPES[number] có nghĩa là:
|
|
11
|
+
- FIELD_TYPES là readonly ['input', 'select', 'checkbox']
|
|
12
|
+
- FIELD_TYPES[number] = FIELD_TYPES[0] | FIELD_TYPES[1] | ... = 'input' | 'select' | 'checkbox'
|
|
13
|
+
=> FieldType = 'input' | 'select' | 'checkbox'
|
|
14
|
+
*/
|
|
15
|
+
export type FieldType = (typeof FIELD_TYPES)[number];
|
|
16
|
+
/**
|
|
17
|
+
* Abstract class chung cho Field.
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class BaseField<T> {
|
|
20
|
+
id: string;
|
|
21
|
+
key: string;
|
|
22
|
+
label: string;
|
|
23
|
+
value?: T;
|
|
24
|
+
initialValue?: T;
|
|
25
|
+
modelValue?: T;
|
|
26
|
+
type: FieldType;
|
|
27
|
+
controlType: ControlType;
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
tooltip?: string;
|
|
30
|
+
/** Props validation chung */
|
|
31
|
+
required: boolean;
|
|
32
|
+
/** Props validation custom chung */
|
|
33
|
+
matchField?: string;
|
|
34
|
+
icon?: string;
|
|
35
|
+
errorMessages?: Record<string, string>;
|
|
36
|
+
grid: FieldGrid;
|
|
37
|
+
labelGrid: FieldGrid;
|
|
38
|
+
labelAlign: NzLabelAlignType;
|
|
39
|
+
controlGrid: FieldGrid;
|
|
40
|
+
isHidden: boolean;
|
|
41
|
+
isDisabled: boolean;
|
|
42
|
+
isParent: boolean;
|
|
43
|
+
allowSetValue: FormMode[];
|
|
44
|
+
groupCode?: string;
|
|
45
|
+
viewMode: ViewMode;
|
|
46
|
+
sublabel?: string;
|
|
47
|
+
seqNum: number;
|
|
48
|
+
enableFieldChange: boolean;
|
|
49
|
+
userConfigs?: FieldUserConfig;
|
|
50
|
+
constructor(init?: Partial<BaseField<T>>);
|
|
51
|
+
abstract toFormControl(): FormControl;
|
|
52
|
+
abstract getDefaultValue(): T;
|
|
53
|
+
abstract toFormValue(modelValue: unknown): T;
|
|
54
|
+
protected getCommonValidators(): ValidatorFn[];
|
|
55
|
+
protected getCustomValidators(): ValidatorFn[];
|
|
56
|
+
getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
|
|
57
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./field.model";
|
|
2
|
-
export * from "./field-user-config.model";
|
|
1
|
+
export * from "./field.model";
|
|
2
|
+
export * from "./field-user-config.model";
|
package/{src/lib/shared/models/fields/input/index.ts → lib/shared/models/fields/input/index.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./input-field.model";
|
|
2
|
-
export * from "./input-text-field.model";
|
|
3
|
-
export * from "./input-password-field.model";
|
|
4
|
-
export * from "./input-formatted-field.model";
|
|
1
|
+
export * from "./input-field.model";
|
|
2
|
+
export * from "./input-text-field.model";
|
|
3
|
+
export * from "./input-password-field.model";
|
|
4
|
+
export * from "./input-formatted-field.model";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FormControl, ValidatorFn } from '@angular/forms';
|
|
2
|
+
import { INPUT_FIELD_TYPES } from '../../../consts/fields/input-field.const';
|
|
3
|
+
import { BaseField } from '../field.model';
|
|
4
|
+
import { Suffix } from '../../common/common.model';
|
|
5
|
+
/**
|
|
6
|
+
* typeof FIELD_TYPES[number] có nghĩa là:
|
|
7
|
+
- INPUT_FIELD_TYPES là readonly ['text','email','password','number']
|
|
8
|
+
- INPUT_FIELD_TYPES[number] = INPUT_FIELD_TYPES[0] | INPUT_FIELD_TYPES[1] | ... = 'text' | 'email' | ...
|
|
9
|
+
=> FieldType = 'input' | 'select' | 'checkbox'
|
|
10
|
+
*/
|
|
11
|
+
export type InputFieldType = (typeof INPUT_FIELD_TYPES)[number];
|
|
12
|
+
/**
|
|
13
|
+
* Interface base chung cho Các dạng Input Field.
|
|
14
|
+
*/
|
|
15
|
+
export declare abstract class InputBaseField extends BaseField<string> {
|
|
16
|
+
suffixes: Suffix[];
|
|
17
|
+
/**
|
|
18
|
+
* Props validation chung cho các dạng Input.
|
|
19
|
+
*/
|
|
20
|
+
minLength?: number;
|
|
21
|
+
maxLength?: number;
|
|
22
|
+
pattern?: string | RegExp;
|
|
23
|
+
isCurrency: boolean;
|
|
24
|
+
constructor(init: Partial<InputBaseField>);
|
|
25
|
+
protected getInputCommonValidators(): ValidatorFn[];
|
|
26
|
+
protected getInputCustomValidators(): ValidatorFn[];
|
|
27
|
+
toFormControl(): FormControl;
|
|
28
|
+
getDefaultValue(): string;
|
|
29
|
+
toFormValue(modelValue: unknown): string;
|
|
30
|
+
getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
|
|
31
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FormControl } from "@angular/forms";
|
|
2
|
+
import { InputBaseField } from "./input-field.model";
|
|
3
|
+
import { NumericPreset } from "../../../enums/fields/input-formatted-field.enum";
|
|
4
|
+
import AutoNumeric from "@zeedhi/autonumeric";
|
|
5
|
+
/**
|
|
6
|
+
* Interface của Input Field dạng format.
|
|
7
|
+
*/
|
|
8
|
+
export declare class InputFormattedField extends InputBaseField {
|
|
9
|
+
format: NumericPreset;
|
|
10
|
+
autoNumericOptions?: Partial<AutoNumeric.Options>;
|
|
11
|
+
constructor(init: Partial<InputFormattedField>);
|
|
12
|
+
toFormControl(): FormControl;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FormControl, ValidatorFn } from '@angular/forms';
|
|
2
|
+
import { InputBaseField } from './input-field.model';
|
|
3
|
+
/**
|
|
4
|
+
* Interface của Input Field type là Password.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InputPasswordField extends InputBaseField {
|
|
7
|
+
constructor(init: Partial<InputPasswordField>);
|
|
8
|
+
protected getInputPasswordCommonValidators(): ValidatorFn[];
|
|
9
|
+
protected getInputPasswordCustomValidators(): ValidatorFn[];
|
|
10
|
+
toFormControl(): FormControl;
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FormControl } from '@angular/forms';
|
|
2
|
+
import { InputBaseField } from './input-field.model';
|
|
3
|
+
/**
|
|
4
|
+
* Interface của Input Field type là Text.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InputTextField extends InputBaseField {
|
|
7
|
+
constructor(init: Partial<InputTextField>);
|
|
8
|
+
toFormControl(): FormControl;
|
|
9
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { FormControl, ValidatorFn } from '@angular/forms';
|
|
2
|
+
import { BaseField } from '../field.model';
|
|
3
|
+
import { ApiConfig, FieldDependency } from '../../common';
|
|
4
|
+
import { RADIO_FIELD_TYPES } from '../../../consts/fields/radio-field.const';
|
|
5
|
+
export type RadioFieldType = (typeof RADIO_FIELD_TYPES)[number];
|
|
6
|
+
/**
|
|
7
|
+
* Interface base chung cho Các dạng Radio.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class RadioBaseField<K, TOptions = Record<string, unknown>> extends BaseField<K> {
|
|
10
|
+
bindLabel: string;
|
|
11
|
+
bindValue: string;
|
|
12
|
+
options?: TOptions[];
|
|
13
|
+
apiConfig?: ApiConfig;
|
|
14
|
+
dependsOn?: FieldDependency[];
|
|
15
|
+
transformLabel?: (option: TOptions) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Props validation chung cho các dạng Radio.
|
|
18
|
+
*/
|
|
19
|
+
constructor(init: Partial<RadioBaseField<K, TOptions>>);
|
|
20
|
+
protected getCommonSelectValidators(): ValidatorFn[];
|
|
21
|
+
protected getCustomSelectValidators(): ValidatorFn[];
|
|
22
|
+
toFormControl(): FormControl;
|
|
23
|
+
abstract getDefaultValue(): K;
|
|
24
|
+
abstract toFormValue(modelValue: K): K;
|
|
25
|
+
getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SelectBaseField } from './select-base-field.model';
|
|
2
|
+
/**
|
|
3
|
+
* Interface của Select Field type là dạng Multi.
|
|
4
|
+
*/
|
|
5
|
+
export declare class MultiSelectField extends SelectBaseField<string[] | Record<string, unknown>[]> {
|
|
6
|
+
maxTagCount?: number;
|
|
7
|
+
maxMultipleCount?: number;
|
|
8
|
+
constructor(init: Partial<MultiSelectField>);
|
|
9
|
+
getDefaultValue(): string[] | Record<string, unknown>[];
|
|
10
|
+
toFormValue(modelValue: unknown): string[] | Record<string, unknown>[];
|
|
11
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { FormControl, ValidatorFn } from "@angular/forms";
|
|
2
|
+
import { SELECT_FIELD_TYPES } from "../../../consts/fields/select-field.const";
|
|
3
|
+
import { BaseField } from "../field.model";
|
|
4
|
+
import { ApiConfig, FieldDependency, FieldDependencyType } from "../../common";
|
|
5
|
+
import { SelectOutputValueType } from "../../common/output-value-type.model";
|
|
6
|
+
import { Suffix } from "../../common/common.model";
|
|
7
|
+
export type SelectFieldType = (typeof SELECT_FIELD_TYPES)[number];
|
|
8
|
+
/**
|
|
9
|
+
* Interface base chung cho Các dạng Input Field.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class SelectBaseField<K> extends BaseField<K> {
|
|
12
|
+
bindLabel: string;
|
|
13
|
+
bindValue: string;
|
|
14
|
+
outputAs: SelectOutputValueType;
|
|
15
|
+
matchSelectWidth: boolean;
|
|
16
|
+
options: Record<string, unknown>[];
|
|
17
|
+
optionsToPrepend: Record<string, unknown>[];
|
|
18
|
+
optionsToAppend: Record<string, unknown>[];
|
|
19
|
+
exceptOptions: Record<string, unknown>[];
|
|
20
|
+
dependsOn: FieldDependency[];
|
|
21
|
+
apiConfig?: ApiConfig;
|
|
22
|
+
/**
|
|
23
|
+
* dependType:
|
|
24
|
+
* - 'all' → cần tất cả field cha có giá trị mới gọi API
|
|
25
|
+
* - 'any' → chỉ cần 1 field cha có giá trị cũng gọi API theo từng cha
|
|
26
|
+
*/
|
|
27
|
+
dependType: FieldDependencyType;
|
|
28
|
+
transformLabel?: (option: Record<string, unknown>) => string;
|
|
29
|
+
suffixes: Suffix[];
|
|
30
|
+
/**
|
|
31
|
+
* Props validation chung cho các dạng Select.
|
|
32
|
+
*/
|
|
33
|
+
constructor(init: Partial<SelectBaseField<K>>);
|
|
34
|
+
protected getCommonSelectValidators(): ValidatorFn[];
|
|
35
|
+
protected getCustomSelectValidators(): ValidatorFn[];
|
|
36
|
+
toFormControl(): FormControl;
|
|
37
|
+
abstract getDefaultValue(): K;
|
|
38
|
+
abstract toFormValue(modelValue: unknown): K;
|
|
39
|
+
getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
|
|
40
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SelectBaseField } from './select-base-field.model';
|
|
2
|
+
/**
|
|
3
|
+
* Interface của Select Field type là dạng Single.
|
|
4
|
+
*/
|
|
5
|
+
export declare class SingleSelectField extends SelectBaseField<string | Record<string, unknown> | null> {
|
|
6
|
+
constructor(init: Partial<SingleSelectField>);
|
|
7
|
+
getDefaultValue(): string | Record<string, unknown> | null;
|
|
8
|
+
toFormValue(modelValue: unknown): string | Record<string, unknown> | null;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SelectBaseField } from './select-base-field.model';
|
|
2
|
+
/**
|
|
3
|
+
* Interface của Select Field type là dạng Single.
|
|
4
|
+
*/
|
|
5
|
+
export declare class TreeSelectField extends SelectBaseField<string | Record<string, unknown> | null> {
|
|
6
|
+
groupBy?: string;
|
|
7
|
+
constructor(init: Partial<TreeSelectField>);
|
|
8
|
+
getDefaultValue(): string | Record<string, unknown> | null;
|
|
9
|
+
toFormValue(modelValue: unknown): string | Record<string, unknown> | null;
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FormControl, ValidatorFn } from '@angular/forms';
|
|
2
|
+
import { BaseField } from '../field.model';
|
|
3
|
+
/**
|
|
4
|
+
* Interface cho Các dạng Textarea.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TextareaField extends BaseField<string> {
|
|
7
|
+
/**
|
|
8
|
+
* Props validation chung cho dạng Textarea.
|
|
9
|
+
*/
|
|
10
|
+
minLength?: number;
|
|
11
|
+
maxLength?: number;
|
|
12
|
+
pattern?: string | RegExp;
|
|
13
|
+
constructor(init: Partial<TextareaField>);
|
|
14
|
+
protected getCommonTextareaValidators(): ValidatorFn[];
|
|
15
|
+
protected getCustomTextareaValidators(): ValidatorFn[];
|
|
16
|
+
toFormControl(): FormControl;
|
|
17
|
+
getDefaultValue(): string;
|
|
18
|
+
toFormValue(modelValue: unknown): string;
|
|
19
|
+
getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseUploadField } from './base-upload-field.model';
|
|
2
|
+
/**
|
|
3
|
+
* Interface của Avatar upload.
|
|
4
|
+
*/
|
|
5
|
+
export declare class AvatarUploadField extends BaseUploadField<string | Record<string, unknown>> {
|
|
6
|
+
constructor(init: Partial<AvatarUploadField>);
|
|
7
|
+
getDefaultValue(): string | Record<string, unknown>;
|
|
8
|
+
toFormValue(modelValue: unknown): string | Record<string, unknown>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FormControl, ValidatorFn } from '@angular/forms';
|
|
2
|
+
import { BaseField } from '../field.model';
|
|
3
|
+
import { UPLOAD_FIELD_TYPES } from '../../../consts/fields/upload-field.const';
|
|
4
|
+
import { ApiFileConfig, UploadOutputValueType } from '../../common';
|
|
5
|
+
export type UploadFieldType = (typeof UPLOAD_FIELD_TYPES)[number];
|
|
6
|
+
/**
|
|
7
|
+
* Interface base chung cho Các dạng Date.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class BaseUploadField<K> extends BaseField<K> {
|
|
10
|
+
outputAs: UploadOutputValueType;
|
|
11
|
+
apiFileConfig: ApiFileConfig;
|
|
12
|
+
acceptedMimeTypes: string[];
|
|
13
|
+
maxSizeInMB: number;
|
|
14
|
+
showAcceptedExtensionGuide: boolean;
|
|
15
|
+
uploadTemp: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Props validation chung cho các dạng Date.
|
|
18
|
+
*/
|
|
19
|
+
constructor(init: Partial<BaseUploadField<K>>);
|
|
20
|
+
protected getCustomBaseUploadValidators(): ValidatorFn[];
|
|
21
|
+
toFormControl(): FormControl;
|
|
22
|
+
abstract getDefaultValue(): K;
|
|
23
|
+
abstract toFormValue(modelValue: unknown): K;
|
|
24
|
+
getErrorMessage(errorKey: string, errorValue: any, allFields: BaseField<any>[]): string;
|
|
25
|
+
}
|
package/{src/lib/shared/models/fields/upload/index.ts → lib/shared/models/fields/upload/index.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './base-upload-field.model';
|
|
2
|
-
export * from './single-file-upload-field.model';
|
|
3
|
-
export * from './multi-file-upload-field.model';
|
|
4
|
-
export * from './avatar-upload-field.model';
|
|
5
|
-
export * from './multi-image-upload-field.model';
|
|
1
|
+
export * from './base-upload-field.model';
|
|
2
|
+
export * from './single-file-upload-field.model';
|
|
3
|
+
export * from './multi-file-upload-field.model';
|
|
4
|
+
export * from './avatar-upload-field.model';
|
|
5
|
+
export * from './multi-image-upload-field.model';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseUploadField } from './base-upload-field.model';
|
|
2
|
+
/**
|
|
3
|
+
* Interface của Multi file upload.
|
|
4
|
+
*/
|
|
5
|
+
export declare class MultiFileUploadField extends BaseUploadField<string | File> {
|
|
6
|
+
maxFileCount: number;
|
|
7
|
+
constructor(init: Partial<MultiFileUploadField>);
|
|
8
|
+
getDefaultValue(): string | File;
|
|
9
|
+
toFormValue(modelValue: unknown): string | File;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseUploadField } from "./base-upload-field.model";
|
|
2
|
+
/**
|
|
3
|
+
* Interface của Multi image upload.
|
|
4
|
+
*/
|
|
5
|
+
export declare class MultiImageUploadField extends BaseUploadField<string | File> {
|
|
6
|
+
maxFileCount: number;
|
|
7
|
+
imageCardWidth: string;
|
|
8
|
+
imageCardHeight: string;
|
|
9
|
+
constructor(init: Partial<MultiImageUploadField>);
|
|
10
|
+
getDefaultValue(): string | File;
|
|
11
|
+
toFormValue(modelValue: string | File): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Suffix } from '../../common/common.model';
|
|
2
|
+
import { BaseUploadField } from './base-upload-field.model';
|
|
3
|
+
/**
|
|
4
|
+
* Interface của Single file upload. Đầu vào có thể là chuỗi JSON hoặc đối tượng File.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SingleFileUploadField extends BaseUploadField<string | File> {
|
|
7
|
+
suffixes: Suffix[];
|
|
8
|
+
constructor(init: Partial<SingleFileUploadField>);
|
|
9
|
+
getDefaultValue(): string | File;
|
|
10
|
+
toFormValue(modelValue: unknown): string;
|
|
11
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type FormMode = 'add' | 'edit' | 'view' | 'design';
|
|
1
|
+
export type FormMode = 'add' | 'edit' | 'view' | 'design';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './dynamic-form.model';
|
|
1
|
+
export * from './dynamic-form.model';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { BaseField } from "../models/fields/field.model";
|
|
2
|
+
import { ObjField } from "../models/common/obj-field.model";
|
|
3
|
+
import { FormGroup } from "@angular/forms";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DynamicFormService {
|
|
6
|
+
private formConfigService;
|
|
7
|
+
/**
|
|
8
|
+
* Lưu giữ FormGroup hiện tại của dynamic form.
|
|
9
|
+
*/
|
|
10
|
+
private _formGroup;
|
|
11
|
+
get formGroup(): FormGroup<any>;
|
|
12
|
+
setFormGroup(formGroup: FormGroup): void;
|
|
13
|
+
/**
|
|
14
|
+
* Lưu giữ fields hiện tại của dynamic form.
|
|
15
|
+
*/
|
|
16
|
+
private _fields;
|
|
17
|
+
get fields(): BaseField<any>[];
|
|
18
|
+
setFields(fields: BaseField<any>[]): void;
|
|
19
|
+
/**
|
|
20
|
+
* Thao tác với control và fields cũng như output đầu ra của data form.
|
|
21
|
+
*/
|
|
22
|
+
setFieldValue(fieldKey: string, rawValue: unknown): void;
|
|
23
|
+
/**
|
|
24
|
+
* Signal để kích hoạt submit từ bên ngoài.
|
|
25
|
+
*/
|
|
26
|
+
private readonly _submitTrigger;
|
|
27
|
+
get submitTrigger(): import("@angular/core").Signal<{
|
|
28
|
+
formId: string | null;
|
|
29
|
+
time: number;
|
|
30
|
+
} | null>;
|
|
31
|
+
triggerSubmit(formId: string | null): void;
|
|
32
|
+
/**
|
|
33
|
+
* Signal để kích hoạt reset từ bên ngoài.
|
|
34
|
+
*/
|
|
35
|
+
private readonly _resetTrigger;
|
|
36
|
+
get resetTrigger(): import("@angular/core").Signal<{
|
|
37
|
+
formId: string;
|
|
38
|
+
time: number;
|
|
39
|
+
} | null>;
|
|
40
|
+
triggerReset(formId: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Tạo mảng fields đầu vào theo mảng data từ objField.
|
|
43
|
+
*/
|
|
44
|
+
createFieldsByObjFields(objFields: ObjField[], formType: string, options?: {}): BaseField<any>[];
|
|
45
|
+
private createFieldFromJson;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormService, never>;
|
|
47
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DynamicFormService>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Signal } from "@angular/core";
|
|
2
|
+
import { ApiResponse } from "../models/common/api-response.model";
|
|
3
|
+
import { LastChangedParent } from "../models/common";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class FieldService {
|
|
7
|
+
private httpClient;
|
|
8
|
+
getAllOptions<T = Record<string, unknown>>(apiUrl: string, queryParams: Record<string, unknown>): Observable<ApiResponse<T[]>>;
|
|
9
|
+
private dependValuesMap;
|
|
10
|
+
updateDependValuesMap(key: string, value: string): void;
|
|
11
|
+
getDependValuesMap(): Map<string, Signal<string>>;
|
|
12
|
+
private dependValuesSubjectMap;
|
|
13
|
+
/**
|
|
14
|
+
* Bắn (Emit) giá trị thay đổi của một trường Parent vào stream.
|
|
15
|
+
* Sẽ được gọi bởi Component đóng vai trò là Cha (isParent = true).
|
|
16
|
+
*/
|
|
17
|
+
emitDependValueChange(key: string, value: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Trả về Observable của một trường để các Component Con có thể subscribe/nghe ngóng.
|
|
20
|
+
* Sẽ được gọi bởi các Component có chứa `dependsOn`.
|
|
21
|
+
*/
|
|
22
|
+
getDependValueChanges$(key: string): Observable<string | null>;
|
|
23
|
+
private dependValues;
|
|
24
|
+
updateDependValues(key: string, value: string): void;
|
|
25
|
+
removeDependValues(key: string): void;
|
|
26
|
+
getDependValues(): Record<string, string>;
|
|
27
|
+
clearDependValues(): void;
|
|
28
|
+
getValueProp(key: string): string;
|
|
29
|
+
private lastChangedParent;
|
|
30
|
+
updateLastChangedParent(key: string, value: unknown): void;
|
|
31
|
+
getLastChangedParent(): LastChangedParent | null;
|
|
32
|
+
clearLastChangedParent(): void;
|
|
33
|
+
private fieldChange;
|
|
34
|
+
fieldChange$: Observable<{
|
|
35
|
+
key: string;
|
|
36
|
+
value: any;
|
|
37
|
+
}>;
|
|
38
|
+
onFieldChange(key: string, value: any): void;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldService, never>;
|
|
40
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FieldService>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ApiResponse } from '../models/common/api-response.model';
|
|
2
|
+
import { ObjectStorage } from '../models/common/object-storage.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FileService {
|
|
5
|
+
private httpClient;
|
|
6
|
+
private formConfigService;
|
|
7
|
+
private fileClick$;
|
|
8
|
+
fileClick: import("rxjs").Observable<ObjectStorage>;
|
|
9
|
+
onFileClick(objStorage: ObjectStorage): void;
|
|
10
|
+
uploadFile(file: File, formData: FormData, options?: {
|
|
11
|
+
uploadUrl?: string;
|
|
12
|
+
directoryId?: string;
|
|
13
|
+
}): import("rxjs").Observable<any>;
|
|
14
|
+
deleteObjStorage(id: string, options?: {
|
|
15
|
+
deleteUrl?: string;
|
|
16
|
+
directoryId?: string;
|
|
17
|
+
}): import("rxjs").Observable<ApiResponse<unknown>>;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileService, never>;
|
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FileService>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class FormConfigService {
|
|
3
|
+
private config;
|
|
4
|
+
handleApiUrlCreation(apiUrlFromApi: string, typeGrpCode?: string): string;
|
|
5
|
+
generateRandomFileName(name: string, addition?: string): string;
|
|
6
|
+
getViewFileUrl(fileName: string, isTemp?: boolean): string;
|
|
7
|
+
getStorageUrl(): string;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormConfigService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FormConfigService>;
|
|
10
|
+
}
|