@wzyjs/hooks 0.2.36 → 0.2.38

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.
Files changed (73) hide show
  1. package/dist/antd/useDateRange.d.ts +0 -0
  2. package/dist/antd/useDateRange.js +122 -0
  3. package/dist/antd/useForm.d.ts +29 -0
  4. package/dist/antd/useForm.js +113 -0
  5. package/dist/antd/useHideFooter.js +16 -0
  6. package/dist/antd/useHovered.d.ts +9 -0
  7. package/dist/antd/useHovered.js +24 -0
  8. package/dist/antd/useImperativeHandleForm.d.ts +5 -0
  9. package/dist/antd/useImperativeHandleForm.js +13 -0
  10. package/dist/antd/useModalFooter.d.ts +8 -0
  11. package/dist/antd/useModalFooter.js +69 -0
  12. package/dist/antd/useOptions.d.ts +0 -0
  13. package/dist/antd/useOptions.js +46 -0
  14. package/dist/antd/usePaginationState.d.ts +9 -0
  15. package/dist/antd/usePaginationState.js +41 -0
  16. package/dist/antd/useStep.d.ts +16 -0
  17. package/dist/antd/useStep.js +35 -0
  18. package/dist/base/useClick.d.ts +10 -0
  19. package/dist/base/useClick.js +31 -0
  20. package/dist/base/useDeepEffect.d.ts +1 -0
  21. package/dist/base/useDeepEffect.js +18 -0
  22. package/dist/base/useEffectValue.d.ts +1 -0
  23. package/dist/base/useEffectValue.js +11 -0
  24. package/dist/base/useOnceEffect.d.ts +1 -0
  25. package/dist/base/useOnceEffect.js +24 -0
  26. package/dist/base/useVisibleInfo.d.ts +5 -0
  27. package/dist/base/useVisibleInfo.js +23 -0
  28. package/dist/dom/useElementScrollVisible.js +40 -0
  29. package/dist/index.d.ts +13 -0
  30. package/dist/index.js +42 -0
  31. package/dist/other/useCRUD.d.ts +63 -0
  32. package/dist/other/useCRUD.js +135 -0
  33. package/dist/other/useRequestPro.d.ts +0 -0
  34. package/dist/other/useRequestPro.js +73 -0
  35. package/dist/other/useSetting.d.ts +0 -0
  36. package/dist/other/useSetting.js +69 -0
  37. package/dist/other/useUserInfo.d.ts +0 -0
  38. package/dist/other/useUserInfo.js +97 -0
  39. package/dist/other/useWechatLogin.d.ts +11 -0
  40. package/dist/other/useWechatLogin.js +86 -0
  41. package/package.json +7 -36
  42. package/dist/cjs/index.d.ts +0 -10
  43. package/dist/cjs/index.js +0 -63
  44. package/dist/cjs/useDateRange.d.ts +0 -26
  45. package/dist/cjs/useDateRange.js +0 -135
  46. package/dist/cjs/useEffectValue.d.ts +0 -2
  47. package/dist/cjs/useEffectValue.js +0 -34
  48. package/dist/cjs/useElementScrollVisible.js +0 -61
  49. package/dist/cjs/useHideFooter.js +0 -38
  50. package/dist/cjs/useOptions.d.ts +0 -13
  51. package/dist/cjs/useOptions.js +0 -60
  52. package/dist/cjs/useRequestPro.d.ts +0 -11
  53. package/dist/cjs/useRequestPro.js +0 -76
  54. package/dist/cjs/useVisibleInfo.d.ts +0 -5
  55. package/dist/cjs/useVisibleInfo.js +0 -45
  56. package/dist/esm/index.d.ts +0 -10
  57. package/dist/esm/index.js +0 -10
  58. package/dist/esm/useDateRange.d.ts +0 -26
  59. package/dist/esm/useDateRange.js +0 -115
  60. package/dist/esm/useEffectValue.d.ts +0 -2
  61. package/dist/esm/useEffectValue.js +0 -18
  62. package/dist/esm/useElementScrollVisible.d.ts +0 -5
  63. package/dist/esm/useElementScrollVisible.js +0 -52
  64. package/dist/esm/useHideFooter.d.ts +0 -1
  65. package/dist/esm/useHideFooter.js +0 -13
  66. package/dist/esm/useOptions.d.ts +0 -13
  67. package/dist/esm/useOptions.js +0 -60
  68. package/dist/esm/useRequestPro.d.ts +0 -11
  69. package/dist/esm/useRequestPro.js +0 -64
  70. package/dist/esm/useVisibleInfo.d.ts +0 -5
  71. package/dist/esm/useVisibleInfo.js +0 -32
  72. /package/dist/{cjs → antd}/useHideFooter.d.ts +0 -0
  73. /package/dist/{cjs → dom}/useElementScrollVisible.d.ts +0 -0
File without changes
@@ -0,0 +1,122 @@
1
+ // import { useState } from 'react'
2
+ // import { dayjs, Dayjs } from '@wzyjs/utils'
3
+ //
4
+ // export enum PresetType {
5
+ // TODAY = '今天',
6
+ // THIS_WEEK = '本周',
7
+ // LAST_WEEK = '上周',
8
+ // THIS_MONTH = '本月',
9
+ // LAST_MONTH = '上月',
10
+ // }
11
+ //
12
+ // export const rangePresets: { label: string; value: [Dayjs, Dayjs] }[] = [
13
+ // {
14
+ // label: PresetType.TODAY,
15
+ // value: [dayjs().startOf('day'), dayjs().endOf('day')],
16
+ // },
17
+ // {
18
+ // label: PresetType.THIS_WEEK,
19
+ // value: [dayjs().startOf('week'), dayjs().endOf('week')],
20
+ // },
21
+ // {
22
+ // label: PresetType.LAST_WEEK,
23
+ // value: [dayjs().subtract(1, 'week').startOf('week'), dayjs().subtract(1, 'week').endOf('week')],
24
+ // },
25
+ // {
26
+ // label: PresetType.THIS_MONTH,
27
+ // value: [dayjs().startOf('month'), dayjs().endOf('month')],
28
+ // },
29
+ // {
30
+ // label: PresetType.LAST_MONTH,
31
+ // value: [dayjs().subtract(1, 'month').startOf('month'), dayjs().subtract(1, 'month').endOf('month')],
32
+ // },
33
+ // ]
34
+ //
35
+ // const checkDateRules = (dateRange: [Dayjs, Dayjs]): number => {
36
+ // const [date1, date2] = dateRange
37
+ //
38
+ // // 规则1: 判断是否为同一天
39
+ // if (date1.isSame(date2, 'day')) {
40
+ // return 1
41
+ // }
42
+ //
43
+ // // 规则2: 判断是否为周一和周日
44
+ // if ((date1.day() === 1 && date2.day() === 0) || (date1.day() === 0 && date2.day() === 1)) {
45
+ // return 2
46
+ // }
47
+ //
48
+ // // 规则3: 判断是否为月初和月末
49
+ // const isStartOrEndOfMonth = (date: Dayjs) => {
50
+ // return date.date() === 1 || date.date() === date.daysInMonth()
51
+ // }
52
+ //
53
+ // if (isStartOrEndOfMonth(date1) && isStartOrEndOfMonth(date2)) {
54
+ // return 3
55
+ // }
56
+ //
57
+ // // 如果没有匹配到任何规则,可以根据需要返回默认值,这里假设返回 0
58
+ // return 0
59
+ // }
60
+ //
61
+ // interface Config {
62
+ // defaultDateRange?: PresetType | [Dayjs, Dayjs]
63
+ // }
64
+ //
65
+ // export const useDateRange = (config: Config) => {
66
+ // const { defaultDateRange = PresetType.TODAY } = config
67
+ //
68
+ // const [dateRange, setDateRange] = useState<[Dayjs, Dayjs]>(
69
+ // Array.isArray(defaultDateRange)
70
+ // ? defaultDateRange
71
+ // : rangePresets.find((item) => item.label === defaultDateRange)?.value || [dayjs().startOf('day'), dayjs().endOf('day')],
72
+ // )
73
+ //
74
+ // const rangeType = checkDateRules(dateRange)
75
+ //
76
+ // return {
77
+ // dateRange,
78
+ //
79
+ // // 这里的 any 实际应该是 antd 的 RangeValue<Dayjs> 类型,
80
+ // // 但是这个类型不好获取,所以这里先用 any 代替
81
+ // onChange: (dateRange?: any) => {
82
+ // if (!dateRange) {
83
+ // return
84
+ // }
85
+ // setDateRange(dateRange as [Dayjs, Dayjs])
86
+ // },
87
+ //
88
+ // onClickPrev: () => {
89
+ // switch (rangeType) {
90
+ // case 1:
91
+ // setDateRange([dateRange[0].subtract(1, 'day'), dateRange[1].subtract(1, 'day')])
92
+ // break
93
+ // case 2:
94
+ // setDateRange([dateRange[0].subtract(1, 'week'), dateRange[1].subtract(1, 'week')])
95
+ // break
96
+ // case 3:
97
+ // setDateRange([dateRange[0].subtract(1, 'month').startOf('month'), dateRange[1].subtract(1, 'month').endOf('month')])
98
+ // break
99
+ // default:
100
+ // setDateRange([dateRange[0].subtract(1, 'day'), dateRange[1]])
101
+ // break
102
+ // }
103
+ // },
104
+ //
105
+ // onClickNext: () => {
106
+ // switch (rangeType) {
107
+ // case 1:
108
+ // setDateRange([dateRange[0].add(1, 'day'), dateRange[1].add(1, 'day')])
109
+ // break
110
+ // case 2:
111
+ // setDateRange([dateRange[0].add(1, 'week'), dateRange[1].add(1, 'week')])
112
+ // break
113
+ // case 3:
114
+ // setDateRange([dateRange[0].add(1, 'month').startOf('month'), dateRange[1].add(1, 'month').endOf('month')])
115
+ // break
116
+ // default:
117
+ // setDateRange([dateRange[0], dateRange[1].add(1, 'day')])
118
+ // break
119
+ // }
120
+ // },
121
+ // }
122
+ // }
@@ -0,0 +1,29 @@
1
+ import { Ref } from 'react';
2
+ interface Options<P, V> {
3
+ transform?: ((values: V) => any)[];
4
+ onChange?: (values: P) => void;
5
+ initialValues?: any;
6
+ ref?: Ref<unknown>;
7
+ }
8
+ export declare const useForm: <P = any, V = P>(options?: Options<P, V>) => {
9
+ form: import("antd").FormInstance<any>;
10
+ formValues: V;
11
+ setFormValues: import("react").Dispatch<import("react").SetStateAction<V>>;
12
+ formParams: P;
13
+ clearFieldsValues: () => void;
14
+ setFieldsValues: (values: V) => void;
15
+ onQuery: () => Promise<void>;
16
+ onReset: () => void;
17
+ formProps: {
18
+ form: import("antd").FormInstance<any>;
19
+ onValuesChange: (_: unknown, values: V) => void;
20
+ preserve: boolean;
21
+ labelCol: {
22
+ span: number;
23
+ };
24
+ style: {
25
+ marginTop: number;
26
+ };
27
+ };
28
+ };
29
+ export {};
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.useForm = void 0;
40
+ var react_1 = require("react");
41
+ var antd_1 = require("antd");
42
+ var cloneDeep = function (value) {
43
+ return JSON.parse(JSON.stringify(value));
44
+ };
45
+ var useForm = function (options) {
46
+ if (options === void 0) { options = {}; }
47
+ var form = antd_1.Form.useForm()[0];
48
+ (0, react_1.useImperativeHandle)(options.ref, function () { return form; });
49
+ var _a = (0, react_1.useState)(options.initialValues), formValues = _a[0], setFormValues = _a[1];
50
+ var formParams = (0, react_1.useMemo)(function () {
51
+ var _a;
52
+ if (!formValues) {
53
+ return null;
54
+ }
55
+ if (!((_a = options.transform) === null || _a === void 0 ? void 0 : _a.length)) {
56
+ return formValues;
57
+ }
58
+ return options.transform.reduce(function (values, handle) {
59
+ return handle(values);
60
+ }, cloneDeep(formValues));
61
+ }, [formValues]);
62
+ (0, react_1.useEffect)(function () {
63
+ var _a;
64
+ (_a = options.onChange) === null || _a === void 0 ? void 0 : _a.call(options, formParams);
65
+ }, [formParams]);
66
+ var onQuery = function () { return __awaiter(void 0, void 0, void 0, function () {
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0: return [4 /*yield*/, form.validateFields()];
70
+ case 1:
71
+ _a.sent();
72
+ setFormValues(form.getFieldsValue());
73
+ return [2 /*return*/];
74
+ }
75
+ });
76
+ }); };
77
+ var onReset = function () {
78
+ form.resetFields();
79
+ onQuery();
80
+ };
81
+ var onValuesChange = function (_, values) {
82
+ setFormValues(values);
83
+ };
84
+ var clearFieldsValues = function () {
85
+ form.resetFields();
86
+ setFormValues(null);
87
+ };
88
+ var setFieldsValues = function (values) {
89
+ form.setFieldsValue(values);
90
+ setFormValues(values);
91
+ };
92
+ return {
93
+ // 表单组件的引用
94
+ form: form,
95
+ // 表单的原始数据
96
+ formValues: formValues,
97
+ setFormValues: setFormValues,
98
+ // 表单数据转换为后端格式的数据
99
+ formParams: formParams,
100
+ clearFieldsValues: clearFieldsValues,
101
+ setFieldsValues: setFieldsValues,
102
+ onQuery: onQuery,
103
+ onReset: onReset,
104
+ formProps: {
105
+ form: form,
106
+ onValuesChange: onValuesChange,
107
+ preserve: false, // 字段被删除时,是否保留字段值
108
+ labelCol: { span: 4 },
109
+ style: { marginTop: 20 },
110
+ },
111
+ };
112
+ };
113
+ exports.useForm = useForm;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useHideFooter = void 0;
4
+ var react_1 = require("react");
5
+ // 进入时隐藏指定元素,销毁时恢复该元素
6
+ var useHideFooter = function (el) {
7
+ if (el === void 0) { el = '.ant-layout-footer'; }
8
+ (0, react_1.useEffect)(function () {
9
+ var e = document.querySelector(el);
10
+ e.style.display = 'none';
11
+ return function () {
12
+ e.style.display = 'block';
13
+ };
14
+ }, []);
15
+ };
16
+ exports.useHideFooter = useHideFooter;
@@ -0,0 +1,9 @@
1
+ export declare const useHovered: () => {
2
+ onMouseEnter: () => void;
3
+ onMouseLeave: () => void;
4
+ isHovered: boolean;
5
+ hoverProps: {
6
+ onMouseEnter: () => void;
7
+ onMouseLeave: () => void;
8
+ };
9
+ };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.useHovered = void 0;
15
+ var ahooks_1 = require("ahooks");
16
+ var useHovered = function () {
17
+ var _a = (0, ahooks_1.useBoolean)(false), isHovered = _a[0], _b = _a[1], setTrue = _b.setTrue, setFalse = _b.setFalse;
18
+ var hoverProps = {
19
+ onMouseEnter: setTrue,
20
+ onMouseLeave: setFalse,
21
+ };
22
+ return __assign({ isHovered: isHovered, hoverProps: hoverProps }, hoverProps);
23
+ };
24
+ exports.useHovered = useHovered;
@@ -0,0 +1,5 @@
1
+ import { type Ref } from 'react';
2
+ import { type FormInstance } from 'antd';
3
+ export declare const useImperativeHandleForm: (ref: Ref<FormInstance>) => {
4
+ form: FormInstance<any>;
5
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useImperativeHandleForm = void 0;
4
+ var react_1 = require("react");
5
+ var antd_1 = require("antd");
6
+ var useImperativeHandleForm = function (ref) {
7
+ var form = antd_1.Form.useForm()[0];
8
+ (0, react_1.useImperativeHandle)(ref, function () { return form; });
9
+ return {
10
+ form: form,
11
+ };
12
+ };
13
+ exports.useImperativeHandleForm = useImperativeHandleForm;
@@ -0,0 +1,8 @@
1
+ interface Option {
2
+ onOk?: () => Promise<void>;
3
+ onConfirm?: () => void;
4
+ }
5
+ export declare const useModalFooter: ({ onOk, onConfirm }: Option) => {
6
+ footer: (_: unknown, extra: any) => import("react/jsx-runtime").JSX.Element;
7
+ };
8
+ export {};
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.useModalFooter = void 0;
40
+ var jsx_runtime_1 = require("react/jsx-runtime");
41
+ var react_1 = require("react");
42
+ var antd_1 = require("antd");
43
+ var useModalFooter = function (_a) {
44
+ var onOk = _a.onOk, onConfirm = _a.onConfirm;
45
+ var _b = (0, react_1.useState)(false), open = _b[0], setOpen = _b[1];
46
+ var onCancel = function () {
47
+ setOpen(false);
48
+ };
49
+ var onOpenChange = function (newOpen) { return __awaiter(void 0, void 0, void 0, function () {
50
+ return __generator(this, function (_a) {
51
+ switch (_a.label) {
52
+ case 0:
53
+ if (!newOpen) {
54
+ setOpen(false);
55
+ return [2 /*return*/];
56
+ }
57
+ return [4 /*yield*/, (onOk === null || onOk === void 0 ? void 0 : onOk())];
58
+ case 1:
59
+ _a.sent();
60
+ setOpen(true);
61
+ return [2 /*return*/];
62
+ }
63
+ });
64
+ }); };
65
+ return {
66
+ footer: function (_, extra) { return ((0, jsx_runtime_1.jsxs)(antd_1.Space, { children: [(0, jsx_runtime_1.jsx)(extra.CancelBtn, {}), (0, jsx_runtime_1.jsx)(antd_1.Popconfirm, { title: '\u786E\u8BA4\u64CD\u4F5C\u5417?', open: open, onCancel: onCancel, onConfirm: onConfirm, onOpenChange: onOpenChange, children: (0, jsx_runtime_1.jsx)(antd_1.Button, { type: 'primary', children: "\u786E\u5B9A" }) })] })); },
67
+ };
68
+ };
69
+ exports.useModalFooter = useModalFooter;
File without changes
@@ -0,0 +1,46 @@
1
+ // import { useEffect, useMemo, useState } from 'react'
2
+ // import { useRequestPro } from './useRequestPro'
3
+ //
4
+ // interface Option {
5
+ // apis: any
6
+ // onChange?: (data?: any) => void
7
+ // }
8
+ //
9
+ // export const useOptions = (option: Option) => {
10
+ // const { apis } = option
11
+ //
12
+ // const [value, setValue] = useState<string>()
13
+ //
14
+ // // 发请求获取列表数据
15
+ // const { data, loading } = useRequestPro(apis.list, {
16
+ // onSuccess: res => {
17
+ // const [first] = res.data?.data || []
18
+ // if (first) {
19
+ // setValue(first?.id)
20
+ // }
21
+ // },
22
+ // })
23
+ //
24
+ // // 将列表数据转换成 enableOptions
25
+ // const enableOptions = useMemo(() => {
26
+ // return data?.data.map((item: any) => ({ label: item.name, value: item.id })) || []
27
+ // }, [data])
28
+ //
29
+ // // 根据 value 获取当前详细数据
30
+ // const currentData = useMemo(() => {
31
+ // return data?.data.find((item: any) => item.id === value)
32
+ // }, [data, value])
33
+ //
34
+ // // value 变化时触发 onChange
35
+ // useEffect(() => {
36
+ // option.onChange?.(currentData)
37
+ // }, [currentData])
38
+ //
39
+ // return {
40
+ // loading,
41
+ // enableOptions,
42
+ // value,
43
+ // onChange: setValue,
44
+ // currentData,
45
+ // }
46
+ // }
@@ -0,0 +1,9 @@
1
+ import { PaginationProps } from 'antd';
2
+ export declare const usePaginationState: (paginationProps?: PaginationProps) => {
3
+ resetPage: () => void;
4
+ pagination: PaginationProps;
5
+ pageParams: {
6
+ pageNum: number;
7
+ pageSize: number;
8
+ };
9
+ };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.usePaginationState = void 0;
15
+ var react_1 = require("react");
16
+ var usePaginationState = function (paginationProps) {
17
+ var options = __assign({ current: 1, pageSize: 10, showSizeChanger: true, showQuickJumper: true, showTotal: function (total) { return "\u603B\u5171 ".concat(total, " \u6761"); }, pageSizeOptions: [10, 20, 30, 50] }, paginationProps);
18
+ var _a = (0, react_1.useState)(options.current), current = _a[0], setCurrent = _a[1];
19
+ var _b = (0, react_1.useState)(options.pageSize), pageSize = _b[0], setPageSize = _b[1];
20
+ var onChange = function (current, pageSize) {
21
+ setCurrent(current);
22
+ setPageSize(pageSize);
23
+ };
24
+ var resetPage = function () {
25
+ setCurrent(1);
26
+ };
27
+ var pagination = __assign(__assign({}, options), { current: current, pageSize: pageSize, onChange: onChange });
28
+ var pageParams = (0, react_1.useMemo)(function () { return ({
29
+ pageNum: current,
30
+ pageSize: pageSize,
31
+ }); }, [current, pageSize]);
32
+ return {
33
+ // 重置到第一页
34
+ resetPage: resetPage,
35
+ // Table pagination prop
36
+ pagination: pagination,
37
+ // 转换为后端的分页参数
38
+ pageParams: pageParams,
39
+ };
40
+ };
41
+ exports.usePaginationState = usePaginationState;
@@ -0,0 +1,16 @@
1
+ export declare enum Dir {
2
+ Prev = "Prev",
3
+ Next = "Next"
4
+ }
5
+ interface Option {
6
+ defaultCurrent?: number;
7
+ onChangeCheck?: (current: number, dir: Dir) => false | void;
8
+ onChangeBefore?: () => void;
9
+ onChangeAfter?: () => void;
10
+ }
11
+ export declare const useStep: (option: Option) => {
12
+ current: number;
13
+ onPrev: () => void;
14
+ onNext: () => void;
15
+ };
16
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStep = exports.Dir = void 0;
4
+ var react_1 = require("react");
5
+ var Dir;
6
+ (function (Dir) {
7
+ Dir["Prev"] = "Prev";
8
+ Dir["Next"] = "Next";
9
+ })(Dir || (exports.Dir = Dir = {}));
10
+ var useStep = function (option) {
11
+ var _a = option.defaultCurrent, defaultCurrent = _a === void 0 ? 0 : _a, onChangeCheck = option.onChangeCheck, onChangeBefore = option.onChangeBefore, onChangeAfter = option.onChangeAfter;
12
+ var _b = (0, react_1.useState)(defaultCurrent), current = _b[0], setCurrent = _b[1];
13
+ var onPrev = function () {
14
+ if ((onChangeCheck === null || onChangeCheck === void 0 ? void 0 : onChangeCheck(current, Dir.Prev)) === false) {
15
+ return;
16
+ }
17
+ onChangeBefore === null || onChangeBefore === void 0 ? void 0 : onChangeBefore();
18
+ setCurrent(current - 1);
19
+ onChangeAfter === null || onChangeAfter === void 0 ? void 0 : onChangeAfter();
20
+ };
21
+ var onNext = function () {
22
+ if ((onChangeCheck === null || onChangeCheck === void 0 ? void 0 : onChangeCheck(current, Dir.Next)) === false) {
23
+ return;
24
+ }
25
+ onChangeBefore === null || onChangeBefore === void 0 ? void 0 : onChangeBefore();
26
+ setCurrent(current + 1);
27
+ onChangeAfter === null || onChangeAfter === void 0 ? void 0 : onChangeAfter();
28
+ };
29
+ return {
30
+ current: current,
31
+ onPrev: onPrev,
32
+ onNext: onNext,
33
+ };
34
+ };
35
+ exports.useStep = useStep;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type MouseEventType = React.MouseEvent<HTMLElement> | MouseEvent;
3
+ type ClickHandler<P> = (event: P) => void;
4
+ interface Option<P> {
5
+ onClick: ClickHandler<P>;
6
+ onDoubleClick: ClickHandler<P>;
7
+ delay?: number;
8
+ }
9
+ export declare const useClick: <P = MouseEventType>(option: Option<P>) => ClickHandler<P>;
10
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useClick = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var useClick = function (option) {
9
+ var onClick = option.onClick, onDoubleClick = option.onDoubleClick, _a = option.delay, delay = _a === void 0 ? 300 : _a;
10
+ var clickCount = react_1.default.useRef(0);
11
+ var timer = react_1.default.useRef(null);
12
+ return function (ev) {
13
+ clickCount.current += 1;
14
+ if (clickCount.current === 1) {
15
+ timer.current = setTimeout(function () {
16
+ if (clickCount.current === 1) {
17
+ onClick(ev);
18
+ }
19
+ clickCount.current = 0;
20
+ }, delay);
21
+ }
22
+ if (clickCount.current === 2) {
23
+ if (timer.current) {
24
+ clearTimeout(timer.current);
25
+ }
26
+ onDoubleClick(ev);
27
+ clickCount.current = 0;
28
+ }
29
+ };
30
+ };
31
+ exports.useClick = useClick;
@@ -0,0 +1 @@
1
+ export declare const useDeepEffect: (callback: () => void, dependencies: any[]) => void;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useDeepEffect = void 0;
7
+ var react_1 = require("react");
8
+ var isEqual_1 = __importDefault(require("lodash/isEqual"));
9
+ var useDeepEffect = function (callback, dependencies) {
10
+ var ref = (0, react_1.useRef)([]);
11
+ (0, react_1.useEffect)(function () {
12
+ if (!(0, isEqual_1.default)(ref.current, dependencies)) {
13
+ callback();
14
+ ref.current = dependencies;
15
+ }
16
+ }, [callback, dependencies]);
17
+ };
18
+ exports.useDeepEffect = useDeepEffect;
@@ -0,0 +1 @@
1
+ export declare const useEffectValue: (defaultValue: any, fn: any, deps?: any[]) => any[];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useEffectValue = void 0;
4
+ var react_1 = require("react");
5
+ var useEffectValue = function (defaultValue, fn, deps) {
6
+ if (deps === void 0) { deps = []; }
7
+ var _a = (0, react_1.useState)(defaultValue), value = _a[0], setValue = _a[1];
8
+ (0, react_1.useEffect)(function () { return setValue(fn()); }, deps);
9
+ return [value, setValue];
10
+ };
11
+ exports.useEffectValue = useEffectValue;
@@ -0,0 +1 @@
1
+ export declare const useOnceEffect: (effect: () => boolean, deps: React.DependencyList) => void;