@hi-ui/table 4.0.0-alpha.7 → 4.0.0-beta.2
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/README.md +159 -6
- package/lib/cjs/BaseTable.js +298 -0
- package/lib/cjs/BaseTable.js.map +1 -0
- package/lib/cjs/Table.js +315 -0
- package/lib/cjs/Table.js.map +1 -0
- package/lib/cjs/TableAdvancedFilter.js +164 -0
- package/lib/cjs/TableAdvancedFilter.js.map +1 -0
- package/lib/cjs/TableBody.js +150 -0
- package/lib/cjs/TableBody.js.map +1 -0
- package/lib/cjs/TableCell.js +226 -0
- package/lib/cjs/TableCell.js.map +1 -0
- package/lib/cjs/TableColumnMenu.js +172 -0
- package/lib/cjs/TableColumnMenu.js.map +1 -0
- package/lib/cjs/TableEmbedRow.js +81 -0
- package/lib/cjs/TableEmbedRow.js.map +1 -0
- package/lib/cjs/TableHeader.js +129 -0
- package/lib/cjs/TableHeader.js.map +1 -0
- package/lib/cjs/TableRow.js +216 -0
- package/lib/cjs/TableRow.js.map +1 -0
- package/lib/cjs/TableSettingMenu.js +222 -0
- package/lib/cjs/TableSettingMenu.js.map +1 -0
- package/lib/cjs/context.js +33 -0
- package/lib/cjs/context.js.map +1 -0
- package/lib/cjs/hooks/use-async-switch.js +145 -0
- package/lib/cjs/hooks/use-async-switch.js.map +1 -0
- package/lib/cjs/hooks/use-check.js +106 -0
- package/lib/cjs/hooks/use-check.js.map +1 -0
- package/lib/cjs/hooks/use-col-hidden.js +76 -0
- package/lib/cjs/hooks/use-col-hidden.js.map +1 -0
- package/lib/cjs/hooks/use-col-sorter.js +64 -0
- package/lib/cjs/hooks/use-col-sorter.js.map +1 -0
- package/lib/cjs/hooks/use-col-width.js +134 -0
- package/lib/cjs/hooks/use-col-width.js.map +1 -0
- package/lib/cjs/hooks/use-colgroup.js +111 -0
- package/lib/cjs/hooks/use-colgroup.js.map +1 -0
- package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js +287 -0
- package/lib/cjs/hooks/use-drag-sorter/lib/esm/index.js.map +1 -0
- package/lib/cjs/hooks/use-drag.js +110 -0
- package/lib/cjs/hooks/use-drag.js.map +1 -0
- package/lib/cjs/hooks/use-embed-expand.js +185 -0
- package/lib/cjs/hooks/use-embed-expand.js.map +1 -0
- package/lib/cjs/hooks/use-expand.js +183 -0
- package/lib/cjs/hooks/use-expand.js.map +1 -0
- package/lib/cjs/hooks/use-pagination.js +66 -0
- package/lib/cjs/hooks/use-pagination.js.map +1 -0
- package/lib/cjs/hooks/use-queue.js +55 -0
- package/lib/cjs/hooks/use-queue.js.map +1 -0
- package/lib/cjs/icons/index.js +55 -0
- package/lib/cjs/icons/index.js.map +1 -0
- package/lib/cjs/index.js +23 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/styles/index.scss.js +22 -0
- package/lib/cjs/styles/index.scss.js.map +1 -0
- package/lib/cjs/use-table.js +599 -0
- package/lib/cjs/use-table.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +29 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +27 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +29 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +29 -0
- package/lib/cjs/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/index.js +62 -0
- package/lib/cjs/utils/func-utils/lib/esm/index.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +37 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +37 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +37 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +37 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +34 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +37 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +60 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +49 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +80 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +63 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +34 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +33 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +36 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +48 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +77 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +96 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +40 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +50 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +28 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +58 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +49 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js +39 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +55 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +61 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +67 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +69 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +72 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +69 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +1 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +45 -0
- package/lib/cjs/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +1 -0
- package/lib/cjs/utils/index.js +190 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/BaseTable.js +266 -0
- package/lib/esm/BaseTable.js.map +1 -0
- package/lib/esm/Table.js +276 -0
- package/lib/esm/Table.js.map +1 -0
- package/lib/esm/TableAdvancedFilter.js +134 -0
- package/lib/esm/TableAdvancedFilter.js.map +1 -0
- package/lib/esm/TableBody.js +126 -0
- package/lib/esm/TableBody.js.map +1 -0
- package/lib/esm/TableCell.js +202 -0
- package/lib/esm/TableCell.js.map +1 -0
- package/lib/esm/TableColumnMenu.js +145 -0
- package/lib/esm/TableColumnMenu.js.map +1 -0
- package/lib/esm/TableEmbedRow.js +59 -0
- package/lib/esm/TableEmbedRow.js.map +1 -0
- package/lib/esm/TableHeader.js +107 -0
- package/lib/esm/TableHeader.js.map +1 -0
- package/lib/esm/TableRow.js +189 -0
- package/lib/esm/TableRow.js.map +1 -0
- package/lib/esm/TableSettingMenu.js +190 -0
- package/lib/esm/TableSettingMenu.js.map +1 -0
- package/lib/esm/context.js +25 -0
- package/lib/esm/context.js.map +1 -0
- package/lib/esm/hooks/use-async-switch.js +124 -0
- package/lib/esm/hooks/use-async-switch.js.map +1 -0
- package/lib/esm/hooks/use-check.js +87 -0
- package/lib/esm/hooks/use-check.js.map +1 -0
- package/lib/esm/hooks/use-col-hidden.js +67 -0
- package/lib/esm/hooks/use-col-hidden.js.map +1 -0
- package/lib/esm/hooks/use-col-sorter.js +55 -0
- package/lib/esm/hooks/use-col-sorter.js.map +1 -0
- package/lib/esm/hooks/use-col-width.js +116 -0
- package/lib/esm/hooks/use-col-width.js.map +1 -0
- package/lib/esm/hooks/use-colgroup.js +93 -0
- package/lib/esm/hooks/use-colgroup.js.map +1 -0
- package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js +264 -0
- package/lib/esm/hooks/use-drag-sorter/lib/esm/index.js.map +1 -0
- package/lib/esm/hooks/use-drag.js +91 -0
- package/lib/esm/hooks/use-drag.js.map +1 -0
- package/lib/esm/hooks/use-embed-expand.js +160 -0
- package/lib/esm/hooks/use-embed-expand.js.map +1 -0
- package/lib/esm/hooks/use-expand.js +172 -0
- package/lib/esm/hooks/use-expand.js.map +1 -0
- package/lib/esm/hooks/use-pagination.js +46 -0
- package/lib/esm/hooks/use-pagination.js.map +1 -0
- package/lib/esm/hooks/use-queue.js +49 -0
- package/lib/esm/hooks/use-queue.js.map +1 -0
- package/lib/esm/icons/index.js +33 -0
- package/lib/esm/icons/index.js.map +1 -0
- package/lib/esm/index.js +12 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/styles/index.scss.js +17 -0
- package/lib/esm/styles/index.scss.js.map +1 -0
- package/lib/esm/use-table.js +567 -0
- package/lib/esm/use-table.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js +24 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/_cloneBuffer.js_commonjs-module.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js +22 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js +24 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/_nodeUtil.js_commonjs-module.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js +24 -0
- package/lib/esm/utils/func-utils/lib/esm/_virtual/isBuffer.js_commonjs-module.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/index.js +45 -0
- package/lib/esm/utils/func-utils/lib/esm/index.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js +29 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_DataView.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js +29 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Map.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js +29 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Promise.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js +29 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Set.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js +27 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_Symbol.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js +29 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_WeakMap.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js +51 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js +41 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsArguments.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js +70 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_baseIsNative.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js +59 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_cloneBuffer.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js +27 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_coreJsData.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js +30 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_defineProperty.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js +17 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js +40 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getNative.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js +70 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getRawTag.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js +87 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getTag.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js +35 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_getValue.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js +43 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_isMasked.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js +25 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nativeCreate.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js +54 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_nodeUtil.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js +44 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_objectToString.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js +21 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_root.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js +50 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/_toSource.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js +57 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isArguments.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js +62 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isBuffer.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js +61 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isFunction.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js +55 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObject.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js +52 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/isObjectLike.js.map +1 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js +40 -0
- package/lib/esm/utils/func-utils/lib/esm/node_modules/lodash/stubFalse.js.map +1 -0
- package/lib/esm/utils/index.js +178 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/types/BaseTable.d.ts +41 -0
- package/lib/types/Table.d.ts +18 -16
- package/lib/types/TableAdvancedFilter.d.ts +9 -0
- package/lib/types/TableBody.d.ts +11 -0
- package/lib/types/TableCell.d.ts +41 -0
- package/lib/types/TableColumnMenu.d.ts +18 -5
- package/lib/types/TableEmbedRow.d.ts +26 -0
- package/lib/types/TableHeader.d.ts +1 -7
- package/lib/types/TableRow.d.ts +32 -0
- package/lib/types/TableSettingMenu.d.ts +1 -2
- package/lib/types/context.d.ts +110 -85
- package/lib/types/hooks/use-async-switch.d.ts +2 -1
- package/lib/types/hooks/use-check.d.ts +4 -8
- package/lib/types/hooks/use-col-frozen.d.ts +1 -1
- package/lib/types/hooks/use-col-hidden.d.ts +1 -1
- package/lib/types/hooks/use-col-width.d.ts +5 -8
- package/lib/types/hooks/use-colgroup.d.ts +2 -1
- package/lib/types/hooks/use-drag.d.ts +13 -0
- package/lib/types/hooks/use-embed-expand.d.ts +39 -0
- package/lib/types/hooks/use-expand.d.ts +1 -1
- package/lib/types/hooks/use-pagination.d.ts +5 -6
- package/lib/types/index.d.ts +1 -0
- package/lib/types/types.d.ts +33 -32
- package/lib/types/use-table.d.ts +242 -0
- package/lib/types/utils/index.d.ts +11 -4
- package/package.json +35 -8
- package/lib/types/TableExpandedRow.d.ts +0 -28
package/lib/cjs/Table.js
ADDED
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/table
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
|
|
14
|
+
Object.defineProperty(exports, '__esModule', {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
var tslib = require('tslib');
|
|
19
|
+
|
|
20
|
+
var React = require('react');
|
|
21
|
+
|
|
22
|
+
var classname = require('@hi-ui/classname');
|
|
23
|
+
|
|
24
|
+
var env = require('@hi-ui/env');
|
|
25
|
+
|
|
26
|
+
var Pagination = require('@hi-ui/pagination');
|
|
27
|
+
|
|
28
|
+
var useColHidden = require('./hooks/use-col-hidden.js');
|
|
29
|
+
|
|
30
|
+
var useColSorter = require('./hooks/use-col-sorter.js');
|
|
31
|
+
|
|
32
|
+
var usePagination = require('./hooks/use-pagination.js');
|
|
33
|
+
|
|
34
|
+
var reactUtils = require('@hi-ui/react-utils');
|
|
35
|
+
|
|
36
|
+
var TableSettingMenu = require('./TableSettingMenu.js');
|
|
37
|
+
|
|
38
|
+
var Loading = require('@hi-ui/loading');
|
|
39
|
+
|
|
40
|
+
var Checkbox = require('@hi-ui/checkbox');
|
|
41
|
+
|
|
42
|
+
var useCheck = require('./hooks/use-check.js');
|
|
43
|
+
|
|
44
|
+
var typeAssertion = require('@hi-ui/type-assertion');
|
|
45
|
+
|
|
46
|
+
var treeUtils = require('@hi-ui/tree-utils');
|
|
47
|
+
|
|
48
|
+
var BaseTable = require('./BaseTable.js');
|
|
49
|
+
|
|
50
|
+
var index = require('./utils/index.js');
|
|
51
|
+
|
|
52
|
+
function _interopDefaultLegacy(e) {
|
|
53
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
54
|
+
'default': e
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
59
|
+
|
|
60
|
+
var Pagination__default = /*#__PURE__*/_interopDefaultLegacy(Pagination);
|
|
61
|
+
|
|
62
|
+
var Loading__default = /*#__PURE__*/_interopDefaultLegacy(Loading);
|
|
63
|
+
|
|
64
|
+
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
|
65
|
+
|
|
66
|
+
var _prefix = classname.getPrefixCls('table');
|
|
67
|
+
|
|
68
|
+
var STANDARD_PRESET = {
|
|
69
|
+
striped: true,
|
|
70
|
+
bordered: true,
|
|
71
|
+
sticky: true,
|
|
72
|
+
setting: true,
|
|
73
|
+
showColMenu: true
|
|
74
|
+
};
|
|
75
|
+
var SELECTION_DATA_KEY = "SELECTION_DATA_KEY_" + index.uuid();
|
|
76
|
+
var DEFAULT_DATA = [];
|
|
77
|
+
var DEFAULT_PAGINATION = {
|
|
78
|
+
placement: 'right',
|
|
79
|
+
autoHide: false
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* 表格
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
86
|
+
// ************************ 预置标准模式 ************************ //
|
|
87
|
+
var _b;
|
|
88
|
+
|
|
89
|
+
var _a$prefixCls = _a.prefixCls,
|
|
90
|
+
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
|
91
|
+
_a$standard = _a.standard,
|
|
92
|
+
standard = _a$standard === void 0 ? false : _a$standard,
|
|
93
|
+
_a$loading = _a.loading,
|
|
94
|
+
loading = _a$loading === void 0 ? false : _a$loading,
|
|
95
|
+
dataSource = _a.dataSource,
|
|
96
|
+
paginationProp = _a.pagination,
|
|
97
|
+
uniqueId = _a.uniqueId,
|
|
98
|
+
columnsProp = _a.columns,
|
|
99
|
+
hiddenColKeysProp = _a.hiddenColKeys,
|
|
100
|
+
onHiddenColKeysChange = _a.onHiddenColKeysChange,
|
|
101
|
+
rowSelection = _a.rowSelection,
|
|
102
|
+
_a$fieldKey = _a.fieldKey,
|
|
103
|
+
fieldKey = _a$fieldKey === void 0 ? 'key' : _a$fieldKey,
|
|
104
|
+
_a$stickyFooter = _a.stickyFooter,
|
|
105
|
+
stickyFooter = _a$stickyFooter === void 0 ? false : _a$stickyFooter,
|
|
106
|
+
_a$data = _a.data,
|
|
107
|
+
data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
|
|
108
|
+
rest = tslib.__rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "rowSelection", "fieldKey", "stickyFooter", "data"]);
|
|
109
|
+
|
|
110
|
+
var baseTableProps = reactUtils.withDefaultProps(rest, standard ? STANDARD_PRESET : undefined);
|
|
111
|
+
var setting = (_b = baseTableProps.setting) !== null && _b !== void 0 ? _b : false; // ************************ 高级功能 ************************ //
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* 列排序
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
var _useColSorter = useColSorter.useColSorter({
|
|
118
|
+
uniqueId: uniqueId,
|
|
119
|
+
columns: columnsProp
|
|
120
|
+
}),
|
|
121
|
+
sortedCols = _useColSorter.sortedCols,
|
|
122
|
+
setSortCols = _useColSorter.setSortCols,
|
|
123
|
+
cacheSortedCols = _useColSorter.cacheSortedCols,
|
|
124
|
+
setCacheSortedCols = _useColSorter.setCacheSortedCols;
|
|
125
|
+
/**
|
|
126
|
+
* 列隐藏
|
|
127
|
+
*/
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
var _useColHidden = useColHidden.useColHidden({
|
|
131
|
+
uniqueId: uniqueId,
|
|
132
|
+
// 基于排序的 columns,隐藏的也能排序
|
|
133
|
+
columns: sortedCols,
|
|
134
|
+
hiddenColKeys: hiddenColKeysProp,
|
|
135
|
+
onHiddenColKeysChange: onHiddenColKeysChange
|
|
136
|
+
}),
|
|
137
|
+
visibleCols = _useColHidden.visibleCols,
|
|
138
|
+
hiddenColKeys = _useColHidden.hiddenColKeys,
|
|
139
|
+
setHiddenColKeys = _useColHidden.setHiddenColKeys,
|
|
140
|
+
cacheHiddenColKeys = _useColHidden.cacheHiddenColKeys,
|
|
141
|
+
setCacheHiddenColKeys = _useColHidden.setCacheHiddenColKeys;
|
|
142
|
+
|
|
143
|
+
var pagination = reactUtils.withDefaultProps(paginationProp, DEFAULT_PAGINATION);
|
|
144
|
+
/**
|
|
145
|
+
* 数据分页
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
var _useTablePagination = usePagination.useTablePagination({
|
|
149
|
+
pagination: pagination,
|
|
150
|
+
data: data,
|
|
151
|
+
dataSource: dataSource
|
|
152
|
+
}),
|
|
153
|
+
mergedData = _useTablePagination.mergedData,
|
|
154
|
+
currentPage = _useTablePagination.currentPage,
|
|
155
|
+
trySetCurrentPage = _useTablePagination.trySetCurrentPage; // 优化数据在第一页且数据一页内时,不展示 pagination 配置项
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
var hiddenPagination = !paginationProp || pagination.autoHide && currentPage === 1 && typeof pagination.pageSize === 'number' && data.length <= pagination.pageSize; // 获取 key 字段值
|
|
159
|
+
|
|
160
|
+
var getRowKeyField = React.useCallback(function (item) {
|
|
161
|
+
var val = item[fieldKey];
|
|
162
|
+
env.invariant(!typeAssertion.isNullish(val), 'Not found for the unique %s attribute in each row of data prop.', fieldKey);
|
|
163
|
+
return val;
|
|
164
|
+
}, [fieldKey]);
|
|
165
|
+
/**
|
|
166
|
+
* 扁平化数据,支持树形 table
|
|
167
|
+
*/
|
|
168
|
+
|
|
169
|
+
var flattedData = React.useMemo(function () {
|
|
170
|
+
// 对于分页来讲,flattedData 应该是当前页的数据
|
|
171
|
+
var clonedData = treeUtils.cloneTree(mergedData);
|
|
172
|
+
return treeUtils.flattenTree(clonedData, function (node) {
|
|
173
|
+
// 兼容老api,映射 key 为 id
|
|
174
|
+
return Object.assign(Object.assign({}, node), {
|
|
175
|
+
id: getRowKeyField(node.raw)
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
}, [mergedData, getRowKeyField]); // ************************ 行多选 ************************ //
|
|
179
|
+
// 自定义设置 checkbox 列宽度
|
|
180
|
+
|
|
181
|
+
var checkboxColWidth = React__default['default'].useMemo(function () {
|
|
182
|
+
return rowSelection && typeof rowSelection.checkboxColWidth === 'number' ? rowSelection.checkboxColWidth : 50;
|
|
183
|
+
}, [rowSelection]); // 预处理 column 支持 多选渲染
|
|
184
|
+
|
|
185
|
+
var _useTableCheck = useCheck.useTableCheck({
|
|
186
|
+
rowSelection: rowSelection,
|
|
187
|
+
flattedData: flattedData,
|
|
188
|
+
fieldKey: fieldKey
|
|
189
|
+
}),
|
|
190
|
+
checkedAll = _useTableCheck.checkedAll,
|
|
191
|
+
semiChecked = _useTableCheck.semiChecked,
|
|
192
|
+
tryCheckAllRow = _useTableCheck.tryCheckAllRow,
|
|
193
|
+
isCheckedRowKey = _useTableCheck.isCheckedRowKey,
|
|
194
|
+
onCheckedRowKeysChange = _useTableCheck.onCheckedRowKeysChange,
|
|
195
|
+
checkRowIsDisabledCheckbox = _useTableCheck.checkRowIsDisabledCheckbox; // 表格列多选操作区
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
var getSelectionColumn = React__default['default'].useCallback(function (rowSelection) {
|
|
199
|
+
var renderCell = function renderCell(_, rowItem, rowIndex) {
|
|
200
|
+
var rowKey = getRowKeyField(rowItem);
|
|
201
|
+
var checked = isCheckedRowKey(rowKey);
|
|
202
|
+
var disabledCheckbox = checkRowIsDisabledCheckbox(rowItem);
|
|
203
|
+
return {
|
|
204
|
+
node: /*#__PURE__*/React__default['default'].createElement(Checkbox__default['default'], {
|
|
205
|
+
checked: isCheckedRowKey(rowKey),
|
|
206
|
+
disabled: disabledCheckbox,
|
|
207
|
+
onChange: function onChange(evt) {
|
|
208
|
+
onCheckedRowKeysChange(rowItem, evt.target.checked);
|
|
209
|
+
}
|
|
210
|
+
}),
|
|
211
|
+
checked: checked
|
|
212
|
+
};
|
|
213
|
+
}; // TODO: && isFixed !== 'right' && !isSumRow && !isAvgRow
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
var renderSelectionCell = function renderSelectionCell(_, rowItem, rowIndex, dataKey) {
|
|
217
|
+
var _renderCell = renderCell(_, rowItem),
|
|
218
|
+
node = _renderCell.node,
|
|
219
|
+
checked = _renderCell.checked; // 自定义渲染
|
|
220
|
+
// @ts-ignore
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
if (rowSelection.render) {
|
|
224
|
+
// TODO: 获取 requiredProps 方法
|
|
225
|
+
// @ts-ignore
|
|
226
|
+
return rowSelection.render(node, Object.assign(Object.assign({}, rowItem), {
|
|
227
|
+
checked: checked
|
|
228
|
+
}), rowIndex, dataKey);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return node;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
var renderTitleCell = function renderTitleCell() {
|
|
235
|
+
return {
|
|
236
|
+
node: /*#__PURE__*/React__default['default'].createElement(Checkbox__default['default'], {
|
|
237
|
+
checked: checkedAll,
|
|
238
|
+
indeterminate: semiChecked,
|
|
239
|
+
onChange: tryCheckAllRow
|
|
240
|
+
}),
|
|
241
|
+
checked: checkedAll,
|
|
242
|
+
semiChecked: semiChecked
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
var renderSelectionTitleCell = function renderSelectionTitleCell() {
|
|
247
|
+
var _renderTitleCell = renderTitleCell(),
|
|
248
|
+
node = _renderTitleCell.node;
|
|
249
|
+
|
|
250
|
+
if (rowSelection.checkAllOptions && rowSelection.checkAllOptions.render) {
|
|
251
|
+
return rowSelection.checkAllOptions.render(node);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
return node;
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
var selectionColumn = {
|
|
258
|
+
dataKey: SELECTION_DATA_KEY,
|
|
259
|
+
width: checkboxColWidth,
|
|
260
|
+
className: prefixCls + "-selection-column",
|
|
261
|
+
title: renderSelectionTitleCell,
|
|
262
|
+
// @ts-ignore
|
|
263
|
+
render: renderSelectionCell
|
|
264
|
+
};
|
|
265
|
+
return selectionColumn;
|
|
266
|
+
}, [getRowKeyField, checkedAll, semiChecked, tryCheckAllRow, checkboxColWidth, isCheckedRowKey, onCheckedRowKeysChange, checkRowIsDisabledCheckbox, prefixCls]);
|
|
267
|
+
var mergedColumns = React__default['default'].useMemo(function () {
|
|
268
|
+
if (rowSelection) {
|
|
269
|
+
var selectionColumn = getSelectionColumn(rowSelection);
|
|
270
|
+
return [selectionColumn].concat(visibleCols);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
return visibleCols;
|
|
274
|
+
}, [rowSelection, getSelectionColumn, visibleCols]); // ************************ loading ************************ //
|
|
275
|
+
|
|
276
|
+
var TableWrapper = loading ? Loading__default['default'] : React.Fragment;
|
|
277
|
+
return /*#__PURE__*/React__default['default'].createElement(TableWrapper, null, /*#__PURE__*/React__default['default'].createElement(BaseTable.BaseTable, Object.assign({
|
|
278
|
+
ref: ref
|
|
279
|
+
}, baseTableProps, {
|
|
280
|
+
stickyFooter: stickyFooter,
|
|
281
|
+
prefixCls: prefixCls,
|
|
282
|
+
columns: mergedColumns,
|
|
283
|
+
data: mergedData,
|
|
284
|
+
fieldKey: fieldKey,
|
|
285
|
+
extra: {
|
|
286
|
+
header: setting ? /*#__PURE__*/React__default['default'].createElement(TableSettingMenu.TableSettingMenu, {
|
|
287
|
+
prefixCls: prefixCls + "-setting",
|
|
288
|
+
// sort
|
|
289
|
+
sortedCols: sortedCols,
|
|
290
|
+
setSortCols: setSortCols,
|
|
291
|
+
cacheSortedCols: cacheSortedCols,
|
|
292
|
+
setCacheSortedCols: setCacheSortedCols,
|
|
293
|
+
// hidden
|
|
294
|
+
hiddenColKeys: hiddenColKeys,
|
|
295
|
+
setHiddenColKeys: setHiddenColKeys,
|
|
296
|
+
cacheHiddenColKeys: cacheHiddenColKeys,
|
|
297
|
+
setCacheHiddenColKeys: setCacheHiddenColKeys
|
|
298
|
+
}) : null,
|
|
299
|
+
footer: hiddenPagination ? null : /*#__PURE__*/React__default['default'].createElement(Pagination__default['default'], Object.assign({
|
|
300
|
+
className: classname.cx(prefixCls + "-pagination", pagination.placement && prefixCls + "-pagination--placement-" + pagination.placement)
|
|
301
|
+
}, pagination, {
|
|
302
|
+
current: currentPage,
|
|
303
|
+
onChange: trySetCurrentPage
|
|
304
|
+
}))
|
|
305
|
+
}
|
|
306
|
+
})));
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
if (env.__DEV__) {
|
|
310
|
+
Table.displayName = 'Table';
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
exports.SELECTION_DATA_KEY = SELECTION_DATA_KEY;
|
|
314
|
+
exports.Table = Table;
|
|
315
|
+
//# sourceMappingURL=Table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../src/Table.tsx"],"sourcesContent":[null],"names":["_prefix","getPrefixCls","STANDARD_PRESET","striped","bordered","sticky","setting","showColMenu","SELECTION_DATA_KEY","uuid","DEFAULT_DATA","DEFAULT_PAGINATION","placement","autoHide","Table","forwardRef","_a","ref","prefixCls","standard","loading","dataSource","paginationProp","pagination","uniqueId","columnsProp","columns","hiddenColKeysProp","hiddenColKeys","onHiddenColKeysChange","rowSelection","fieldKey","stickyFooter","data","rest","baseTableProps","withDefaultProps","undefined","useColSorter","sortedCols","setSortCols","cacheSortedCols","setCacheSortedCols","useColHidden","visibleCols","setHiddenColKeys","cacheHiddenColKeys","setCacheHiddenColKeys","useTablePagination","mergedData","currentPage","trySetCurrentPage","hiddenPagination","pageSize","length","getRowKeyField","useCallback","item","val","invariant","isNullish","flattedData","useMemo","clonedData","cloneTree","flattenTree","node","id","raw","checkboxColWidth","React","useTableCheck","checkedAll","semiChecked","tryCheckAllRow","isCheckedRowKey","onCheckedRowKeysChange","checkRowIsDisabledCheckbox","getSelectionColumn","renderCell","_","rowItem","rowIndex","rowKey","checked","disabledCheckbox","Checkbox","disabled","onChange","evt","target","renderSelectionCell","dataKey","render","renderTitleCell","indeterminate","renderSelectionTitleCell","checkAllOptions","selectionColumn","width","className","title","mergedColumns","TableWrapper","Loading","Fragment","BaseTable","extra","header","TableSettingMenu","footer","Pagination","cx","current","__DEV__","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/table
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
|
|
14
|
+
Object.defineProperty(exports, '__esModule', {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
var React = require('react');
|
|
19
|
+
|
|
20
|
+
var classname = require('@hi-ui/classname');
|
|
21
|
+
|
|
22
|
+
var context = require('./context.js');
|
|
23
|
+
|
|
24
|
+
var TableColumnMenu = require('./TableColumnMenu.js');
|
|
25
|
+
|
|
26
|
+
var Select = require('@hi-ui/select');
|
|
27
|
+
|
|
28
|
+
var icons = require('@hi-ui/icons');
|
|
29
|
+
|
|
30
|
+
var Popper = require('@hi-ui/popper');
|
|
31
|
+
|
|
32
|
+
var useToggle = require('@hi-ui/use-toggle');
|
|
33
|
+
|
|
34
|
+
var typeAssertion = require('@hi-ui/type-assertion');
|
|
35
|
+
|
|
36
|
+
function _interopDefaultLegacy(e) {
|
|
37
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
38
|
+
'default': e
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
43
|
+
|
|
44
|
+
var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
|
|
45
|
+
|
|
46
|
+
var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
|
|
47
|
+
|
|
48
|
+
var renderFilter = function renderFilter(_ref) {
|
|
49
|
+
var prefixCls = _ref.prefixCls,
|
|
50
|
+
column = _ref.column,
|
|
51
|
+
showColMenu = _ref.showColMenu;
|
|
52
|
+
var _column$raw = column.raw,
|
|
53
|
+
sorter = _column$raw.sorter,
|
|
54
|
+
filterIcon = _column$raw.filterIcon,
|
|
55
|
+
selectFilters = _column$raw.selectFilters;
|
|
56
|
+
return [showColMenu && /*#__PURE__*/React__default['default'].createElement(TableColumnMenu.TableColumnMenu, {
|
|
57
|
+
prefixCls: prefixCls + "-dropdown",
|
|
58
|
+
key: "0",
|
|
59
|
+
column: column
|
|
60
|
+
}), sorter && !showColMenu && /*#__PURE__*/React__default['default'].createElement(SorterMenu, {
|
|
61
|
+
prefixCls: prefixCls + "-sorter",
|
|
62
|
+
key: "1",
|
|
63
|
+
column: column
|
|
64
|
+
}), selectFilters && /*#__PURE__*/React__default['default'].createElement(Select__default['default'], Object.assign({
|
|
65
|
+
prefixCls: prefixCls + "-select",
|
|
66
|
+
key: "2"
|
|
67
|
+
}, selectFilters)), filterIcon && /*#__PURE__*/React__default['default'].createElement(FilterDropdown, {
|
|
68
|
+
prefixCls: prefixCls + "-custom",
|
|
69
|
+
key: "3",
|
|
70
|
+
column: column
|
|
71
|
+
})].filter(Boolean);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var SorterMenu = function SorterMenu(_ref2) {
|
|
75
|
+
var _cx, _cx2;
|
|
76
|
+
|
|
77
|
+
var prefixCls = _ref2.prefixCls,
|
|
78
|
+
column = _ref2.column;
|
|
79
|
+
var columnKey = column.dataKey;
|
|
80
|
+
|
|
81
|
+
var _useTableContext = context.useTableContext(),
|
|
82
|
+
activeSorterColumn = _useTableContext.activeSorterColumn,
|
|
83
|
+
activeSorterType = _useTableContext.activeSorterType,
|
|
84
|
+
setActiveSorterColumn = _useTableContext.setActiveSorterColumn,
|
|
85
|
+
setActiveSorterType = _useTableContext.setActiveSorterType;
|
|
86
|
+
|
|
87
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
88
|
+
className: prefixCls
|
|
89
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
|
90
|
+
className: classname.cx(prefixCls + "__icon", (_cx = {}, _cx[prefixCls + "__icon--active"] = activeSorterType === 'ascend' && activeSorterColumn === columnKey, _cx)),
|
|
91
|
+
onClick: function onClick(e) {
|
|
92
|
+
if (activeSorterType === 'ascend' && activeSorterColumn === columnKey) {
|
|
93
|
+
setActiveSorterType(null);
|
|
94
|
+
setActiveSorterColumn(null);
|
|
95
|
+
} else {
|
|
96
|
+
setActiveSorterType('ascend');
|
|
97
|
+
setActiveSorterColumn(columnKey);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CaretUpFilled, null)), /*#__PURE__*/React__default['default'].createElement("span", {
|
|
101
|
+
className: classname.cx(prefixCls + "__icon", (_cx2 = {}, _cx2[prefixCls + "__icon--active"] = activeSorterType === 'descend' && activeSorterColumn === columnKey, _cx2)),
|
|
102
|
+
onClick: function onClick(e) {
|
|
103
|
+
if (activeSorterType === 'descend' && activeSorterColumn === columnKey) {
|
|
104
|
+
setActiveSorterType(null);
|
|
105
|
+
setActiveSorterColumn(null);
|
|
106
|
+
} else {
|
|
107
|
+
setActiveSorterType('descend');
|
|
108
|
+
setActiveSorterColumn(columnKey);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CaretDownFilled, null)));
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
var FilterDropdown = function FilterDropdown(_ref3) {
|
|
115
|
+
var prefixCls = _ref3.prefixCls,
|
|
116
|
+
column = _ref3.column;
|
|
117
|
+
var _column$raw2 = column.raw,
|
|
118
|
+
filterIcon = _column$raw2.filterIcon,
|
|
119
|
+
filterDropdown = _column$raw2.filterDropdown,
|
|
120
|
+
filterDropdownWidth = _column$raw2.filterDropdownWidth,
|
|
121
|
+
onFilterDropdownVisibleChange = _column$raw2.onFilterDropdownVisibleChange,
|
|
122
|
+
filterDropdownClassName = _column$raw2.filterDropdownClassName;
|
|
123
|
+
|
|
124
|
+
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
|
125
|
+
onOpen: function onOpen() {
|
|
126
|
+
return onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(true, column);
|
|
127
|
+
},
|
|
128
|
+
onClose: function onClose() {
|
|
129
|
+
return onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(false, column);
|
|
130
|
+
}
|
|
131
|
+
}),
|
|
132
|
+
menuVisible = _useUncontrolledToggl[0],
|
|
133
|
+
menuVisibleAction = _useUncontrolledToggl[1];
|
|
134
|
+
|
|
135
|
+
var _React$useState = React__default['default'].useState(null),
|
|
136
|
+
menuTrigger = _React$useState[0],
|
|
137
|
+
setMenuTrigger = _React$useState[1];
|
|
138
|
+
|
|
139
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("span", {
|
|
140
|
+
className: prefixCls + "__trigger",
|
|
141
|
+
ref: setMenuTrigger,
|
|
142
|
+
onClick: menuVisibleAction.not
|
|
143
|
+
}, filterIcon), /*#__PURE__*/React__default['default'].createElement(Popper__default['default'], {
|
|
144
|
+
className: prefixCls + "__popper",
|
|
145
|
+
visible: menuVisible,
|
|
146
|
+
attachEl: menuTrigger,
|
|
147
|
+
onClose: menuVisibleAction.off,
|
|
148
|
+
// @DesignToken zIndex: `overlay`
|
|
149
|
+
zIndex: 1050
|
|
150
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
151
|
+
className: classname.cx(prefixCls + "__content", filterDropdownClassName),
|
|
152
|
+
style: {
|
|
153
|
+
width: filterDropdownWidth
|
|
154
|
+
}
|
|
155
|
+
}, typeAssertion.isFunction(filterDropdown) ? filterDropdown({
|
|
156
|
+
columnData: column,
|
|
157
|
+
setFilterDropdownVisible: menuVisibleAction.set
|
|
158
|
+
}) : null)));
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
exports.FilterDropdown = FilterDropdown;
|
|
162
|
+
exports.SorterMenu = SorterMenu;
|
|
163
|
+
exports.renderFilter = renderFilter;
|
|
164
|
+
//# sourceMappingURL=TableAdvancedFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableAdvancedFilter.js","sources":["../../src/TableAdvancedFilter.tsx"],"sourcesContent":[null],"names":["renderFilter","prefixCls","column","showColMenu","raw","sorter","filterIcon","selectFilters","React","TableColumnMenu","key","SorterMenu","Select","FilterDropdown","filter","Boolean","columnKey","dataKey","useTableContext","activeSorterColumn","activeSorterType","setActiveSorterColumn","setActiveSorterType","className","cx","onClick","e","CaretUpFilled","CaretDownFilled","filterDropdown","filterDropdownWidth","onFilterDropdownVisibleChange","filterDropdownClassName","useUncontrolledToggle","onOpen","onClose","menuVisible","menuVisibleAction","useState","menuTrigger","setMenuTrigger","ref","not","Popper","visible","attachEl","off","zIndex","style","width","isFunction","columnData","setFilterDropdownVisible","set"],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/** @LICENSE
|
|
2
|
+
* @hi-ui/table
|
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
+
|
|
14
|
+
Object.defineProperty(exports, '__esModule', {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
var React = require('react');
|
|
19
|
+
|
|
20
|
+
var classname = require('@hi-ui/classname');
|
|
21
|
+
|
|
22
|
+
var env = require('@hi-ui/env');
|
|
23
|
+
|
|
24
|
+
var useLatest = require('@hi-ui/use-latest');
|
|
25
|
+
|
|
26
|
+
var typeAssertion = require('@hi-ui/type-assertion');
|
|
27
|
+
|
|
28
|
+
var emptyState = require('@hi-ui/empty-state');
|
|
29
|
+
|
|
30
|
+
var TableRow = require('./TableRow.js');
|
|
31
|
+
|
|
32
|
+
var context = require('./context.js');
|
|
33
|
+
|
|
34
|
+
function _interopDefaultLegacy(e) {
|
|
35
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
36
|
+
'default': e
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
41
|
+
|
|
42
|
+
var _role = 'table';
|
|
43
|
+
|
|
44
|
+
var _prefix = classname.getPrefixCls(_role);
|
|
45
|
+
/**
|
|
46
|
+
* TODO: What is TableBody
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
51
|
+
var _ref$prefixCls = _ref.prefixCls,
|
|
52
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls;
|
|
53
|
+
|
|
54
|
+
var _useTableContext = context.useTableContext(),
|
|
55
|
+
columns = _useTableContext.columns,
|
|
56
|
+
leafColumns = _useTableContext.leafColumns,
|
|
57
|
+
measureRowElementRef = _useTableContext.measureRowElementRef,
|
|
58
|
+
isExpandTreeRows = _useTableContext.isExpandTreeRows,
|
|
59
|
+
transitionData = _useTableContext.transitionData,
|
|
60
|
+
getColgroupProps = _useTableContext.getColgroupProps,
|
|
61
|
+
bodyTableRef = _useTableContext.bodyTableRef,
|
|
62
|
+
scrollBodyElementRef = _useTableContext.scrollBodyElementRef,
|
|
63
|
+
onTableBodyScroll = _useTableContext.onTableBodyScroll,
|
|
64
|
+
maxHeight = _useTableContext.maxHeight,
|
|
65
|
+
canScroll = _useTableContext.canScroll,
|
|
66
|
+
hasAvgColumn = _useTableContext.hasAvgColumn,
|
|
67
|
+
avgRow = _useTableContext.avgRow,
|
|
68
|
+
hasSumColumn = _useTableContext.hasSumColumn,
|
|
69
|
+
sumRow = _useTableContext.sumRow;
|
|
70
|
+
|
|
71
|
+
var cls = classname.cx(prefixCls + "-body");
|
|
72
|
+
var getRequiredProps = useLatest.useLatestCallback(function (id) {
|
|
73
|
+
return {
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
expandedTree: isExpandTreeRows(id) // checked: isCheckedId(id),
|
|
76
|
+
// semiChecked: isSemiCheckedId(id),
|
|
77
|
+
// selected: selectedId === id,
|
|
78
|
+
// loading: isLoadingId(id),
|
|
79
|
+
// focused: focusedId === id,
|
|
80
|
+
|
|
81
|
+
};
|
|
82
|
+
}); // 外层增加 div 作为滚动容器
|
|
83
|
+
|
|
84
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
85
|
+
ref: scrollBodyElementRef,
|
|
86
|
+
className: cls,
|
|
87
|
+
onScroll: onTableBodyScroll,
|
|
88
|
+
style: {
|
|
89
|
+
maxHeight: maxHeight !== undefined ? maxHeight : undefined,
|
|
90
|
+
// maxHeight 小于 table 实际高度才出现纵向滚动条
|
|
91
|
+
overflowY: maxHeight !== undefined && bodyTableRef.current && bodyTableRef.current.clientHeight > maxHeight ? 'scroll' : undefined,
|
|
92
|
+
// 表格宽度大于div宽度才出现横向滚动条
|
|
93
|
+
overflowX: canScroll ? 'scroll' : undefined
|
|
94
|
+
}
|
|
95
|
+
}, /*#__PURE__*/React__default['default'].createElement("table", {
|
|
96
|
+
ref: bodyTableRef,
|
|
97
|
+
style: {
|
|
98
|
+
width: '100%'
|
|
99
|
+
}
|
|
100
|
+
}, /*#__PURE__*/React__default['default'].createElement("colgroup", null, leafColumns.map(function (col, idx) {
|
|
101
|
+
return /*#__PURE__*/React__default['default'].createElement("col", Object.assign({
|
|
102
|
+
key: idx,
|
|
103
|
+
className: prefixCls + "-col"
|
|
104
|
+
}, getColgroupProps(col, idx)));
|
|
105
|
+
})), /*#__PURE__*/React__default['default'].createElement("tbody", null, typeAssertion.isArrayNonEmpty(transitionData) ? /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, transitionData.map(function (row, index) {
|
|
106
|
+
return /*#__PURE__*/React__default['default'].createElement(TableRow.TableRow, Object.assign({
|
|
107
|
+
ref: index === 0 ? measureRowElementRef : null,
|
|
108
|
+
// key={depth + index}
|
|
109
|
+
key: row.id,
|
|
110
|
+
// @ts-ignore
|
|
111
|
+
rowIndex: index,
|
|
112
|
+
rowData: row
|
|
113
|
+
}, getRequiredProps(row.id)));
|
|
114
|
+
}), hasSumColumn ? /*#__PURE__*/React__default['default'].createElement(TableRow.TableRow, {
|
|
115
|
+
key: sumRow.id,
|
|
116
|
+
rowIndex: transitionData.length,
|
|
117
|
+
rowData: sumRow,
|
|
118
|
+
isSumRow: true
|
|
119
|
+
}) : null, hasAvgColumn ? /*#__PURE__*/React__default['default'].createElement(TableRow.TableRow, {
|
|
120
|
+
key: avgRow.id,
|
|
121
|
+
rowIndex: transitionData.length + 1,
|
|
122
|
+
rowData: avgRow,
|
|
123
|
+
isAvgRow: true
|
|
124
|
+
}) : null) : // 空状态,colSpan 占满表格整行
|
|
125
|
+
renderEmptyContent({
|
|
126
|
+
className: prefixCls + "-empty-content",
|
|
127
|
+
colSpan: columns.length
|
|
128
|
+
}))));
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
if (env.__DEV__) {
|
|
132
|
+
TableBody.displayName = 'TableBody';
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 负责空状态渲染
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
var renderEmptyContent = function renderEmptyContent(_ref2) {
|
|
140
|
+
var className = _ref2.className,
|
|
141
|
+
colSpan = _ref2.colSpan;
|
|
142
|
+
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
143
|
+
className: className
|
|
144
|
+
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
145
|
+
colSpan: colSpan
|
|
146
|
+
}, /*#__PURE__*/React__default['default'].createElement(emptyState.EmptyState, null)));
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
exports.TableBody = TableBody;
|
|
150
|
+
//# sourceMappingURL=TableBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableBody.js","sources":["../../src/TableBody.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","TableBody","forwardRef","ref","prefixCls","useTableContext","columns","leafColumns","measureRowElementRef","isExpandTreeRows","transitionData","getColgroupProps","bodyTableRef","scrollBodyElementRef","onTableBodyScroll","maxHeight","canScroll","hasAvgColumn","avgRow","hasSumColumn","sumRow","cls","cx","getRequiredProps","useLatestCallback","id","expandedTree","React","className","onScroll","style","undefined","overflowY","current","clientHeight","overflowX","width","map","col","idx","key","isArrayNonEmpty","row","index","TableRow","rowIndex","rowData","length","isSumRow","isAvgRow","renderEmptyContent","colSpan","__DEV__","displayName","EmptyState"],"mappings":"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"}
|