parsec-hooks 0.0.159 → 1.0.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.
- package/lib/loadMoreHooks/index.d.ts +1 -2
- package/lib/loadMoreHooks/index.js +25 -24
- package/lib/utils/selectFiles/index.ali.d.ts +3 -0
- package/lib/utils/selectFiles/index.ali.js +23 -0
- package/lib/utils/selectFiles/index.d.ts +4 -0
- package/lib/utils/selectFiles/index.wechat.d.ts +1 -1
- package/lib/utils/selectFiles/index.wechat.js +4 -2
- package/lib/webLoadMoreHooks/index.d.ts +0 -1
- package/package.json +2 -2
@@ -17,7 +17,7 @@ export interface LoadMoreOptions {
|
|
17
17
|
*/
|
18
18
|
customSetLoading?: (loading: boolean) => void;
|
19
19
|
}
|
20
|
-
export default function <D>(getListFn: LoadMoreGetListFn<D>, { defaultLimit, defaultPage, needGet, cacheKey,
|
20
|
+
export default function <D>(getListFn: LoadMoreGetListFn<D>, { defaultLimit, defaultPage, needGet, cacheKey, loadMoreVisible }: LoadMoreOptions): {
|
21
21
|
error: any;
|
22
22
|
dataRef: {
|
23
23
|
current: {
|
@@ -28,7 +28,6 @@ export default function <D>(getListFn: LoadMoreGetListFn<D>, { defaultLimit, def
|
|
28
28
|
};
|
29
29
|
loading: boolean;
|
30
30
|
refreshList: (retainList?: boolean) => Promise<void>;
|
31
|
-
getNext: (callback?: () => void) => void;
|
32
31
|
isEnd: boolean;
|
33
32
|
page: number;
|
34
33
|
limit: number;
|
@@ -15,12 +15,14 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
15
15
|
|
16
16
|
var _react = require("react");
|
17
17
|
|
18
|
-
var _stateRefHooks = _interopRequireDefault(require("../stateRefHooks"));
|
19
|
-
|
20
18
|
var _promiseHooks = _interopRequireDefault(require("../promiseHooks"));
|
21
19
|
|
22
20
|
var _cacheStateHooks = _interopRequireDefault(require("../cacheStateHooks"));
|
23
21
|
|
22
|
+
var _refStateHooks = _interopRequireDefault(require("../refStateHooks"));
|
23
|
+
|
24
|
+
var _previousHooks = _interopRequireDefault(require("../previousHooks"));
|
25
|
+
|
24
26
|
function _default(getListFn, _ref) {
|
25
27
|
var _ref$defaultLimit = _ref.defaultLimit,
|
26
28
|
defaultLimit = _ref$defaultLimit === void 0 ? 10 : _ref$defaultLimit,
|
@@ -30,7 +32,6 @@ function _default(getListFn, _ref) {
|
|
30
32
|
needGet = _ref$needGet === void 0 ? true : _ref$needGet,
|
31
33
|
_ref$cacheKey = _ref.cacheKey,
|
32
34
|
cacheKey = _ref$cacheKey === void 0 ? '' : _ref$cacheKey,
|
33
|
-
customSetLoading = _ref.customSetLoading,
|
34
35
|
loadMoreVisible = _ref.loadMoreVisible;
|
35
36
|
|
36
37
|
var _useCacheState = (0, _cacheStateHooks.default)(getListFn.toString() + cacheKey, (0, _react.useMemo)(function () {
|
@@ -53,18 +54,20 @@ function _default(getListFn, _ref) {
|
|
53
54
|
};
|
54
55
|
}, [defaultPage, defaultLimit, dataRef]);
|
55
56
|
|
56
|
-
var
|
57
|
-
|
58
|
-
isEnd =
|
59
|
-
setIsEnd =
|
57
|
+
var _useRefState = (0, _refStateHooks.default)(false),
|
58
|
+
_useRefState2 = (0, _slicedToArray2.default)(_useRefState, 3),
|
59
|
+
isEnd = _useRefState2[0],
|
60
|
+
setIsEnd = _useRefState2[1],
|
61
|
+
isEndRef = _useRefState2[2];
|
60
62
|
|
61
|
-
var
|
62
|
-
|
63
|
-
error =
|
64
|
-
setError =
|
63
|
+
var _useState = (0, _react.useState)(),
|
64
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
65
|
+
error = _useState2[0],
|
66
|
+
setError = _useState2[1];
|
65
67
|
|
66
68
|
var loadingRef = (0, _react.useRef)(false);
|
67
69
|
var countRef = (0, _react.useRef)(0);
|
70
|
+
var preVisible = (0, _previousHooks.default)(loadMoreVisible);
|
68
71
|
|
69
72
|
var _usePromise = (0, _promiseHooks.default)((0, _react.useCallback)(function (retainList) {
|
70
73
|
var _dataRef$current = dataRef.current,
|
@@ -98,11 +101,7 @@ function _default(getListFn, _ref) {
|
|
98
101
|
return Promise.reject();
|
99
102
|
}
|
100
103
|
});
|
101
|
-
}, [dataRef, defaultLimit, defaultPage, getListFn, setData]), {
|
102
|
-
customSetLoading: customSetLoading ? (0, _react.useCallback)(function (loading) {
|
103
|
-
loadingRef.current = loading;
|
104
|
-
customSetLoading(loading);
|
105
|
-
}, [customSetLoading]) : undefined,
|
104
|
+
}, [dataRef, defaultLimit, defaultPage, getListFn, setData, setIsEnd]), {
|
106
105
|
needInit: false
|
107
106
|
}),
|
108
107
|
handleGetList = _usePromise.handle,
|
@@ -114,25 +113,28 @@ function _default(getListFn, _ref) {
|
|
114
113
|
|
115
114
|
|
116
115
|
var refreshList = (0, _react.useCallback)(function (retainList) {
|
116
|
+
if (!needGet) {
|
117
|
+
return;
|
118
|
+
}
|
119
|
+
|
117
120
|
if (!retainList) {
|
118
121
|
setData(initData);
|
119
122
|
}
|
120
123
|
|
121
124
|
return handleGetList(retainList);
|
122
|
-
}, [handleGetList, initData, setData]);
|
123
|
-
var visibleRef = (0, _stateRefHooks.default)(loadMoreVisible);
|
124
|
-
var isEndRef = (0, _stateRefHooks.default)(isEnd);
|
125
|
+
}, [handleGetList, initData, needGet, setData]);
|
125
126
|
var getNext = (0, _react.useCallback)(function (callback) {
|
126
127
|
if (!isEndRef.current && !loadingRef.current && needGet) {
|
127
128
|
handleGetList().then(callback);
|
128
129
|
}
|
129
130
|
}, [handleGetList, isEndRef, loadingRef, needGet]);
|
131
|
+
var preVisibleRef = (0, _react.useRef)(preVisible);
|
130
132
|
(0, _react.useEffect)(function () {
|
131
133
|
if (needGet) {
|
132
134
|
// 当handleGetList发生变化清空数据
|
133
135
|
refreshList().then(function () {
|
134
136
|
var fn = function fn() {
|
135
|
-
if (
|
137
|
+
if (preVisibleRef.current) {
|
136
138
|
getNext(fn);
|
137
139
|
}
|
138
140
|
};
|
@@ -140,18 +142,17 @@ function _default(getListFn, _ref) {
|
|
140
142
|
fn();
|
141
143
|
});
|
142
144
|
}
|
143
|
-
}, [refreshList, handleGetList, needGet,
|
145
|
+
}, [refreshList, handleGetList, needGet, preVisibleRef, getNext]);
|
144
146
|
(0, _react.useEffect)(function () {
|
145
|
-
if (loadMoreVisible) {
|
147
|
+
if (loadMoreVisible && preVisible !== loadMoreVisible) {
|
146
148
|
getNext();
|
147
149
|
}
|
148
|
-
}, [getNext, loadMoreVisible]);
|
150
|
+
}, [getNext, loadMoreVisible, preVisible]);
|
149
151
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
150
152
|
error: error,
|
151
153
|
dataRef: dataRef,
|
152
154
|
loading: loading,
|
153
155
|
refreshList: refreshList,
|
154
|
-
getNext: getNext,
|
155
156
|
isEnd: (0, _react.useMemo)(function () {
|
156
157
|
return isEnd || !data.list.length;
|
157
158
|
}, [isEnd, data])
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var _ali = require("remax/ali");
|
9
|
+
|
10
|
+
var _default = function _default(_ref) {
|
11
|
+
var accept = _ref.accept,
|
12
|
+
multiple = _ref.multiple,
|
13
|
+
sourceType = _ref.sourceType;
|
14
|
+
return (0, _ali.chooseImage)({
|
15
|
+
count: multiple ? 9 : 1,
|
16
|
+
sourceType: sourceType
|
17
|
+
}).then(function (_ref2) {
|
18
|
+
var apFilePaths = _ref2.apFilePaths;
|
19
|
+
return apFilePaths;
|
20
|
+
});
|
21
|
+
};
|
22
|
+
|
23
|
+
exports.default = _default;
|
@@ -8,6 +8,10 @@ export interface SelectFilesOption {
|
|
8
8
|
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept
|
9
9
|
*/
|
10
10
|
accept?: string;
|
11
|
+
/**
|
12
|
+
* 只有小程序支持,选择图片的来源
|
13
|
+
*/
|
14
|
+
sourceType?: Array<'album' | 'camera'>;
|
11
15
|
}
|
12
16
|
declare const _default: ({ accept, multiple }: SelectFilesOption) => Promise<FileList>;
|
13
17
|
export default _default;
|
@@ -9,9 +9,11 @@ var _wechat = require("remax/wechat");
|
|
9
9
|
|
10
10
|
var _default = function _default(_ref) {
|
11
11
|
var accept = _ref.accept,
|
12
|
-
multiple = _ref.multiple
|
12
|
+
multiple = _ref.multiple,
|
13
|
+
sourceType = _ref.sourceType;
|
13
14
|
return (0, _wechat.chooseImage)({
|
14
|
-
count: multiple ? 9 : 1
|
15
|
+
count: multiple ? 9 : 1,
|
16
|
+
sourceType: sourceType
|
15
17
|
}).then(function (_ref2) {
|
16
18
|
var tempFilePaths = _ref2.tempFilePaths;
|
17
19
|
return tempFilePaths;
|
@@ -11,7 +11,6 @@ declare const _default: <D extends unknown>(getList: LoadMoreGetListFn<D>, optio
|
|
11
11
|
};
|
12
12
|
loading: boolean;
|
13
13
|
refreshList: (retainList?: boolean) => Promise<void>;
|
14
|
-
getNext: (callback?: () => void) => void;
|
15
14
|
isEnd: boolean;
|
16
15
|
page: number;
|
17
16
|
limit: number;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "parsec-hooks",
|
3
|
-
"version": "0.0
|
3
|
+
"version": "1.0.0",
|
4
4
|
"description": "秒差距前端常用的hooks工具",
|
5
5
|
"author": "mushan0x0",
|
6
6
|
"license": "MIT",
|
@@ -54,7 +54,7 @@
|
|
54
54
|
"@babel/helper-call-delegate": "^7.10.3",
|
55
55
|
"@babel/plugin-syntax-typescript": "^7.10.4",
|
56
56
|
"@types/qs": "^6.9.3",
|
57
|
-
"@types/react": "^
|
57
|
+
"@types/react": "^17.0.38",
|
58
58
|
"@types/react-dom": "^16.0.5",
|
59
59
|
"@types/vfile-message": "^2.0.0",
|
60
60
|
"dayjs": "^1.8.21",
|