@hw-component/form 1.6.1 → 1.6.3

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.
@@ -1,57 +1,122 @@
1
1
  // welcome to hoo hoo hoo
2
+ import 'core-js/modules/es.object.keys.js';
3
+ import 'core-js/modules/es.symbol.js';
4
+ import 'core-js/modules/es.array.filter.js';
5
+ import 'core-js/modules/es.object.get-own-property-descriptor.js';
6
+ import 'core-js/modules/web.dom-collections.for-each.js';
7
+ import 'core-js/modules/es.object.get-own-property-descriptors.js';
8
+ import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
2
9
  import _asyncToGenerator from '@babel/runtime-corejs3/helpers/asyncToGenerator';
10
+ import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
3
11
  import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
4
12
  import _regeneratorRuntime from '@babel/runtime-corejs3/regenerator';
5
13
  import 'core-js/modules/es.array.iterator.js';
6
14
  import 'core-js/modules/es.object.to-string.js';
7
15
  import 'core-js/modules/web.dom-collections.iterator.js';
8
16
  import 'core-js/modules/es.promise.js';
9
- import { useState, useEffect } from 'react';
17
+ import 'core-js/modules/es.array.concat.js';
18
+ import { useEffect, useState, useMemo } from 'react';
10
19
  import { useRequest } from 'ahooks';
11
20
  import { useFormContext } from '../../Form/Context/index.js';
12
21
 
13
- var useOptionReq = function useOptionReq(_ref) {
14
- var manual = _ref.manual,
15
- request = _ref.request,
16
- options = _ref.options,
17
- serviceSearch = _ref.serviceSearch,
18
- showSearch = _ref.showSearch,
19
- propsOnSearch = _ref.onSearch,
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
+ var useSaveParams = function useSaveParams() {
25
+ var saveParams = useMemo(function () {
26
+ return {
27
+ listParams: {
28
+ isEnd: false,
29
+ page: 1,
30
+ size: 100,
31
+ reqParams: {}
32
+ }
33
+ };
34
+ }, []);
35
+ var resetSaveParams = function resetSaveParams() {
36
+ saveParams.listParams = {
37
+ isEnd: false,
38
+ page: 1,
39
+ size: 100,
40
+ reqParams: {}
41
+ };
42
+ };
43
+ var nextPage = function nextPage(data) {
44
+ var size = data.size,
45
+ total = data.total,
46
+ page = data.page;
47
+ saveParams.listParams.size = size;
48
+ saveParams.listParams.page = page + 1;
49
+ saveParams.listParams.isEnd = size * page >= total;
50
+ };
51
+ return {
52
+ saveParams: saveParams,
53
+ resetSaveParams: resetSaveParams,
54
+ nextPage: nextPage
55
+ };
56
+ };
57
+ var useOptionsRequest = function useOptionsRequest(_ref) {
58
+ var request = _ref.request,
20
59
  _ref$dispatch = _ref.dispatch,
21
- dispatch = _ref$dispatch === void 0 ? {} : _ref$dispatch;
22
- var dispatchManual = dispatch.manual;
60
+ dispatch = _ref$dispatch === void 0 ? {} : _ref$dispatch,
61
+ manual = _ref.manual,
62
+ options = _ref.options,
63
+ isList = _ref.isList;
64
+ var _useSaveParams = useSaveParams(),
65
+ saveParams = _useSaveParams.saveParams,
66
+ resetSaveParams = _useSaveParams.resetSaveParams,
67
+ nextPage = _useSaveParams.nextPage;
23
68
  var _useFormContext = useFormContext(),
24
69
  form = _useFormContext.form;
70
+ var dispatchManual = dispatch.manual;
25
71
  var _useState = useState(),
26
72
  _useState2 = _slicedToArray(_useState, 2),
27
73
  data = _useState2[0],
28
74
  setData = _useState2[1];
75
+ var paramsProvider = function paramsProvider(params) {
76
+ if (isList) {
77
+ var page = saveParams.listParams.page;
78
+ var size = saveParams.listParams.size;
79
+ return _objectSpread(_objectSpread({}, params), {}, {
80
+ page: page,
81
+ size: size
82
+ });
83
+ }
84
+ return params;
85
+ };
29
86
  var _useRequest = useRequest( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
30
87
  var requestParams,
88
+ type,
31
89
  _requestParams$params,
32
90
  params,
33
91
  values,
34
- _requestParams$type,
35
- type,
36
92
  formData,
37
93
  _args = arguments;
38
94
  return _regeneratorRuntime.wrap(function _callee$(_context) {
39
95
  while (1) switch (_context.prev = _context.next) {
40
96
  case 0:
41
97
  requestParams = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
42
- _requestParams$params = requestParams.params, params = _requestParams$params === void 0 ? {} : _requestParams$params, values = requestParams.values, _requestParams$type = requestParams.type, type = _requestParams$type === void 0 ? "init" : _requestParams$type;
98
+ type = _args.length > 1 && _args[1] !== undefined ? _args[1] : "init";
99
+ _requestParams$params = requestParams.params, params = _requestParams$params === void 0 ? saveParams.listParams.reqParams : _requestParams$params, values = requestParams.values;
43
100
  formData = values || (form === null || form === void 0 ? void 0 : form.getFieldsValue());
44
101
  if (type === "init") {
102
+ resetSaveParams();
45
103
  setData(undefined);
46
104
  }
105
+ saveParams.listParams.reqParams = params;
106
+ if (!(isList && saveParams.listParams.isEnd)) {
107
+ _context.next = 8;
108
+ break;
109
+ }
110
+ return _context.abrupt("return", data);
111
+ case 8:
47
112
  if (!request) {
48
- _context.next = 6;
113
+ _context.next = 10;
49
114
  break;
50
115
  }
51
- return _context.abrupt("return", request(params, formData));
52
- case 6:
116
+ return _context.abrupt("return", request(paramsProvider(params), formData));
117
+ case 10:
53
118
  return _context.abrupt("return", Promise.resolve(options));
54
- case 7:
119
+ case 11:
55
120
  case "end":
56
121
  return _context.stop();
57
122
  }
@@ -60,16 +125,53 @@ var useOptionReq = function useOptionReq(_ref) {
60
125
  manual: dispatchManual === false ? true : manual,
61
126
  debounceInterval: 300,
62
127
  onSuccess: function onSuccess(resultData) {
63
- setData(resultData);
128
+ if (Array.isArray(resultData) || !resultData) {
129
+ return setData(resultData);
130
+ }
131
+ var oldData = data || [];
132
+ var resultOption = resultData.data;
133
+ var op = resultOption || [];
134
+ nextPage(resultData);
135
+ setData([].concat(_toConsumableArray(oldData), _toConsumableArray(op)));
64
136
  }
65
137
  }),
66
138
  run = _useRequest.run,
67
139
  loading = _useRequest.loading,
68
140
  error = _useRequest.error;
141
+ return {
142
+ loading: loading,
143
+ run: run,
144
+ error: error,
145
+ data: data,
146
+ setData: setData
147
+ };
148
+ };
149
+ var useSelectReq = function useSelectReq(_ref3) {
150
+ var manual = _ref3.manual,
151
+ request = _ref3.request,
152
+ options = _ref3.options,
153
+ serviceSearch = _ref3.serviceSearch,
154
+ showSearch = _ref3.showSearch,
155
+ propsOnSearch = _ref3.onSearch,
156
+ _ref3$dispatch = _ref3.dispatch,
157
+ dispatch = _ref3$dispatch === void 0 ? {} : _ref3$dispatch,
158
+ isList = _ref3.isList;
159
+ var _useOptionsRequest = useOptionsRequest({
160
+ request: request,
161
+ dispatch: dispatch,
162
+ manual: manual,
163
+ options: options,
164
+ isList: isList
165
+ }),
166
+ run = _useOptionsRequest.run,
167
+ loading = _useOptionsRequest.loading,
168
+ error = _useOptionsRequest.error,
169
+ data = _useOptionsRequest.data,
170
+ setData = _useOptionsRequest.setData;
69
171
  var reload = function reload(reloadParams) {
70
- var _ref3 = reloadParams || {},
71
- changeOpts = _ref3.options,
72
- params = _ref3.params;
172
+ var _ref4 = reloadParams || {},
173
+ changeOpts = _ref4.options,
174
+ params = _ref4.params;
73
175
  if (changeOpts) {
74
176
  return setData(changeOpts);
75
177
  }
@@ -93,6 +195,13 @@ var useOptionReq = function useOptionReq(_ref) {
93
195
  setData(options);
94
196
  }
95
197
  }, [options]);
198
+ var onPopupScroll = function onPopupScroll(e) {
199
+ var target = e.target;
200
+ var changeTarget = target;
201
+ if (changeTarget.scrollTop + changeTarget.offsetHeight === changeTarget.scrollHeight) {
202
+ run({}, "page");
203
+ }
204
+ };
96
205
  var mathShowSearch = showSearch || serviceSearch;
97
206
  return {
98
207
  run: run,
@@ -101,19 +210,18 @@ var useOptionReq = function useOptionReq(_ref) {
101
210
  data: data,
102
211
  onSearch: mathShowSearch ? onSearch : propsOnSearch,
103
212
  mathShowSearch: showSearch || serviceSearch,
104
- reload: reload
213
+ reload: reload,
214
+ onPopupScroll: isList ? onPopupScroll : undefined
105
215
  };
106
216
  };
107
- var useFilterOption = function useFilterOption(_ref4) {
108
- var filterOption = _ref4.filterOption,
109
- serviceSearch = _ref4.serviceSearch;
217
+ var useFilterOption = function useFilterOption(_ref5) {
218
+ var filterOption = _ref5.filterOption,
219
+ serviceSearch = _ref5.serviceSearch;
110
220
  if (serviceSearch) {
111
- return function () {
112
- return true;
113
- };
221
+ return false;
114
222
  }
115
223
  return filterOption;
116
224
  };
117
225
 
118
- export { useFilterOption, useOptionReq };
226
+ export { useFilterOption, useSelectReq };
119
227
  // powered by hdj
@@ -12,7 +12,7 @@ import 'core-js/modules/es.array.map.js';
12
12
  import { jsx } from 'react/jsx-runtime';
13
13
  import { createElement } from 'react';
14
14
  import { Select } from 'antd';
15
- import { useFilterOption, useOptionReq } from './hooks/norHooks.js';
15
+ import { useFilterOption, useSelectReq } from './hooks/norHooks.js';
16
16
  import { useValueChange } from './hooks/changeHooks.js';
17
17
  import { defaultModeConfig, defaultSelectConfig } from './defaultConfig.js';
18
18
  import Index$1 from './components/DropdownComponent.js';
@@ -20,7 +20,7 @@ import Index$2 from './components/AllSelect.js';
20
20
  import { useMatchConfigProps, useChangeOptions } from '../hooks/index.js';
21
21
  import HFormConnect from '../Form/HFormConnect.js';
22
22
 
23
- var _excluded = ["style", "mode", "options", "modeConfig", "value", "onChange", "fieldNames", "request", "manual", "optionLabelProp", "filterProvider", "optionFilterProp", "serviceSearch", "onSearch", "filterOption", "showSearch", "labelInValue", "noMatchItemRender", "allSelect", "addDispatchListener", "addFormat", "dispatch"],
23
+ var _excluded = ["style", "mode", "options", "modeConfig", "value", "onChange", "fieldNames", "request", "manual", "optionLabelProp", "filterProvider", "optionFilterProp", "serviceSearch", "onSearch", "filterOption", "showSearch", "labelInValue", "noMatchItemRender", "allSelect", "addDispatchListener", "addFormat", "dispatch", "isList", "onPopupScroll"],
24
24
  _excluded2 = ["value", "label"];
25
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
26
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -55,6 +55,8 @@ var Index = function Index(_ref) {
55
55
  addDispatchListener = _ref.addDispatchListener;
56
56
  _ref.addFormat;
57
57
  var dispatch = _ref.dispatch,
58
+ isList = _ref.isList,
59
+ propsOnPopupScroll = _ref.onPopupScroll,
58
60
  props = _objectWithoutProperties(_ref, _excluded);
59
61
  var _ref2 = (modeConfig === null || modeConfig === void 0 ? void 0 : modeConfig[mode || ""]) || {},
60
62
  icon = _ref2.icon,
@@ -67,7 +69,7 @@ var Index = function Index(_ref) {
67
69
  filterOption: filterOption,
68
70
  serviceSearch: serviceSearch
69
71
  });
70
- var _useOptionReq = useOptionReq({
72
+ var _useSelectReq = useSelectReq({
71
73
  options: options,
72
74
  manual: manual,
73
75
  fieldNames: fieldNames,
@@ -75,15 +77,17 @@ var Index = function Index(_ref) {
75
77
  serviceSearch: serviceSearch,
76
78
  showSearch: showSearch,
77
79
  onSearch: propsOnSearch,
78
- dispatch: dispatch
80
+ dispatch: dispatch,
81
+ isList: isList
79
82
  }),
80
- run = _useOptionReq.run,
81
- loading = _useOptionReq.loading,
82
- resultData = _useOptionReq.data,
83
- error = _useOptionReq.error,
84
- onSearch = _useOptionReq.onSearch,
85
- mathShowSearch = _useOptionReq.mathShowSearch,
86
- reload = _useOptionReq.reload;
83
+ run = _useSelectReq.run,
84
+ loading = _useSelectReq.loading,
85
+ resultData = _useSelectReq.data,
86
+ error = _useSelectReq.error,
87
+ onSearch = _useSelectReq.onSearch,
88
+ mathShowSearch = _useSelectReq.mathShowSearch,
89
+ reload = _useSelectReq.reload,
90
+ onPopupScroll = _useSelectReq.onPopupScroll;
87
91
  var data = useChangeOptions({
88
92
  options: resultData,
89
93
  fieldNames: fieldNames
@@ -129,7 +133,8 @@ var Index = function Index(_ref) {
129
133
  optionFilterProp: optionFilterProp,
130
134
  filterOption: selfFilterOption,
131
135
  showSearch: mathShowSearch,
132
- labelInValue: true
136
+ labelInValue: true,
137
+ onPopupScroll: propsOnPopupScroll || onPopupScroll
133
138
  }, props), {}, {
134
139
  children: data === null || data === void 0 ? void 0 : data.map(function (item) {
135
140
  var optionValue = item.value,
@@ -3,7 +3,6 @@ import type React from "react";
3
3
  import type { PromiseFnResult } from "../modal";
4
4
  import type { addFormatItemModal, argsFn, DispatchModal } from "../Form/modal";
5
5
  export type OptionType = Record<string, any>;
6
- export type PartialHSelectProps = Partial<HSelectProps>;
7
6
  export type RenderFn = (data: OptionType) => React.ReactNode;
8
7
  interface ModeConfigItem {
9
8
  icon?: React.ReactNode | null;
@@ -14,9 +13,17 @@ export interface ModeConfig {
14
13
  tags?: ModeConfigItem;
15
14
  }
16
15
  type FilterProviderFn = (item: any) => string;
16
+ type OptionsListType = OptionType[];
17
+ export interface OptionsPageResultModal {
18
+ page: number;
19
+ size: number;
20
+ data: OptionsListType;
21
+ total: number;
22
+ }
23
+ export type OptionsDataType = OptionsListType | OptionsPageResultModal;
17
24
  export interface HSelectProps extends Omit<SelectProps, "options" | "placeholder"> {
18
25
  style?: React.CSSProperties;
19
- request?: PromiseFnResult<any, OptionType[]>;
26
+ request?: PromiseFnResult<any, OptionsDataType>;
20
27
  manual?: boolean;
21
28
  modeConfig?: ModeConfig;
22
29
  filterProvider?: FilterProviderFn | string;
@@ -28,9 +35,11 @@ export interface HSelectProps extends Omit<SelectProps, "options" | "placeholder
28
35
  addFormat?: (format: Record<string, addFormatItemModal>) => void;
29
36
  placeholder?: string;
30
37
  dispatch?: DispatchModal;
38
+ isList?: boolean;
31
39
  }
32
40
  export interface FilterDataModal {
33
41
  value: any;
34
42
  index: number;
35
43
  }
44
+ export type PartialHSelectProps = Partial<HSelectProps>;
36
45
  export {};
@@ -126,7 +126,11 @@ var matchNotFind = function matchNotFind(_ref5, oldVale) {
126
126
  var options = _ref5.options,
127
127
  value = _ref5.value,
128
128
  mode = _ref5.mode,
129
- noMatchItemRender = _ref5.noMatchItemRender;
129
+ noMatchItemRender = _ref5.noMatchItemRender,
130
+ labelInValue = _ref5.labelInValue;
131
+ if (labelInValue) {
132
+ return value;
133
+ }
130
134
  if (!mode) {
131
135
  return single({
132
136
  options: options,
@@ -181,20 +185,20 @@ var useValueChange = function useValueChange(params) {
181
185
  onChange(newChangeVal, subItemOps);
182
186
  };
183
187
  React.useEffect(function () {
184
- if (mode === "tags") {
185
- setVal(value);
186
- return;
187
- }
188
188
  if (value === null || value === undefined) {
189
189
  setVal(undefined);
190
190
  return;
191
191
  }
192
+ if (mode === "tags") {
193
+ setVal(value);
194
+ return;
195
+ }
192
196
  if (options) {
193
197
  setVal(function (oldVale) {
194
198
  return matchNotFind(params, oldVale);
195
199
  });
196
200
  }
197
- }, [value, options, mode, noMatchItemRender]);
201
+ }, [value, options, mode, noMatchItemRender, labelInValue]);
198
202
  return {
199
203
  val: val,
200
204
  change: change
@@ -1,16 +1,18 @@
1
- import type { OptionType, PartialHSelectProps } from "@/components/Select/modal";
1
+ import type { OptionType, PartialHSelectProps } from "../modal";
2
+ import { OptionsPageResultModal } from "../modal";
2
3
  interface ParamsModal {
3
4
  options?: OptionType[];
4
5
  params?: any;
5
6
  }
6
- export declare const useOptionReq: ({ manual, request, options, serviceSearch, showSearch, onSearch: propsOnSearch, dispatch, }: PartialHSelectProps) => {
7
- run: (requestParams?: any) => Promise<OptionType[] | undefined>;
7
+ export declare const useSelectReq: ({ manual, request, options, serviceSearch, showSearch, onSearch: propsOnSearch, dispatch, isList, }: PartialHSelectProps) => {
8
+ run: (requestParams?: any, type?: any) => Promise<OptionType[] | OptionsPageResultModal | undefined>;
8
9
  loading: boolean;
9
10
  error: Error | undefined;
10
11
  data: OptionType[] | undefined;
11
12
  onSearch: ((value: string) => void) | undefined;
12
13
  mathShowSearch: boolean | undefined;
13
- reload: (reloadParams?: ParamsModal) => void | Promise<OptionType[] | undefined>;
14
+ reload: (reloadParams?: ParamsModal) => void | Promise<OptionType[] | OptionsPageResultModal | undefined>;
15
+ onPopupScroll: ((e: any) => void) | undefined;
14
16
  };
15
17
  export declare const useFilterOption: ({ filterOption, serviceSearch, }: PartialHSelectProps) => boolean | import("rc-select/lib/Select").FilterFunc<import("rc-select/lib/Select").DefaultOptionType> | undefined;
16
18
  export {};
@@ -1,58 +1,123 @@
1
1
  'use strict';
2
2
 
3
+ require('core-js/modules/es.object.keys.js');
4
+ require('core-js/modules/es.symbol.js');
5
+ require('core-js/modules/es.array.filter.js');
6
+ require('core-js/modules/es.object.get-own-property-descriptor.js');
7
+ require('core-js/modules/web.dom-collections.for-each.js');
8
+ require('core-js/modules/es.object.get-own-property-descriptors.js');
9
+ var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
3
10
  var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator');
11
+ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
4
12
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
5
13
  var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
6
14
  require('core-js/modules/es.array.iterator.js');
7
15
  require('core-js/modules/es.object.to-string.js');
8
16
  require('core-js/modules/web.dom-collections.iterator.js');
9
17
  require('core-js/modules/es.promise.js');
18
+ require('core-js/modules/es.array.concat.js');
10
19
  var React = require('react');
11
20
  var ahooks = require('ahooks');
12
21
  var index = require('../../Form/Context/index.js');
13
22
 
14
- var useOptionReq = function useOptionReq(_ref) {
15
- var manual = _ref.manual,
16
- request = _ref.request,
17
- options = _ref.options,
18
- serviceSearch = _ref.serviceSearch,
19
- showSearch = _ref.showSearch,
20
- propsOnSearch = _ref.onSearch,
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ var useSaveParams = function useSaveParams() {
26
+ var saveParams = React.useMemo(function () {
27
+ return {
28
+ listParams: {
29
+ isEnd: false,
30
+ page: 1,
31
+ size: 100,
32
+ reqParams: {}
33
+ }
34
+ };
35
+ }, []);
36
+ var resetSaveParams = function resetSaveParams() {
37
+ saveParams.listParams = {
38
+ isEnd: false,
39
+ page: 1,
40
+ size: 100,
41
+ reqParams: {}
42
+ };
43
+ };
44
+ var nextPage = function nextPage(data) {
45
+ var size = data.size,
46
+ total = data.total,
47
+ page = data.page;
48
+ saveParams.listParams.size = size;
49
+ saveParams.listParams.page = page + 1;
50
+ saveParams.listParams.isEnd = size * page >= total;
51
+ };
52
+ return {
53
+ saveParams: saveParams,
54
+ resetSaveParams: resetSaveParams,
55
+ nextPage: nextPage
56
+ };
57
+ };
58
+ var useOptionsRequest = function useOptionsRequest(_ref) {
59
+ var request = _ref.request,
21
60
  _ref$dispatch = _ref.dispatch,
22
- dispatch = _ref$dispatch === void 0 ? {} : _ref$dispatch;
23
- var dispatchManual = dispatch.manual;
61
+ dispatch = _ref$dispatch === void 0 ? {} : _ref$dispatch,
62
+ manual = _ref.manual,
63
+ options = _ref.options,
64
+ isList = _ref.isList;
65
+ var _useSaveParams = useSaveParams(),
66
+ saveParams = _useSaveParams.saveParams,
67
+ resetSaveParams = _useSaveParams.resetSaveParams,
68
+ nextPage = _useSaveParams.nextPage;
24
69
  var _useFormContext = index.useFormContext(),
25
70
  form = _useFormContext.form;
71
+ var dispatchManual = dispatch.manual;
26
72
  var _useState = React.useState(),
27
73
  _useState2 = _slicedToArray(_useState, 2),
28
74
  data = _useState2[0],
29
75
  setData = _useState2[1];
76
+ var paramsProvider = function paramsProvider(params) {
77
+ if (isList) {
78
+ var page = saveParams.listParams.page;
79
+ var size = saveParams.listParams.size;
80
+ return _objectSpread(_objectSpread({}, params), {}, {
81
+ page: page,
82
+ size: size
83
+ });
84
+ }
85
+ return params;
86
+ };
30
87
  var _useRequest = ahooks.useRequest( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
31
88
  var requestParams,
89
+ type,
32
90
  _requestParams$params,
33
91
  params,
34
92
  values,
35
- _requestParams$type,
36
- type,
37
93
  formData,
38
94
  _args = arguments;
39
95
  return _regeneratorRuntime.wrap(function _callee$(_context) {
40
96
  while (1) switch (_context.prev = _context.next) {
41
97
  case 0:
42
98
  requestParams = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
43
- _requestParams$params = requestParams.params, params = _requestParams$params === void 0 ? {} : _requestParams$params, values = requestParams.values, _requestParams$type = requestParams.type, type = _requestParams$type === void 0 ? "init" : _requestParams$type;
99
+ type = _args.length > 1 && _args[1] !== undefined ? _args[1] : "init";
100
+ _requestParams$params = requestParams.params, params = _requestParams$params === void 0 ? saveParams.listParams.reqParams : _requestParams$params, values = requestParams.values;
44
101
  formData = values || (form === null || form === void 0 ? void 0 : form.getFieldsValue());
45
102
  if (type === "init") {
103
+ resetSaveParams();
46
104
  setData(undefined);
47
105
  }
106
+ saveParams.listParams.reqParams = params;
107
+ if (!(isList && saveParams.listParams.isEnd)) {
108
+ _context.next = 8;
109
+ break;
110
+ }
111
+ return _context.abrupt("return", data);
112
+ case 8:
48
113
  if (!request) {
49
- _context.next = 6;
114
+ _context.next = 10;
50
115
  break;
51
116
  }
52
- return _context.abrupt("return", request(params, formData));
53
- case 6:
117
+ return _context.abrupt("return", request(paramsProvider(params), formData));
118
+ case 10:
54
119
  return _context.abrupt("return", Promise.resolve(options));
55
- case 7:
120
+ case 11:
56
121
  case "end":
57
122
  return _context.stop();
58
123
  }
@@ -61,16 +126,53 @@ var useOptionReq = function useOptionReq(_ref) {
61
126
  manual: dispatchManual === false ? true : manual,
62
127
  debounceInterval: 300,
63
128
  onSuccess: function onSuccess(resultData) {
64
- setData(resultData);
129
+ if (Array.isArray(resultData) || !resultData) {
130
+ return setData(resultData);
131
+ }
132
+ var oldData = data || [];
133
+ var resultOption = resultData.data;
134
+ var op = resultOption || [];
135
+ nextPage(resultData);
136
+ setData([].concat(_toConsumableArray(oldData), _toConsumableArray(op)));
65
137
  }
66
138
  }),
67
139
  run = _useRequest.run,
68
140
  loading = _useRequest.loading,
69
141
  error = _useRequest.error;
142
+ return {
143
+ loading: loading,
144
+ run: run,
145
+ error: error,
146
+ data: data,
147
+ setData: setData
148
+ };
149
+ };
150
+ var useSelectReq = function useSelectReq(_ref3) {
151
+ var manual = _ref3.manual,
152
+ request = _ref3.request,
153
+ options = _ref3.options,
154
+ serviceSearch = _ref3.serviceSearch,
155
+ showSearch = _ref3.showSearch,
156
+ propsOnSearch = _ref3.onSearch,
157
+ _ref3$dispatch = _ref3.dispatch,
158
+ dispatch = _ref3$dispatch === void 0 ? {} : _ref3$dispatch,
159
+ isList = _ref3.isList;
160
+ var _useOptionsRequest = useOptionsRequest({
161
+ request: request,
162
+ dispatch: dispatch,
163
+ manual: manual,
164
+ options: options,
165
+ isList: isList
166
+ }),
167
+ run = _useOptionsRequest.run,
168
+ loading = _useOptionsRequest.loading,
169
+ error = _useOptionsRequest.error,
170
+ data = _useOptionsRequest.data,
171
+ setData = _useOptionsRequest.setData;
70
172
  var reload = function reload(reloadParams) {
71
- var _ref3 = reloadParams || {},
72
- changeOpts = _ref3.options,
73
- params = _ref3.params;
173
+ var _ref4 = reloadParams || {},
174
+ changeOpts = _ref4.options,
175
+ params = _ref4.params;
74
176
  if (changeOpts) {
75
177
  return setData(changeOpts);
76
178
  }
@@ -94,6 +196,13 @@ var useOptionReq = function useOptionReq(_ref) {
94
196
  setData(options);
95
197
  }
96
198
  }, [options]);
199
+ var onPopupScroll = function onPopupScroll(e) {
200
+ var target = e.target;
201
+ var changeTarget = target;
202
+ if (changeTarget.scrollTop + changeTarget.offsetHeight === changeTarget.scrollHeight) {
203
+ run({}, "page");
204
+ }
205
+ };
97
206
  var mathShowSearch = showSearch || serviceSearch;
98
207
  return {
99
208
  run: run,
@@ -102,20 +211,19 @@ var useOptionReq = function useOptionReq(_ref) {
102
211
  data: data,
103
212
  onSearch: mathShowSearch ? onSearch : propsOnSearch,
104
213
  mathShowSearch: showSearch || serviceSearch,
105
- reload: reload
214
+ reload: reload,
215
+ onPopupScroll: isList ? onPopupScroll : undefined
106
216
  };
107
217
  };
108
- var useFilterOption = function useFilterOption(_ref4) {
109
- var filterOption = _ref4.filterOption,
110
- serviceSearch = _ref4.serviceSearch;
218
+ var useFilterOption = function useFilterOption(_ref5) {
219
+ var filterOption = _ref5.filterOption,
220
+ serviceSearch = _ref5.serviceSearch;
111
221
  if (serviceSearch) {
112
- return function () {
113
- return true;
114
- };
222
+ return false;
115
223
  }
116
224
  return filterOption;
117
225
  };
118
226
 
119
227
  exports.useFilterOption = useFilterOption;
120
- exports.useOptionReq = useOptionReq;
228
+ exports.useSelectReq = useSelectReq;
121
229
  // powered by h