@steroidsjs/core 2.2.63 → 2.2.67
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 +7 -1
- package/actions/form.d.ts +9 -0
- package/actions/form.js +11 -1
- package/hooks/useAddressBar.js +9 -3
- package/hooks/useDataSelect.js +1 -2
- package/package.json +3 -2
- package/reducers/form.js +2 -0
package/README.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
# Steroids for React
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Find documentation [here](docs/index.md)
|
|
4
|
+
|
|
5
|
+
## Use package from source in project
|
|
6
|
+
|
|
7
|
+
1. Copy `tsconfig-debug.json.sample` to `tsconfig-debug.json`
|
|
8
|
+
2. Replace `outDir` path to node_modules nest path in project
|
|
9
|
+
3. Run from this directory `yarn run watch`
|
package/actions/form.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const FORM_INITIALIZE = "@form/initialize";
|
|
2
2
|
export declare const FORM_CHANGE = "@form/change";
|
|
3
3
|
export declare const FORM_RESET = "@form/reset";
|
|
4
|
+
export declare const FORM_HARD_RESET = "@form/hard_reset";
|
|
4
5
|
export declare const FORM_DESTROY = "@form/destroy";
|
|
5
6
|
export declare const FORM_SET_ERRORS = "@form/set_errors";
|
|
6
7
|
export declare const FORM_SUBMIT = "@form/submit";
|
|
@@ -65,6 +66,14 @@ export declare const formReset: (formId: any) => {
|
|
|
65
66
|
type: string;
|
|
66
67
|
formId: any;
|
|
67
68
|
};
|
|
69
|
+
/**
|
|
70
|
+
* Сброс данных формы, включая первоначальное состояние (initialValues)
|
|
71
|
+
* @param formId
|
|
72
|
+
*/
|
|
73
|
+
export declare const formHardReset: (formId: any) => {
|
|
74
|
+
type: string;
|
|
75
|
+
formId: any;
|
|
76
|
+
};
|
|
68
77
|
/**
|
|
69
78
|
* Удаление данных формы из redux хранилища
|
|
70
79
|
* @param formId
|
package/actions/form.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
exports.__esModule = true;
|
|
3
|
-
exports.formArrayRemove = exports.formArrayAdd = exports.formDestroy = 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_DESTROY = exports.FORM_RESET = exports.FORM_CHANGE = exports.FORM_INITIALIZE = void 0;
|
|
3
|
+
exports.formArrayRemove = exports.formArrayAdd = exports.formDestroy = exports.formHardReset = 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_DESTROY = exports.FORM_HARD_RESET = 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
|
+
exports.FORM_HARD_RESET = '@form/hard_reset';
|
|
7
8
|
exports.FORM_DESTROY = '@form/destroy';
|
|
8
9
|
exports.FORM_SET_ERRORS = '@form/set_errors';
|
|
9
10
|
exports.FORM_SUBMIT = '@form/submit';
|
|
@@ -77,6 +78,15 @@ var formReset = function (formId) { return ({
|
|
|
77
78
|
formId: formId
|
|
78
79
|
}); };
|
|
79
80
|
exports.formReset = formReset;
|
|
81
|
+
/**
|
|
82
|
+
* Сброс данных формы, включая первоначальное состояние (initialValues)
|
|
83
|
+
* @param formId
|
|
84
|
+
*/
|
|
85
|
+
var formHardReset = function (formId) { return ({
|
|
86
|
+
type: exports.FORM_HARD_RESET,
|
|
87
|
+
formId: formId
|
|
88
|
+
}); };
|
|
89
|
+
exports.formHardReset = formHardReset;
|
|
80
90
|
/**
|
|
81
91
|
* Удаление данных формы из redux хранилища
|
|
82
92
|
* @param formId
|
package/hooks/useAddressBar.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.queryReplace = exports.queryRestore = exports.defaultToStringConverter = exports.defaultFromStringConverter = void 0;
|
|
7
7
|
var get_1 = __importDefault(require("lodash-es/get"));
|
|
8
|
+
var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
|
|
8
9
|
var query_string_1 = __importDefault(require("query-string"));
|
|
9
10
|
var connected_react_router_1 = require("connected-react-router");
|
|
10
11
|
var toInteger_1 = __importDefault(require("lodash-es/toInteger"));
|
|
@@ -122,15 +123,20 @@ function useAddressBar(config) {
|
|
|
122
123
|
var dispatch = useDispatch_1["default"]();
|
|
123
124
|
var updateQuery = react_1.useCallback(function (values) {
|
|
124
125
|
if (config.enable) {
|
|
126
|
+
// Remove all 'undefined' values or empty objects/arrays from passed form values
|
|
125
127
|
var normalizedValues = Object.keys(values).reduce(function (obj, key) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
var value = values[key];
|
|
129
|
+
var isValidValue = typeof value === 'object'
|
|
130
|
+
? !isEmpty_1["default"](value)
|
|
131
|
+
: value !== undefined;
|
|
132
|
+
if (isValidValue) {
|
|
133
|
+
obj[key] = value;
|
|
128
134
|
}
|
|
129
135
|
return obj;
|
|
130
136
|
}, {});
|
|
131
137
|
if (!isEqual_1["default"](initialQueryRef.current, normalizedValues)) {
|
|
132
138
|
initialQueryRef.current = normalizedValues;
|
|
133
|
-
dispatch(exports.queryReplace(config.model, location,
|
|
139
|
+
dispatch(exports.queryReplace(config.model, location, normalizedValues, config.useHash));
|
|
134
140
|
}
|
|
135
141
|
}
|
|
136
142
|
}, [config.enable, config.model, config.useHash, dispatch, location]);
|
package/hooks/useDataSelect.js
CHANGED
|
@@ -138,8 +138,7 @@ function useDataSelect(config) {
|
|
|
138
138
|
}
|
|
139
139
|
});
|
|
140
140
|
newSelectedIds.sort();
|
|
141
|
-
if (!isEqual_1["default"](prevConfigSelectedIds, newSelectedIds)
|
|
142
|
-
&& !isEqual_1["default"](selectedIds, newSelectedIds) && newSelectedIds.length !== 0) {
|
|
141
|
+
if (!isEqual_1["default"](prevConfigSelectedIds, newSelectedIds) && !isEqual_1["default"](selectedIds, newSelectedIds)) {
|
|
143
142
|
setSelectedIdsInternal(newSelectedIds);
|
|
144
143
|
}
|
|
145
144
|
}, [config.selectedIds, prevConfigSelectedIds, selectedIds, selectedItems]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steroidsjs/core",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.67",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Vladimir Kozhin <hello@kozhindev.com>",
|
|
6
6
|
"repository": {
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"scripts": {
|
|
21
21
|
"docs": "typedoc --ignoreCompilerErrors --json typedoc.json .",
|
|
22
22
|
"test": "jest",
|
|
23
|
-
"build": "tsc && cp ./{package.json,LICENSE,README.md} dist/ && cp src/index.d.ts dist/"
|
|
23
|
+
"build": "tsc && cp ./{package.json,LICENSE,README.md} dist/ && cp src/index.d.ts dist/",
|
|
24
|
+
"watch": "tsc -p tsconfig-debug.json"
|
|
24
25
|
},
|
|
25
26
|
"dependencies": {
|
|
26
27
|
"axios": "^0.21.1",
|
package/reducers/form.js
CHANGED
|
@@ -53,6 +53,8 @@ function reducerItem(state, action) {
|
|
|
53
53
|
return dot_prop_immutable_1.set(state, 'isSubmitting', action.isSubmitting);
|
|
54
54
|
case form_1.FORM_RESET:
|
|
55
55
|
return __assign(__assign({}, state), { values: cloneDeep_1["default"](state.initialValues || {}) });
|
|
56
|
+
case form_1.FORM_HARD_RESET:
|
|
57
|
+
return __assign(__assign({}, state), { initialValues: null, values: {}, errors: {}, isInvalid: false, isSubmitting: false });
|
|
56
58
|
case form_1.FORM_DESTROY:
|
|
57
59
|
return null;
|
|
58
60
|
case form_1.FORM_ARRAY_ADD:
|