tntd 3.1.9 → 3.1.11
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/modal/style/confirm.less +1 -0
- package/es/query-form/index.js +57 -27
- package/es/query-form/index.js.map +1 -1
- package/es/tntd-select/DropDownWrap.js +2 -2
- package/es/tntd-select/DropDownWrap.js.map +1 -1
- package/es/tntd-select/index.js +47 -4
- package/es/tntd-select/index.js.map +1 -1
- package/lib/modal/style/confirm.less +1 -0
- package/lib/query-form/index.d.ts +1 -1
- package/lib/query-form/index.d.ts.map +1 -1
- package/lib/query-form/index.js +57 -27
- package/lib/query-form/index.js.map +1 -1
- package/lib/tntd-select/DropDownWrap.d.ts +1 -1
- package/lib/tntd-select/DropDownWrap.d.ts.map +1 -1
- package/lib/tntd-select/DropDownWrap.js +2 -2
- package/lib/tntd-select/DropDownWrap.js.map +1 -1
- package/lib/tntd-select/index.d.ts.map +1 -1
- package/lib/tntd-select/index.js +47 -4
- package/lib/tntd-select/index.js.map +1 -1
- package/package.json +1 -1
package/es/query-form/index.js
CHANGED
|
@@ -49,9 +49,17 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
49
49
|
var current = _this.fieldsRef.current;
|
|
50
50
|
if (current) {
|
|
51
51
|
setTimeout(function () {
|
|
52
|
-
_this.
|
|
53
|
-
|
|
54
|
-
}
|
|
52
|
+
if (!_this.fieldsRef.current) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// 微前端切回后先刷新高度,再更新 showMore,恢复行间距和展开按钮状态。
|
|
56
|
+
_this.updateFieldHeight();
|
|
57
|
+
var showMore = _this.isFieldsWidthOverflow();
|
|
58
|
+
if (showMore !== _this.state.showMore) {
|
|
59
|
+
_this.setState({
|
|
60
|
+
showMore: showMore
|
|
61
|
+
});
|
|
62
|
+
}
|
|
55
63
|
}, 25);
|
|
56
64
|
}
|
|
57
65
|
}, 50)
|
|
@@ -159,21 +167,23 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
159
167
|
configurable: true,
|
|
160
168
|
writable: true,
|
|
161
169
|
value: function value() {
|
|
170
|
+
var observer;
|
|
162
171
|
if ('ResizeObserver' in window) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return function () {
|
|
168
|
-
return observer.disconnect();
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
} else {
|
|
172
|
-
window.addEventListener('resize', _this.onWindowResize);
|
|
173
|
-
return function () {
|
|
174
|
-
return window.removeEventListener('resize', _this.onWindowResize);
|
|
175
|
-
};
|
|
172
|
+
observer = new ResizeObserver(_this.onWindowResize);
|
|
173
|
+
[_this.formBoxRef.current, _this.fieldsRef.current].forEach(function (item) {
|
|
174
|
+
item && observer.observe(item);
|
|
175
|
+
});
|
|
176
176
|
}
|
|
177
|
+
// 补充微前端/页签切换场景:切回时可能没有 resize,但会有 focus 或 visibilitychange。
|
|
178
|
+
window.addEventListener('resize', _this.onWindowResize);
|
|
179
|
+
window.addEventListener('focus', _this.onWindowResize);
|
|
180
|
+
document.addEventListener('visibilitychange', _this.onWindowResize);
|
|
181
|
+
return function () {
|
|
182
|
+
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
183
|
+
window.removeEventListener('resize', _this.onWindowResize);
|
|
184
|
+
window.removeEventListener('focus', _this.onWindowResize);
|
|
185
|
+
document.removeEventListener('visibilitychange', _this.onWindowResize);
|
|
186
|
+
};
|
|
177
187
|
}
|
|
178
188
|
});
|
|
179
189
|
var form = props.form,
|
|
@@ -302,18 +312,33 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
302
312
|
}, {
|
|
303
313
|
key: "isFieldsWidthOverflow",
|
|
304
314
|
value: function isFieldsWidthOverflow() {
|
|
315
|
+
var _a;
|
|
305
316
|
var current = this.fieldsRef.current;
|
|
306
|
-
if (current) {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
317
|
+
if (current && ((_a = current.children) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
318
|
+
var containerWidth = current.getBoundingClientRect().width;
|
|
319
|
+
var firstField = current.children[0];
|
|
320
|
+
var firstFieldWidth = firstField.getBoundingClientRect().width;
|
|
321
|
+
// 微前端切走时容器可能被隐藏,宽高会读到 0;此时保留上一次结果,避免误隐藏展开按钮。
|
|
322
|
+
if (!containerWidth || !firstFieldWidth) {
|
|
323
|
+
return this.state.showMore;
|
|
324
|
+
}
|
|
325
|
+
// 优先用字段是否真实换行判断,避免仅靠宽度累加在边界场景下误判。
|
|
326
|
+
var firstFieldOffsetTop = firstField.offsetTop;
|
|
327
|
+
var hasWrappedField = [].some.call(current.children, function (item) {
|
|
328
|
+
return item.offsetTop > firstFieldOffsetTop;
|
|
329
|
+
});
|
|
330
|
+
if (hasWrappedField) {
|
|
331
|
+
return true;
|
|
332
|
+
}
|
|
333
|
+
var fieldsWidth = [].reduce.call(current.children, function (acc, cur) {
|
|
334
|
+
var _cur$getBoundingClien = cur.getBoundingClientRect(),
|
|
335
|
+
width = _cur$getBoundingClien.width;
|
|
336
|
+
var style = window.getComputedStyle(cur);
|
|
337
|
+
var marginLeft = parseFloat(style.marginLeft) || 0;
|
|
338
|
+
var marginRight = parseFloat(style.marginRight) || 0;
|
|
339
|
+
return acc + width + marginLeft + marginRight;
|
|
316
340
|
}, 0);
|
|
341
|
+
return containerWidth < fieldsWidth;
|
|
317
342
|
}
|
|
318
343
|
return false;
|
|
319
344
|
}
|
|
@@ -328,7 +353,9 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
328
353
|
var current = fieldsRef.current;
|
|
329
354
|
var height = '32px';
|
|
330
355
|
if (current && ((_a = current.children) === null || _a === void 0 ? void 0 : _a[0])) {
|
|
331
|
-
|
|
356
|
+
var firstFieldHeight = window.getComputedStyle(current.children[0]).height;
|
|
357
|
+
// 隐藏态可能读到 0px,回退默认高度,避免把错误高度写成内联样式。
|
|
358
|
+
height = parseFloat(firstFieldHeight) ? firstFieldHeight : height;
|
|
332
359
|
}
|
|
333
360
|
return height;
|
|
334
361
|
};
|
|
@@ -336,6 +363,9 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
336
363
|
var queryFormExtraDom = (_b = formBoxRef === null || formBoxRef === void 0 ? void 0 : formBoxRef.current) === null || _b === void 0 ? void 0 : _b.querySelector(".".concat(clsPrefix, "-extra"));
|
|
337
364
|
var formItemsDomList = (_c = fieldsRef === null || fieldsRef === void 0 ? void 0 : fieldsRef.current) === null || _c === void 0 ? void 0 : _c.querySelectorAll('.ant-form-item-control');
|
|
338
365
|
var fieldHeight = getFieldHeight();
|
|
366
|
+
if (!fieldsRef.current) {
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
339
369
|
fieldsRef.current.style.height = fieldHeight;
|
|
340
370
|
[queryFormActionsDom, queryFormExtraDom].forEach(function (item) {
|
|
341
371
|
item && Object.assign(item.style, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query-form/index.js"],"names":[],"mappings":"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","sourcesContent":["import classnames from 'classnames'\nimport { debounce } from 'lodash'\nimport React, { createRef } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport createActions from './createActions'\nimport Field from './Field'\nimport useForm from './useForm'\n\nimport Badge from '../badge'\nimport Button from '../button'\nimport Drawer from '../drawer'\nimport Form from '../form'\nimport Icon from '../tntd-icon'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\nconst clsPrefix = 'tnt-queryform'\n\nclass QueryForm extends React.PureComponent {\n constructor(props) {\n super(props)\n const { form, initialValues, showExpand = true, renderActions, defaultExpanded } = props\n this.state = {\n showMore: false,\n expanded: defaultExpanded || !showExpand || renderActions ? true : false,\n drawerVisible: false,\n drawerFieldsValueCount: 0,\n }\n this.fieldsRef = createRef()\n this.formBoxRef = createRef()\n\n this.form = form || createActions()\n this.form.setData('initialValues', initialValues)\n this.form.setData('values', { ...initialValues })\n }\n\n render() {\n const {\n children,\n className = '',\n initialValues = {},\n renderActions,\n showSearch = true,\n showReset = true,\n showFieldCount,\n drawerProps = {},\n size,\n } = this.props\n const extraActions = this.props.extraActions\n const { expanded, showMore, drawerVisible, drawerFieldsValueCount } = this.state\n const renderFormActions =\n renderActions ||\n ((locale) => (\n <>\n {showFieldCount && (\n <Badge count={drawerFieldsValueCount}>\n <Button onClick={this.onShowDrawer}>\n <Icon type=\"filter\" />\n {locale.moreFiltering}\n </Button>\n </Badge>\n )}\n {showSearch && (\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n )}\n {showReset && <Button onClick={this.onReset}>{locale.reset}</Button>}\n {showMore && !showFieldCount && (\n <Button className=\"expand-link\" type=\"link\" onClick={this.onToggleExpand}>\n {locale[expanded ? 'collapse' : 'expand']}\n </Button>\n )}\n {React.Children.map(\n children,\n (child) => child && child?.props?.align === 'right' && React.cloneElement(child)\n )}\n </>\n ))\n\n return (\n <LocaleReceiver componentName=\"QueryForm\" defaultLocale={en_US.QueryForm}>\n {(locale) => {\n return (\n <div ref={this.formBoxRef} className={classnames(clsPrefix, { [className]: className })}>\n <Form layout=\"inline\" className={classnames({ expanded: !showMore || expanded, showMore })}>\n <div ref={this.fieldsRef}>\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n child?.props?.align !== 'right' &&\n (!showFieldCount || showFieldCount > index) &&\n React.cloneElement(child, {\n form: this.form,\n initialValue: initialValues?.[child.props?.name],\n onChange: this.onFieldChange,\n })\n )}\n </div>\n <div className={`${clsPrefix}-actions`}>{renderFormActions(locale)}</div>\n {showFieldCount && (\n <Drawer\n title={locale.moreFiltering}\n visible={drawerVisible}\n onClose={() => this.setState({ drawerVisible: false })}\n width={300}\n size={size}\n getContainer={false}\n {...drawerProps}\n className={classnames(`${clsPrefix}-drawer`, {\n 'large-size': size === 'large',\n [className]: className,\n })}\n >\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n index >= showFieldCount &&\n React.cloneElement(child, {\n form: this.form,\n isFieldInDrawer: true,\n initialValue: initialValues?.[child.props.name],\n onChange: this.onFieldChange,\n onSearch: this.onSearch,\n })\n )}\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n <Button onClick={this.onReset}>{locale.reset}</Button>\n </Drawer>\n )}\n </Form>\n {extraActions && <div className={`${clsPrefix}-extra`}>{extraActions}</div>}\n </div>\n )\n }}\n </LocaleReceiver> \n )\n }\n\n isFieldsWidthOverflow() {\n const { current } = this.fieldsRef\n\n if (current) {\n return (\n parseFloat(window.getComputedStyle(current).width, 10) <\n [].reduce.call(\n current.children,\n (acc, cur) => {\n const { margin, width } = window.getComputedStyle(cur)\n const marginArray = margin.split(' ').map((str) => parseFloat(str, 10))\n acc += parseFloat(width, 10) + marginArray[1]\n return acc\n },\n 0\n )\n )\n }\n\n return false\n }\n\n updateFieldHeight() {\n const { formBoxRef, fieldsRef } = this\n const getFieldHeight = () => {\n const { current } = fieldsRef\n let height = '32px'\n\n if (current && current.children?.[0]) {\n height = window.getComputedStyle(current.children[0]).height\n }\n\n return height\n }\n const queryFormActionsDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-actions`)\n const queryFormExtraDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-extra`)\n const formItemsDomList = fieldsRef?.current?.querySelectorAll('.ant-form-item-control')\n const fieldHeight = getFieldHeight()\n\n fieldsRef.current.style.height = fieldHeight\n ;[queryFormActionsDom, queryFormExtraDom].forEach((item) => {\n item &&\n Object.assign(item.style, {\n height: fieldHeight,\n lineHeight: fieldHeight,\n })\n })\n ;[].forEach.call(formItemsDomList, (item) => {\n item.style.lineHeight = fieldHeight\n })\n }\n\n onWindowResize = debounce(() => {\n const { current } = this.fieldsRef\n\n if (current) {\n setTimeout(() => {\n this.setState({\n showMore: this.isFieldsWidthOverflow(),\n })\n }, 25)\n }\n }, 50)\n\n search = (params) => {\n this.props.onSearch({\n ...this.form.getValues(),\n ...params,\n })\n }\n\n onSearch = () => {\n this.props.onSearch?.(this.form.getValues())\n }\n\n onReset = () => {\n const { initialValues, onReset } = this.props\n\n this.form.setValues({ ...initialValues })\n this.updateDrawerFieldsValueCount()\n onReset?.(initialValues)\n }\n\n onToggleExpand = () => {\n this.setState({\n expanded: !this.state.expanded,\n })\n this.props.onToggleExpand?.(!this.state.expanded)\n }\n\n onShowDrawer = () => {\n this.setState({ drawerVisible: true })\n }\n\n onFieldChange = (name, value, ...rest) => {\n const values = this.form.getValues()\n const newValues = {\n ...values,\n [name]: value,\n }\n const changedInfo = { name, value, preValue: values?.[name] }\n const { onChange } = this.props\n\n this.form.setData('values', newValues)\n\n onChange && onChange(newValues, changedInfo, ...rest)\n this.updateDrawerFieldsValueCount(newValues)\n }\n\n updateDrawerFieldsValueCount = () => {\n const values = this.form.getValues()\n const { showFieldCount, children } = this.props\n\n if (showFieldCount) {\n const drawerFieldsValueCount = children.reduce((acc, cur, index) => {\n if (index >= showFieldCount && values?.[cur?.props?.name]) {\n acc++\n }\n return acc\n }, 0)\n\n if (drawerFieldsValueCount !== this.state.drawerFieldsValueCount) {\n this.setState({\n drawerFieldsValueCount,\n })\n }\n }\n }\n\n addResizeListener = () => {\n if ('ResizeObserver' in window) {\n const { current } = this.fieldsRef;\n if (current) {\n const observer = new ResizeObserver(this.onWindowResize);\n\n observer.observe(current)\n\n return () => observer.disconnect()\n }\n } else {\n window.addEventListener('resize', this.onWindowResize)\n return () => window.removeEventListener('resize', this.onWindowResize)\n }\n }\n\n componentDidMount() {\n const { current } = this.fieldsRef\n const { showFieldCount, showExpand = true } = this.props\n\n this.updateFieldHeight()\n\n this.form.on('search', this.search)\n\n // 未设置第一行显示数量且禁止了展开操作 或 自定义了操作区域,则不需要处理展开计算逻辑\n // || renderActions\n if (!showFieldCount && !showExpand) {\n return\n }\n\n if (!showFieldCount) {\n if (current && this.isFieldsWidthOverflow()) {\n this.setState({\n showMore: true,\n })\n }\n\n this.removeResizeListener = this.addResizeListener()\n } else {\n this.updateDrawerFieldsValueCount()\n this.form.on('setValues', this.updateDrawerFieldsValueCount)\n this.form.on('setValue', this.updateDrawerFieldsValueCount)\n }\n }\n\n componentWillUnmount() {\n this.removeResizeListener?.()\n this.form.off('setValues', this.updateDrawerFieldsValueCount)\n this.form.off('setValue', this.updateDrawerFieldsValueCount)\n this.form.off('search', this.search)\n }\n}\n\nQueryForm.Field = Field\nQueryForm.useForm = useForm\nQueryForm.createForm = createActions\n\nexport default QueryForm\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query-form/index.js"],"names":[],"mappings":"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","sourcesContent":["import classnames from 'classnames'\nimport { debounce } from 'lodash'\nimport React, { createRef } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport createActions from './createActions'\nimport Field from './Field'\nimport useForm from './useForm'\n\nimport Badge from '../badge'\nimport Button from '../button'\nimport Drawer from '../drawer'\nimport Form from '../form'\nimport Icon from '../tntd-icon'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\nconst clsPrefix = 'tnt-queryform'\n\nclass QueryForm extends React.PureComponent {\n constructor(props) {\n super(props)\n const { form, initialValues, showExpand = true, renderActions, defaultExpanded } = props\n this.state = {\n showMore: false,\n expanded: defaultExpanded || !showExpand || renderActions ? true : false,\n drawerVisible: false,\n drawerFieldsValueCount: 0,\n }\n this.fieldsRef = createRef()\n this.formBoxRef = createRef()\n\n this.form = form || createActions()\n this.form.setData('initialValues', initialValues)\n this.form.setData('values', { ...initialValues })\n }\n\n render() {\n const {\n children,\n className = '',\n initialValues = {},\n renderActions,\n showSearch = true,\n showReset = true,\n showFieldCount,\n drawerProps = {},\n size,\n } = this.props\n const extraActions = this.props.extraActions\n const { expanded, showMore, drawerVisible, drawerFieldsValueCount } = this.state\n const renderFormActions =\n renderActions ||\n ((locale) => (\n <>\n {showFieldCount && (\n <Badge count={drawerFieldsValueCount}>\n <Button onClick={this.onShowDrawer}>\n <Icon type=\"filter\" />\n {locale.moreFiltering}\n </Button>\n </Badge>\n )}\n {showSearch && (\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n )}\n {showReset && <Button onClick={this.onReset}>{locale.reset}</Button>}\n {showMore && !showFieldCount && (\n <Button className=\"expand-link\" type=\"link\" onClick={this.onToggleExpand}>\n {locale[expanded ? 'collapse' : 'expand']}\n </Button>\n )}\n {React.Children.map(\n children,\n (child) => child && child?.props?.align === 'right' && React.cloneElement(child)\n )}\n </>\n ))\n\n return (\n <LocaleReceiver componentName=\"QueryForm\" defaultLocale={en_US.QueryForm}>\n {(locale) => {\n return (\n <div ref={this.formBoxRef} className={classnames(clsPrefix, { [className]: className })}>\n <Form layout=\"inline\" className={classnames({ expanded: !showMore || expanded, showMore })}>\n <div ref={this.fieldsRef}>\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n child?.props?.align !== 'right' &&\n (!showFieldCount || showFieldCount > index) &&\n React.cloneElement(child, {\n form: this.form,\n initialValue: initialValues?.[child.props?.name],\n onChange: this.onFieldChange,\n })\n )}\n </div>\n <div className={`${clsPrefix}-actions`}>{renderFormActions(locale)}</div>\n {showFieldCount && (\n <Drawer\n title={locale.moreFiltering}\n visible={drawerVisible}\n onClose={() => this.setState({ drawerVisible: false })}\n width={300}\n size={size}\n getContainer={false}\n {...drawerProps}\n className={classnames(`${clsPrefix}-drawer`, {\n 'large-size': size === 'large',\n [className]: className,\n })}\n >\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n index >= showFieldCount &&\n React.cloneElement(child, {\n form: this.form,\n isFieldInDrawer: true,\n initialValue: initialValues?.[child.props.name],\n onChange: this.onFieldChange,\n onSearch: this.onSearch,\n })\n )}\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n <Button onClick={this.onReset}>{locale.reset}</Button>\n </Drawer>\n )}\n </Form>\n {extraActions && <div className={`${clsPrefix}-extra`}>{extraActions}</div>}\n </div>\n )\n }}\n </LocaleReceiver> \n )\n }\n\n isFieldsWidthOverflow() {\n const { current } = this.fieldsRef\n\n if (current && current.children?.length) {\n const containerWidth = current.getBoundingClientRect().width\n const firstField = current.children[0]\n const firstFieldWidth = firstField.getBoundingClientRect().width\n\n // 微前端切走时容器可能被隐藏,宽高会读到 0;此时保留上一次结果,避免误隐藏展开按钮。\n if (!containerWidth || !firstFieldWidth) {\n return this.state.showMore\n }\n\n // 优先用字段是否真实换行判断,避免仅靠宽度累加在边界场景下误判。\n const firstFieldOffsetTop = firstField.offsetTop\n const hasWrappedField = [].some.call(\n current.children,\n (item) => item.offsetTop > firstFieldOffsetTop\n )\n\n if (hasWrappedField) {\n return true\n }\n\n const fieldsWidth = [].reduce.call(\n current.children,\n (acc, cur) => {\n const { width } = cur.getBoundingClientRect()\n const style = window.getComputedStyle(cur)\n const marginLeft = parseFloat(style.marginLeft) || 0\n const marginRight = parseFloat(style.marginRight) || 0\n\n return acc + width + marginLeft + marginRight\n },\n 0\n )\n\n return containerWidth < fieldsWidth\n }\n\n return false\n }\n\n updateFieldHeight() {\n const { formBoxRef, fieldsRef } = this\n const getFieldHeight = () => {\n const { current } = fieldsRef\n let height = '32px'\n\n if (current && current.children?.[0]) {\n const firstFieldHeight = window.getComputedStyle(current.children[0]).height\n // 隐藏态可能读到 0px,回退默认高度,避免把错误高度写成内联样式。\n height = parseFloat(firstFieldHeight) ? firstFieldHeight : height\n }\n\n return height\n }\n const queryFormActionsDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-actions`)\n const queryFormExtraDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-extra`)\n const formItemsDomList = fieldsRef?.current?.querySelectorAll('.ant-form-item-control')\n const fieldHeight = getFieldHeight()\n\n if (!fieldsRef.current) {\n return\n }\n\n fieldsRef.current.style.height = fieldHeight\n ;[queryFormActionsDom, queryFormExtraDom].forEach((item) => {\n item &&\n Object.assign(item.style, {\n height: fieldHeight,\n lineHeight: fieldHeight,\n })\n })\n ;[].forEach.call(formItemsDomList, (item) => {\n item.style.lineHeight = fieldHeight\n })\n }\n\n onWindowResize = debounce(() => {\n const { current } = this.fieldsRef\n\n if (current) {\n setTimeout(() => {\n if (!this.fieldsRef.current) {\n return\n }\n\n // 微前端切回后先刷新高度,再更新 showMore,恢复行间距和展开按钮状态。\n this.updateFieldHeight()\n const showMore = this.isFieldsWidthOverflow()\n\n if (showMore !== this.state.showMore) {\n this.setState({\n showMore,\n })\n }\n }, 25)\n }\n }, 50)\n\n search = (params) => {\n this.props.onSearch({\n ...this.form.getValues(),\n ...params,\n })\n }\n\n onSearch = () => {\n this.props.onSearch?.(this.form.getValues())\n }\n\n onReset = () => {\n const { initialValues, onReset } = this.props\n\n this.form.setValues({ ...initialValues })\n this.updateDrawerFieldsValueCount()\n onReset?.(initialValues)\n }\n\n onToggleExpand = () => {\n this.setState({\n expanded: !this.state.expanded,\n })\n this.props.onToggleExpand?.(!this.state.expanded)\n }\n\n onShowDrawer = () => {\n this.setState({ drawerVisible: true })\n }\n\n onFieldChange = (name, value, ...rest) => {\n const values = this.form.getValues()\n const newValues = {\n ...values,\n [name]: value,\n }\n const changedInfo = { name, value, preValue: values?.[name] }\n const { onChange } = this.props\n\n this.form.setData('values', newValues)\n\n onChange && onChange(newValues, changedInfo, ...rest)\n this.updateDrawerFieldsValueCount(newValues)\n }\n\n updateDrawerFieldsValueCount = () => {\n const values = this.form.getValues()\n const { showFieldCount, children } = this.props\n\n if (showFieldCount) {\n const drawerFieldsValueCount = children.reduce((acc, cur, index) => {\n if (index >= showFieldCount && values?.[cur?.props?.name]) {\n acc++\n }\n return acc\n }, 0)\n\n if (drawerFieldsValueCount !== this.state.drawerFieldsValueCount) {\n this.setState({\n drawerFieldsValueCount,\n })\n }\n }\n }\n\n addResizeListener = () => {\n let observer\n\n if ('ResizeObserver' in window) {\n observer = new ResizeObserver(this.onWindowResize)\n // 同时监听外层和字段区,应用容器重新显示时也能触发布局重算。\n ;[this.formBoxRef.current, this.fieldsRef.current].forEach((item) => {\n item && observer.observe(item)\n })\n }\n\n // 补充微前端/页签切换场景:切回时可能没有 resize,但会有 focus 或 visibilitychange。\n window.addEventListener('resize', this.onWindowResize)\n window.addEventListener('focus', this.onWindowResize)\n document.addEventListener('visibilitychange', this.onWindowResize)\n\n return () => {\n observer?.disconnect()\n window.removeEventListener('resize', this.onWindowResize)\n window.removeEventListener('focus', this.onWindowResize)\n document.removeEventListener('visibilitychange', this.onWindowResize)\n }\n }\n\n componentDidMount() {\n const { current } = this.fieldsRef\n const { showFieldCount, showExpand = true } = this.props\n\n this.updateFieldHeight()\n\n this.form.on('search', this.search)\n\n // 未设置第一行显示数量且禁止了展开操作 或 自定义了操作区域,则不需要处理展开计算逻辑\n // || renderActions\n if (!showFieldCount && !showExpand) {\n return\n }\n\n if (!showFieldCount) {\n if (current && this.isFieldsWidthOverflow()) {\n this.setState({\n showMore: true,\n })\n }\n\n this.removeResizeListener = this.addResizeListener()\n } else {\n this.updateDrawerFieldsValueCount()\n this.form.on('setValues', this.updateDrawerFieldsValueCount)\n this.form.on('setValue', this.updateDrawerFieldsValueCount)\n }\n }\n\n componentWillUnmount() {\n this.removeResizeListener?.()\n this.form.off('setValues', this.updateDrawerFieldsValueCount)\n this.form.off('setValue', this.updateDrawerFieldsValueCount)\n this.form.off('search', this.search)\n }\n}\n\nQueryForm.Field = Field\nQueryForm.useForm = useForm\nQueryForm.createForm = createActions\n\nexport default QueryForm\n"]}
|
|
@@ -43,12 +43,12 @@ var DropDownWrap = exports["default"] = /*#__PURE__*/function (_PureComponent) {
|
|
|
43
43
|
enumerable: true,
|
|
44
44
|
configurable: true,
|
|
45
45
|
writable: true,
|
|
46
|
-
value: function value(allHeight, startIndex, endIndex) {
|
|
46
|
+
value: function value(allHeight, startIndex, endIndex, callback) {
|
|
47
47
|
return _this.setState({
|
|
48
48
|
allHeight: allHeight,
|
|
49
49
|
startIndex: startIndex,
|
|
50
50
|
endIndex: endIndex
|
|
51
|
-
});
|
|
51
|
+
}, callback);
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
var allHeight = props.allHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropDownWrap.js","sourceRoot":"","sources":["../../src/tntd-select/DropDownWrap.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE5C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa;IACrD,YAAY,KAAK;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAgBd;;;;mBAAe,CAAC,CAAC,EAAE,EAAE;gBACnB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"DropDownWrap.js","sourceRoot":"","sources":["../../src/tntd-select/DropDownWrap.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE5C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa;IACrD,YAAY,KAAK;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAgBd;;;;mBAAe,CAAC,CAAC,EAAE,EAAE;gBACnB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAEjC,OAAO;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,UAAU,GAAG,CAAC;oBACnB,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,MAAM;iBACd,CAAA;YACH,CAAC;WAAA;QAED;;;;mBAAY,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;WAAA;QA3B5D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAEjD,IAAI,CAAC,KAAK,GAAG;YACX,SAAS;YACT,UAAU;YACV,QAAQ;SACT,CAAA;IACH,CAAC;IAED,kBAAkB,CAAC,SAAS;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;YAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;SACnD;IACH,CAAC;IAgBD,MAAM;QACJ,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAEtD,yBAAyB;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC1E,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;gBAE1C,kBAAkB;gBAClB,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;oBAC5B,OAAO,KAAK,CAAC,MAAM,CAAA;iBACpB;gBACD,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;oBAC9B,KAAK,kCAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAK,KAAK,CAAE;iBACzC,CAAC,CAAA;YACJ,CAAC,CAAC;YACF,iBAAiB,kCACZ,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAC/B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACnB;SACF,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC;CACF","sourcesContent":["import React, { PureComponent } from 'react'\n\nexport default class DropDownWrap extends PureComponent {\n constructor(props) {\n super(props)\n const { allHeight, startIndex, endIndex } = props\n\n this.state = {\n allHeight,\n startIndex,\n endIndex,\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.allHeight !== prevProps.allHeight) {\n this.setState({ allHeight: this.props.allHeight })\n }\n }\n\n getItemStyle = (i) => {\n const { itemHeight } = this.props\n\n return {\n position: 'absolute',\n top: itemHeight * i,\n height: itemHeight,\n width: '100%',\n }\n }\n\n reactList = (allHeight, startIndex, endIndex, callback) =>\n this.setState({ allHeight, startIndex, endIndex }, callback)\n\n render() {\n const { menu } = this.props\n const { startIndex, endIndex, allHeight } = this.state\n\n // 截取 Select 下拉列表中需要显示的部分\n const cloneMenu = React.cloneElement(menu, {\n menuItems: menu.props.menuItems.slice(startIndex, endIndex).map((item, i) => {\n const realIndex = (startIndex || 0) + Number(i)\n const style = this.getItemStyle(realIndex)\n\n // 未搜到数据提示高度使用默认高度\n if (item.key === 'NOT_FOUND') {\n delete style.height\n }\n return React.cloneElement(item, {\n style: { ...item.props.style, ...style },\n })\n }),\n dropdownMenuStyle: {\n ...menu.props.dropdownMenuStyle,\n height: allHeight,\n maxHeight: allHeight,\n overflow: 'hidden',\n },\n })\n\n return cloneMenu\n }\n}\n"]}
|
package/es/tntd-select/index.js
CHANGED
|
@@ -119,7 +119,17 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
|
-
|
|
122
|
+
Object.defineProperty(_this, "getDropMaxHeight", {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
configurable: true,
|
|
125
|
+
writable: true,
|
|
126
|
+
value: function value() {
|
|
127
|
+
var list = _this.getUseChildrenList();
|
|
128
|
+
var contentHeight = list.length * _this.ITEM_HEIGHT;
|
|
129
|
+
// 当列表项很少时,使用实际内容高度;否则使用预设的最大高度
|
|
130
|
+
return Math.min(contentHeight || DROPDOWN_HEIGHT, DROPDOWN_HEIGHT);
|
|
131
|
+
}
|
|
132
|
+
});
|
|
123
133
|
Object.defineProperty(_this, "getTextPixelWith", {
|
|
124
134
|
enumerable: true,
|
|
125
135
|
configurable: true,
|
|
@@ -208,6 +218,31 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
208
218
|
}, 100);
|
|
209
219
|
}
|
|
210
220
|
});
|
|
221
|
+
Object.defineProperty(_this, "forcePopupAlign", {
|
|
222
|
+
enumerable: true,
|
|
223
|
+
configurable: true,
|
|
224
|
+
writable: true,
|
|
225
|
+
value: function value() {
|
|
226
|
+
var rcSelect = _this.select && _this.select.rcSelect;
|
|
227
|
+
if (rcSelect && typeof rcSelect.forcePopupAlign === 'function') {
|
|
228
|
+
rcSelect.forcePopupAlign();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
Object.defineProperty(_this, "schedulePopupAlign", {
|
|
233
|
+
enumerable: true,
|
|
234
|
+
configurable: true,
|
|
235
|
+
writable: true,
|
|
236
|
+
value: function value() {
|
|
237
|
+
clearTimeout(_this.alignTimer);
|
|
238
|
+
_this.alignTimer = setTimeout(function () {
|
|
239
|
+
_this.forcePopupAlign();
|
|
240
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
241
|
+
requestAnimationFrame(_this.forcePopupAlign);
|
|
242
|
+
}
|
|
243
|
+
}, 0);
|
|
244
|
+
}
|
|
245
|
+
});
|
|
211
246
|
Object.defineProperty(_this, "onScroll", {
|
|
212
247
|
enumerable: true,
|
|
213
248
|
configurable: true,
|
|
@@ -277,7 +312,8 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
277
312
|
_this.allList = _this.getUseChildrenList();
|
|
278
313
|
if (!_this.eventTimer || !_this.scrollEle) {
|
|
279
314
|
_this.eventTimer = setTimeout(function () {
|
|
280
|
-
|
|
315
|
+
_this.addEvent();
|
|
316
|
+
_this.schedulePopupAlign();
|
|
281
317
|
}, 0);
|
|
282
318
|
} else {
|
|
283
319
|
var allHeight = _this.allList.length * _this.ITEM_HEIGHT || 100;
|
|
@@ -286,7 +322,11 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
286
322
|
startIndex = _this$getStartAndEndI2.startIndex,
|
|
287
323
|
endIndex = _this$getStartAndEndI2.endIndex;
|
|
288
324
|
setTimeout(function () {
|
|
289
|
-
|
|
325
|
+
if (_this.wrap) {
|
|
326
|
+
_this.wrap.reactList(allHeight, startIndex, endIndex, _this.schedulePopupAlign);
|
|
327
|
+
} else {
|
|
328
|
+
_this.schedulePopupAlign();
|
|
329
|
+
}
|
|
290
330
|
}, 0);
|
|
291
331
|
}
|
|
292
332
|
}
|
|
@@ -571,6 +611,8 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
571
611
|
}, {
|
|
572
612
|
key: "componentWillUnmount",
|
|
573
613
|
value: function componentWillUnmount() {
|
|
614
|
+
clearTimeout(this.eventTimer);
|
|
615
|
+
clearTimeout(this.alignTimer);
|
|
574
616
|
this.removeEvent();
|
|
575
617
|
}
|
|
576
618
|
}, {
|
|
@@ -597,8 +639,9 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
597
639
|
if (this.allList.length === 0 || maxWidth < selectWidth) {
|
|
598
640
|
dynamicWidth = selectWidth;
|
|
599
641
|
}
|
|
642
|
+
var dropMaxHeight = this.getDropMaxHeight();
|
|
600
643
|
dropdownStyle = Object.assign(Object.assign({
|
|
601
|
-
maxHeight: "".concat(
|
|
644
|
+
maxHeight: "".concat(dropMaxHeight, "px")
|
|
602
645
|
}, dropdownStyle), {
|
|
603
646
|
overflow: 'auto',
|
|
604
647
|
position: 'relative',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport { ConfigConsumer } from '../config-provider'\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if (selectDom) {\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDropDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDropDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDropDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder, capitalize, renderEmpty, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <LocaleReceiver componentName=\"TntdSelect\" defaultLocale={en_US.TntdSelect}>\n {(locale, localeCode) => {\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder || locale.select, capitalize, localeCode)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n {renderEmpty ? renderEmpty('Select') : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }}\n </LocaleReceiver> \n )\n }\n}\n\nfunction TntdSelect(props) {\n return (<ConfigConsumer>\n {({ renderEmpty }) => {\n return <SuperSelect {...props} renderEmpty={renderEmpty} />\n }}\n </ConfigConsumer>)\n }\n\n TntdSelect.Option = Option\n\n export default TntdSelect\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport { ConfigConsumer } from '../config-provider'\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if (selectDom) {\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n getDropMaxHeight = () => {\n const list = this.getUseChildrenList()\n const contentHeight = list.length * this.ITEM_HEIGHT\n // 当列表项很少时,使用实际内容高度;否则使用预设的最大高度\n return Math.min(contentHeight || DROPDOWN_HEIGHT, DROPDOWN_HEIGHT)\n }\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDropDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.eventTimer)\n clearTimeout(this.alignTimer)\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n forcePopupAlign = () => {\n const rcSelect = this.select && this.select.rcSelect\n\n if (rcSelect && typeof rcSelect.forcePopupAlign === 'function') {\n rcSelect.forcePopupAlign()\n }\n }\n\n schedulePopupAlign = () => {\n clearTimeout(this.alignTimer)\n this.alignTimer = setTimeout(() => {\n this.forcePopupAlign()\n\n if (typeof requestAnimationFrame === 'function') {\n requestAnimationFrame(this.forcePopupAlign)\n }\n }, 0)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDropDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => {\n this.addEvent()\n this.schedulePopupAlign()\n }, 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n if (this.wrap) {\n this.wrap.reactList(allHeight, startIndex, endIndex, this.schedulePopupAlign)\n } else {\n this.schedulePopupAlign()\n }\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDropDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder, capitalize, renderEmpty, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n const dropMaxHeight = this.getDropMaxHeight()\n\n dropdownStyle = {\n maxHeight: `${dropMaxHeight}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <LocaleReceiver componentName=\"TntdSelect\" defaultLocale={en_US.TntdSelect}>\n {(locale, localeCode) => {\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder || locale.select, capitalize, localeCode)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n {renderEmpty ? renderEmpty('Select') : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }}\n </LocaleReceiver> \n )\n }\n}\n\nfunction TntdSelect(props) {\n return (<ConfigConsumer>\n {({ renderEmpty }) => {\n return <SuperSelect {...props} renderEmpty={renderEmpty} />\n }}\n </ConfigConsumer>)\n }\n\n TntdSelect.Option = Option\n\n export default TntdSelect\n"]}
|
|
@@ -21,7 +21,7 @@ declare class QueryForm extends React.PureComponent<any, any, any> {
|
|
|
21
21
|
onShowDrawer: () => void;
|
|
22
22
|
onFieldChange: (name: any, value: any, ...rest: any[]) => void;
|
|
23
23
|
updateDrawerFieldsValueCount: () => void;
|
|
24
|
-
addResizeListener: () => (
|
|
24
|
+
addResizeListener: () => () => void;
|
|
25
25
|
componentDidMount(): void;
|
|
26
26
|
removeResizeListener: (() => void) | undefined;
|
|
27
27
|
componentWillUnmount(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query-form/index.js"],"names":[],"mappings":";AAkBA;IACE,wBAeC;IAZC;;;;;MAKC;IACD,gCAA4B;IAC5B,iCAA6B;IAE7B,UAAmC;IAKrC,4BAyGC;IAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query-form/index.js"],"names":[],"mappings":";AAkBA;IACE,wBAeC;IAZC;;;;;MAKC;IACD,gCAA4B;IAC5B,iCAA6B;IAE7B,UAAmC;IAKrC,4BAyGC;IAED,iCAyCC;IAED,0BAkCC;IAED,2DAoBM;IAEN,8BAKC;IAED,qBAEC;IAED,oBAMC;IAED,2BAKC;IAED,yBAEC;IAED,+DAaC;IAED,yCAkBC;IAED,oCAsBC;IAED,0BA2BC;IANG,+CAAoD;IAQxD,6BAKC;CACF"}
|
package/lib/query-form/index.js
CHANGED
|
@@ -149,9 +149,17 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
149
149
|
var current = _this.fieldsRef.current;
|
|
150
150
|
if (current) {
|
|
151
151
|
setTimeout(function () {
|
|
152
|
-
_this.
|
|
153
|
-
|
|
154
|
-
}
|
|
152
|
+
if (!_this.fieldsRef.current) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// 微前端切回后先刷新高度,再更新 showMore,恢复行间距和展开按钮状态。
|
|
156
|
+
_this.updateFieldHeight();
|
|
157
|
+
var showMore = _this.isFieldsWidthOverflow();
|
|
158
|
+
if (showMore !== _this.state.showMore) {
|
|
159
|
+
_this.setState({
|
|
160
|
+
showMore: showMore
|
|
161
|
+
});
|
|
162
|
+
}
|
|
155
163
|
}, 25);
|
|
156
164
|
}
|
|
157
165
|
}, 50)
|
|
@@ -259,21 +267,23 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
259
267
|
configurable: true,
|
|
260
268
|
writable: true,
|
|
261
269
|
value: function value() {
|
|
270
|
+
var observer;
|
|
262
271
|
if ('ResizeObserver' in window) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
return function () {
|
|
268
|
-
return observer.disconnect();
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
} else {
|
|
272
|
-
window.addEventListener('resize', _this.onWindowResize);
|
|
273
|
-
return function () {
|
|
274
|
-
return window.removeEventListener('resize', _this.onWindowResize);
|
|
275
|
-
};
|
|
272
|
+
observer = new ResizeObserver(_this.onWindowResize);
|
|
273
|
+
[_this.formBoxRef.current, _this.fieldsRef.current].forEach(function (item) {
|
|
274
|
+
item && observer.observe(item);
|
|
275
|
+
});
|
|
276
276
|
}
|
|
277
|
+
// 补充微前端/页签切换场景:切回时可能没有 resize,但会有 focus 或 visibilitychange。
|
|
278
|
+
window.addEventListener('resize', _this.onWindowResize);
|
|
279
|
+
window.addEventListener('focus', _this.onWindowResize);
|
|
280
|
+
document.addEventListener('visibilitychange', _this.onWindowResize);
|
|
281
|
+
return function () {
|
|
282
|
+
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
283
|
+
window.removeEventListener('resize', _this.onWindowResize);
|
|
284
|
+
window.removeEventListener('focus', _this.onWindowResize);
|
|
285
|
+
document.removeEventListener('visibilitychange', _this.onWindowResize);
|
|
286
|
+
};
|
|
277
287
|
}
|
|
278
288
|
});
|
|
279
289
|
var form = props.form,
|
|
@@ -402,18 +412,33 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
402
412
|
}, {
|
|
403
413
|
key: "isFieldsWidthOverflow",
|
|
404
414
|
value: function isFieldsWidthOverflow() {
|
|
415
|
+
var _a;
|
|
405
416
|
var current = this.fieldsRef.current;
|
|
406
|
-
if (current) {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
417
|
+
if (current && ((_a = current.children) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
418
|
+
var containerWidth = current.getBoundingClientRect().width;
|
|
419
|
+
var firstField = current.children[0];
|
|
420
|
+
var firstFieldWidth = firstField.getBoundingClientRect().width;
|
|
421
|
+
// 微前端切走时容器可能被隐藏,宽高会读到 0;此时保留上一次结果,避免误隐藏展开按钮。
|
|
422
|
+
if (!containerWidth || !firstFieldWidth) {
|
|
423
|
+
return this.state.showMore;
|
|
424
|
+
}
|
|
425
|
+
// 优先用字段是否真实换行判断,避免仅靠宽度累加在边界场景下误判。
|
|
426
|
+
var firstFieldOffsetTop = firstField.offsetTop;
|
|
427
|
+
var hasWrappedField = [].some.call(current.children, function (item) {
|
|
428
|
+
return item.offsetTop > firstFieldOffsetTop;
|
|
429
|
+
});
|
|
430
|
+
if (hasWrappedField) {
|
|
431
|
+
return true;
|
|
432
|
+
}
|
|
433
|
+
var fieldsWidth = [].reduce.call(current.children, function (acc, cur) {
|
|
434
|
+
var _cur$getBoundingClien = cur.getBoundingClientRect(),
|
|
435
|
+
width = _cur$getBoundingClien.width;
|
|
436
|
+
var style = window.getComputedStyle(cur);
|
|
437
|
+
var marginLeft = parseFloat(style.marginLeft) || 0;
|
|
438
|
+
var marginRight = parseFloat(style.marginRight) || 0;
|
|
439
|
+
return acc + width + marginLeft + marginRight;
|
|
416
440
|
}, 0);
|
|
441
|
+
return containerWidth < fieldsWidth;
|
|
417
442
|
}
|
|
418
443
|
return false;
|
|
419
444
|
}
|
|
@@ -428,7 +453,9 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
428
453
|
var current = fieldsRef.current;
|
|
429
454
|
var height = '32px';
|
|
430
455
|
if (current && ((_a = current.children) === null || _a === void 0 ? void 0 : _a[0])) {
|
|
431
|
-
|
|
456
|
+
var firstFieldHeight = window.getComputedStyle(current.children[0]).height;
|
|
457
|
+
// 隐藏态可能读到 0px,回退默认高度,避免把错误高度写成内联样式。
|
|
458
|
+
height = parseFloat(firstFieldHeight) ? firstFieldHeight : height;
|
|
432
459
|
}
|
|
433
460
|
return height;
|
|
434
461
|
};
|
|
@@ -436,6 +463,9 @@ var QueryForm = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
436
463
|
var queryFormExtraDom = (_b = formBoxRef === null || formBoxRef === void 0 ? void 0 : formBoxRef.current) === null || _b === void 0 ? void 0 : _b.querySelector(".".concat(clsPrefix, "-extra"));
|
|
437
464
|
var formItemsDomList = (_c = fieldsRef === null || fieldsRef === void 0 ? void 0 : fieldsRef.current) === null || _c === void 0 ? void 0 : _c.querySelectorAll('.ant-form-item-control');
|
|
438
465
|
var fieldHeight = getFieldHeight();
|
|
466
|
+
if (!fieldsRef.current) {
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
439
469
|
fieldsRef.current.style.height = fieldHeight;
|
|
440
470
|
[queryFormActionsDom, queryFormExtraDom].forEach(function (item) {
|
|
441
471
|
item && Object.assign(item.style, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query-form/index.js"],"names":[],"mappings":"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","sourcesContent":["import classnames from 'classnames'\nimport { debounce } from 'lodash'\nimport React, { createRef } from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport createActions from './createActions'\nimport Field from './Field'\nimport useForm from './useForm'\n\nimport Badge from '../badge'\nimport Button from '../button'\nimport Drawer from '../drawer'\nimport Form from '../form'\nimport Icon from '../tntd-icon'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\nconst clsPrefix = 'tnt-queryform'\n\nclass QueryForm extends React.PureComponent {\n constructor(props) {\n super(props)\n const { form, initialValues, showExpand = true, renderActions, defaultExpanded } = props\n this.state = {\n showMore: false,\n expanded: defaultExpanded || !showExpand || renderActions ? true : false,\n drawerVisible: false,\n drawerFieldsValueCount: 0,\n }\n this.fieldsRef = createRef()\n this.formBoxRef = createRef()\n\n this.form = form || createActions()\n this.form.setData('initialValues', initialValues)\n this.form.setData('values', { ...initialValues })\n }\n\n render() {\n const {\n children,\n className = '',\n initialValues = {},\n renderActions,\n showSearch = true,\n showReset = true,\n showFieldCount,\n drawerProps = {},\n size,\n } = this.props\n const extraActions = this.props.extraActions\n const { expanded, showMore, drawerVisible, drawerFieldsValueCount } = this.state\n const renderFormActions =\n renderActions ||\n ((locale) => (\n <>\n {showFieldCount && (\n <Badge count={drawerFieldsValueCount}>\n <Button onClick={this.onShowDrawer}>\n <Icon type=\"filter\" />\n {locale.moreFiltering}\n </Button>\n </Badge>\n )}\n {showSearch && (\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n )}\n {showReset && <Button onClick={this.onReset}>{locale.reset}</Button>}\n {showMore && !showFieldCount && (\n <Button className=\"expand-link\" type=\"link\" onClick={this.onToggleExpand}>\n {locale[expanded ? 'collapse' : 'expand']}\n </Button>\n )}\n {React.Children.map(\n children,\n (child) => child && child?.props?.align === 'right' && React.cloneElement(child)\n )}\n </>\n ))\n\n return (\n <LocaleReceiver componentName=\"QueryForm\" defaultLocale={en_US.QueryForm}>\n {(locale) => {\n return (\n <div ref={this.formBoxRef} className={classnames(clsPrefix, { [className]: className })}>\n <Form layout=\"inline\" className={classnames({ expanded: !showMore || expanded, showMore })}>\n <div ref={this.fieldsRef}>\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n child?.props?.align !== 'right' &&\n (!showFieldCount || showFieldCount > index) &&\n React.cloneElement(child, {\n form: this.form,\n initialValue: initialValues?.[child.props?.name],\n onChange: this.onFieldChange,\n })\n )}\n </div>\n <div className={`${clsPrefix}-actions`}>{renderFormActions(locale)}</div>\n {showFieldCount && (\n <Drawer\n title={locale.moreFiltering}\n visible={drawerVisible}\n onClose={() => this.setState({ drawerVisible: false })}\n width={300}\n size={size}\n getContainer={false}\n {...drawerProps}\n className={classnames(`${clsPrefix}-drawer`, {\n 'large-size': size === 'large',\n [className]: className,\n })}\n >\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n index >= showFieldCount &&\n React.cloneElement(child, {\n form: this.form,\n isFieldInDrawer: true,\n initialValue: initialValues?.[child.props.name],\n onChange: this.onFieldChange,\n onSearch: this.onSearch,\n })\n )}\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n <Button onClick={this.onReset}>{locale.reset}</Button>\n </Drawer>\n )}\n </Form>\n {extraActions && <div className={`${clsPrefix}-extra`}>{extraActions}</div>}\n </div>\n )\n }}\n </LocaleReceiver> \n )\n }\n\n isFieldsWidthOverflow() {\n const { current } = this.fieldsRef\n\n if (current) {\n return (\n parseFloat(window.getComputedStyle(current).width, 10) <\n [].reduce.call(\n current.children,\n (acc, cur) => {\n const { margin, width } = window.getComputedStyle(cur)\n const marginArray = margin.split(' ').map((str) => parseFloat(str, 10))\n acc += parseFloat(width, 10) + marginArray[1]\n return acc\n },\n 0\n )\n )\n }\n\n return false\n }\n\n updateFieldHeight() {\n const { formBoxRef, fieldsRef } = this\n const getFieldHeight = () => {\n const { current } = fieldsRef\n let height = '32px'\n\n if (current && current.children?.[0]) {\n height = window.getComputedStyle(current.children[0]).height\n }\n\n return height\n }\n const queryFormActionsDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-actions`)\n const queryFormExtraDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-extra`)\n const formItemsDomList = fieldsRef?.current?.querySelectorAll('.ant-form-item-control')\n const fieldHeight = getFieldHeight()\n\n fieldsRef.current.style.height = fieldHeight\n ;[queryFormActionsDom, queryFormExtraDom].forEach((item) => {\n item &&\n Object.assign(item.style, {\n height: fieldHeight,\n lineHeight: fieldHeight,\n })\n })\n ;[].forEach.call(formItemsDomList, (item) => {\n item.style.lineHeight = fieldHeight\n })\n }\n\n onWindowResize = debounce(() => {\n const { current } = this.fieldsRef\n\n if (current) {\n setTimeout(() => {\n this.setState({\n showMore: this.isFieldsWidthOverflow(),\n })\n }, 25)\n }\n }, 50)\n\n search = (params) => {\n this.props.onSearch({\n ...this.form.getValues(),\n ...params,\n })\n }\n\n onSearch = () => {\n this.props.onSearch?.(this.form.getValues())\n }\n\n onReset = () => {\n const { initialValues, onReset } = this.props\n\n this.form.setValues({ ...initialValues })\n this.updateDrawerFieldsValueCount()\n onReset?.(initialValues)\n }\n\n onToggleExpand = () => {\n this.setState({\n expanded: !this.state.expanded,\n })\n this.props.onToggleExpand?.(!this.state.expanded)\n }\n\n onShowDrawer = () => {\n this.setState({ drawerVisible: true })\n }\n\n onFieldChange = (name, value, ...rest) => {\n const values = this.form.getValues()\n const newValues = {\n ...values,\n [name]: value,\n }\n const changedInfo = { name, value, preValue: values?.[name] }\n const { onChange } = this.props\n\n this.form.setData('values', newValues)\n\n onChange && onChange(newValues, changedInfo, ...rest)\n this.updateDrawerFieldsValueCount(newValues)\n }\n\n updateDrawerFieldsValueCount = () => {\n const values = this.form.getValues()\n const { showFieldCount, children } = this.props\n\n if (showFieldCount) {\n const drawerFieldsValueCount = children.reduce((acc, cur, index) => {\n if (index >= showFieldCount && values?.[cur?.props?.name]) {\n acc++\n }\n return acc\n }, 0)\n\n if (drawerFieldsValueCount !== this.state.drawerFieldsValueCount) {\n this.setState({\n drawerFieldsValueCount,\n })\n }\n }\n }\n\n addResizeListener = () => {\n if ('ResizeObserver' in window) {\n const { current } = this.fieldsRef;\n if (current) {\n const observer = new ResizeObserver(this.onWindowResize);\n\n observer.observe(current)\n\n return () => observer.disconnect()\n }\n } else {\n window.addEventListener('resize', this.onWindowResize)\n return () => window.removeEventListener('resize', this.onWindowResize)\n }\n }\n\n componentDidMount() {\n const { current } = this.fieldsRef\n const { showFieldCount, showExpand = true } = this.props\n\n this.updateFieldHeight()\n\n this.form.on('search', this.search)\n\n // 未设置第一行显示数量且禁止了展开操作 或 自定义了操作区域,则不需要处理展开计算逻辑\n // || renderActions\n if (!showFieldCount && !showExpand) {\n return\n }\n\n if (!showFieldCount) {\n if (current && this.isFieldsWidthOverflow()) {\n this.setState({\n showMore: true,\n })\n }\n\n this.removeResizeListener = this.addResizeListener()\n } else {\n this.updateDrawerFieldsValueCount()\n this.form.on('setValues', this.updateDrawerFieldsValueCount)\n this.form.on('setValue', this.updateDrawerFieldsValueCount)\n }\n }\n\n componentWillUnmount() {\n this.removeResizeListener?.()\n this.form.off('setValues', this.updateDrawerFieldsValueCount)\n this.form.off('setValue', this.updateDrawerFieldsValueCount)\n this.form.off('search', this.search)\n }\n}\n\nQueryForm.Field = Field\nQueryForm.useForm = useForm\nQueryForm.createForm = createActions\n\nexport default QueryForm\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query-form/index.js"],"names":[],"mappings":"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","sourcesContent":["import classnames from 'classnames'\nimport { debounce } from 'lodash'\nimport React, { createRef } from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport createActions from './createActions'\nimport Field from './Field'\nimport useForm from './useForm'\n\nimport Badge from '../badge'\nimport Button from '../button'\nimport Drawer from '../drawer'\nimport Form from '../form'\nimport Icon from '../tntd-icon'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\nconst clsPrefix = 'tnt-queryform'\n\nclass QueryForm extends React.PureComponent {\n constructor(props) {\n super(props)\n const { form, initialValues, showExpand = true, renderActions, defaultExpanded } = props\n this.state = {\n showMore: false,\n expanded: defaultExpanded || !showExpand || renderActions ? true : false,\n drawerVisible: false,\n drawerFieldsValueCount: 0,\n }\n this.fieldsRef = createRef()\n this.formBoxRef = createRef()\n\n this.form = form || createActions()\n this.form.setData('initialValues', initialValues)\n this.form.setData('values', { ...initialValues })\n }\n\n render() {\n const {\n children,\n className = '',\n initialValues = {},\n renderActions,\n showSearch = true,\n showReset = true,\n showFieldCount,\n drawerProps = {},\n size,\n } = this.props\n const extraActions = this.props.extraActions\n const { expanded, showMore, drawerVisible, drawerFieldsValueCount } = this.state\n const renderFormActions =\n renderActions ||\n ((locale) => (\n <>\n {showFieldCount && (\n <Badge count={drawerFieldsValueCount}>\n <Button onClick={this.onShowDrawer}>\n <Icon type=\"filter\" />\n {locale.moreFiltering}\n </Button>\n </Badge>\n )}\n {showSearch && (\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n )}\n {showReset && <Button onClick={this.onReset}>{locale.reset}</Button>}\n {showMore && !showFieldCount && (\n <Button className=\"expand-link\" type=\"link\" onClick={this.onToggleExpand}>\n {locale[expanded ? 'collapse' : 'expand']}\n </Button>\n )}\n {React.Children.map(\n children,\n (child) => child && child?.props?.align === 'right' && React.cloneElement(child)\n )}\n </>\n ))\n\n return (\n <LocaleReceiver componentName=\"QueryForm\" defaultLocale={en_US.QueryForm}>\n {(locale) => {\n return (\n <div ref={this.formBoxRef} className={classnames(clsPrefix, { [className]: className })}>\n <Form layout=\"inline\" className={classnames({ expanded: !showMore || expanded, showMore })}>\n <div ref={this.fieldsRef}>\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n child?.props?.align !== 'right' &&\n (!showFieldCount || showFieldCount > index) &&\n React.cloneElement(child, {\n form: this.form,\n initialValue: initialValues?.[child.props?.name],\n onChange: this.onFieldChange,\n })\n )}\n </div>\n <div className={`${clsPrefix}-actions`}>{renderFormActions(locale)}</div>\n {showFieldCount && (\n <Drawer\n title={locale.moreFiltering}\n visible={drawerVisible}\n onClose={() => this.setState({ drawerVisible: false })}\n width={300}\n size={size}\n getContainer={false}\n {...drawerProps}\n className={classnames(`${clsPrefix}-drawer`, {\n 'large-size': size === 'large',\n [className]: className,\n })}\n >\n {React.Children.map(\n children,\n (child, index) =>\n child &&\n index >= showFieldCount &&\n React.cloneElement(child, {\n form: this.form,\n isFieldInDrawer: true,\n initialValue: initialValues?.[child.props.name],\n onChange: this.onFieldChange,\n onSearch: this.onSearch,\n })\n )}\n <Button type=\"primary\" onClick={this.onSearch}>\n {locale.search}\n </Button>\n <Button onClick={this.onReset}>{locale.reset}</Button>\n </Drawer>\n )}\n </Form>\n {extraActions && <div className={`${clsPrefix}-extra`}>{extraActions}</div>}\n </div>\n )\n }}\n </LocaleReceiver> \n )\n }\n\n isFieldsWidthOverflow() {\n const { current } = this.fieldsRef\n\n if (current && current.children?.length) {\n const containerWidth = current.getBoundingClientRect().width\n const firstField = current.children[0]\n const firstFieldWidth = firstField.getBoundingClientRect().width\n\n // 微前端切走时容器可能被隐藏,宽高会读到 0;此时保留上一次结果,避免误隐藏展开按钮。\n if (!containerWidth || !firstFieldWidth) {\n return this.state.showMore\n }\n\n // 优先用字段是否真实换行判断,避免仅靠宽度累加在边界场景下误判。\n const firstFieldOffsetTop = firstField.offsetTop\n const hasWrappedField = [].some.call(\n current.children,\n (item) => item.offsetTop > firstFieldOffsetTop\n )\n\n if (hasWrappedField) {\n return true\n }\n\n const fieldsWidth = [].reduce.call(\n current.children,\n (acc, cur) => {\n const { width } = cur.getBoundingClientRect()\n const style = window.getComputedStyle(cur)\n const marginLeft = parseFloat(style.marginLeft) || 0\n const marginRight = parseFloat(style.marginRight) || 0\n\n return acc + width + marginLeft + marginRight\n },\n 0\n )\n\n return containerWidth < fieldsWidth\n }\n\n return false\n }\n\n updateFieldHeight() {\n const { formBoxRef, fieldsRef } = this\n const getFieldHeight = () => {\n const { current } = fieldsRef\n let height = '32px'\n\n if (current && current.children?.[0]) {\n const firstFieldHeight = window.getComputedStyle(current.children[0]).height\n // 隐藏态可能读到 0px,回退默认高度,避免把错误高度写成内联样式。\n height = parseFloat(firstFieldHeight) ? firstFieldHeight : height\n }\n\n return height\n }\n const queryFormActionsDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-actions`)\n const queryFormExtraDom = formBoxRef?.current?.querySelector(`.${clsPrefix}-extra`)\n const formItemsDomList = fieldsRef?.current?.querySelectorAll('.ant-form-item-control')\n const fieldHeight = getFieldHeight()\n\n if (!fieldsRef.current) {\n return\n }\n\n fieldsRef.current.style.height = fieldHeight\n ;[queryFormActionsDom, queryFormExtraDom].forEach((item) => {\n item &&\n Object.assign(item.style, {\n height: fieldHeight,\n lineHeight: fieldHeight,\n })\n })\n ;[].forEach.call(formItemsDomList, (item) => {\n item.style.lineHeight = fieldHeight\n })\n }\n\n onWindowResize = debounce(() => {\n const { current } = this.fieldsRef\n\n if (current) {\n setTimeout(() => {\n if (!this.fieldsRef.current) {\n return\n }\n\n // 微前端切回后先刷新高度,再更新 showMore,恢复行间距和展开按钮状态。\n this.updateFieldHeight()\n const showMore = this.isFieldsWidthOverflow()\n\n if (showMore !== this.state.showMore) {\n this.setState({\n showMore,\n })\n }\n }, 25)\n }\n }, 50)\n\n search = (params) => {\n this.props.onSearch({\n ...this.form.getValues(),\n ...params,\n })\n }\n\n onSearch = () => {\n this.props.onSearch?.(this.form.getValues())\n }\n\n onReset = () => {\n const { initialValues, onReset } = this.props\n\n this.form.setValues({ ...initialValues })\n this.updateDrawerFieldsValueCount()\n onReset?.(initialValues)\n }\n\n onToggleExpand = () => {\n this.setState({\n expanded: !this.state.expanded,\n })\n this.props.onToggleExpand?.(!this.state.expanded)\n }\n\n onShowDrawer = () => {\n this.setState({ drawerVisible: true })\n }\n\n onFieldChange = (name, value, ...rest) => {\n const values = this.form.getValues()\n const newValues = {\n ...values,\n [name]: value,\n }\n const changedInfo = { name, value, preValue: values?.[name] }\n const { onChange } = this.props\n\n this.form.setData('values', newValues)\n\n onChange && onChange(newValues, changedInfo, ...rest)\n this.updateDrawerFieldsValueCount(newValues)\n }\n\n updateDrawerFieldsValueCount = () => {\n const values = this.form.getValues()\n const { showFieldCount, children } = this.props\n\n if (showFieldCount) {\n const drawerFieldsValueCount = children.reduce((acc, cur, index) => {\n if (index >= showFieldCount && values?.[cur?.props?.name]) {\n acc++\n }\n return acc\n }, 0)\n\n if (drawerFieldsValueCount !== this.state.drawerFieldsValueCount) {\n this.setState({\n drawerFieldsValueCount,\n })\n }\n }\n }\n\n addResizeListener = () => {\n let observer\n\n if ('ResizeObserver' in window) {\n observer = new ResizeObserver(this.onWindowResize)\n // 同时监听外层和字段区,应用容器重新显示时也能触发布局重算。\n ;[this.formBoxRef.current, this.fieldsRef.current].forEach((item) => {\n item && observer.observe(item)\n })\n }\n\n // 补充微前端/页签切换场景:切回时可能没有 resize,但会有 focus 或 visibilitychange。\n window.addEventListener('resize', this.onWindowResize)\n window.addEventListener('focus', this.onWindowResize)\n document.addEventListener('visibilitychange', this.onWindowResize)\n\n return () => {\n observer?.disconnect()\n window.removeEventListener('resize', this.onWindowResize)\n window.removeEventListener('focus', this.onWindowResize)\n document.removeEventListener('visibilitychange', this.onWindowResize)\n }\n }\n\n componentDidMount() {\n const { current } = this.fieldsRef\n const { showFieldCount, showExpand = true } = this.props\n\n this.updateFieldHeight()\n\n this.form.on('search', this.search)\n\n // 未设置第一行显示数量且禁止了展开操作 或 自定义了操作区域,则不需要处理展开计算逻辑\n // || renderActions\n if (!showFieldCount && !showExpand) {\n return\n }\n\n if (!showFieldCount) {\n if (current && this.isFieldsWidthOverflow()) {\n this.setState({\n showMore: true,\n })\n }\n\n this.removeResizeListener = this.addResizeListener()\n } else {\n this.updateDrawerFieldsValueCount()\n this.form.on('setValues', this.updateDrawerFieldsValueCount)\n this.form.on('setValue', this.updateDrawerFieldsValueCount)\n }\n }\n\n componentWillUnmount() {\n this.removeResizeListener?.()\n this.form.off('setValues', this.updateDrawerFieldsValueCount)\n this.form.off('setValue', this.updateDrawerFieldsValueCount)\n this.form.off('search', this.search)\n }\n}\n\nQueryForm.Field = Field\nQueryForm.useForm = useForm\nQueryForm.createForm = createActions\n\nexport default QueryForm\n"]}
|
|
@@ -12,7 +12,7 @@ export default class DropDownWrap extends React.PureComponent<any, any, any> {
|
|
|
12
12
|
height: any;
|
|
13
13
|
width: string;
|
|
14
14
|
};
|
|
15
|
-
reactList: (allHeight: any, startIndex: any, endIndex: any) => void;
|
|
15
|
+
reactList: (allHeight: any, startIndex: any, endIndex: any, callback: any) => void;
|
|
16
16
|
render(): React.FunctionComponentElement<{
|
|
17
17
|
menuItems: any;
|
|
18
18
|
dropdownMenuStyle: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropDownWrap.d.ts","sourceRoot":"","sources":["../../src/tntd-select/DropDownWrap.js"],"names":[],"mappings":"AAEA;IACE,wBASC;IALC;;;;MAIC;IAGH,yCAIC;IAED;;;;;
|
|
1
|
+
{"version":3,"file":"DropDownWrap.d.ts","sourceRoot":"","sources":["../../src/tntd-select/DropDownWrap.js"],"names":[],"mappings":"AAEA;IACE,wBASC;IALC;;;;MAIC;IAGH,yCAIC;IAED;;;;;MASC;IAED,mFAC8D;IAE9D;;;OA2BC;CACF"}
|
|
@@ -132,12 +132,12 @@ var DropDownWrap = exports["default"] = /*#__PURE__*/function (_PureComponent) {
|
|
|
132
132
|
enumerable: true,
|
|
133
133
|
configurable: true,
|
|
134
134
|
writable: true,
|
|
135
|
-
value: function value(allHeight, startIndex, endIndex) {
|
|
135
|
+
value: function value(allHeight, startIndex, endIndex, callback) {
|
|
136
136
|
return _this.setState({
|
|
137
137
|
allHeight: allHeight,
|
|
138
138
|
startIndex: startIndex,
|
|
139
139
|
endIndex: endIndex
|
|
140
|
-
});
|
|
140
|
+
}, callback);
|
|
141
141
|
}
|
|
142
142
|
});
|
|
143
143
|
var allHeight = props.allHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropDownWrap.js","sourceRoot":"","sources":["../../src/tntd-select/DropDownWrap.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4C;AAE5C,MAAqB,YAAa,SAAQ,qBAAa;IACrD,YAAY,KAAK;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAgBd;;;;mBAAe,CAAC,CAAC,EAAE,EAAE;gBACnB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"DropDownWrap.js","sourceRoot":"","sources":["../../src/tntd-select/DropDownWrap.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4C;AAE5C,MAAqB,YAAa,SAAQ,qBAAa;IACrD,YAAY,KAAK;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAgBd;;;;mBAAe,CAAC,CAAC,EAAE,EAAE;gBACnB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAEjC,OAAO;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,UAAU,GAAG,CAAC;oBACnB,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,MAAM;iBACd,CAAA;YACH,CAAC;WAAA;QAED;;;;mBAAY,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;WAAA;QA3B5D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAEjD,IAAI,CAAC,KAAK,GAAG;YACX,SAAS;YACT,UAAU;YACV,QAAQ;SACT,CAAA;IACH,CAAC;IAED,kBAAkB,CAAC,SAAS;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;YAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;SACnD;IACH,CAAC;IAgBD,MAAM;QACJ,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAEtD,yBAAyB;QACzB,MAAM,SAAS,GAAG,eAAK,CAAC,YAAY,CAAC,IAAI,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC1E,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;gBAE1C,kBAAkB;gBAClB,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;oBAC5B,OAAO,KAAK,CAAC,MAAM,CAAA;iBACpB;gBACD,OAAO,eAAK,CAAC,YAAY,CAAC,IAAI,EAAE;oBAC9B,KAAK,kCAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAK,KAAK,CAAE;iBACzC,CAAC,CAAA;YACJ,CAAC,CAAC;YACF,iBAAiB,kCACZ,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAC/B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACnB;SACF,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AA5DD,+BA4DC","sourcesContent":["import React, { PureComponent } from 'react'\n\nexport default class DropDownWrap extends PureComponent {\n constructor(props) {\n super(props)\n const { allHeight, startIndex, endIndex } = props\n\n this.state = {\n allHeight,\n startIndex,\n endIndex,\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.allHeight !== prevProps.allHeight) {\n this.setState({ allHeight: this.props.allHeight })\n }\n }\n\n getItemStyle = (i) => {\n const { itemHeight } = this.props\n\n return {\n position: 'absolute',\n top: itemHeight * i,\n height: itemHeight,\n width: '100%',\n }\n }\n\n reactList = (allHeight, startIndex, endIndex, callback) =>\n this.setState({ allHeight, startIndex, endIndex }, callback)\n\n render() {\n const { menu } = this.props\n const { startIndex, endIndex, allHeight } = this.state\n\n // 截取 Select 下拉列表中需要显示的部分\n const cloneMenu = React.cloneElement(menu, {\n menuItems: menu.props.menuItems.slice(startIndex, endIndex).map((item, i) => {\n const realIndex = (startIndex || 0) + Number(i)\n const style = this.getItemStyle(realIndex)\n\n // 未搜到数据提示高度使用默认高度\n if (item.key === 'NOT_FOUND') {\n delete style.height\n }\n return React.cloneElement(item, {\n style: { ...item.props.style, ...style },\n })\n }),\n dropdownMenuStyle: {\n ...menu.props.dropdownMenuStyle,\n height: allHeight,\n maxHeight: allHeight,\n overflow: 'hidden',\n },\n })\n\n return cloneMenu\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":";AAkjBA,2DAMK;;;;;AA7hBL,wFAA4B"}
|
package/lib/tntd-select/index.js
CHANGED
|
@@ -214,7 +214,17 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
216
|
});
|
|
217
|
-
|
|
217
|
+
Object.defineProperty(_this, "getDropMaxHeight", {
|
|
218
|
+
enumerable: true,
|
|
219
|
+
configurable: true,
|
|
220
|
+
writable: true,
|
|
221
|
+
value: function value() {
|
|
222
|
+
var list = _this.getUseChildrenList();
|
|
223
|
+
var contentHeight = list.length * _this.ITEM_HEIGHT;
|
|
224
|
+
// 当列表项很少时,使用实际内容高度;否则使用预设的最大高度
|
|
225
|
+
return Math.min(contentHeight || DROPDOWN_HEIGHT, DROPDOWN_HEIGHT);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
218
228
|
Object.defineProperty(_this, "getTextPixelWith", {
|
|
219
229
|
enumerable: true,
|
|
220
230
|
configurable: true,
|
|
@@ -303,6 +313,31 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
303
313
|
}, 100);
|
|
304
314
|
}
|
|
305
315
|
});
|
|
316
|
+
Object.defineProperty(_this, "forcePopupAlign", {
|
|
317
|
+
enumerable: true,
|
|
318
|
+
configurable: true,
|
|
319
|
+
writable: true,
|
|
320
|
+
value: function value() {
|
|
321
|
+
var rcSelect = _this.select && _this.select.rcSelect;
|
|
322
|
+
if (rcSelect && typeof rcSelect.forcePopupAlign === 'function') {
|
|
323
|
+
rcSelect.forcePopupAlign();
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
Object.defineProperty(_this, "schedulePopupAlign", {
|
|
328
|
+
enumerable: true,
|
|
329
|
+
configurable: true,
|
|
330
|
+
writable: true,
|
|
331
|
+
value: function value() {
|
|
332
|
+
clearTimeout(_this.alignTimer);
|
|
333
|
+
_this.alignTimer = setTimeout(function () {
|
|
334
|
+
_this.forcePopupAlign();
|
|
335
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
336
|
+
requestAnimationFrame(_this.forcePopupAlign);
|
|
337
|
+
}
|
|
338
|
+
}, 0);
|
|
339
|
+
}
|
|
340
|
+
});
|
|
306
341
|
Object.defineProperty(_this, "onScroll", {
|
|
307
342
|
enumerable: true,
|
|
308
343
|
configurable: true,
|
|
@@ -372,7 +407,8 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
372
407
|
_this.allList = _this.getUseChildrenList();
|
|
373
408
|
if (!_this.eventTimer || !_this.scrollEle) {
|
|
374
409
|
_this.eventTimer = setTimeout(function () {
|
|
375
|
-
|
|
410
|
+
_this.addEvent();
|
|
411
|
+
_this.schedulePopupAlign();
|
|
376
412
|
}, 0);
|
|
377
413
|
} else {
|
|
378
414
|
var allHeight = _this.allList.length * _this.ITEM_HEIGHT || 100;
|
|
@@ -381,7 +417,11 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
381
417
|
startIndex = _this$getStartAndEndI2.startIndex,
|
|
382
418
|
endIndex = _this$getStartAndEndI2.endIndex;
|
|
383
419
|
setTimeout(function () {
|
|
384
|
-
|
|
420
|
+
if (_this.wrap) {
|
|
421
|
+
_this.wrap.reactList(allHeight, startIndex, endIndex, _this.schedulePopupAlign);
|
|
422
|
+
} else {
|
|
423
|
+
_this.schedulePopupAlign();
|
|
424
|
+
}
|
|
385
425
|
}, 0);
|
|
386
426
|
}
|
|
387
427
|
}
|
|
@@ -666,6 +706,8 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
666
706
|
}, {
|
|
667
707
|
key: "componentWillUnmount",
|
|
668
708
|
value: function componentWillUnmount() {
|
|
709
|
+
clearTimeout(this.eventTimer);
|
|
710
|
+
clearTimeout(this.alignTimer);
|
|
669
711
|
this.removeEvent();
|
|
670
712
|
}
|
|
671
713
|
}, {
|
|
@@ -692,8 +734,9 @@ var SuperSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
692
734
|
if (this.allList.length === 0 || maxWidth < selectWidth) {
|
|
693
735
|
dynamicWidth = selectWidth;
|
|
694
736
|
}
|
|
737
|
+
var dropMaxHeight = this.getDropMaxHeight();
|
|
695
738
|
dropdownStyle = Object.assign(Object.assign({
|
|
696
|
-
maxHeight: "".concat(
|
|
739
|
+
maxHeight: "".concat(dropMaxHeight, "px")
|
|
697
740
|
}, dropdownStyle), {
|
|
698
741
|
overflow: 'auto',
|
|
699
742
|
position: 'relative',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport { ConfigConsumer } from '../config-provider'\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if (selectDom) {\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDropDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDropDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDropDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder, capitalize, renderEmpty, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <LocaleReceiver componentName=\"TntdSelect\" defaultLocale={en_US.TntdSelect}>\n {(locale, localeCode) => {\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder || locale.select, capitalize, localeCode)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n {renderEmpty ? renderEmpty('Select') : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }}\n </LocaleReceiver> \n )\n }\n}\n\nfunction TntdSelect(props) {\n return (<ConfigConsumer>\n {({ renderEmpty }) => {\n return <SuperSelect {...props} renderEmpty={renderEmpty} />\n }}\n </ConfigConsumer>)\n }\n\n TntdSelect.Option = Option\n\n export default TntdSelect\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport { ConfigConsumer } from '../config-provider'\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport en_US from '../locale/en_US'\nimport './index.less'\n\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if (selectDom) {\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n getDropMaxHeight = () => {\n const list = this.getUseChildrenList()\n const contentHeight = list.length * this.ITEM_HEIGHT\n // 当列表项很少时,使用实际内容高度;否则使用预设的最大高度\n return Math.min(contentHeight || DROPDOWN_HEIGHT, DROPDOWN_HEIGHT)\n }\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDropDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.eventTimer)\n clearTimeout(this.alignTimer)\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n forcePopupAlign = () => {\n const rcSelect = this.select && this.select.rcSelect\n\n if (rcSelect && typeof rcSelect.forcePopupAlign === 'function') {\n rcSelect.forcePopupAlign()\n }\n }\n\n schedulePopupAlign = () => {\n clearTimeout(this.alignTimer)\n this.alignTimer = setTimeout(() => {\n this.forcePopupAlign()\n\n if (typeof requestAnimationFrame === 'function') {\n requestAnimationFrame(this.forcePopupAlign)\n }\n }, 0)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDropDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => {\n this.addEvent()\n this.schedulePopupAlign()\n }, 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n if (this.wrap) {\n this.wrap.reactList(allHeight, startIndex, endIndex, this.schedulePopupAlign)\n } else {\n this.schedulePopupAlign()\n }\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDropDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder, capitalize, renderEmpty, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n const dropMaxHeight = this.getDropMaxHeight()\n\n dropdownStyle = {\n maxHeight: `${dropMaxHeight}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <LocaleReceiver componentName=\"TntdSelect\" defaultLocale={en_US.TntdSelect}>\n {(locale, localeCode) => {\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder || locale.select, capitalize, localeCode)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n {renderEmpty ? renderEmpty('Select') : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }}\n </LocaleReceiver> \n )\n }\n}\n\nfunction TntdSelect(props) {\n return (<ConfigConsumer>\n {({ renderEmpty }) => {\n return <SuperSelect {...props} renderEmpty={renderEmpty} />\n }}\n </ConfigConsumer>)\n }\n\n TntdSelect.Option = Option\n\n export default TntdSelect\n"]}
|