@forestadmin/agent 1.25.0 → 1.26.0
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionField, ActionFieldCheckbox, ActionFieldCheckboxGroupAll, ActionFieldCollection, ActionFieldDropdownAll, ActionFieldEnum, ActionFieldEnumList, ActionFieldNumberInput, ActionFieldRadioGroupButtonAll as ActionFieldRadioGroupAll, ActionFieldRichText, ActionFieldTextArea, ActionFieldTextInput, ActionFieldTextInputList } from '@forestadmin/datasource-toolkit';
|
|
1
|
+
import { ActionField, ActionFieldCheckbox, ActionFieldCheckboxGroupAll, ActionFieldCollection, ActionFieldDropdownAll, ActionFieldEnum, ActionFieldEnumList, ActionFieldNumberInput, ActionFieldNumberInputList, ActionFieldRadioGroupButtonAll as ActionFieldRadioGroupAll, ActionFieldRichText, ActionFieldTextArea, ActionFieldTextInput, ActionFieldTextInputList } from '@forestadmin/datasource-toolkit';
|
|
2
2
|
export default class ActionFields {
|
|
3
3
|
static isCollectionField(field: ActionField | null | undefined): field is ActionFieldCollection;
|
|
4
4
|
static isEnumField(field: ActionField | null | undefined): field is ActionFieldEnum;
|
|
@@ -14,6 +14,7 @@ export default class ActionFields {
|
|
|
14
14
|
static isTextAreaField(field: ActionField | null | undefined): field is ActionFieldTextArea;
|
|
15
15
|
static isRichTextField(field: ActionField | null | undefined): field is ActionFieldRichText;
|
|
16
16
|
static isNumberInputField(field: ActionField | null | undefined): field is ActionFieldNumberInput;
|
|
17
|
+
static isNumberInputListField(field: ActionField | null | undefined): field is ActionFieldNumberInputList;
|
|
17
18
|
static hasWidget(field: ActionField | null | undefined): field is ActionFieldDropdownAll | ActionFieldCheckbox | ActionFieldTextInput | ActionFieldTextInputList;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=action-fields.d.ts.map
|
|
@@ -43,10 +43,13 @@ class ActionFields {
|
|
|
43
43
|
static isNumberInputField(field) {
|
|
44
44
|
return field?.widget === 'NumberInput';
|
|
45
45
|
}
|
|
46
|
+
static isNumberInputListField(field) {
|
|
47
|
+
return field?.widget === 'NumberInputList';
|
|
48
|
+
}
|
|
46
49
|
// Other types to be added here in the future ⤵
|
|
47
50
|
static hasWidget(field) {
|
|
48
51
|
return Boolean(field?.widget);
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
exports.default = ActionFields;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZpZWxkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9mb3Jlc3Qtc2NoZW1hL2FjdGlvbi1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQkEsTUFBcUIsWUFBWTtJQUN4QixNQUFNLENBQUMsaUJBQWlCLENBQzdCLEtBQXFDO1FBRXJDLE9BQU8sS0FBSyxFQUFFLElBQUksS0FBSyxZQUFZLENBQUM7SUFDdEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBcUM7UUFDN0QsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FDM0IsS0FBcUM7UUFFckMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFxQztRQUM3RCxPQUFPLEtBQUssRUFBRSxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXFDO1FBQ2pFLE9BQU8sS0FBSyxFQUFFLElBQUksS0FBSyxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQzNCLEtBQXFDO1FBRXJDLE9BQVEsS0FBNkIsRUFBRSxNQUFNLEtBQUssVUFBVSxDQUFDO0lBQy9ELENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQzdCLEtBQXFDO1FBRXJDLE9BQVEsS0FBa0MsRUFBRSxNQUFNLEtBQUssWUFBWSxDQUFDO0lBQ3RFLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQ2hDLEtBQXFDO1FBRXJDLE9BQVEsS0FBcUMsRUFBRSxNQUFNLEtBQUssZUFBZSxDQUFDO0lBQzVFLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUMzQixLQUFxQztRQUVyQyxPQUFRLEtBQTZCLEVBQUUsTUFBTSxLQUFLLFVBQVUsQ0FBQztJQUMvRCxDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQixDQUM1QixLQUFxQztRQUVyQyxPQUFRLEtBQThCLEVBQUUsTUFBTSxLQUFLLFdBQVcsQ0FBQztJQUNqRSxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUNoQyxLQUFxQztRQUVyQyxPQUFRLEtBQWtDLEVBQUUsTUFBTSxLQUFLLGVBQWUsQ0FBQztJQUN6RSxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FDM0IsS0FBcUM7UUFFckMsT0FBUSxLQUE2QixFQUFFLE1BQU0sS0FBSyxVQUFVLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQzNCLEtBQXFDO1FBRXJDLE9BQVEsS0FBNkIsRUFBRSxNQUFNLEtBQUssVUFBVSxDQUFDO0lBQy9ELENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQzlCLEtBQXFDO1FBRXJDLE9BQVEsS0FBZ0MsRUFBRSxNQUFNLEtBQUssYUFBYSxDQUFDO0lBQ3JFLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQ2xDLEtBQXFDO1FBRXJDLE9BQVEsS0FBb0MsRUFBRSxNQUFNLEtBQUssaUJBQWlCLENBQUM7SUFDN0UsQ0FBQztJQUVELCtDQUErQztJQUN4QyxNQUFNLENBQUMsU0FBUyxDQUNyQixLQUFxQztRQU1yQyxPQUFPLE9BQU8sQ0FBRSxLQUE2QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQS9GRCwrQkErRkMifQ==
|
|
@@ -11,6 +11,7 @@ export default class GeneratorActionFieldWidget {
|
|
|
11
11
|
private static buildTextAreaWidgetEdit;
|
|
12
12
|
private static buildRichTextWidgetEdit;
|
|
13
13
|
private static buildNumberInputWidgetEdit;
|
|
14
|
+
private static buildNumberInputListWidgetEdit;
|
|
14
15
|
private static isValidNumber;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=generator-action-field-widget.d.ts.map
|
|
@@ -26,6 +26,8 @@ class GeneratorActionFieldWidget {
|
|
|
26
26
|
return GeneratorActionFieldWidget.buildRichTextWidgetEdit(field);
|
|
27
27
|
if (action_fields_1.default.isNumberInputField(field))
|
|
28
28
|
return GeneratorActionFieldWidget.buildNumberInputWidgetEdit(field);
|
|
29
|
+
if (action_fields_1.default.isNumberInputListField(field))
|
|
30
|
+
return GeneratorActionFieldWidget.buildNumberInputListWidgetEdit(field);
|
|
29
31
|
throw new Error(`Unsupported widget type: ${field.widget}`);
|
|
30
32
|
}
|
|
31
33
|
static buildDropdownWidgetEdit(field) {
|
|
@@ -115,9 +117,22 @@ class GeneratorActionFieldWidget {
|
|
|
115
117
|
},
|
|
116
118
|
};
|
|
117
119
|
}
|
|
120
|
+
static buildNumberInputListWidgetEdit(field) {
|
|
121
|
+
return {
|
|
122
|
+
name: 'input array',
|
|
123
|
+
parameters: {
|
|
124
|
+
placeholder: field.placeholder || null,
|
|
125
|
+
allowDuplicate: field.allowDuplicates || false,
|
|
126
|
+
enableReorder: field.enableReorder ?? true,
|
|
127
|
+
min: GeneratorActionFieldWidget.isValidNumber(field.min) ? field.min : null,
|
|
128
|
+
max: GeneratorActionFieldWidget.isValidNumber(field.max) ? field.max : null,
|
|
129
|
+
step: GeneratorActionFieldWidget.isValidNumber(field.step) ? field.step : null,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
118
133
|
static isValidNumber(value) {
|
|
119
134
|
return ![null, undefined].includes(value) && !Number.isNaN(Number(value));
|
|
120
135
|
}
|
|
121
136
|
}
|
|
122
137
|
exports.default = GeneratorActionFieldWidget;
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLWFjdGlvbi1maWVsZC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZm9yZXN0LXNjaGVtYS9nZW5lcmF0b3ItYWN0aW9uLWZpZWxkLXdpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXlCQSxvRUFBMkM7QUFFM0MsTUFBcUIsMEJBQTBCO0lBQzdDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFrQjtRQUMxQyxJQUFJLENBQUMsdUJBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzNGLE9BQU8sU0FBUyxDQUFDO1FBRW5CLElBQUksdUJBQVksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3JDLE9BQU8sMEJBQTBCLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkUsSUFBSSx1QkFBWSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUN2QyxPQUFPLDBCQUEwQixDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJFLElBQUksdUJBQVksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7WUFDMUMsT0FBTywwQkFBMEIsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RSxJQUFJLHVCQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLDBCQUEwQixDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFOUQsSUFBSSx1QkFBWSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLDBCQUEwQixDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBFLElBQUksdUJBQVksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7WUFDMUMsT0FBTywwQkFBMEIsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RSxJQUFJLHVCQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLDBCQUEwQixDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5FLElBQUksdUJBQVksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3JDLE9BQU8sMEJBQTBCLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkUsSUFBSSx1QkFBWSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztZQUN4QyxPQUFPLDBCQUEwQixDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRFLElBQUksdUJBQVksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7WUFDNUMsT0FBTywwQkFBMEIsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE2QixLQUE0QixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVPLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDcEMsS0FBNkI7UUFJN0IsT0FBTztZQUNMLElBQUksRUFBRSxVQUFVO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRO2dCQUN2QyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO2dCQUN0QyxNQUFNLEVBQUU7b0JBQ04sT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRTtpQkFDN0I7YUFDRjtTQUcrQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxNQUFNLENBQUMseUJBQXlCLENBQ3RDLEtBQXFDO1FBSXJDLE9BQU87WUFDTCxJQUFJLEVBQUUsY0FBYztZQUNwQixVQUFVLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUU7aUJBQzdCO2FBQ0Y7U0FHa0QsQ0FBQztJQUN4RCxDQUFDO0lBRU8sTUFBTSxDQUFDLDRCQUE0QixDQUN6QyxLQUFrQztRQUlsQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFlBQVk7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFO2lCQUM3QjthQUNGO1NBR29ELENBQUM7SUFDMUQsQ0FBQztJQUVPLE1BQU0sQ0FBQyx1QkFBdUI7UUFDcEMsT0FBTztZQUNMLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDckMsS0FBa0I7UUFFbEIsT0FBTztZQUNMLElBQUksRUFBRSxhQUFhO1lBQ25CLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO2FBQ3ZDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsNEJBQTRCLENBQ3pDLEtBQStCO1FBRS9CLE9BQU87WUFDTCxJQUFJLEVBQUUsYUFBYTtZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSTtnQkFDdEMsY0FBYyxFQUFFLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSztnQkFDOUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLO2dCQUNoRCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJO2FBQzNDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsdUJBQXVCLENBQ3BDLEtBQTBCO1FBRTFCLE9BQU87WUFDTCxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO2dCQUN0QyxJQUFJLEVBQ0YsMEJBQTBCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUM7b0JBQ3BFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLENBQUMsQ0FBQyxJQUFJO2FBQ1g7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDcEMsS0FBMEI7UUFFMUIsT0FBTztZQUNMLElBQUksRUFBRSxXQUFXO1lBQ2pCLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO2FBQ3ZDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsMEJBQTBCLENBQ3ZDLEtBQTZCO1FBRTdCLE9BQU87WUFDTCxJQUFJLEVBQUUsY0FBYztZQUNwQixVQUFVLEVBQUU7Z0JBQ1YsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSTtnQkFDdEMsR0FBRyxFQUFFLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQzNFLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUMzRSxJQUFJLEVBQUUsMEJBQTBCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTthQUMvRTtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLDhCQUE4QixDQUMzQyxLQUFpQztRQUVqQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLGFBQWE7WUFDbkIsVUFBVSxFQUFFO2dCQUNWLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUk7Z0JBQ3RDLGNBQWMsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLEtBQUs7Z0JBQzlDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUk7Z0JBQzFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUMzRSxHQUFHLEVBQUUsMEJBQTBCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDM0UsSUFBSSxFQUFFLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDL0U7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYztRQUN6QyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBQ0Y7QUF0TEQsNkNBc0xDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/agent",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@fast-csv/format": "^4.3.5",
|
|
16
16
|
"@fastify/express": "^1.1.0",
|
|
17
|
-
"@forestadmin/datasource-customizer": "1.
|
|
18
|
-
"@forestadmin/datasource-toolkit": "1.
|
|
19
|
-
"@forestadmin/forestadmin-client": "1.
|
|
17
|
+
"@forestadmin/datasource-customizer": "1.26.0",
|
|
18
|
+
"@forestadmin/datasource-toolkit": "1.19.0",
|
|
19
|
+
"@forestadmin/forestadmin-client": "1.15.0",
|
|
20
20
|
"@koa/cors": "^4.0.0",
|
|
21
21
|
"@koa/router": "^12.0.0",
|
|
22
22
|
"forest-ip-utils": "^1.0.1",
|