tntd 2.2.3 → 2.3.1

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.
@@ -64,7 +64,7 @@ export default (props => {
64
64
  const inner = typeof children === 'string' ? children : _popover ? content : title;
65
65
  // for className
66
66
  const getClassName = () => {
67
- return `overflow ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`;
67
+ return `overflow min-width-0 ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`;
68
68
  };
69
69
  // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)
70
70
  const handleVisibleChange = visible => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ellipsis/index.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 梁洪刚\n * @CreatDate: 2021-03-31 13:57:32\n * @Describe: 省略号组件\n */\n\nimport copy from 'copy-to-clipboard'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport Popover from '../popover'\nimport Tooltip from '../tooltip'\n\nimport CopySVG from './Svg/CopySVG'\nimport TickSVG from './Svg/TickSVG'\nimport './index.less'\n\nconst tolerance = 0 // In px. Depends on the font you are using\n\nconst isEllipsisActive = (e) => {\n if (e.offsetWidth === e.scrollWidth && e.offsetHeight === e.scrollHeight) {\n let styleStr = 'overflow:visible; '\n if (!e?.parentNode?.getAttribute('style')?.includes('width')) {\n styleStr += 'max-width:100%;'\n }\n e.parentNode.setAttribute('style', styleStr)\n }\n return e.offsetWidth + tolerance < e.scrollWidth || e.offsetHeight < e.scrollHeight\n}\n\nexport default (props) => {\n let {\n _popover = props.Popover, // `Popover` or `Tooltip` ?\n title, // in most cases for `Tooltip`\n content, // in most cases for `Popover`\n className,\n style,\n widthLimit, // width trigger value\n _lines = props.lines !== 1 && props.lines, // number or lines, default 1 line;\n children, // children Node\n emptyText, // default: null\n _copyable = props.copyable, // copy function\n prefix, // 前缀dom\n suffix, // 后缀dom\n } = props\n\n // allow visible or not state\n const [flag, setFlag] = useState(true)\n // visible[Tooltip/Popover] state\n const [tipVisible, setTipVisible] = useState(false)\n // copy animation state\n const [hasCopy, setHasCopy] = useState(false)\n const [lineHeight, setLineHeight] = useState()\n\n const elementRef = useRef()\n\n useEffect(() => {\n elementRef.current && isEllipsisActive(elementRef.current)\n ? setFlag(true)\n : (setFlag(false), setTipVisible(false))\n\n if (elementRef.current) {\n setLineHeight(getComputedStyle(elementRef.current, null).getPropertyValue('line-height'))\n }\n }, [])\n\n // original Node\n const inner = typeof children === 'string' ? children : _popover ? content : title\n\n // for className\n const getClassName = () => {\n return `overflow ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`\n }\n\n // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)\n const handleVisibleChange = (visible) => {\n // const { onVisibleChange } = props;\n // onVisibleChange(visible);\n flag && setTipVisible(visible)\n }\n\n // onClick Copy Button\n const handleCopy = (innerText) => {\n copy(innerText)\n setHasCopy(!hasCopy)\n setTimeout(() => {\n setHasCopy(false)\n }, 1000)\n }\n\n const renderNode = () => {\n const popoverNode = (\n <Popover\n {...props}\n content={content || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || content}\n </div>\n </Popover>\n )\n\n const tooltipNode = (\n <Tooltip\n {...props}\n title={title || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || title}\n </div>\n </Tooltip>\n )\n\n return _popover ? popoverNode : tooltipNode\n }\n\n return (\n <>\n <div\n className=\"tnt-ellipsis\"\n style={{\n ...style,\n maxWidth: widthLimit,\n }}\n >\n {/* prefix */}\n {prefix && prefix}\n {/* content */}\n <div className={getClassName()}>{inner ? renderNode() : emptyText}</div>\n {/* suffix */}\n {suffix && suffix}\n {/* copyable button */}\n {inner && _copyable && lineHeight && (\n <div\n className=\"svg-button\"\n style={{\n height: lineHeight,\n }}\n onClick={() => handleCopy(elementRef.current.innerText)}\n >\n {!hasCopy ? (\n <CopySVG\n style={{\n height: lineHeight,\n }}\n />\n ) : (\n <TickSVG\n style={{\n height: lineHeight,\n }}\n />\n )}\n </div>\n )}\n </div>\n </>\n )\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ellipsis/index.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 梁洪刚\n * @CreatDate: 2021-03-31 13:57:32\n * @Describe: 省略号组件\n */\n\nimport copy from 'copy-to-clipboard'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport Popover from '../popover'\nimport Tooltip from '../tooltip'\n\nimport CopySVG from './Svg/CopySVG'\nimport TickSVG from './Svg/TickSVG'\nimport './index.less'\n\nconst tolerance = 0 // In px. Depends on the font you are using\n\nconst isEllipsisActive = (e) => {\n if (e.offsetWidth === e.scrollWidth && e.offsetHeight === e.scrollHeight) {\n let styleStr = 'overflow:visible; '\n if (!e?.parentNode?.getAttribute('style')?.includes('width')) {\n styleStr += 'max-width:100%;'\n }\n e.parentNode.setAttribute('style', styleStr)\n }\n return e.offsetWidth + tolerance < e.scrollWidth || e.offsetHeight < e.scrollHeight\n}\n\nexport default (props) => {\n let {\n _popover = props.Popover, // `Popover` or `Tooltip` ?\n title, // in most cases for `Tooltip`\n content, // in most cases for `Popover`\n className,\n style,\n widthLimit, // width trigger value\n _lines = props.lines !== 1 && props.lines, // number or lines, default 1 line;\n children, // children Node\n emptyText, // default: null\n _copyable = props.copyable, // copy function\n prefix, // 前缀dom\n suffix, // 后缀dom\n } = props\n\n // allow visible or not state\n const [flag, setFlag] = useState(true)\n // visible[Tooltip/Popover] state\n const [tipVisible, setTipVisible] = useState(false)\n // copy animation state\n const [hasCopy, setHasCopy] = useState(false)\n const [lineHeight, setLineHeight] = useState()\n\n const elementRef = useRef()\n\n useEffect(() => {\n elementRef.current && isEllipsisActive(elementRef.current)\n ? setFlag(true)\n : (setFlag(false), setTipVisible(false))\n\n if (elementRef.current) {\n setLineHeight(getComputedStyle(elementRef.current, null).getPropertyValue('line-height'))\n }\n }, [])\n\n // original Node\n const inner = typeof children === 'string' ? children : _popover ? content : title\n\n // for className\n const getClassName = () => {\n return `overflow min-width-0 ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`\n }\n\n // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)\n const handleVisibleChange = (visible) => {\n // const { onVisibleChange } = props;\n // onVisibleChange(visible);\n flag && setTipVisible(visible)\n }\n\n // onClick Copy Button\n const handleCopy = (innerText) => {\n copy(innerText)\n setHasCopy(!hasCopy)\n setTimeout(() => {\n setHasCopy(false)\n }, 1000)\n }\n\n const renderNode = () => {\n const popoverNode = (\n <Popover\n {...props}\n content={content || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || content}\n </div>\n </Popover>\n )\n\n const tooltipNode = (\n <Tooltip\n {...props}\n title={title || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || title}\n </div>\n </Tooltip>\n )\n\n return _popover ? popoverNode : tooltipNode\n }\n\n return (\n <>\n <div\n className=\"tnt-ellipsis\"\n style={{\n ...style,\n maxWidth: widthLimit,\n }}\n >\n {/* prefix */}\n {prefix && prefix}\n {/* content */}\n <div className={getClassName()}>{inner ? renderNode() : emptyText}</div>\n {/* suffix */}\n {suffix && suffix}\n {/* copyable button */}\n {inner && _copyable && lineHeight && (\n <div\n className=\"svg-button\"\n style={{\n height: lineHeight,\n }}\n onClick={() => handleCopy(elementRef.current.innerText)}\n >\n {!hasCopy ? (\n <CopySVG\n style={{\n height: lineHeight,\n }}\n />\n ) : (\n <TickSVG\n style={{\n height: lineHeight,\n }}\n />\n )}\n </div>\n )}\n </div>\n </>\n )\n}\n"]}
@@ -10,6 +10,10 @@
10
10
  }
11
11
  }
12
12
 
13
+ .min-width-0 {
14
+ min-width: 0;
15
+ }
16
+
13
17
  .ellipsis-nowrap {
14
18
  white-space: nowrap; //溢出不换行
15
19
  & * {
@@ -274,7 +274,9 @@ export default class QueryList extends React.PureComponent {
274
274
  }, React.createElement(Spin, {
275
275
  spinning: loading
276
276
  }, React.createElement(Table, Object.assign({
277
- ref: this.tableRef
277
+ ref: this.tableRef,
278
+ shadowed: false,
279
+ bordered: false
278
280
  }, expandProps, rest, columns ? {
279
281
  columns
280
282
  } : {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = {\n ...this.formData,\n ...values,\n }\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,MAAM,UAAU,CAAA;AAE5B,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK,CAAC,aAAa;IACxD,YAAY,KAAK;;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAmFd;;;;mBAAiB,QAAQ,CAAC,GAAG,EAAE;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAE7B,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,kCACD,MAAM,KACT,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GACnE;iBACF,CAAC,CAAA;YACJ,CAAC,EAAE,EAAE,CAAC;WAAA;QAgEN;;;;mBAAY,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC7E,MAAM,EACJ,QAAQ,EAAE,EAAE,KAAK,EAAE,EACnB,oBAAoB,EACpB,MAAM,EACN,OAAO,GACR,GAAG,IAAI,CAAC,KAAK,CAAA;gBACd,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAA;gBAErD,IAAI,aAAa,EAAE;oBACjB,MAAM,mBACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,IACxB,MAAM,CACV,CAAA;iBACF;gBAED,WAAW;oBACT,IAAI,CAAC,QAAQ,CAAC;wBACZ,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;gBAEJ,qCAAqC;gBACrC,IAAI,CAAC,UAAU,EAAE;oBACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;iBACvB;gBAED,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;gBAE5C,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;qBACnF,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;oBAE7D,IAAI,CAAC,QAAQ,iBAET,OAAO,EAAE,KAAK,EACd,UAAU,EACV,UAAU,EAAE,aAAa;4BACvB,CAAC,CAAC;gCACE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE;gCACtD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC;gCACpE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;6BACzB;4BACH,CAAC,CAAC,IAAI,IACL,CAAC,oBAAoB;wBACtB,CAAC,CAAC;4BACE,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;yBACtD;wBACH,CAAC,CAAC,EAAE,CAAC,GAET,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;wBACpD,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;gBACH,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;oBACvB,WAAW;wBACT,IAAI,CAAC,QAAQ,CAAC;4BACZ,OAAO,EAAE,KAAK;yBACf,CAAC,CAAA;oBACJ,QAAQ,IAAI,QAAQ,EAAE,CAAA;gBACxB,CAAC,CAAC,CAAA;YACN,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAe,CAAC,MAAM,EAAE,EAAE;gBACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,iCAEf,MAAM,KACT,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAExC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAC3B,CAAA;YACH,CAAC;WAAA;QAED;;;;mBAAW,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC3D,IAAI,CAAC,QAAQ,mCACR,IAAI,CAAC,QAAQ,GACb,MAAM,CACV,CAAA;gBACD,yDAAyD;gBACzD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;YACjE,CAAC;WAAA;QAED;;;;mBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC/C,MAAM,WAAW,GAAG;oBAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;iBAC7C,CAAA;gBAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAEzC,kCAAkC;gBAClC,iBAAiB;gBACjB,IAAI,CAAC,eAAe,EAAE;oBACpB,IAAI,CAAC,SAAS,iCACT,OAAO,CAAC,oBAAoB,EAAE,GAC9B,WAAW,EACd,CAAA;oBACF,OAAM;iBACP;gBAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAEjC,SAAS;gBACT,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,QAAQ,CACX;wBACE,UAAU;wBACV,UAAU,EAAE;4BACV,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;yBACxB;qBACF,EACD,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAC1C,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;iBACF;YACH,CAAC;WAAA;QAED;;;;mBAAoB,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzC,CAAC,EAAE,EAAE,CAAC;WAAA;QAEN;;;;mBAAyB,CAAC,SAAS,EAAE,EAAE;gBACrC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,EAAE;oBACrC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;oBAE3D,OAAO,YAAY,KAAK,SAAS,GAAG,YAAY,CAAA;gBAClD,CAAC,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC;oBACZ,iBAAiB,EAAE,gBAAgB,CAAC,SAAS,CAAC;iBAC/C,CAAC,CAAA;YACJ,CAAC;WAAA;QAxTC,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE;gBACV,gBAAgB;gBAChB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT;YACD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,CAAC,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,CAAC,CAAA;SACpC,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,SAAS,EAAE,CAAA;QAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACvD,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAClD,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM;QACJ,MAAM,KASF,IAAI,CAAC,KAAK,EATR,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,GAAG,KAAK,EACxB,SAAS,GAAG,EAAE,EACd,QAAQ,OAEI,EADT,IAAI,cARH,qGASL,CAAa,CAAA;QACd,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3F,MAAM,aAAa,GAAG,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,cAAc,iDACf,IAAI,CAAC,KAAK,CAAC,UAAU;YACxB,iBAAiB;YACjB,eAAe,EAAE,IAAI,EACrB,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,KAChE,CAAC,UAAU,IAAI,EAAE,CAAC,CACtB,CAAA;QACD,MAAM,WAAW,qBACZ,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC;gBACE,eAAe;gBACf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;aAChD;YACH,CAAC,CAAC,EAAE,CAAC,CACR,CAAA;QAED,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CAAC,2BAA2B,SAAS,EAAE,EAAE;gBACpD,gBAAgB;gBAChB,iBAAiB;aAClB,CAAC;YAEF,oBAAC,IAAI,IAAC,QAAQ,EAAE,OAAO;gBACrB,oBAAC,KAAK,kBACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,IACX,WAAW,EACX,IAAI,EACJ,CAAC,OAAO;oBACV,CAAC,CAAC;wBACE,OAAO;qBACR;oBACH,CAAC,CAAC,EAAE,CAAC,IACP,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAC5D,QAAQ,EAAE,IAAI,CAAC,aAAa,KAE3B,CAAC,OAAO,IAAI,QAAQ,CACf,CACH,CACH,CACP,CAAA;IACH,CAAC;IAaD,iBAAiB;;QACf,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAExC,IAAI,CAAC,QAAQ,mCACR,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAE7B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACxB,UAAU;YACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzC,KAAK;gBACL,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC1C,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE;wBAC7B,uBAAuB;wBACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gCAC5B,gCAAgC;gCAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oCACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE;wCAC7C,UAAU,EAAE,IAAI;wCAChB,WAAW,EAAE,KAAK;qCACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wCACX,eAAe,CAAC,EAAE,CAAC,CAAA;oCACrB,CAAC,CAAC,CAAA;iCACH;qCAAM;oCACL,eAAe,CAAC,EAAE,CAAC,CAAA;iCACpB;4BACH,CAAC,EAAE,EAAE,CAAC,CAAA;yBACP;oBACH,CAAC,CAAA;oBACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;iBACnC;YACH,CAAC,CAAC,CAAA;SACH;QACD,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,CAAC,EAAE;YACxB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAEtD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzB,6BAA6B;gBAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;gBACrF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1D,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;gBACtC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;aAC7D;SACF;IACH,CAAC;IAED,oBAAoB;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACnE,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9D,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzD,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CAgKF","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n shadowed={false}\n bordered={false}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = {\n ...this.formData,\n ...values,\n }\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
package/es/table/table.js CHANGED
@@ -21,18 +21,20 @@ export const Table = _a => {
21
21
  className,
22
22
  locale,
23
23
  bordered,
24
- refresh,
25
24
  size,
26
25
  storageKey,
27
26
  columns,
28
27
  children,
28
+ shadowed = !bordered,
29
+ striped = false,
29
30
  showCellBorders = false,
30
31
  pagination = {
31
32
  showTotal: total => `共 ${total} 条记录`
32
33
  },
33
- enableToolbar = false
34
+ enableToolbar = false,
35
+ refresh
34
36
  } = _a,
35
- rest = __rest(_a, ["className", "locale", "bordered", "refresh", "size", "storageKey", "columns", "children", "showCellBorders", "pagination", "enableToolbar"]);
37
+ rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "shadowed", "striped", "showCellBorders", "pagination", "enableToolbar", "refresh"]);
36
38
  const tableContainer = useRef(null);
37
39
  // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(
38
40
  // TABLE_SIZE_STORAGE_KEY,
@@ -74,7 +76,9 @@ export const Table = _a => {
74
76
  [`${prefixCls}-hide-cell-borders`]: !showCellBorders,
75
77
  [`${prefixCls}-size-small`]: size === 'small',
76
78
  [`${prefixCls}-size-middle`]: size === 'middle',
77
- [`${prefixCls}-size-middle`]: size === 'middle'
79
+ [`${prefixCls}-size-middle`]: size === 'middle',
80
+ [`${prefixCls}-striped`]: striped,
81
+ [`${prefixCls}-shadowed`]: shadowed
78
82
  }, className),
79
83
  locale: locale,
80
84
  bordered: bordered,
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type { TableProps as AntdTableProps } from 'antd/es/table'\nimport { default as AntdTable } from 'antd/es/table'\nimport Column from 'antd/es/table/Column'\nimport ColumnGroup from 'antd/es/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef } from 'react'\n\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n}\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n refresh,\n size,\n storageKey,\n columns,\n children,\n showCellBorders = false,\n pagination = {\n showTotal: (total) => `共 ${total} 条记录`,\n },\n enableToolbar = false,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n const locale = localeObject as Record<string, string>\n\n return (\n <AntdTable\n className={classNames(\n prefixCls,\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={displayColumns}\n pagination={pagination}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\n"]}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type { TableProps as AntdTableProps } from 'antd/es/table'\nimport { default as AntdTable } from 'antd/es/table'\nimport Column from 'antd/es/table/Column'\nimport ColumnGroup from 'antd/es/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef } from 'react'\n\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n striped?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n}\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n shadowed = !bordered,\n striped = false,\n showCellBorders = false,\n pagination = {\n showTotal: (total) => `共 ${total} 条记录`,\n },\n enableToolbar = false,\n refresh,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n const locale = localeObject as Record<string, string>\n\n return (\n <AntdTable\n className={classNames(\n prefixCls,\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped,\n [`${prefixCls}-shadowed`]: shadowed,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={displayColumns}\n pagination={pagination}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\n"]}
@@ -8,8 +8,6 @@
8
8
  border-radius: @border-radius-base;
9
9
 
10
10
  &.@{table-prefix-cls}-borderless {
11
- box-shadow: @table-borderless-shadow;
12
-
13
11
  .@{table-prefix-cls}-small {
14
12
  border: none;
15
13
 
@@ -19,6 +17,16 @@
19
17
  }
20
18
  }
21
19
 
20
+ &.@{table-prefix-cls}-shadowed {
21
+ box-shadow: @table-borderless-shadow;
22
+ }
23
+
24
+ &.@{table-prefix-cls}-striped {
25
+ .@{table-prefix-cls}-tbody > tr:nth-child(even):not(:hover) > td {
26
+ background: @bg-grey-first;
27
+ }
28
+ }
29
+
22
30
  &.@{table-prefix-cls}-hide-cell-borders {
23
31
  .@{table-prefix-cls}-thead > tr > th:not(:last-child),
24
32
  .@{table-prefix-cls}-tbody > tr > td:not(:last-child) {
@@ -35,12 +43,19 @@
35
43
 
36
44
  // small table override
37
45
  &.@{table-prefix-cls}-size-small {
38
- .@{table-prefix-cls}-content > .@{table-prefix-cls}-body {
39
- margin: 0;
46
+ .@{table-prefix-cls}-content {
47
+ > .@{table-prefix-cls}-body {
48
+ margin: 0;
49
+ }
50
+
51
+ > .ant-table-footer {
52
+ border-top: none;
53
+ background-color: @bg-grey-first;
54
+ }
40
55
  }
41
56
 
42
57
  .@{table-prefix-cls}-pagination.@{pagination-prefix-cls} {
43
- padding: 8px 10px;
58
+ padding: 9px 10px;
44
59
  }
45
60
  }
46
61
 
@@ -79,7 +79,7 @@ var _default = function _default(props) {
79
79
  var inner = typeof children === 'string' ? children : _popover ? content : title;
80
80
  // for className
81
81
  var getClassName = function getClassName() {
82
- return "overflow ".concat(_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap', " ").concat(className || '');
82
+ return "overflow min-width-0 ".concat(_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap', " ").concat(className || '');
83
83
  };
84
84
  // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)
85
85
  var handleVisibleChange = function handleVisibleChange(visible) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ellipsis/index.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 梁洪刚\n * @CreatDate: 2021-03-31 13:57:32\n * @Describe: 省略号组件\n */\n\nimport copy from 'copy-to-clipboard'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport Popover from '../popover'\nimport Tooltip from '../tooltip'\n\nimport CopySVG from './Svg/CopySVG'\nimport TickSVG from './Svg/TickSVG'\nimport './index.less'\n\nconst tolerance = 0 // In px. Depends on the font you are using\n\nconst isEllipsisActive = (e) => {\n if (e.offsetWidth === e.scrollWidth && e.offsetHeight === e.scrollHeight) {\n let styleStr = 'overflow:visible; '\n if (!e?.parentNode?.getAttribute('style')?.includes('width')) {\n styleStr += 'max-width:100%;'\n }\n e.parentNode.setAttribute('style', styleStr)\n }\n return e.offsetWidth + tolerance < e.scrollWidth || e.offsetHeight < e.scrollHeight\n}\n\nexport default (props) => {\n let {\n _popover = props.Popover, // `Popover` or `Tooltip` ?\n title, // in most cases for `Tooltip`\n content, // in most cases for `Popover`\n className,\n style,\n widthLimit, // width trigger value\n _lines = props.lines !== 1 && props.lines, // number or lines, default 1 line;\n children, // children Node\n emptyText, // default: null\n _copyable = props.copyable, // copy function\n prefix, // 前缀dom\n suffix, // 后缀dom\n } = props\n\n // allow visible or not state\n const [flag, setFlag] = useState(true)\n // visible[Tooltip/Popover] state\n const [tipVisible, setTipVisible] = useState(false)\n // copy animation state\n const [hasCopy, setHasCopy] = useState(false)\n const [lineHeight, setLineHeight] = useState()\n\n const elementRef = useRef()\n\n useEffect(() => {\n elementRef.current && isEllipsisActive(elementRef.current)\n ? setFlag(true)\n : (setFlag(false), setTipVisible(false))\n\n if (elementRef.current) {\n setLineHeight(getComputedStyle(elementRef.current, null).getPropertyValue('line-height'))\n }\n }, [])\n\n // original Node\n const inner = typeof children === 'string' ? children : _popover ? content : title\n\n // for className\n const getClassName = () => {\n return `overflow ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`\n }\n\n // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)\n const handleVisibleChange = (visible) => {\n // const { onVisibleChange } = props;\n // onVisibleChange(visible);\n flag && setTipVisible(visible)\n }\n\n // onClick Copy Button\n const handleCopy = (innerText) => {\n copy(innerText)\n setHasCopy(!hasCopy)\n setTimeout(() => {\n setHasCopy(false)\n }, 1000)\n }\n\n const renderNode = () => {\n const popoverNode = (\n <Popover\n {...props}\n content={content || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || content}\n </div>\n </Popover>\n )\n\n const tooltipNode = (\n <Tooltip\n {...props}\n title={title || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || title}\n </div>\n </Tooltip>\n )\n\n return _popover ? popoverNode : tooltipNode\n }\n\n return (\n <>\n <div\n className=\"tnt-ellipsis\"\n style={{\n ...style,\n maxWidth: widthLimit,\n }}\n >\n {/* prefix */}\n {prefix && prefix}\n {/* content */}\n <div className={getClassName()}>{inner ? renderNode() : emptyText}</div>\n {/* suffix */}\n {suffix && suffix}\n {/* copyable button */}\n {inner && _copyable && lineHeight && (\n <div\n className=\"svg-button\"\n style={{\n height: lineHeight,\n }}\n onClick={() => handleCopy(elementRef.current.innerText)}\n >\n {!hasCopy ? (\n <CopySVG\n style={{\n height: lineHeight,\n }}\n />\n ) : (\n <TickSVG\n style={{\n height: lineHeight,\n }}\n />\n )}\n </div>\n )}\n </div>\n </>\n )\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ellipsis/index.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 梁洪刚\n * @CreatDate: 2021-03-31 13:57:32\n * @Describe: 省略号组件\n */\n\nimport copy from 'copy-to-clipboard'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport Popover from '../popover'\nimport Tooltip from '../tooltip'\n\nimport CopySVG from './Svg/CopySVG'\nimport TickSVG from './Svg/TickSVG'\nimport './index.less'\n\nconst tolerance = 0 // In px. Depends on the font you are using\n\nconst isEllipsisActive = (e) => {\n if (e.offsetWidth === e.scrollWidth && e.offsetHeight === e.scrollHeight) {\n let styleStr = 'overflow:visible; '\n if (!e?.parentNode?.getAttribute('style')?.includes('width')) {\n styleStr += 'max-width:100%;'\n }\n e.parentNode.setAttribute('style', styleStr)\n }\n return e.offsetWidth + tolerance < e.scrollWidth || e.offsetHeight < e.scrollHeight\n}\n\nexport default (props) => {\n let {\n _popover = props.Popover, // `Popover` or `Tooltip` ?\n title, // in most cases for `Tooltip`\n content, // in most cases for `Popover`\n className,\n style,\n widthLimit, // width trigger value\n _lines = props.lines !== 1 && props.lines, // number or lines, default 1 line;\n children, // children Node\n emptyText, // default: null\n _copyable = props.copyable, // copy function\n prefix, // 前缀dom\n suffix, // 后缀dom\n } = props\n\n // allow visible or not state\n const [flag, setFlag] = useState(true)\n // visible[Tooltip/Popover] state\n const [tipVisible, setTipVisible] = useState(false)\n // copy animation state\n const [hasCopy, setHasCopy] = useState(false)\n const [lineHeight, setLineHeight] = useState()\n\n const elementRef = useRef()\n\n useEffect(() => {\n elementRef.current && isEllipsisActive(elementRef.current)\n ? setFlag(true)\n : (setFlag(false), setTipVisible(false))\n\n if (elementRef.current) {\n setLineHeight(getComputedStyle(elementRef.current, null).getPropertyValue('line-height'))\n }\n }, [])\n\n // original Node\n const inner = typeof children === 'string' ? children : _popover ? content : title\n\n // for className\n const getClassName = () => {\n return `overflow min-width-0 ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`\n }\n\n // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)\n const handleVisibleChange = (visible) => {\n // const { onVisibleChange } = props;\n // onVisibleChange(visible);\n flag && setTipVisible(visible)\n }\n\n // onClick Copy Button\n const handleCopy = (innerText) => {\n copy(innerText)\n setHasCopy(!hasCopy)\n setTimeout(() => {\n setHasCopy(false)\n }, 1000)\n }\n\n const renderNode = () => {\n const popoverNode = (\n <Popover\n {...props}\n content={content || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || content}\n </div>\n </Popover>\n )\n\n const tooltipNode = (\n <Tooltip\n {...props}\n title={title || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || title}\n </div>\n </Tooltip>\n )\n\n return _popover ? popoverNode : tooltipNode\n }\n\n return (\n <>\n <div\n className=\"tnt-ellipsis\"\n style={{\n ...style,\n maxWidth: widthLimit,\n }}\n >\n {/* prefix */}\n {prefix && prefix}\n {/* content */}\n <div className={getClassName()}>{inner ? renderNode() : emptyText}</div>\n {/* suffix */}\n {suffix && suffix}\n {/* copyable button */}\n {inner && _copyable && lineHeight && (\n <div\n className=\"svg-button\"\n style={{\n height: lineHeight,\n }}\n onClick={() => handleCopy(elementRef.current.innerText)}\n >\n {!hasCopy ? (\n <CopySVG\n style={{\n height: lineHeight,\n }}\n />\n ) : (\n <TickSVG\n style={{\n height: lineHeight,\n }}\n />\n )}\n </div>\n )}\n </div>\n </>\n )\n}\n"]}
@@ -10,6 +10,10 @@
10
10
  }
11
11
  }
12
12
 
13
+ .min-width-0 {
14
+ min-width: 0;
15
+ }
16
+
13
17
  .ellipsis-nowrap {
14
18
  white-space: nowrap; //溢出不换行
15
19
  & * {
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"AAaA;IACE,wBAqBC;IAnBC;;;;;;;;;MAUC;IAED,+BAA2B;IAS7B,sBAyDC;IAED,2DASM;IAEN,0BA+CC;IA5CC,cAIC;IAUS,mCAYM;IAaZ,+BAA0D;IAOhE,6BAWC;IARC,iCAAuB;IAUzB;;;;cAiEC;IAxCG,gCAAsB;IA0C1B,4CAKC;IAED,4CAKC;IAED,oCASC;IAED;;;cAOC;IAED,oEAwCC;IAED,sEAEM;IAEN,iDAUC;CACF"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"AAaA;IACE,wBAqBC;IAnBC;;;;;;;;;MAUC;IAED,+BAA2B;IAS7B,sBA2DC;IAED,2DASM;IAEN,0BA+CC;IA5CC,cAIC;IAUS,mCAYM;IAaZ,+BAA0D;IAOhE,6BAWC;IARC,iCAAuB;IAUzB;;;;cAiEC;IAxCG,gCAAsB;IA0C1B,4CAKC;IAED,4CAKC;IAED,oCASC;IAED;;;cAOC;IAED,oEAwCC;IAED,sEAEM;IAEN,iDAUC;CACF"}
@@ -303,7 +303,9 @@ var QueryList = /*#__PURE__*/function (_React$PureComponent) {
303
303
  }, _react["default"].createElement(_spin["default"], {
304
304
  spinning: loading
305
305
  }, _react["default"].createElement(_table["default"], Object.assign({
306
- ref: this.tableRef
306
+ ref: this.tableRef,
307
+ shadowed: false,
308
+ bordered: false
307
309
  }, expandProps, rest, columns ? {
308
310
  columns: columns
309
311
  } : {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = {\n ...this.formData,\n ...values,\n }\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n shadowed={false}\n bordered={false}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = {\n ...this.formData,\n ...values,\n }\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
@@ -6,6 +6,8 @@ export declare type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {
6
6
  storageKey?: string;
7
7
  enableToolbar?: boolean;
8
8
  showCellBorders?: boolean;
9
+ striped?: boolean;
10
+ shadowed?: boolean;
9
11
  locale?: AntdTableProps<T>['locale'] & {
10
12
  loadingDescription?: string;
11
13
  emptyText?: string;
@@ -13,7 +15,7 @@ export declare type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {
13
15
  refresh?(): void;
14
16
  };
15
17
  export declare const Table: {
16
- <T>({ className, locale, bordered, refresh, size, storageKey, columns, children, showCellBorders, pagination, enableToolbar, ...rest }: TableProps<T>): JSX.Element;
18
+ <T>({ className, locale, bordered, size, storageKey, columns, children, shadowed, striped, showCellBorders, pagination, enableToolbar, refresh, ...rest }: TableProps<T>): JSX.Element;
17
19
  Column: typeof Column;
18
20
  ColumnGroup: typeof ColumnGroup;
19
21
  displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAEjE,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAQnD,oBAAY,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACrC,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,IAAI,IAAI,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;CAyFjB,CAAA"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAEjE,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAQnD,oBAAY,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACrC,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,IAAI,IAAI,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;CA6FjB,CAAA"}
@@ -41,11 +41,14 @@ var Table = function Table(_a) {
41
41
  var className = _a.className,
42
42
  locale = _a.locale,
43
43
  bordered = _a.bordered,
44
- refresh = _a.refresh,
45
44
  size = _a.size,
46
45
  storageKey = _a.storageKey,
47
46
  columns = _a.columns,
48
47
  children = _a.children,
48
+ _a$shadowed = _a.shadowed,
49
+ shadowed = _a$shadowed === void 0 ? !bordered : _a$shadowed,
50
+ _a$striped = _a.striped,
51
+ striped = _a$striped === void 0 ? false : _a$striped,
49
52
  _a$showCellBorders = _a.showCellBorders,
50
53
  showCellBorders = _a$showCellBorders === void 0 ? false : _a$showCellBorders,
51
54
  _a$pagination = _a.pagination,
@@ -56,7 +59,8 @@ var Table = function Table(_a) {
56
59
  } : _a$pagination,
57
60
  _a$enableToolbar = _a.enableToolbar,
58
61
  enableToolbar = _a$enableToolbar === void 0 ? false : _a$enableToolbar,
59
- rest = __rest(_a, ["className", "locale", "bordered", "refresh", "size", "storageKey", "columns", "children", "showCellBorders", "pagination", "enableToolbar"]);
62
+ refresh = _a.refresh,
63
+ rest = __rest(_a, ["className", "locale", "bordered", "size", "storageKey", "columns", "children", "shadowed", "striped", "showCellBorders", "pagination", "enableToolbar", "refresh"]);
60
64
  var tableContainer = (0, _react.useRef)(null);
61
65
  // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(
62
66
  // TABLE_SIZE_STORAGE_KEY,
@@ -99,7 +103,7 @@ var Table = function Table(_a) {
99
103
  var _classNames;
100
104
  var locale = localeObject;
101
105
  return _react["default"].createElement(_table["default"], Object.assign({
102
- className: (0, _classnames["default"])(prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-borderless"), !bordered), _defineProperty(_classNames, "".concat(prefixCls, "-hide-cell-borders"), !showCellBorders), _defineProperty(_classNames, "".concat(prefixCls, "-size-small"), size === 'small'), _defineProperty(_classNames, "".concat(prefixCls, "-size-middle"), size === 'middle'), _defineProperty(_classNames, "".concat(prefixCls, "-size-middle"), size === 'middle'), _classNames), className),
106
+ className: (0, _classnames["default"])(prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-borderless"), !bordered), _defineProperty(_classNames, "".concat(prefixCls, "-hide-cell-borders"), !showCellBorders), _defineProperty(_classNames, "".concat(prefixCls, "-size-small"), size === 'small'), _defineProperty(_classNames, "".concat(prefixCls, "-size-middle"), size === 'middle'), _defineProperty(_classNames, "".concat(prefixCls, "-size-middle"), size === 'middle'), _defineProperty(_classNames, "".concat(prefixCls, "-striped"), striped), _defineProperty(_classNames, "".concat(prefixCls, "-shadowed"), shadowed), _classNames), className),
103
107
  locale: locale,
104
108
  bordered: bordered,
105
109
  size: size,
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAAwD;AACxD,4FAAmE;AAEnE,0DAAoD;AACpD,kEAAyC;AACzC,4EAAmD;AACnD,4DAAmC;AACnC,+CAA8C;AAE9C,uCAAwC;AACxC,mCAA0C;AAC1C,mCAA0C;AAanC,MAAM,KAAK,GAAG,CAAK,EAeV,EAAE,EAAE;QAfM,EACxB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,eAAe,GAAG,KAAK,EACvB,UAAU,GAAG;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM;KACvC,EACD,aAAa,GAAG,KAAK,OAEP,EADX,IAAI,cAdiB,6IAezB,CADQ;IAEP,MAAM,cAAc,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAA;IACnD,4EAA4E;IAC5E,4BAA4B;IAC5B,cAAc;IACd,IAAI;IACJ,MAAM,iBAAiB,GAAG,IAAA,eAAO,EAC/B,GAAG,EAAE,CAAC,OAAO,IAAI,IAAA,wBAAgB,EAAI,QAA+B,CAAC,EACrE,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAA;IACD,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,wBAAgB,EACxE,iBAAiB,EACjB,UAAU,CACX,CAAA;IAED;;OAEG;IACH,oBAAoB;IACpB,gBAAgB;IAChB,yBAAyB;IACzB,MAAM;IACN,2BAA2B;IAE3B,OAAO,CACL,8BAAC,sBAAY,CAAC,QAAQ,IACpB,KAAK,EAAE;YACL,mBAAmB;YACnB,cAAc;YACd,aAAa;YACb,OAAO;YACP,yBAAyB;YACzB,gBAAgB;SACjB;QAED,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YACpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YAEvC,OAAO,CACL,uCAAK,GAAG,EAAE,cAAc;gBACtB,8BAAC,wBAAc,IAAC,aAAa,EAAC,OAAO,EAAC,aAAa,EAAE,MAAM,IACxD,CAAC,YAAY,EAAE,EAAE;oBAChB,MAAM,MAAM,GAAG,YAAsC,CAAA;oBAErD,OAAO,CACL,8BAAC,eAAS,kBACR,SAAS,EAAE,IAAA,oBAAU,EACnB,SAAS,EACT;4BACE,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,CAAC,QAAQ;4BACtC,CAAC,GAAG,SAAS,oBAAoB,CAAC,EAAE,CAAC,eAAe;4BACpD,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,IAAI,KAAK,OAAO;4BAC7C,CAAC,GAAG,SAAS,cAAc,CAAC,EAAE,IAAI,KAAK,QAAQ;4BAC/C,CAAC,GAAG,SAAS,cAAc,CAAC,EAAE,IAAI,KAAK,QAAQ;yBAChD,EACD,SAAS,CACV,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,UAAU,IAClB,IAAI,EACR,CACH,CAAA;gBACH,CAAC,CACc,CACb,CACP,CAAA;QACH,CAAC,CACc,CACK,CACzB,CAAA;AACH,CAAC,CAAA;AAzFY,QAAA,KAAK,SAyFjB;AAED,aAAK,CAAC,MAAM,GAAG,gBAAM,CAAA;AACrB,aAAK,CAAC,WAAW,GAAG,qBAAW,CAAA;AAC/B,aAAK,CAAC,WAAW,GAAG,OAAO,CAAA","sourcesContent":["import { ConfigConsumer } from 'antd/lib/config-provider'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport type { TableProps as AntdTableProps } from 'antd/lib/table'\nimport { default as AntdTable } from 'antd/lib/table'\nimport Column from 'antd/lib/table/Column'\nimport ColumnGroup from 'antd/lib/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef } from 'react'\n\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n}\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n refresh,\n size,\n storageKey,\n columns,\n children,\n showCellBorders = false,\n pagination = {\n showTotal: (total) => `共 ${total} 条记录`,\n },\n enableToolbar = false,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n const locale = localeObject as Record<string, string>\n\n return (\n <AntdTable\n className={classNames(\n prefixCls,\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={displayColumns}\n pagination={pagination}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\n"]}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/lib/config-provider'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\nimport type { TableProps as AntdTableProps } from 'antd/lib/table'\nimport { default as AntdTable } from 'antd/lib/table'\nimport Column from 'antd/lib/table/Column'\nimport ColumnGroup from 'antd/lib/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { useMemo, useRef } from 'react'\n\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n striped?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n}\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n shadowed = !bordered,\n striped = false,\n showCellBorders = false,\n pagination = {\n showTotal: (total) => `共 ${total} 条记录`,\n },\n enableToolbar = false,\n refresh,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n const locale = localeObject as Record<string, string>\n\n return (\n <AntdTable\n className={classNames(\n prefixCls,\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped,\n [`${prefixCls}-shadowed`]: shadowed,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={displayColumns}\n pagination={pagination}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\n"]}
@@ -8,8 +8,6 @@
8
8
  border-radius: @border-radius-base;
9
9
 
10
10
  &.@{table-prefix-cls}-borderless {
11
- box-shadow: @table-borderless-shadow;
12
-
13
11
  .@{table-prefix-cls}-small {
14
12
  border: none;
15
13
 
@@ -19,6 +17,16 @@
19
17
  }
20
18
  }
21
19
 
20
+ &.@{table-prefix-cls}-shadowed {
21
+ box-shadow: @table-borderless-shadow;
22
+ }
23
+
24
+ &.@{table-prefix-cls}-striped {
25
+ .@{table-prefix-cls}-tbody > tr:nth-child(even):not(:hover) > td {
26
+ background: @bg-grey-first;
27
+ }
28
+ }
29
+
22
30
  &.@{table-prefix-cls}-hide-cell-borders {
23
31
  .@{table-prefix-cls}-thead > tr > th:not(:last-child),
24
32
  .@{table-prefix-cls}-tbody > tr > td:not(:last-child) {
@@ -35,12 +43,19 @@
35
43
 
36
44
  // small table override
37
45
  &.@{table-prefix-cls}-size-small {
38
- .@{table-prefix-cls}-content > .@{table-prefix-cls}-body {
39
- margin: 0;
46
+ .@{table-prefix-cls}-content {
47
+ > .@{table-prefix-cls}-body {
48
+ margin: 0;
49
+ }
50
+
51
+ > .ant-table-footer {
52
+ border-top: none;
53
+ background-color: @bg-grey-first;
54
+ }
40
55
  }
41
56
 
42
57
  .@{table-prefix-cls}-pagination.@{pagination-prefix-cls} {
43
- padding: 8px 10px;
58
+ padding: 9px 10px;
44
59
  }
45
60
  }
46
61
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "2.2.3",
3
+ "version": "2.3.1",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
6
  "@icon-park/react": "^1.3.5",