@jsg-developer/vue-pack 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/LICENSE +19 -0
- package/README.md +154 -0
- package/dist/DEPENDENCY-LICENSES.txt +1170 -0
- package/dist/TabelData-C_eyn6Uq.cjs +1 -0
- package/dist/TabelData-fKFaSnkC.js +2142 -0
- package/dist/TabelData.vue_vue_type_style_index_0_scoped_76b9b7a6_lang-Dtm1AO8H.js +13685 -0
- package/dist/TabelData.vue_vue_type_style_index_0_scoped_76b9b7a6_lang-jjKlGR9H.cjs +64 -0
- package/dist/config.cjs.js +1 -0
- package/dist/config.es.js +6 -0
- package/dist/init.cjs.js +1 -0
- package/dist/init.es.js +24 -0
- package/dist/jsgd-vue-pack.cjs.js +1 -0
- package/dist/jsgd-vue-pack.css +7 -0
- package/dist/jsgd-vue-pack.es.js +388 -0
- package/dist/plugin/vue.cjs.js +1 -0
- package/dist/plugin/vue.es.js +51 -0
- package/dist/types/components/Form/FormFieldRenderer.vue.d.ts +23 -0
- package/dist/types/components/Form/FormModal.vue.d.ts +11 -0
- package/dist/types/components/Form/composables/index.d.ts +2 -0
- package/dist/types/components/Form/composables/useFormFieldRenderer.d.ts +22 -0
- package/dist/types/components/Form/composables/useFormModal.d.ts +19 -0
- package/dist/types/components/Form/index.d.ts +2 -0
- package/dist/types/components/Tabel/TabelData.vue.d.ts +62 -0
- package/dist/types/components/Tabel/composables/index.d.ts +4 -0
- package/dist/types/components/Tabel/composables/useDataNormalization.d.ts +7 -0
- package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts +8 -0
- package/dist/types/components/Tabel/composables/useFormHandling.d.ts +23 -0
- package/dist/types/components/Tabel/composables/useTableLogic.d.ts +35 -0
- package/dist/types/components/Tabel/index.d.ts +1 -0
- package/dist/types/components/UI/Display/BaseImage.vue.d.ts +6 -0
- package/dist/types/components/UI/Display/BaseLabel.vue.d.ts +20 -0
- package/dist/types/components/UI/Display/FieldDetailRenderer.vue.d.ts +16 -0
- package/dist/types/components/UI/Display/ImagePreview.vue.d.ts +12 -0
- package/dist/types/components/UI/Display/ModalDetailData.vue.d.ts +17 -0
- package/dist/types/components/UI/Display/SafeHtml.vue.d.ts +5 -0
- package/dist/types/components/UI/Display/Tooltip.vue.d.ts +62 -0
- package/dist/types/components/UI/Display/index.d.ts +7 -0
- package/dist/types/components/UI/Feedback/AlertApp.vue.d.ts +14 -0
- package/dist/types/components/UI/Feedback/LoaderSuccessError.vue.d.ts +12 -0
- package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts +17 -0
- package/dist/types/components/UI/Feedback/index.d.ts +3 -0
- package/dist/types/components/UI/Inputs/ArrayObject.vue.d.ts +9 -0
- package/dist/types/components/UI/Inputs/ColorPicker.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/ComboboxComponent.vue.d.ts +33 -0
- package/dist/types/components/UI/Inputs/DateInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/DateTimeInput.vue.d.ts +67 -0
- package/dist/types/components/UI/Inputs/EmailInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/FileArrayInput.vue.d.ts +14 -0
- package/dist/types/components/UI/Inputs/FileInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/GroupRenderer.vue.d.ts +17 -0
- package/dist/types/components/UI/Inputs/ImageArrayInput.vue.d.ts +14 -0
- package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/NumberInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/ObjectInput.vue.d.ts +17 -0
- package/dist/types/components/UI/Inputs/PasswordInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/TagInput.vue.d.ts +16 -0
- package/dist/types/components/UI/Inputs/TextAreaInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/TextInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/TimeInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/ToggleInput.vue.d.ts +9 -0
- package/dist/types/components/UI/Inputs/UrlInput.vue.d.ts +13 -0
- package/dist/types/components/UI/Inputs/composables/index.d.ts +3 -0
- package/dist/types/components/UI/Inputs/composables/useArrayObject.d.ts +17 -0
- package/dist/types/components/UI/Inputs/composables/useSchemaGroupRenderer.d.ts +14 -0
- package/dist/types/components/UI/Inputs/composables/useSingleObject.d.ts +11 -0
- package/dist/types/components/UI/Inputs/index.d.ts +21 -0
- package/dist/types/components/UI/index.d.ts +3 -0
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/config.d.ts +2 -0
- package/dist/types/configs/defaults/index.d.ts +1 -0
- package/dist/types/configs/defaults/table.d.ts +8 -0
- package/dist/types/configs/i18n/errors.d.ts +2 -0
- package/dist/types/configs/i18n/index.d.ts +4 -0
- package/dist/types/configs/i18n/inputs.d.ts +2 -0
- package/dist/types/configs/i18n/labels.d.ts +2 -0
- package/dist/types/configs/i18n/register.d.ts +4 -0
- package/dist/types/configs/index.d.ts +3 -0
- package/dist/types/configs/types/base.types.d.ts +8 -0
- package/dist/types/configs/types/date.types.d.ts +10 -0
- package/dist/types/configs/types/field.types.d.ts +255 -0
- package/dist/types/configs/types/globalText.types.d.ts +94 -0
- package/dist/types/configs/types/index.d.ts +10 -0
- package/dist/types/configs/types/modal-text.types.d.ts +42 -0
- package/dist/types/configs/types/plugin-config.types.d.ts +28 -0
- package/dist/types/configs/types/props.types.d.ts +355 -0
- package/dist/types/configs/types/schema.types.d.ts +20 -0
- package/dist/types/configs/types/submit-options.types.d.ts +31 -0
- package/dist/types/configs/types/table-data.types.d.ts +130 -0
- package/dist/types/fetch/index.d.ts +1 -0
- package/dist/types/fetch/submitData.d.ts +2 -0
- package/dist/types/helpers/clientInfo.d.ts +5 -0
- package/dist/types/helpers/index.d.ts +3 -0
- package/dist/types/helpers/locale.d.ts +3 -0
- package/dist/types/helpers/message.d.ts +2 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/init.d.ts +2 -0
- package/dist/types/lib/index.d.ts +2 -0
- package/dist/types/lib/indexedDB.d.ts +29 -0
- package/dist/types/lib/secureFetch.d.ts +8 -0
- package/dist/types/plugin/vue.plugin.d.ts +3 -0
- package/dist/types/schemas/TestSchema.d.ts +2 -0
- package/dist/types/schemas/index.d.ts +1 -0
- package/dist/types/untils/index.d.ts +4 -0
- package/dist/types/untils/math.d.ts +28 -0
- package/dist/types/untils/misc.d.ts +3 -0
- package/dist/types/untils/objectPath.d.ts +5 -0
- package/dist/types/untils/regex.d.ts +8 -0
- package/dist/types/validate/index.d.ts +1 -0
- package/dist/types/validate/validate.d.ts +27 -0
- package/package.json +70 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { SchemaGroupRendererProps } from '../../../../configs/types';
|
|
3
|
+
interface SchemaGroupRendererComposable {
|
|
4
|
+
selectedOption: Ref<string | null>;
|
|
5
|
+
multiSelected: Ref<string[]>;
|
|
6
|
+
fieldIsColor: Ref<string[]>;
|
|
7
|
+
initializeFormData: () => void;
|
|
8
|
+
handleSelectChange: () => void;
|
|
9
|
+
handleCheckboxChange: () => void;
|
|
10
|
+
errorPush: (message: string | string[], key: string) => void;
|
|
11
|
+
errorRemove: (key: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSchemaGroupRenderer<TEmit extends (event: any, ...args: any[]) => void>(props: SchemaGroupRendererProps, emit: TEmit): SchemaGroupRendererComposable;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { SingleObjectProps } from '../../../../configs/types';
|
|
3
|
+
interface SingleObjectComposable {
|
|
4
|
+
fieldIsColor: Ref<string[]>;
|
|
5
|
+
addColor: (key: string, color: string) => void;
|
|
6
|
+
removeColor: (key: string, index: number) => void;
|
|
7
|
+
errorPush: (key: string, message: string) => void;
|
|
8
|
+
errorRemove: (key: string) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useSingleObject<TEmit extends (event: any, ...args: any[]) => void>(props: SingleObjectProps, emit: TEmit): SingleObjectComposable;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { default as ArrayObjectInput } from './ArrayObject.vue';
|
|
2
|
+
export { default as ColorInput } from './ColorPicker.vue';
|
|
3
|
+
export { default as SelectedOptions } from './ComboboxComponent.vue';
|
|
4
|
+
export { default as DateInput } from './DateInput.vue';
|
|
5
|
+
export { default as DateTimeInput } from './DateTimeInput.vue';
|
|
6
|
+
export { default as EmailInput } from './EmailInput.vue';
|
|
7
|
+
export { default as FileArrayInput } from './FileArrayInput.vue';
|
|
8
|
+
export { default as FileInput } from './FileInput.vue';
|
|
9
|
+
export { default as GroupRendererInput } from './GroupRenderer.vue';
|
|
10
|
+
export { default as ImageArrayInput } from './ImageArrayInput.vue';
|
|
11
|
+
export { default as ImageInput } from './ImageInput.vue';
|
|
12
|
+
export { default as NumberInput } from './NumberInput.vue';
|
|
13
|
+
export { default as ObjectInput } from './ObjectInput.vue';
|
|
14
|
+
export { default as PasswordInput } from './PasswordInput.vue';
|
|
15
|
+
export { default as TagInput } from './TagInput.vue';
|
|
16
|
+
export { default as TextAreaInput } from './TextAreaInput.vue';
|
|
17
|
+
export { default as TextAreaQuillInput } from './TextAreaQuill.vue';
|
|
18
|
+
export { default as TextInput } from './TextInput.vue';
|
|
19
|
+
export { default as TimeInput } from './TimeInput.vue';
|
|
20
|
+
export { default as ToggleInput } from './ToggleInput.vue';
|
|
21
|
+
export { default as UrlInput } from './UrlInput.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './table';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TabelFeatureToggles, TabelManualControl, TabelPagination, TabelValidationSchema, TabelEndpoints, DataKeyConfig, Item, SubmitAuthOptionMap } from '../types';
|
|
2
|
+
export declare const defaultKeys: DataKeyConfig;
|
|
3
|
+
export declare const defaultFeatureToggles: TabelFeatureToggles;
|
|
4
|
+
export declare const defaultManualControl: TabelManualControl;
|
|
5
|
+
export declare const defaultPagination: TabelPagination;
|
|
6
|
+
export declare const defaultValidation: TabelValidationSchema<Item>;
|
|
7
|
+
export declare const defaultEndpoints: TabelEndpoints;
|
|
8
|
+
export declare const defaultSubmitAuth: SubmitAuthOptionMap;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GlobalDefaultText, SupportedLanguage } from '../..';
|
|
2
|
+
export declare function registerLanguage(lang: SupportedLanguage, config: GlobalDefaultText): void;
|
|
3
|
+
export declare function registerErrorMessageRequired(lang: SupportedLanguage, template: string): void;
|
|
4
|
+
export declare function registerInputMessages(field: string, lang: SupportedLanguage, template: string): void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type Branded<T, B extends string> = T & {
|
|
2
|
+
__brand: B;
|
|
3
|
+
};
|
|
4
|
+
export type DateOnly = Branded<`${number}${number}${number}${number}-${number}${number}-${number}${number}`, 'DateOnly'>;
|
|
5
|
+
export type TimeOnly = Branded<`${number}${number}:${number}${number}`, 'TimeOnly'>;
|
|
6
|
+
type DateTimeBase = `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}`;
|
|
7
|
+
type TimezoneOffset = `${'+' | '-'}${number}${number}:${number}${number}`;
|
|
8
|
+
export type DateTimeString = Branded<DateTimeBase | `${DateTimeBase}Z` | `${DateTimeBase}.${string}Z` | `${DateTimeBase}${TimezoneOffset}` | `${DateTimeBase}.${string}${TimezoneOffset}`, // <-- TAMBAHAN BARU (Lokal dengan offset + milidetik)
|
|
9
|
+
'DateTimeString'>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { DataKeyConfig, Item, SubmitAuthOptionMap, Schema, XOR, DateOnly, TimeOnly, DateTimeString } from '../..';
|
|
2
|
+
export declare const ImageTypes: readonly ["png", "jpg", "jpeg", "gif", "bmp", "webp", "heif", "heic", "tiff", "tif", "svg", "avif", "ico", "jfif"];
|
|
3
|
+
export type ImageType = (typeof ImageTypes)[number];
|
|
4
|
+
export declare const fieldTypes: readonly ["text", "email", "password", "number", "image", "color", "select", "arrayObject", "richText", "optionGroupSchema", "tag", "object", "url", "toggle", "date", "time", "dateTime", "imageArray", "file", "fileArray", "textArea"];
|
|
5
|
+
export declare const formDesign: readonly ["form", "news"];
|
|
6
|
+
export type FieldType = (typeof fieldTypes)[number];
|
|
7
|
+
export type FormDesign = (typeof formDesign)[number];
|
|
8
|
+
export interface BaseField {
|
|
9
|
+
type: FieldType;
|
|
10
|
+
label?: string;
|
|
11
|
+
baseKey?: BaseKey;
|
|
12
|
+
value?: any;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface BaseKey {
|
|
17
|
+
base?: string | number;
|
|
18
|
+
name?: any;
|
|
19
|
+
}
|
|
20
|
+
export interface ObjectField extends BaseField {
|
|
21
|
+
type: 'object';
|
|
22
|
+
schema: Schema;
|
|
23
|
+
}
|
|
24
|
+
export interface UrlField extends BaseField {
|
|
25
|
+
type: 'url';
|
|
26
|
+
placeholder?: string;
|
|
27
|
+
validate?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface FileField extends BaseField {
|
|
30
|
+
type: 'file';
|
|
31
|
+
validate?: {
|
|
32
|
+
maxSize?: number;
|
|
33
|
+
allowedTypes?: string[];
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface ToggleField extends BaseField {
|
|
37
|
+
type: 'toggle';
|
|
38
|
+
}
|
|
39
|
+
export interface TextField extends BaseField {
|
|
40
|
+
type: 'text';
|
|
41
|
+
placeholder?: string;
|
|
42
|
+
validate?: {
|
|
43
|
+
duplicate: (string | number)[] | boolean;
|
|
44
|
+
minLength?: number;
|
|
45
|
+
maxLength?: number;
|
|
46
|
+
pattern?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export interface EmailField extends BaseField {
|
|
50
|
+
type: 'email';
|
|
51
|
+
placeholder?: string;
|
|
52
|
+
validate?: {
|
|
53
|
+
duplicate?: (string | number)[] | boolean;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export interface PasswordField extends BaseField {
|
|
57
|
+
type: 'password';
|
|
58
|
+
placeholder?: string;
|
|
59
|
+
validate?: {
|
|
60
|
+
minLength?: number;
|
|
61
|
+
maxLength?: number;
|
|
62
|
+
requireUppercase?: boolean;
|
|
63
|
+
requireLowercase?: boolean;
|
|
64
|
+
requireNumber?: boolean;
|
|
65
|
+
requireSpecialChar?: boolean;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export interface NumberField extends BaseField {
|
|
69
|
+
type: 'number';
|
|
70
|
+
placeholder?: string;
|
|
71
|
+
validate?: {
|
|
72
|
+
min?: number;
|
|
73
|
+
max?: number;
|
|
74
|
+
integer?: boolean;
|
|
75
|
+
duplicate?: (string | number)[] | boolean;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export interface RichTextField extends BaseField {
|
|
79
|
+
type: 'richText';
|
|
80
|
+
placeholder?: string;
|
|
81
|
+
validate?: {
|
|
82
|
+
minLength?: number;
|
|
83
|
+
maxLength?: number;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export interface DateField extends BaseField {
|
|
87
|
+
type: 'date';
|
|
88
|
+
placeholder?: string;
|
|
89
|
+
validate?: {
|
|
90
|
+
minDate?: DateOnly;
|
|
91
|
+
maxDate?: DateOnly;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface TimeField extends BaseField {
|
|
95
|
+
type: 'time';
|
|
96
|
+
placeholder?: string;
|
|
97
|
+
validate?: {
|
|
98
|
+
minTime?: TimeOnly;
|
|
99
|
+
maxTime?: TimeOnly;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export interface DateTimeField extends BaseField {
|
|
103
|
+
type: 'dateTime';
|
|
104
|
+
placeholder?: string;
|
|
105
|
+
validate?: {
|
|
106
|
+
minDateTime?: DateTimeString;
|
|
107
|
+
maxDateTime?: DateTimeString;
|
|
108
|
+
};
|
|
109
|
+
outputFormat?: 'local-offset' | 'utc';
|
|
110
|
+
}
|
|
111
|
+
export interface TextAreaField extends BaseField {
|
|
112
|
+
type: 'textArea';
|
|
113
|
+
placeholder?: string;
|
|
114
|
+
validate?: {
|
|
115
|
+
minLength?: number;
|
|
116
|
+
maxLength?: number;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
export interface ImageField extends BaseField {
|
|
120
|
+
type: 'image';
|
|
121
|
+
validate?: {
|
|
122
|
+
maxSize?: number;
|
|
123
|
+
ratio?: {
|
|
124
|
+
Width: number;
|
|
125
|
+
Height: number;
|
|
126
|
+
};
|
|
127
|
+
pixel?: XOR<{
|
|
128
|
+
maxWidth?: number;
|
|
129
|
+
maxHeight?: number;
|
|
130
|
+
minWidth?: number;
|
|
131
|
+
minHeight?: number;
|
|
132
|
+
}, {
|
|
133
|
+
width?: number;
|
|
134
|
+
height?: number;
|
|
135
|
+
}>;
|
|
136
|
+
allowedTypes?: ImageType[];
|
|
137
|
+
};
|
|
138
|
+
watermark?: {
|
|
139
|
+
url: string;
|
|
140
|
+
position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'full';
|
|
141
|
+
transparant: number;
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
export interface ImageArrayField extends BaseField {
|
|
145
|
+
type: 'imageArray';
|
|
146
|
+
validate?: {
|
|
147
|
+
maxFiles?: number;
|
|
148
|
+
maxSize?: number;
|
|
149
|
+
ratio?: {
|
|
150
|
+
Width: number;
|
|
151
|
+
Height: number;
|
|
152
|
+
};
|
|
153
|
+
pixel?: XOR<{
|
|
154
|
+
maxWidth?: number;
|
|
155
|
+
maxHeight?: number;
|
|
156
|
+
minWidth?: number;
|
|
157
|
+
minHeight?: number;
|
|
158
|
+
}, {
|
|
159
|
+
width?: number;
|
|
160
|
+
height?: number;
|
|
161
|
+
}>;
|
|
162
|
+
allowedTypes?: ImageType[];
|
|
163
|
+
};
|
|
164
|
+
watermark?: {
|
|
165
|
+
url: string;
|
|
166
|
+
position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'full';
|
|
167
|
+
transparant: number;
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
export interface FileArrayField extends BaseField {
|
|
171
|
+
type: 'fileArray';
|
|
172
|
+
validate?: {
|
|
173
|
+
maxFiles?: number;
|
|
174
|
+
maxSize?: number;
|
|
175
|
+
allowedTypes?: string[];
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
export interface ColorField extends BaseField {
|
|
179
|
+
type: 'color';
|
|
180
|
+
single?: boolean;
|
|
181
|
+
validate?: {
|
|
182
|
+
min?: number;
|
|
183
|
+
max?: number;
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
export type OptionsSource = {
|
|
187
|
+
url: string;
|
|
188
|
+
valueKey: string;
|
|
189
|
+
viewKey?: string;
|
|
190
|
+
} | {
|
|
191
|
+
DB_NAME: string;
|
|
192
|
+
valueKey: string;
|
|
193
|
+
viewKey?: string;
|
|
194
|
+
};
|
|
195
|
+
export interface SelectField extends BaseField {
|
|
196
|
+
type: 'select';
|
|
197
|
+
placeholder?: string;
|
|
198
|
+
optionsIsNumber?: boolean;
|
|
199
|
+
options: (string | number)[] | OptionsSource;
|
|
200
|
+
optionsView?: (string | number)[];
|
|
201
|
+
DB_NAME?: string;
|
|
202
|
+
withCreate?: {
|
|
203
|
+
DB_NAME?: string;
|
|
204
|
+
schema: Schema;
|
|
205
|
+
endPoint: string;
|
|
206
|
+
validation?: object;
|
|
207
|
+
submitOption?: SubmitAuthOptionMap<Item>;
|
|
208
|
+
keys?: DataKeyConfig;
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
export interface TagField extends BaseField {
|
|
212
|
+
type: 'tag';
|
|
213
|
+
placeholder?: string;
|
|
214
|
+
validate?: {
|
|
215
|
+
min?: number;
|
|
216
|
+
max?: number;
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
export interface ArrayObjectField extends BaseField {
|
|
220
|
+
type: 'arrayObject';
|
|
221
|
+
initialItem?: Record<string, any>;
|
|
222
|
+
DB_NAME?: string;
|
|
223
|
+
endPoint?: {
|
|
224
|
+
delete?: string;
|
|
225
|
+
deleteMany?: string;
|
|
226
|
+
update?: string;
|
|
227
|
+
create?: string;
|
|
228
|
+
};
|
|
229
|
+
schema: Schema;
|
|
230
|
+
}
|
|
231
|
+
export type connectedMap = {
|
|
232
|
+
valueKey: string;
|
|
233
|
+
viewKey?: string;
|
|
234
|
+
connect?: {
|
|
235
|
+
withDB?: {
|
|
236
|
+
DB_NAME: string;
|
|
237
|
+
valueKey: string;
|
|
238
|
+
viewKey?: string;
|
|
239
|
+
};
|
|
240
|
+
} | {
|
|
241
|
+
withFetch?: {
|
|
242
|
+
url: string;
|
|
243
|
+
valueKey: string;
|
|
244
|
+
viewKey?: string;
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
connectKey?: string;
|
|
248
|
+
};
|
|
249
|
+
export interface OptionGroupField extends BaseField {
|
|
250
|
+
type: 'optionGroupSchema';
|
|
251
|
+
typeDesign: 'cekbox' | 'select';
|
|
252
|
+
optionsLabels?: Record<string, string>;
|
|
253
|
+
options: Record<string, Schema>;
|
|
254
|
+
withValue?: boolean;
|
|
255
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export type SupportedLanguage = string;
|
|
2
|
+
export interface GlobalDefaultText {
|
|
3
|
+
required: string;
|
|
4
|
+
optional: string;
|
|
5
|
+
noSelection: string;
|
|
6
|
+
search: string;
|
|
7
|
+
selection: {
|
|
8
|
+
selected: string;
|
|
9
|
+
selectedOne: string;
|
|
10
|
+
selectAll: string;
|
|
11
|
+
clear: string;
|
|
12
|
+
};
|
|
13
|
+
placeholder: {
|
|
14
|
+
string: string;
|
|
15
|
+
number: string;
|
|
16
|
+
array: string;
|
|
17
|
+
select: string;
|
|
18
|
+
richText: string;
|
|
19
|
+
password: string;
|
|
20
|
+
email: string;
|
|
21
|
+
tag: string;
|
|
22
|
+
url: string;
|
|
23
|
+
date: string;
|
|
24
|
+
time: string;
|
|
25
|
+
datetime: string;
|
|
26
|
+
files: string;
|
|
27
|
+
images: string;
|
|
28
|
+
};
|
|
29
|
+
action: string;
|
|
30
|
+
message: {
|
|
31
|
+
notFoundDesc: string;
|
|
32
|
+
notFound: string;
|
|
33
|
+
noChange: string;
|
|
34
|
+
noItemSelected: string;
|
|
35
|
+
error: {
|
|
36
|
+
create: string;
|
|
37
|
+
update: string;
|
|
38
|
+
delete: string;
|
|
39
|
+
get: string;
|
|
40
|
+
getAll: string;
|
|
41
|
+
deleteMany: string;
|
|
42
|
+
};
|
|
43
|
+
success: {
|
|
44
|
+
create: string;
|
|
45
|
+
update: string;
|
|
46
|
+
delete: string;
|
|
47
|
+
get: string;
|
|
48
|
+
getAll: string;
|
|
49
|
+
deleteMany: string;
|
|
50
|
+
};
|
|
51
|
+
process: {
|
|
52
|
+
loading: string;
|
|
53
|
+
create: string;
|
|
54
|
+
update: string;
|
|
55
|
+
delete: string;
|
|
56
|
+
get: string;
|
|
57
|
+
getAll: string;
|
|
58
|
+
deleteMany: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
warning: {
|
|
62
|
+
delete: string;
|
|
63
|
+
deleteMany: string;
|
|
64
|
+
};
|
|
65
|
+
btn: {
|
|
66
|
+
edit: string;
|
|
67
|
+
remove: string;
|
|
68
|
+
add: string;
|
|
69
|
+
cancel: string;
|
|
70
|
+
close: string;
|
|
71
|
+
change: string;
|
|
72
|
+
select: string;
|
|
73
|
+
deleteMany: string;
|
|
74
|
+
create: string;
|
|
75
|
+
update: string;
|
|
76
|
+
display: string;
|
|
77
|
+
next: string;
|
|
78
|
+
prev: string;
|
|
79
|
+
toogle: {
|
|
80
|
+
active: string;
|
|
81
|
+
inactive: string;
|
|
82
|
+
};
|
|
83
|
+
submit: {
|
|
84
|
+
create: string;
|
|
85
|
+
update: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
title: {
|
|
89
|
+
create: string;
|
|
90
|
+
update: string;
|
|
91
|
+
display: string;
|
|
92
|
+
};
|
|
93
|
+
lang: SupportedLanguage;
|
|
94
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './base.types';
|
|
2
|
+
export * from './date.types';
|
|
3
|
+
export * from './field.types';
|
|
4
|
+
export * from './globalText.types';
|
|
5
|
+
export * from './modal-text.types';
|
|
6
|
+
export * from './props.types';
|
|
7
|
+
export * from './schema.types';
|
|
8
|
+
export * from './submit-options.types';
|
|
9
|
+
export * from './table-data.types';
|
|
10
|
+
export * from './plugin-config.types';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface GlobalModal {
|
|
2
|
+
displayNullValue?: boolean;
|
|
3
|
+
labels?: {
|
|
4
|
+
title?: {
|
|
5
|
+
display?: string;
|
|
6
|
+
create?: string;
|
|
7
|
+
update?: string;
|
|
8
|
+
};
|
|
9
|
+
optional?: string;
|
|
10
|
+
required?: string;
|
|
11
|
+
btn?: {
|
|
12
|
+
close?: string;
|
|
13
|
+
cancel?: string;
|
|
14
|
+
create?: string;
|
|
15
|
+
update?: string;
|
|
16
|
+
submit?: {
|
|
17
|
+
create?: string;
|
|
18
|
+
update?: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface ModalView {
|
|
24
|
+
labels: {
|
|
25
|
+
title?: string;
|
|
26
|
+
btn: {
|
|
27
|
+
close?: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
displayNullValue?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface ModalCreateUpdate {
|
|
33
|
+
labels: {
|
|
34
|
+
btn: {
|
|
35
|
+
submit?: string;
|
|
36
|
+
cancel?: string;
|
|
37
|
+
optional?: string;
|
|
38
|
+
};
|
|
39
|
+
title?: string;
|
|
40
|
+
required?: string;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { GlobalDefaultText, SupportedLanguage } from '../../configs';
|
|
2
|
+
export interface JsgIndexedDBConfig {
|
|
3
|
+
dbName?: string;
|
|
4
|
+
dbVersion?: number;
|
|
5
|
+
storeSingle?: string[];
|
|
6
|
+
storeArray?: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface JsgI18nConfig {
|
|
9
|
+
languages?: {
|
|
10
|
+
lang: SupportedLanguage;
|
|
11
|
+
config: GlobalDefaultText;
|
|
12
|
+
}[];
|
|
13
|
+
override?: {
|
|
14
|
+
errorRequired?: {
|
|
15
|
+
lang: SupportedLanguage;
|
|
16
|
+
template: string;
|
|
17
|
+
}[];
|
|
18
|
+
inputMessages?: {
|
|
19
|
+
field: string;
|
|
20
|
+
lang: SupportedLanguage;
|
|
21
|
+
template: string;
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface JsgdVuePackConfig {
|
|
26
|
+
indexedDB?: JsgIndexedDBConfig;
|
|
27
|
+
i18n?: JsgI18nConfig;
|
|
28
|
+
}
|