@zat-design/sisyphus-react 4.5.9-beta.1 → 4.5.9
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/es/ProConfigProvider/index.js +12 -3
- package/es/ProDownload/index.js +18 -20
- package/es/ProDownload/utils.js +23 -10
- package/es/ProEnum/index.js +3 -4
- package/es/ProForm/components/base/InputNumber/index.js +1 -1
- package/es/ProLayout/images/logoImg.png +0 -0
- package/es/ProTreeModal/index.js +1 -1
- package/package.json +4 -1
|
@@ -129,10 +129,19 @@ export const ProConfigProvider = props => {
|
|
|
129
129
|
const lang = state?.locale ?? cacheLang ?? props?.locale ?? 'zh-CN';
|
|
130
130
|
useEffect(() => {
|
|
131
131
|
const raw = localStorage.getItem('localConfig');
|
|
132
|
-
|
|
132
|
+
let localConfig;
|
|
133
|
+
try {
|
|
134
|
+
localConfig = JSON.parse(raw || '{}');
|
|
135
|
+
} catch {
|
|
136
|
+
localStorage.removeItem('localConfig');
|
|
137
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
138
|
+
console.warn('ProConfigProvider: invalid localConfig cache has been removed.');
|
|
139
|
+
}
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
133
142
|
dispatch({
|
|
134
143
|
type: 'set',
|
|
135
|
-
payload: merge(initialState, localConfig)
|
|
144
|
+
payload: merge({}, initialState, localConfig)
|
|
136
145
|
});
|
|
137
146
|
}, []);
|
|
138
147
|
useEffect(() => {
|
|
@@ -147,7 +156,7 @@ export const ProConfigProvider = props => {
|
|
|
147
156
|
return /*#__PURE__*/_jsx(ThemeProvider, {
|
|
148
157
|
children: /*#__PURE__*/_jsx(ProConfigContext.Provider, {
|
|
149
158
|
value: {
|
|
150
|
-
state: merge(state, props.value),
|
|
159
|
+
state: merge({}, state, props.value),
|
|
151
160
|
dispatch
|
|
152
161
|
},
|
|
153
162
|
children: /*#__PURE__*/_jsx(ThemeAwareConfigProvider, {
|
package/es/ProDownload/index.js
CHANGED
|
@@ -35,7 +35,7 @@ const ProDownload = props => {
|
|
|
35
35
|
...headers,
|
|
36
36
|
...defaultProps.headers
|
|
37
37
|
};
|
|
38
|
-
const handDownload = async () => {
|
|
38
|
+
const handDownload = async (_params = params) => {
|
|
39
39
|
if (source === 'url') {
|
|
40
40
|
try {
|
|
41
41
|
fetch(url || action).then(response => {
|
|
@@ -58,13 +58,8 @@ const ProDownload = props => {
|
|
|
58
58
|
setState({
|
|
59
59
|
loading: true
|
|
60
60
|
});
|
|
61
|
-
let _params = params;
|
|
62
|
-
if (_isFunction(params)) {
|
|
63
|
-
_params = params.constructor.name === 'AsyncFunction' ? await params() : params();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// 发起请求
|
|
67
61
|
try {
|
|
62
|
+
// 发起请求
|
|
68
63
|
await DownloadRequest({
|
|
69
64
|
url: url || action,
|
|
70
65
|
method,
|
|
@@ -75,11 +70,6 @@ const ProDownload = props => {
|
|
|
75
70
|
onFinish,
|
|
76
71
|
onError: onError || onErrorConfig
|
|
77
72
|
});
|
|
78
|
-
} catch (error) {
|
|
79
|
-
setState({
|
|
80
|
-
loading: false
|
|
81
|
-
});
|
|
82
|
-
return Promise.reject();
|
|
83
73
|
} finally {
|
|
84
74
|
setState({
|
|
85
75
|
loading: false
|
|
@@ -92,16 +82,24 @@ const ProDownload = props => {
|
|
|
92
82
|
return /*#__PURE__*/_jsx(Button, {
|
|
93
83
|
className: cls,
|
|
94
84
|
onClick: async () => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (
|
|
101
|
-
|
|
85
|
+
let resolvedParams = params;
|
|
86
|
+
try {
|
|
87
|
+
if (_isBoolean(beforeDownload) && !beforeDownload) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
if (beforeDownload) {
|
|
91
|
+
const res = await Promise.resolve(beforeDownload());
|
|
92
|
+
if (res === false) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
102
95
|
}
|
|
96
|
+
if (source !== 'url' && _isFunction(params)) {
|
|
97
|
+
resolvedParams = await Promise.resolve(params());
|
|
98
|
+
}
|
|
99
|
+
} catch {
|
|
100
|
+
return false;
|
|
103
101
|
}
|
|
104
|
-
handDownload();
|
|
102
|
+
return handDownload(resolvedParams);
|
|
105
103
|
},
|
|
106
104
|
...defaultProps,
|
|
107
105
|
loading: loading,
|
package/es/ProDownload/utils.js
CHANGED
|
@@ -105,7 +105,11 @@ export const DownloadRequest = async ({
|
|
|
105
105
|
...headers
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
|
-
const
|
|
108
|
+
const response = await fetch(url, config);
|
|
109
|
+
const {
|
|
110
|
+
res,
|
|
111
|
+
responseData
|
|
112
|
+
} = await (async () => {
|
|
109
113
|
try {
|
|
110
114
|
const data = await response.clone().json();
|
|
111
115
|
if (!data) {
|
|
@@ -120,16 +124,25 @@ export const DownloadRequest = async ({
|
|
|
120
124
|
return Promise.reject(errorMsg);
|
|
121
125
|
}
|
|
122
126
|
if (_isFunction(transformResponse)) {
|
|
123
|
-
return Promise.resolve(transformResponse(data))
|
|
127
|
+
return Promise.resolve(transformResponse(data)).then(transformedData => ({
|
|
128
|
+
res: transformedData,
|
|
129
|
+
responseData: data
|
|
130
|
+
}));
|
|
124
131
|
}
|
|
125
|
-
Promise.resolve(
|
|
132
|
+
return Promise.resolve({
|
|
133
|
+
res: response,
|
|
134
|
+
responseData: data
|
|
135
|
+
});
|
|
126
136
|
} catch (error) {
|
|
127
137
|
if (response.ok) {
|
|
128
|
-
return Promise.resolve(
|
|
138
|
+
return Promise.resolve({
|
|
139
|
+
res: response,
|
|
140
|
+
responseData: null
|
|
141
|
+
});
|
|
129
142
|
}
|
|
130
143
|
}
|
|
131
144
|
return Promise.reject(`${locale.ProDownload.errorMessage}`);
|
|
132
|
-
});
|
|
145
|
+
})();
|
|
133
146
|
let fileBlob;
|
|
134
147
|
let data = null;
|
|
135
148
|
let contentFileName = '';
|
|
@@ -137,19 +150,19 @@ export const DownloadRequest = async ({
|
|
|
137
150
|
data = res;
|
|
138
151
|
} else {
|
|
139
152
|
// 优先获取Content-Disposition中filename
|
|
140
|
-
contentFileName = getFilenameFromContentDisposition(
|
|
141
|
-
data = _get(
|
|
153
|
+
contentFileName = getFilenameFromContentDisposition(response.headers.get('Content-Disposition'));
|
|
154
|
+
data = _get(responseData, 'data');
|
|
142
155
|
}
|
|
143
156
|
if (data) {
|
|
144
157
|
fileBlob = convertBase64ToBlob(data);
|
|
145
158
|
} else {
|
|
146
|
-
fileBlob = await
|
|
159
|
+
fileBlob = await response.blob();
|
|
147
160
|
}
|
|
148
161
|
// 完成回调
|
|
149
|
-
onFinish?.(res, params);
|
|
162
|
+
onFinish?.(_isFunction(transformResponse) ? res : response, params);
|
|
150
163
|
BlobMakeFile({
|
|
151
164
|
blob: fileBlob,
|
|
152
165
|
fileName: fileName || contentFileName
|
|
153
166
|
});
|
|
154
|
-
return Promise.resolve(res);
|
|
167
|
+
return Promise.resolve(_isFunction(transformResponse) ? res : response);
|
|
155
168
|
};
|
package/es/ProEnum/index.js
CHANGED
|
@@ -150,16 +150,15 @@ const ProEnum = props => {
|
|
|
150
150
|
list = sourceList;
|
|
151
151
|
}
|
|
152
152
|
if ( /*#__PURE__*/React.isValidElement(component)) {
|
|
153
|
-
|
|
154
|
-
return /*#__PURE__*/_jsx(Component, {
|
|
153
|
+
return /*#__PURE__*/React.cloneElement(component, {
|
|
155
154
|
...enumProps,
|
|
156
155
|
dataSource: list,
|
|
157
156
|
fieldNames: {
|
|
158
157
|
label,
|
|
159
158
|
value: fieldValue
|
|
160
159
|
},
|
|
161
|
-
value
|
|
162
|
-
onChange
|
|
160
|
+
value,
|
|
161
|
+
onChange
|
|
163
162
|
});
|
|
164
163
|
}
|
|
165
164
|
switch (type) {
|
|
@@ -244,7 +244,7 @@ const InputNumber = props => {
|
|
|
244
244
|
value = _min;
|
|
245
245
|
}
|
|
246
246
|
value = parser(String(value), props.precision ?? valueProps?.precision);
|
|
247
|
-
rest?.onChange(value);
|
|
247
|
+
rest?.onChange?.(value);
|
|
248
248
|
const limit = {
|
|
249
249
|
min: Number(_min),
|
|
250
250
|
max: Number(_max)
|
|
Binary file
|
package/es/ProTreeModal/index.js
CHANGED
|
@@ -277,7 +277,7 @@ const ProTreeModal = props => {
|
|
|
277
277
|
if (draggable && span) {
|
|
278
278
|
// 开启 draggable 使用拖拽后的顺序
|
|
279
279
|
const checkedList = listRef.current?.onChange();
|
|
280
|
-
onChange(checkedList);
|
|
280
|
+
onChange?.(checkedList);
|
|
281
281
|
} else {
|
|
282
282
|
let values = checkedValues;
|
|
283
283
|
if (labelInValue) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zat-design/sisyphus-react",
|
|
3
|
-
"version": "4.5.9
|
|
3
|
+
"version": "4.5.9",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -88,6 +88,9 @@
|
|
|
88
88
|
"start": "cross-env NODE_OPTIONS=\"--openssl-legacy-provider\" dumi dev",
|
|
89
89
|
"test": "umi-test",
|
|
90
90
|
"test:coverage": "umi-test --coverage",
|
|
91
|
+
"test:coverage:focused": "jest --config=jest.coverage.focused.js --coverage",
|
|
92
|
+
"coverage:report": "node ./scripts/coverage-gap-report.mjs --target=90 --scope=full",
|
|
93
|
+
"coverage:gate": "node ./scripts/coverage-directory-gate.mjs",
|
|
91
94
|
"tsc": "tsc --noEmit"
|
|
92
95
|
},
|
|
93
96
|
"lint-staged": {
|