@ldquocc/dynamic-form 0.0.1
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/README.md +63 -0
- package/fesm2022/ldquocc-dynamic-form.mjs +6466 -0
- package/fesm2022/ldquocc-dynamic-form.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/ldquocc-dynamic-form-0.0.1.tgz +0 -0
- package/lib/dynamic-form.component.d.ts +67 -0
- package/lib/dynamic-form.service.d.ts +6 -0
- package/lib/shared/base/base-value-accessor.d.ts +62 -0
- package/lib/shared/components/component.d.ts +14 -0
- package/lib/shared/components/dynamic-field/dynamic-field.component.d.ts +23 -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 +15 -0
- package/lib/shared/components/fields/date/date-range/date-range.component.d.ts +16 -0
- package/lib/shared/components/fields/input/input-password/input-password.component.d.ts +11 -0
- package/lib/shared/components/fields/input/input-text/input-text.component.d.ts +14 -0
- package/lib/shared/components/fields/radio/custom/reminder-type-radio/reminder-type-radio.component.d.ts +24 -0
- package/lib/shared/components/fields/select/multi-select/multi-select.component.d.ts +25 -0
- package/lib/shared/components/fields/select/single-select/single-select.component.d.ts +26 -0
- package/lib/shared/components/fields/select/tree-select/tree-select.component.d.ts +27 -0
- package/lib/shared/components/fields/textarea/textarea.component.d.ts +13 -0
- package/lib/shared/components/fields/upload/avatar-upload/avatar-upload.component.d.ts +26 -0
- package/lib/shared/components/fields/upload/multi-file-upload/multi-file-upload.component.d.ts +77 -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 +1 -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/lib/shared/consts/common/index.d.ts +5 -0
- package/lib/shared/consts/common/sample-test.const.d.ts +68 -0
- package/lib/shared/consts/common/standalone-import.const.d.ts +7 -0
- package/lib/shared/consts/controls/control.const.d.ts +1 -0
- package/lib/shared/consts/controls/index.d.ts +1 -0
- package/lib/shared/consts/fields/date-field.const.d.ts +7 -0
- package/lib/shared/consts/fields/field.const.d.ts +4 -0
- package/lib/shared/consts/fields/index.d.ts +4 -0
- package/lib/shared/consts/fields/input-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/lib/shared/enums/common/index.d.ts +4 -0
- 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/lib/shared/enums/controls/index.d.ts +1 -0
- package/lib/shared/enums/fields/date-field.enum.d.ts +4 -0
- package/lib/shared/enums/fields/field.enum.d.ts +19 -0
- package/lib/shared/enums/fields/index.d.ts +5 -0
- package/lib/shared/enums/fields/input-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/lib/shared/enums/form/index.d.ts +1 -0
- package/lib/shared/enums/validators/index.d.ts +1 -0
- package/lib/shared/enums/validators/validators.enum.d.ts +14 -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/lib/shared/models/common/index.d.ts +7 -0
- 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/lib/shared/models/common/output-value-type.model.d.ts +4 -0
- package/lib/shared/models/common/table-models.d.ts +15 -0
- package/lib/shared/models/common/view-mode.model.d.ts +1 -0
- package/lib/shared/models/controls/control.model.d.ts +2 -0
- package/lib/shared/models/controls/index.d.ts +1 -0
- 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 +11 -0
- package/lib/shared/models/fields/date/index.d.ts +3 -0
- 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.model.d.ts +55 -0
- package/lib/shared/models/fields/index.model.d.ts +1 -0
- package/lib/shared/models/fields/input/index.d.ts +3 -0
- package/lib/shared/models/fields/input/input-field.model.d.ts +31 -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/custom/reminder-type-radio/reminder-option.model.d.ts +26 -0
- package/lib/shared/models/fields/radio/custom/reminder-type-radio/reminder-type-radio-field.model.d.ts +14 -0
- package/lib/shared/models/fields/radio/custom/reminder-type-radio/reminder-type.model.d.ts +1 -0
- package/lib/shared/models/fields/radio/custom/reminder-type-radio/reminder-value.model.d.ts +7 -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/lib/shared/models/fields/upload/index.d.ts +1 -0
- 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/lib/shared/models/form/dynamic-form.model.d.ts +1 -0
- package/lib/shared/models/form/index.d.ts +1 -0
- package/lib/shared/services/dynamic-form.service.d.ts +48 -0
- package/lib/shared/services/field.service.d.ts +29 -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/lib/shared/utils/common/index.d.ts +1 -0
- package/lib/shared/utils/date/date.utils.d.ts +6 -0
- package/lib/shared/utils/date/index.d.ts +1 -0
- package/lib/shared/utils/dynamic-form/dynamic-form.d.ts +7 -0
- package/lib/shared/utils/fields/fields.d.ts +20 -0
- package/lib/shared/utils/fields/index.d.ts +1 -0
- package/lib/shared/utils/file/file.utils.d.ts +4 -0
- package/lib/shared/utils/file/index.d.ts +1 -0
- package/lib/shared/utils/validators/custom-validators.d.ts +12 -0
- package/lib/shared/utils/validators/default-error-message.d.ts +6 -0
- package/lib/shared/utils/validators/index.d.ts +3 -0
- package/lib/shared/utils/validators/pattern.d.ts +4 -0
- package/package.json +23 -0
- package/public-api.d.ts +28 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class SuffixService {
|
|
3
|
+
private suffixClick$;
|
|
4
|
+
suffixClick: import("rxjs").Observable<{
|
|
5
|
+
key: string;
|
|
6
|
+
formId: string;
|
|
7
|
+
}>;
|
|
8
|
+
onSuffixClick(key: string, formId: string): void;
|
|
9
|
+
constructor();
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SuffixService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SuffixService>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractControl } from '@angular/forms';
|
|
2
|
+
import { BaseField } from '../models/fields/field.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ValidationService {
|
|
5
|
+
constructor();
|
|
6
|
+
getFirstError(control: AbstractControl, field: BaseField<any>, fields: BaseField<any>[]): string;
|
|
7
|
+
private getErrorMessage;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ValidationService>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseField } from '../../models/fields/field.model';
|
|
2
|
+
export declare const isValidJSON: (str: string) => boolean;
|
|
3
|
+
export declare const uuidGenerator: () => string;
|
|
4
|
+
export declare const lowerCaseFirstChar: (str: string) => string;
|
|
5
|
+
export declare const upperCaseFirstChar: (str: string) => string;
|
|
6
|
+
export declare const deepCopyArray: (array: BaseField<any>[]) => BaseField<any>[];
|
|
7
|
+
export declare const deepCopyObject: (obj: BaseField<any>) => BaseField<any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './common.utils';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const formatDateToDDMMYYYY: (date: Date, separator?: "-" | "/") => string;
|
|
2
|
+
export declare const formatDateToYYYYMMDD: (date: Date, separator?: "-" | "/") => string;
|
|
3
|
+
export declare const normalizeToDate: (input: string | Date | undefined) => Date | null;
|
|
4
|
+
export declare const normalizeToDate1: (input: string | Date | undefined) => Date | null;
|
|
5
|
+
export declare const generateYearsDesc: (from: number) => number[];
|
|
6
|
+
export declare const generateYearsAsc: (from: number) => number[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './date.utils';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FormGroup } from '@angular/forms';
|
|
2
|
+
import { BaseField } from '../../models/fields/field.model';
|
|
3
|
+
import { FormMode } from '../../models/form';
|
|
4
|
+
import { SelectBaseField } from '../../models/fields/select/select-base-field.model';
|
|
5
|
+
export declare const buildForm: (fields: BaseField<any>[], mode: FormMode, model?: Record<string, any>) => FormGroup;
|
|
6
|
+
export declare const createPlaceholder: (field: BaseField<any>) => string;
|
|
7
|
+
export declare const createSelectPlaceholder: <K>(field: SelectBaseField<K>) => string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DatePickerField } from '../../models/fields/date/date-picker-field.model';
|
|
2
|
+
import { DateRangeField } from '../../models/fields/date/date-range-field.model';
|
|
3
|
+
import { FieldGroup, GroupedFields } from '../../models/fields/field-group.model';
|
|
4
|
+
import { BaseField } from '../../models/fields/field.model';
|
|
5
|
+
import { InputPasswordField, InputTextField } from '../../models/fields/input';
|
|
6
|
+
import { MultiSelectField } from '../../models/fields/select/multi-select-field.model';
|
|
7
|
+
import { SingleSelectField } from '../../models/fields/select/single-select-field.model';
|
|
8
|
+
import { AvatarUploadField } from '../../models/fields/upload/avatar-upload-field.model';
|
|
9
|
+
import { MultiFileUploadField } from '../../models/fields/upload/multi-file-upload-field.model';
|
|
10
|
+
import { SingleFileUploadField } from '../../models/fields/upload/single-file-upload-field.model';
|
|
11
|
+
export declare const isInputTextField: (field: BaseField<any>) => field is InputTextField;
|
|
12
|
+
export declare const isInputPasswordField: (field: BaseField<any>) => field is InputPasswordField;
|
|
13
|
+
export declare const isSingleSelectField: (field: BaseField<any>) => field is SingleSelectField;
|
|
14
|
+
export declare const isMultiSelectField: (field: BaseField<any>) => field is MultiSelectField;
|
|
15
|
+
export declare const isDatePickerField: (field: BaseField<any>) => field is DatePickerField;
|
|
16
|
+
export declare const isDateRangeField: (field: BaseField<any>) => field is DateRangeField;
|
|
17
|
+
export declare const isSingleFileUploadField: (field: BaseField<any>) => field is SingleFileUploadField;
|
|
18
|
+
export declare const isMultiFileUploadField: (field: BaseField<any>) => field is MultiFileUploadField;
|
|
19
|
+
export declare const isAvatarUploadField: (field: BaseField<any>) => field is AvatarUploadField;
|
|
20
|
+
export declare const buildGroupedFields: (fields: BaseField<any>[], groups?: FieldGroup[]) => GroupedFields;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './fields';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FileSizeTypeEnum } from '../../enums/common/file-size-type.enum';
|
|
2
|
+
export declare const formatFileSize: (size: number, type: FileSizeTypeEnum) => number;
|
|
3
|
+
export declare const getExtensions: (acptMimeTypes: string[]) => string[];
|
|
4
|
+
export declare const createFakeFile: (name: string, type: string, size: number) => File;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './file.utils';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AsyncValidatorFn, ValidatorFn } from '@angular/forms';
|
|
2
|
+
export declare const noLeadingSpaceValidator: () => ValidatorFn;
|
|
3
|
+
export declare const noWhitespaceValidator: () => ValidatorFn;
|
|
4
|
+
export declare const startsWithValidator: (prefix: string) => ValidatorFn;
|
|
5
|
+
export declare const minMaxFieldValidator: (minKey: string, maxKey: string) => ValidatorFn;
|
|
6
|
+
export declare const matchFieldsValidator: (fieldToMatch: string) => ValidatorFn;
|
|
7
|
+
export declare const asyncUsernameValidator: (takenUsernames: string[]) => AsyncValidatorFn;
|
|
8
|
+
export declare const noSpecialCharValidator: () => ValidatorFn;
|
|
9
|
+
export declare const usernameBlacklistValidator: (blacklist: string[]) => ValidatorFn;
|
|
10
|
+
export declare const acceptedMimeTypesValidator: (acceptedMimeTypes: string[]) => ValidatorFn;
|
|
11
|
+
export declare const maxFileSizeInMBValidator: (maxSizeInMB: number) => ValidatorFn;
|
|
12
|
+
export declare const reminderCustomRequiredValidator: () => ValidatorFn;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const getDefaultPatternErrorMessage: (label: string, pattern: string | RegExp) => string;
|
|
2
|
+
export declare const getDefaultMinLengthErrorMessage: (label: string, errorValue: any) => string;
|
|
3
|
+
export declare const getDefaultMaxLengthErrorMessage: (label: string, errorValue: any) => string;
|
|
4
|
+
export declare const getDefaultAcptMimeTypesErrorMessage: (typeString: string) => string;
|
|
5
|
+
export declare const getDefaultMaxSizeInMBErrorMessage: (maxSizeInMB: number) => string;
|
|
6
|
+
export declare const getLeadingSpaceErrorMessage: (label: string) => string;
|
package/package.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ldquocc/dynamic-form",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^19.2.0",
|
|
6
|
+
"@angular/core": "^19.2.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"module": "fesm2022/ldquocc-dynamic-form.mjs",
|
|
13
|
+
"typings": "index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": {
|
|
16
|
+
"default": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./index.d.ts",
|
|
20
|
+
"default": "./fesm2022/ldquocc-dynamic-form.mjs"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export * from './lib/dynamic-form.component';
|
|
2
|
+
export * from './lib/dynamic-form.service';
|
|
3
|
+
export * from './lib/shared/config/dynamic-form.config';
|
|
4
|
+
export * from './lib/shared/services/form-config.service';
|
|
5
|
+
export * from './lib/shared/enums/controls/index';
|
|
6
|
+
export * from './lib/shared/enums/fields/index';
|
|
7
|
+
export * from './lib/shared/enums/validators/index';
|
|
8
|
+
export * from './lib/shared/enums/common/index';
|
|
9
|
+
export * from './lib/shared/enums/form/index';
|
|
10
|
+
export * from './lib/shared/models/common/index';
|
|
11
|
+
export * from './lib/shared/models/common/table-models';
|
|
12
|
+
export * from './lib/shared/models/fields/field.model';
|
|
13
|
+
export * from './lib/shared/models/fields/field-grid.model';
|
|
14
|
+
export * from './lib/shared/models/fields/field-group.model';
|
|
15
|
+
export * from './lib/shared/models/fields/index.model';
|
|
16
|
+
export * from './lib/shared/models/fields/input/index';
|
|
17
|
+
export * from './lib/shared/models/fields/textarea/textarea-field.model';
|
|
18
|
+
export * from './lib/shared/models/fields/date/index';
|
|
19
|
+
export * from './lib/shared/models/fields/select/select-base-field.model';
|
|
20
|
+
export * from './lib/shared/models/fields/select/single-select-field.model';
|
|
21
|
+
export * from './lib/shared/models/fields/select/multi-select-field.model';
|
|
22
|
+
export * from './lib/shared/models/fields/select/tree-select-field.model';
|
|
23
|
+
export * from './lib/shared/models/fields/upload/index';
|
|
24
|
+
export * from './lib/shared/models/fields/radio/radio-base-field.model';
|
|
25
|
+
export * from './lib/shared/models/fields/radio/custom/reminder-type-radio/reminder-type-radio-field.model';
|
|
26
|
+
export * from './lib/shared/models/fields/radio/custom/reminder-type-radio/reminder-value.model';
|
|
27
|
+
export * from './lib/shared/models/fields/radio/custom/reminder-type-radio/reminder-option.model';
|
|
28
|
+
export * from './lib/shared/models/fields/radio/custom/reminder-type-radio/reminder-type.model';
|