@steroidsjs/core 2.2.25 → 2.2.28
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/actions/form.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare const FORM_CHANGE = "@form/change";
|
|
|
3
3
|
export declare const FORM_RESET = "@form/reset";
|
|
4
4
|
export declare const FORM_SET_ERRORS = "@form/set_errors";
|
|
5
5
|
export declare const FORM_SUBMIT = "@form/submit";
|
|
6
|
+
export declare const FORM_SET_SUBMITTING = "@form/set_submitting";
|
|
6
7
|
export declare const FORM_ARRAY_ADD = "@form/array_add";
|
|
7
8
|
export declare const FORM_ARRAY_REMOVE = "@form/array_remove";
|
|
8
9
|
/**
|
|
@@ -45,6 +46,16 @@ export declare const formSubmit: (formId: any) => {
|
|
|
45
46
|
type: string;
|
|
46
47
|
formId: any;
|
|
47
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Установить состояние отправки формы
|
|
51
|
+
* @param formId
|
|
52
|
+
* @param isSubmitting
|
|
53
|
+
*/
|
|
54
|
+
export declare const formSetSubmitting: (formId: any, isSubmitting: any) => {
|
|
55
|
+
type: string;
|
|
56
|
+
formId: any;
|
|
57
|
+
isSubmitting: any;
|
|
58
|
+
};
|
|
48
59
|
/**
|
|
49
60
|
* Сброс данных формы к первоначальному состоянию (к initialValues)
|
|
50
61
|
* @param formId
|
package/actions/form.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
exports.__esModule = true;
|
|
3
|
-
exports.formArrayRemove = exports.formArrayAdd = exports.formReset = exports.formSubmit = exports.formSetErrors = exports.formChange = exports.formInitialize = exports.FORM_ARRAY_REMOVE = exports.FORM_ARRAY_ADD = exports.FORM_SUBMIT = exports.FORM_SET_ERRORS = exports.FORM_RESET = exports.FORM_CHANGE = exports.FORM_INITIALIZE = void 0;
|
|
3
|
+
exports.formArrayRemove = exports.formArrayAdd = exports.formReset = exports.formSetSubmitting = exports.formSubmit = exports.formSetErrors = exports.formChange = exports.formInitialize = exports.FORM_ARRAY_REMOVE = exports.FORM_ARRAY_ADD = exports.FORM_SET_SUBMITTING = exports.FORM_SUBMIT = exports.FORM_SET_ERRORS = exports.FORM_RESET = exports.FORM_CHANGE = exports.FORM_INITIALIZE = void 0;
|
|
4
4
|
exports.FORM_INITIALIZE = '@form/initialize';
|
|
5
5
|
exports.FORM_CHANGE = '@form/change';
|
|
6
6
|
exports.FORM_RESET = '@form/reset';
|
|
7
7
|
exports.FORM_SET_ERRORS = '@form/set_errors';
|
|
8
8
|
exports.FORM_SUBMIT = '@form/submit';
|
|
9
|
+
exports.FORM_SET_SUBMITTING = '@form/set_submitting';
|
|
9
10
|
exports.FORM_ARRAY_ADD = '@form/array_add';
|
|
10
11
|
exports.FORM_ARRAY_REMOVE = '@form/array_remove';
|
|
11
12
|
/**
|
|
@@ -55,6 +56,17 @@ var formSubmit = function (formId) { return ({
|
|
|
55
56
|
formId: formId
|
|
56
57
|
}); };
|
|
57
58
|
exports.formSubmit = formSubmit;
|
|
59
|
+
/**
|
|
60
|
+
* Установить состояние отправки формы
|
|
61
|
+
* @param formId
|
|
62
|
+
* @param isSubmitting
|
|
63
|
+
*/
|
|
64
|
+
var formSetSubmitting = function (formId, isSubmitting) { return ({
|
|
65
|
+
type: exports.FORM_SET_SUBMITTING,
|
|
66
|
+
formId: formId,
|
|
67
|
+
isSubmitting: isSubmitting
|
|
68
|
+
}); };
|
|
69
|
+
exports.formSetSubmitting = formSetSubmitting;
|
|
58
70
|
/**
|
|
59
71
|
* Сброс данных формы к первоначальному состоянию (к initialValues)
|
|
60
72
|
* @param formId
|
package/package.json
CHANGED
package/reducers/form.js
CHANGED
|
@@ -49,6 +49,8 @@ function reducerItem(state, action) {
|
|
|
49
49
|
return dot_prop_immutable_1.set(state, 'errors', action.errors);
|
|
50
50
|
case form_1.FORM_SUBMIT:
|
|
51
51
|
return dot_prop_immutable_1.set(state, 'submitCounter', (state.submitCounter || 0) + 1);
|
|
52
|
+
case form_1.FORM_SET_SUBMITTING:
|
|
53
|
+
return dot_prop_immutable_1.set(state, 'isSubmitting', action.isSubmitting);
|
|
52
54
|
case form_1.FORM_RESET:
|
|
53
55
|
return __assign(__assign({}, state), { values: cloneDeep_1["default"](state.initialValues || {}) });
|
|
54
56
|
case form_1.FORM_ARRAY_ADD:
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { DayPickerProps } from 'react-day-picker';
|
|
1
2
|
export interface ICalendarProps {
|
|
2
3
|
/**
|
|
3
4
|
* Значение задает выбранные в календаре дату или диапазон дат.
|
|
4
5
|
* Необходимо передать валидную дату в виде строки (массива строк)
|
|
5
6
|
*/
|
|
6
|
-
value
|
|
7
|
+
value?: string | string[];
|
|
7
8
|
/**
|
|
8
9
|
* Формат даты отправляемый на сервер
|
|
9
10
|
* @example YYYY-MM-DD
|
|
@@ -17,7 +18,7 @@ export interface ICalendarProps {
|
|
|
17
18
|
* Свойства для компонента DayPickerInput
|
|
18
19
|
* @example {dayPickerProps: {showWeekNumbers: true}}
|
|
19
20
|
*/
|
|
20
|
-
pickerProps?: any;
|
|
21
|
+
pickerProps?: DayPickerProps | any;
|
|
21
22
|
/**
|
|
22
23
|
* Переопределение view React компонента для кастомизации отображения
|
|
23
24
|
* @example MyCustomView
|
|
@@ -38,7 +38,7 @@ function Calendar(props) {
|
|
|
38
38
|
var onMonthSelect = react_1.useCallback(function (newMonth) {
|
|
39
39
|
setMonth(newMonth);
|
|
40
40
|
}, []);
|
|
41
|
-
return components.ui.renderView(props.view || 'content.CalendarView', __assign(__assign({}, props.viewProps), { month: month,
|
|
41
|
+
return components.ui.renderView(props.view || 'content.CalendarView', __assign(__assign(__assign({}, props.viewProps), props.pickerProps), { month: month,
|
|
42
42
|
toYear: toYear,
|
|
43
43
|
fromYear: fromYear,
|
|
44
44
|
onDaySelect: onDaySelect,
|
package/ui/form/Button/Button.js
CHANGED
|
@@ -123,6 +123,7 @@ function Button(props) {
|
|
|
123
123
|
isFailed: isFailed,
|
|
124
124
|
isLoading: isLoading,
|
|
125
125
|
disabled: disabled,
|
|
126
|
+
submitting: submitting,
|
|
126
127
|
tag: tag, formId: (context === null || context === void 0 ? void 0 : context.formId) || null, url: url || (tag === 'a' ? '#' : null), onClick: !disabled ? onClick : undefined, children: props.label || props.children }));
|
|
127
128
|
if (layout) {
|
|
128
129
|
return (React.createElement(FieldLayout_1["default"], { layout: layout }, button));
|
package/ui/form/Form/Form.js
CHANGED
|
@@ -81,6 +81,7 @@ var AutoSaveHelper_1 = __importDefault(require("./AutoSaveHelper"));
|
|
|
81
81
|
var hooks_1 = require("../../../hooks");
|
|
82
82
|
var form_1 = require("../../../utils/form");
|
|
83
83
|
var validate_1 = __importDefault(require("../validate"));
|
|
84
|
+
var form_2 = require("../../../actions/form");
|
|
84
85
|
exports.FormContext = React.createContext({});
|
|
85
86
|
var getCaptchaToken = function (params) {
|
|
86
87
|
var googleCaptcha = params.googleCaptcha, siteKey = params.siteKey, _a = params.actionName, actionName = _a === void 0 ? 'submit' : _a;
|
|
@@ -163,6 +164,7 @@ function Form(props) {
|
|
|
163
164
|
return __generator(this, function (_c) {
|
|
164
165
|
switch (_c.label) {
|
|
165
166
|
case 0:
|
|
167
|
+
dispatch(form_2.formSetSubmitting(props.formId, true));
|
|
166
168
|
// TODO
|
|
167
169
|
if (e) {
|
|
168
170
|
e.preventDefault();
|
|
@@ -243,6 +245,7 @@ function Form(props) {
|
|
|
243
245
|
_c.label = 7;
|
|
244
246
|
case 7:
|
|
245
247
|
response = _a;
|
|
248
|
+
dispatch(form_2.formSetSubmitting(props.formId, false));
|
|
246
249
|
// Skip on 2fa
|
|
247
250
|
if (response.twoFactor) {
|
|
248
251
|
return [2 /*return*/, null];
|
|
@@ -268,7 +271,7 @@ function Form(props) {
|
|
|
268
271
|
}
|
|
269
272
|
});
|
|
270
273
|
});
|
|
271
|
-
}, [components.api, components.http, components.resource, components.ui, props, setErrors, values]);
|
|
274
|
+
}, [components.api, components.http, components.resource, components.ui, props, setErrors, values, dispatch]);
|
|
272
275
|
// Manual submit form by reducer action
|
|
273
276
|
var prevSubmitCounter = react_use_1.usePrevious(submitCounter);
|
|
274
277
|
react_use_1.useUpdateEffect(function () {
|