@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
|
@@ -0,0 +1,216 @@
|
|
|
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 context = require('./context.js');
|
|
25
|
+
|
|
26
|
+
var TableCell = require('./TableCell.js');
|
|
27
|
+
|
|
28
|
+
var TableEmbedRow = require('./TableEmbedRow.js');
|
|
29
|
+
|
|
30
|
+
var useLatest = require('@hi-ui/use-latest');
|
|
31
|
+
|
|
32
|
+
var domUtils = require('@hi-ui/dom-utils');
|
|
33
|
+
|
|
34
|
+
var Table = require('./Table.js');
|
|
35
|
+
|
|
36
|
+
var BaseTable = require('./BaseTable.js');
|
|
37
|
+
|
|
38
|
+
var typeAssertion = require('@hi-ui/type-assertion');
|
|
39
|
+
|
|
40
|
+
function _interopDefaultLegacy(e) {
|
|
41
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
42
|
+
'default': e
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
47
|
+
|
|
48
|
+
var _role = 'table';
|
|
49
|
+
|
|
50
|
+
var _prefix = classname.getPrefixCls(_role);
|
|
51
|
+
/**
|
|
52
|
+
* TODO: What is TableRow
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
57
|
+
var _ref$prefixCls = _ref.prefixCls,
|
|
58
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
59
|
+
rowDataProp = _ref.rowData,
|
|
60
|
+
rowIndex = _ref.rowIndex,
|
|
61
|
+
expandedTree = _ref.expandedTree,
|
|
62
|
+
isSumRow = _ref.isSumRow,
|
|
63
|
+
isAvgRow = _ref.isAvgRow;
|
|
64
|
+
|
|
65
|
+
var _useTableContext = context.useTableContext(),
|
|
66
|
+
onHighlightedRowChange = _useTableContext.onHighlightedRowChange,
|
|
67
|
+
isHighlightedRow = _useTableContext.isHighlightedRow,
|
|
68
|
+
flattedColumnsWithoutChildren = _useTableContext.flattedColumnsWithoutChildren,
|
|
69
|
+
isErrorRow = _useTableContext.isErrorRow,
|
|
70
|
+
columns = _useTableContext.columns,
|
|
71
|
+
embedExpandable = _useTableContext.embedExpandable,
|
|
72
|
+
hoverRow = _useTableContext.hoverRow,
|
|
73
|
+
draggable = _useTableContext.draggable,
|
|
74
|
+
onDragStartContext = _useTableContext.onDragStart,
|
|
75
|
+
onDragLeaveContext = _useTableContext.onDragLeave,
|
|
76
|
+
onDragEndContext = _useTableContext.onDragEnd,
|
|
77
|
+
onDropContext = _useTableContext.onDrop,
|
|
78
|
+
dragRowRef = _useTableContext.dragRowRef,
|
|
79
|
+
onRow = _useTableContext.onRow;
|
|
80
|
+
|
|
81
|
+
var rowData = rowDataProp.raw,
|
|
82
|
+
rowId = rowDataProp.id; // ** ************** 拖拽管理 *************** *//
|
|
83
|
+
|
|
84
|
+
var _React$useState = React__default['default'].useState(false),
|
|
85
|
+
dragging = _React$useState[0],
|
|
86
|
+
setDragging = _React$useState[1];
|
|
87
|
+
|
|
88
|
+
var _React$useState2 = React__default['default'].useState(),
|
|
89
|
+
dragDirection = _React$useState2[0],
|
|
90
|
+
setDragDirection = _React$useState2[1];
|
|
91
|
+
|
|
92
|
+
var onDragStartContextLatest = useLatest.useLatestCallback(onDragStartContext);
|
|
93
|
+
var onDragStart = React__default['default'].useCallback(function (evt) {
|
|
94
|
+
if (!draggable) return;
|
|
95
|
+
evt.stopPropagation();
|
|
96
|
+
var clientY = evt.clientY;
|
|
97
|
+
dragRowRef.current = {
|
|
98
|
+
startClientY: clientY,
|
|
99
|
+
dragId: rowId,
|
|
100
|
+
rowData: rowData
|
|
101
|
+
};
|
|
102
|
+
setDragging(true);
|
|
103
|
+
evt.dataTransfer.setData('tableRow', JSON.stringify({
|
|
104
|
+
sourceId: rowId
|
|
105
|
+
}));
|
|
106
|
+
onDragStartContextLatest(evt, {
|
|
107
|
+
dragNode: rowData
|
|
108
|
+
});
|
|
109
|
+
}, [draggable, dragRowRef, onDragStartContextLatest, rowData, rowId]);
|
|
110
|
+
var onDragOver = React__default['default'].useCallback(function (evt) {
|
|
111
|
+
if (!draggable) return;
|
|
112
|
+
evt.preventDefault();
|
|
113
|
+
evt.stopPropagation();
|
|
114
|
+
if (!dragRowRef.current) return;
|
|
115
|
+
var _dragRowRef$current = dragRowRef.current,
|
|
116
|
+
startClientY = _dragRowRef$current.startClientY,
|
|
117
|
+
dragId = _dragRowRef$current.dragId;
|
|
118
|
+
if (dragId === rowId) return;
|
|
119
|
+
var hoverClientY = evt.clientY;
|
|
120
|
+
|
|
121
|
+
if (hoverClientY < startClientY) {
|
|
122
|
+
setDragDirection('top');
|
|
123
|
+
} else {
|
|
124
|
+
setDragDirection('bottom');
|
|
125
|
+
}
|
|
126
|
+
}, [draggable, dragRowRef, rowId]);
|
|
127
|
+
var onDragLeaveContextLatest = useLatest.useLatestCallback(onDragLeaveContext);
|
|
128
|
+
var onDragLeave = React__default['default'].useCallback(function (evt) {
|
|
129
|
+
if (!draggable) return;
|
|
130
|
+
evt.preventDefault();
|
|
131
|
+
evt.stopPropagation();
|
|
132
|
+
setDragDirection(undefined);
|
|
133
|
+
onDragLeaveContextLatest(evt);
|
|
134
|
+
}, [draggable, onDragLeaveContextLatest]);
|
|
135
|
+
var onDragEndContextLatest = useLatest.useLatestCallback(onDragEndContext);
|
|
136
|
+
var onDragEnd = React__default['default'].useCallback(function (evt) {
|
|
137
|
+
if (!draggable) return;
|
|
138
|
+
evt.preventDefault();
|
|
139
|
+
evt.stopPropagation();
|
|
140
|
+
evt.dataTransfer.clearData();
|
|
141
|
+
dragRowRef.current = null;
|
|
142
|
+
setDragDirection(undefined);
|
|
143
|
+
setDragging(false);
|
|
144
|
+
onDragEndContextLatest(evt);
|
|
145
|
+
}, [draggable, dragRowRef, onDragEndContextLatest]);
|
|
146
|
+
var onDropContextLatest = useLatest.useLatestCallback(onDropContext); // 放置目标元素时触发事件
|
|
147
|
+
|
|
148
|
+
var onDrop = React__default['default'].useCallback(function (evt) {
|
|
149
|
+
if (!draggable) return;
|
|
150
|
+
if (!dragRowRef.current) return;
|
|
151
|
+
var dragId = dragRowRef.current.dragId;
|
|
152
|
+
evt.preventDefault();
|
|
153
|
+
evt.stopPropagation();
|
|
154
|
+
setDragDirection(undefined);
|
|
155
|
+
dragRowRef.current = null;
|
|
156
|
+
var targetId = rowId;
|
|
157
|
+
if (dragId === targetId) return;
|
|
158
|
+
|
|
159
|
+
try {
|
|
160
|
+
var _JSON$parse = JSON.parse(evt.dataTransfer.getData('tableRow')),
|
|
161
|
+
sourceId = _JSON$parse.sourceId;
|
|
162
|
+
|
|
163
|
+
onDropContextLatest(evt, sourceId, targetId, dragDirection);
|
|
164
|
+
} catch (error) {
|
|
165
|
+
console.error(error);
|
|
166
|
+
}
|
|
167
|
+
}, [draggable, dragRowRef, onDropContextLatest, dragDirection, rowId]); // ** ************** 行状态管理 *************** *//
|
|
168
|
+
|
|
169
|
+
var highlighted = isHighlightedRow(rowId);
|
|
170
|
+
var hovered = hoverRow === rowId;
|
|
171
|
+
var hasError = isErrorRow(rowId);
|
|
172
|
+
var cls = classname.cx(prefixCls + "-row", hasError && prefixCls + "-row--error", hovered && prefixCls + "-row--hovered", highlighted && prefixCls + "-row--highlight", draggable && prefixCls + "-row--draggable", draggable && dragging && prefixCls + "-row--dragging", draggable && dragDirection && prefixCls + "-row--drag-" + dragDirection, isSumRow && prefixCls + "-row--total", isAvgRow && prefixCls + "-row--avg");
|
|
173
|
+
var firstColumn = flattedColumnsWithoutChildren.find(function (item) {
|
|
174
|
+
return item.dataKey !== Table.SELECTION_DATA_KEY && item.dataKey !== BaseTable.EMBED_DATA_KEY;
|
|
175
|
+
});
|
|
176
|
+
var rowExtraProps = typeAssertion.isFunction(onRow) ? onRow() : {};
|
|
177
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("tr", Object.assign({
|
|
178
|
+
ref: ref,
|
|
179
|
+
className: cls,
|
|
180
|
+
key: "row"
|
|
181
|
+
}, rowExtraProps, {
|
|
182
|
+
onDoubleClick: function onDoubleClick(evt) {
|
|
183
|
+
if (rowExtraProps.onDoubleClick) {
|
|
184
|
+
rowExtraProps.onDoubleClick(evt);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
onHighlightedRowChange(rowData, !highlighted);
|
|
188
|
+
},
|
|
189
|
+
draggable: domUtils.setAttrAria(draggable),
|
|
190
|
+
onDragStart: onDragStart,
|
|
191
|
+
onDragOver: onDragOver,
|
|
192
|
+
onDragEnd: onDragEnd,
|
|
193
|
+
onDragLeave: onDragLeave,
|
|
194
|
+
onDrop: onDrop
|
|
195
|
+
}), flattedColumnsWithoutChildren.map(function (column, idx) {
|
|
196
|
+
return /*#__PURE__*/React__default['default'].createElement(TableCell.TableCell, {
|
|
197
|
+
key: idx,
|
|
198
|
+
column: column,
|
|
199
|
+
isSwitcherCol: firstColumn ? firstColumn.id === column.id : false,
|
|
200
|
+
rowData: rowDataProp,
|
|
201
|
+
rowIndex: rowIndex,
|
|
202
|
+
expandedTree: expandedTree
|
|
203
|
+
});
|
|
204
|
+
})), embedExpandable ? /*#__PURE__*/React__default['default'].createElement(TableEmbedRow.TableEmbedRow, {
|
|
205
|
+
colSpan: columns.length,
|
|
206
|
+
rowData: rowDataProp,
|
|
207
|
+
rowIndex: rowIndex
|
|
208
|
+
}) : null);
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
if (env.__DEV__) {
|
|
212
|
+
TableRow.displayName = 'TableRow';
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
exports.TableRow = TableRow;
|
|
216
|
+
//# sourceMappingURL=TableRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../../src/TableRow.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","TableRow","forwardRef","ref","prefixCls","rowDataProp","rowData","rowIndex","expandedTree","isSumRow","isAvgRow","useTableContext","onHighlightedRowChange","isHighlightedRow","flattedColumnsWithoutChildren","isErrorRow","columns","embedExpandable","hoverRow","draggable","onDragStartContext","onDragStart","onDragLeaveContext","onDragLeave","onDragEndContext","onDragEnd","onDropContext","onDrop","dragRowRef","onRow","raw","rowId","id","React","useState","dragging","setDragging","dragDirection","setDragDirection","onDragStartContextLatest","useLatestCallback","useCallback","evt","stopPropagation","clientY","current","startClientY","dragId","dataTransfer","setData","JSON","stringify","sourceId","dragNode","onDragOver","preventDefault","hoverClientY","onDragLeaveContextLatest","undefined","onDragEndContextLatest","clearData","onDropContextLatest","targetId","parse","getData","error","console","highlighted","hovered","hasError","cls","cx","firstColumn","find","item","dataKey","SELECTION_DATA_KEY","EMBED_DATA_KEY","rowExtraProps","isFunction","className","key","onDoubleClick","setAttrAria","map","column","idx","TableCell","isSwitcherCol","TableEmbedRow","colSpan","length","__DEV__","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
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 _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
19
|
+
|
|
20
|
+
var tslib = require('tslib');
|
|
21
|
+
|
|
22
|
+
var React = require('react');
|
|
23
|
+
|
|
24
|
+
var classname = require('@hi-ui/classname');
|
|
25
|
+
|
|
26
|
+
var env = require('@hi-ui/env');
|
|
27
|
+
|
|
28
|
+
var icons = require('@hi-ui/icons');
|
|
29
|
+
|
|
30
|
+
var iconButton = require('@hi-ui/icon-button');
|
|
31
|
+
|
|
32
|
+
var useToggle = require('@hi-ui/use-toggle');
|
|
33
|
+
|
|
34
|
+
var useLatest = require('@hi-ui/use-latest');
|
|
35
|
+
|
|
36
|
+
var localeContext = require('@hi-ui/locale-context');
|
|
37
|
+
|
|
38
|
+
var index$1 = require('./utils/func-utils/lib/esm/index.js');
|
|
39
|
+
|
|
40
|
+
var index = require('./hooks/use-drag-sorter/lib/esm/index.js');
|
|
41
|
+
|
|
42
|
+
var drawer = require('@hi-ui/drawer');
|
|
43
|
+
|
|
44
|
+
var button = require('@hi-ui/button');
|
|
45
|
+
|
|
46
|
+
var Checkbox = require('@hi-ui/checkbox');
|
|
47
|
+
|
|
48
|
+
function _interopDefaultLegacy(e) {
|
|
49
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
50
|
+
'default': e
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
55
|
+
|
|
56
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
57
|
+
|
|
58
|
+
var _prefix = classname.getPrefixCls('table-setting');
|
|
59
|
+
/**
|
|
60
|
+
* 表头右侧高级设置菜单(抽屉式)
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
65
|
+
var _ref$prefixCls = _ref.prefixCls,
|
|
66
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
67
|
+
sortedCols = _ref.sortedCols,
|
|
68
|
+
setSortCols = _ref.setSortCols,
|
|
69
|
+
cacheSortedCols = _ref.cacheSortedCols,
|
|
70
|
+
setCacheSortedCols = _ref.setCacheSortedCols,
|
|
71
|
+
hiddenColKeys = _ref.hiddenColKeys,
|
|
72
|
+
setHiddenColKeys = _ref.setHiddenColKeys,
|
|
73
|
+
cacheHiddenColKeys = _ref.cacheHiddenColKeys,
|
|
74
|
+
setCacheHiddenColKeys = _ref.setCacheHiddenColKeys;
|
|
75
|
+
var i18n = localeContext.useLocaleContext();
|
|
76
|
+
var dropProps = index.useDrop({
|
|
77
|
+
draggable: true,
|
|
78
|
+
idFieldName: 'dataKey',
|
|
79
|
+
onSwap: function onSwap(dragItem, dropItem, direction, info) {
|
|
80
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
|
|
81
|
+
return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
|
|
82
|
+
while (1) {
|
|
83
|
+
switch (_context.prev = _context.next) {
|
|
84
|
+
case 0:
|
|
85
|
+
setCacheSortedCols(function (prev) {
|
|
86
|
+
var nextCacheSortColKeys = [].concat(prev);
|
|
87
|
+
|
|
88
|
+
var _nextCacheSortColKeys = nextCacheSortColKeys.splice(info.dragIndex, 1),
|
|
89
|
+
removed = _nextCacheSortColKeys[0];
|
|
90
|
+
|
|
91
|
+
nextCacheSortColKeys.splice(info.dropIndex, 0, removed);
|
|
92
|
+
return nextCacheSortColKeys;
|
|
93
|
+
});
|
|
94
|
+
return _context.abrupt("return", true);
|
|
95
|
+
|
|
96
|
+
case 2:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context.stop();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}, _callee);
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
var _useToggle = useToggle.useToggle(),
|
|
107
|
+
menuVisible = _useToggle[0],
|
|
108
|
+
menuVisibleAction = _useToggle[1];
|
|
109
|
+
|
|
110
|
+
var resetLatest = useLatest.useLatestCallback(function () {
|
|
111
|
+
setCacheHiddenColKeys(hiddenColKeys);
|
|
112
|
+
setCacheSortedCols(sortedCols);
|
|
113
|
+
}); // 当 visible 由 false 变为 true 时触发
|
|
114
|
+
|
|
115
|
+
var prevShowPopperRef = React.useRef(!menuVisible);
|
|
116
|
+
React.useEffect(function () {
|
|
117
|
+
if (!prevShowPopperRef.current && menuVisible) {
|
|
118
|
+
resetLatest();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
prevShowPopperRef.current = menuVisible;
|
|
122
|
+
}, [menuVisible, resetLatest]);
|
|
123
|
+
|
|
124
|
+
var onConfirm = function onConfirm() {
|
|
125
|
+
// 触发 table 更新列显隐及排序
|
|
126
|
+
setHiddenColKeys(cacheHiddenColKeys);
|
|
127
|
+
setSortCols(cacheSortedCols);
|
|
128
|
+
menuVisibleAction.off();
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
var cls = classname.cx(prefixCls);
|
|
132
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
133
|
+
ref: ref,
|
|
134
|
+
className: cls
|
|
135
|
+
}, /*#__PURE__*/React__default['default'].createElement(iconButton.IconButton, {
|
|
136
|
+
icon: /*#__PURE__*/React__default['default'].createElement(icons.SettingOutlined, null),
|
|
137
|
+
onClick: menuVisibleAction.not
|
|
138
|
+
}), /*#__PURE__*/React__default['default'].createElement(drawer.Drawer, {
|
|
139
|
+
className: prefixCls + "__drawer",
|
|
140
|
+
title: i18n.get('table.fieldExplorer'),
|
|
141
|
+
visible: menuVisible,
|
|
142
|
+
onClose: menuVisibleAction.off,
|
|
143
|
+
footer: /*#__PURE__*/React__default['default'].createElement("div", {
|
|
144
|
+
className: prefixCls + "__btn-group"
|
|
145
|
+
}, /*#__PURE__*/React__default['default'].createElement(button.Button, {
|
|
146
|
+
key: 0,
|
|
147
|
+
className: prefixCls + "__btn-cancel",
|
|
148
|
+
onClick: resetLatest
|
|
149
|
+
}, i18n.get('table.reset')), /*#__PURE__*/React__default['default'].createElement(button.Button, {
|
|
150
|
+
key: 1,
|
|
151
|
+
className: prefixCls + "__btn-confirm",
|
|
152
|
+
onClick: onConfirm,
|
|
153
|
+
type: "primary"
|
|
154
|
+
}, i18n.get('table.confirm')))
|
|
155
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
156
|
+
className: prefixCls + "__content"
|
|
157
|
+
}, cacheSortedCols.map(function (col, index) {
|
|
158
|
+
return /*#__PURE__*/React__default['default'].createElement(TableSettingMenuItem, {
|
|
159
|
+
key: col.dataKey,
|
|
160
|
+
prefixCls: prefixCls,
|
|
161
|
+
column: col,
|
|
162
|
+
index: index,
|
|
163
|
+
dropProps: dropProps,
|
|
164
|
+
cacheHiddenColKeys: cacheHiddenColKeys,
|
|
165
|
+
setCacheHiddenColKeys: setCacheHiddenColKeys
|
|
166
|
+
});
|
|
167
|
+
}))));
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
if (env.__DEV__) {
|
|
171
|
+
TableSettingMenu.displayName = 'TableSettingMenu';
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function TableSettingMenuItem(_ref2) {
|
|
175
|
+
var prefixCls = _ref2.prefixCls,
|
|
176
|
+
column = _ref2.column,
|
|
177
|
+
cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
|
|
178
|
+
setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
|
|
179
|
+
dropProps = _ref2.dropProps,
|
|
180
|
+
index$2 = _ref2.index;
|
|
181
|
+
var dataKey = column.dataKey,
|
|
182
|
+
title = column.title;
|
|
183
|
+
|
|
184
|
+
var _useDrag = index.useDrag(Object.assign(Object.assign({}, dropProps), {
|
|
185
|
+
item: column,
|
|
186
|
+
index: index$2,
|
|
187
|
+
idFieldName: 'dataKey',
|
|
188
|
+
dataTransferKey: 'table-setting-data'
|
|
189
|
+
})),
|
|
190
|
+
dragging = _useDrag.dragging,
|
|
191
|
+
direction = _useDrag.direction,
|
|
192
|
+
getDragTriggerProps = _useDrag.getDragTriggerProps,
|
|
193
|
+
getDropTriggerProps = _useDrag.getDropTriggerProps;
|
|
194
|
+
|
|
195
|
+
return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
|
|
196
|
+
className: classname.cx(prefixCls + "-item", dragging && prefixCls + "-item--dragging", direction && prefixCls + "-item--direction-" + direction)
|
|
197
|
+
}, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
198
|
+
className: prefixCls + "-item__wrap"
|
|
199
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
200
|
+
style: {
|
|
201
|
+
display: 'flex',
|
|
202
|
+
alignItems: 'center'
|
|
203
|
+
}
|
|
204
|
+
}, /*#__PURE__*/React__default['default'].createElement(Checkbox.Checkbox, {
|
|
205
|
+
checked: !cacheHiddenColKeys.includes(dataKey),
|
|
206
|
+
onChange: function onChange(evt) {
|
|
207
|
+
var shouldChecked = evt.target.checked;
|
|
208
|
+
var nextCacheHiddenColKeys = shouldChecked ? cacheHiddenColKeys.filter(function (col) {
|
|
209
|
+
return col !== dataKey;
|
|
210
|
+
}) : cacheHiddenColKeys.concat(dataKey);
|
|
211
|
+
setCacheHiddenColKeys(nextCacheHiddenColKeys);
|
|
212
|
+
}
|
|
213
|
+
}), /*#__PURE__*/React__default['default'].createElement("span", {
|
|
214
|
+
style: {
|
|
215
|
+
display: 'inline-block',
|
|
216
|
+
marginLeft: 9
|
|
217
|
+
}
|
|
218
|
+
}, index$1.runIfFunc(title))), /*#__PURE__*/React__default['default'].createElement(icons.MenuOutlined, null)));
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
exports.TableSettingMenu = TableSettingMenu;
|
|
222
|
+
//# sourceMappingURL=TableSettingMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSettingMenu.js","sources":["../../src/TableSettingMenu.tsx"],"sourcesContent":[null],"names":["_prefix","getPrefixCls","TableSettingMenu","forwardRef","ref","prefixCls","sortedCols","setSortCols","cacheSortedCols","setCacheSortedCols","hiddenColKeys","setHiddenColKeys","cacheHiddenColKeys","setCacheHiddenColKeys","i18n","useLocaleContext","dropProps","useDrop","draggable","idFieldName","onSwap","dragItem","dropItem","direction","info","prev","nextCacheSortColKeys","splice","dragIndex","removed","dropIndex","useToggle","menuVisible","menuVisibleAction","resetLatest","useLatestCallback","prevShowPopperRef","useRef","useEffect","current","onConfirm","off","cls","cx","React","className","IconButton","icon","SettingOutlined","onClick","not","Drawer","title","get","visible","onClose","footer","Button","key","type","map","col","index","TableSettingMenuItem","dataKey","column","__DEV__","displayName","useDrag","item","dataTransferKey","dragging","getDragTriggerProps","getDropTriggerProps","style","display","alignItems","Checkbox","checked","includes","onChange","evt","shouldChecked","target","nextCacheHiddenColKeys","filter","concat","marginLeft","runIfFunc","MenuOutlined"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
Object.defineProperty(exports, '__esModule', {
|
|
13
|
+
value: true
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
var React = require('react');
|
|
17
|
+
|
|
18
|
+
var TableContext = /*#__PURE__*/React.createContext(null);
|
|
19
|
+
var TableProvider = TableContext.Provider;
|
|
20
|
+
|
|
21
|
+
var useTableContext = function useTableContext() {
|
|
22
|
+
var context = React.useContext(TableContext);
|
|
23
|
+
|
|
24
|
+
if (!context) {
|
|
25
|
+
throw new Error('The TableContext context should using in Table.');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return context;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
exports.TableProvider = TableProvider;
|
|
32
|
+
exports.useTableContext = useTableContext;
|
|
33
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../src/context.ts"],"sourcesContent":[null],"names":["TableContext","createContext","TableProvider","Provider","useTableContext","context","useContext","Error"],"mappings":";;;;;;;;;;;;;;;;;AAMA,IAAMA,YAAY,gBAAGC,mBAAAA,CAUnB,IAVmBA,CAArB;IAYaC,aAAa,GAAGF,YAAY,CAACG;;IAE7BC,eAAe,GAAG,SAAlBA,eAAkB;MACvBC,OAAO,GAAGC,gBAAAA,CAAWN,YAAXM;;MAEZ,CAACD,SAAS;UACN,IAAIE,KAAJ,CAAU,iDAAV;;;SAGDF;;;;"}
|
|
@@ -0,0 +1,145 @@
|
|
|
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 _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
19
|
+
|
|
20
|
+
var tslib = require('tslib');
|
|
21
|
+
|
|
22
|
+
var React = require('react');
|
|
23
|
+
|
|
24
|
+
var useLatest = require('@hi-ui/use-latest');
|
|
25
|
+
|
|
26
|
+
var treeUtils = require('@hi-ui/tree-utils');
|
|
27
|
+
|
|
28
|
+
var useCheckState = require('@hi-ui/use-check-state');
|
|
29
|
+
|
|
30
|
+
function _interopDefaultLegacy(e) {
|
|
31
|
+
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
32
|
+
'default': e
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
37
|
+
|
|
38
|
+
var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadChildren) {
|
|
39
|
+
var onLoadChildrenLatest = useLatest.useLatestCallback(onLoadChildren); // 加载节点
|
|
40
|
+
|
|
41
|
+
var loadChildren = React.useCallback(function (node) {
|
|
42
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
|
|
43
|
+
var childrenNodes;
|
|
44
|
+
return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
|
|
45
|
+
while (1) {
|
|
46
|
+
switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
_context.next = 2;
|
|
49
|
+
return onLoadChildrenLatest(node);
|
|
50
|
+
|
|
51
|
+
case 2:
|
|
52
|
+
childrenNodes = _context.sent;
|
|
53
|
+
|
|
54
|
+
if (Array.isArray(childrenNodes)) {
|
|
55
|
+
setCascaderData(function (prev) {
|
|
56
|
+
var nextTreeData = treeUtils.cloneTree(prev);
|
|
57
|
+
treeUtils.addChildrenById(nextTreeData, node.id, childrenNodes);
|
|
58
|
+
return nextTreeData;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
case 4:
|
|
63
|
+
case "end":
|
|
64
|
+
return _context.stop();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}, _callee);
|
|
68
|
+
}));
|
|
69
|
+
}, [onLoadChildrenLatest, setCascaderData]);
|
|
70
|
+
|
|
71
|
+
var _useCheckState = useCheckState.useCheckState(),
|
|
72
|
+
loadingIds = _useCheckState.state,
|
|
73
|
+
addLoadingIds = _useCheckState.add,
|
|
74
|
+
removeLoadingIds = _useCheckState.remove;
|
|
75
|
+
|
|
76
|
+
var onExpandLatest = useLatest.useLatestCallback(onExpand);
|
|
77
|
+
var onNodeSwitch = React.useCallback(function (node, onlyExpand) {
|
|
78
|
+
if (onlyExpand === void 0) {
|
|
79
|
+
onlyExpand = false;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
|
|
83
|
+
var id, children, isLeaf;
|
|
84
|
+
return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
|
|
85
|
+
while (1) {
|
|
86
|
+
switch (_context2.prev = _context2.next) {
|
|
87
|
+
case 0:
|
|
88
|
+
// 直接触发选中该节点
|
|
89
|
+
onExpandLatest(node, onlyExpand);
|
|
90
|
+
id = node.id, children = node.children, isLeaf = node.isLeaf;
|
|
91
|
+
|
|
92
|
+
if (!children) {
|
|
93
|
+
_context2.next = 4;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return _context2.abrupt("return");
|
|
98
|
+
|
|
99
|
+
case 4:
|
|
100
|
+
if (!isLeaf) {
|
|
101
|
+
_context2.next = 6;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return _context2.abrupt("return");
|
|
106
|
+
|
|
107
|
+
case 6:
|
|
108
|
+
if (!onLoadChildren) {
|
|
109
|
+
_context2.next = 17;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
addLoadingIds(id);
|
|
114
|
+
_context2.prev = 8;
|
|
115
|
+
_context2.next = 11;
|
|
116
|
+
return loadChildren(node);
|
|
117
|
+
|
|
118
|
+
case 11:
|
|
119
|
+
removeLoadingIds(id);
|
|
120
|
+
_context2.next = 17;
|
|
121
|
+
break;
|
|
122
|
+
|
|
123
|
+
case 14:
|
|
124
|
+
_context2.prev = 14;
|
|
125
|
+
_context2.t0 = _context2["catch"](8);
|
|
126
|
+
removeLoadingIds(id);
|
|
127
|
+
|
|
128
|
+
case 17:
|
|
129
|
+
case "end":
|
|
130
|
+
return _context2.stop();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}, _callee2, null, [[8, 14]]);
|
|
134
|
+
}));
|
|
135
|
+
}, [loadChildren, onLoadChildren, onExpandLatest, addLoadingIds, removeLoadingIds]);
|
|
136
|
+
|
|
137
|
+
var isLoadingId = function isLoadingId(id) {
|
|
138
|
+
return loadingIds.indexOf(id) !== -1;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
return [isLoadingId, onNodeSwitch];
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
exports.useAsyncSwitch = useAsyncSwitch;
|
|
145
|
+
//# sourceMappingURL=use-async-switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-async-switch.js","sources":["../../../src/hooks/use-async-switch.ts"],"sourcesContent":[null],"names":["useAsyncSwitch","setCascaderData","onExpand","onLoadChildren","onLoadChildrenLatest","useLatestCallback","loadChildren","useCallback","node","childrenNodes","Array","isArray","prev","nextTreeData","cloneTree","addChildrenById","id","useCheckState","loadingIds","state","addLoadingIds","add","removeLoadingIds","remove","onExpandLatest","onNodeSwitch","onlyExpand","children","isLeaf","isLoadingId","indexOf"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,eAD4B,EAE5BC,QAF4B,EAG5BC,cAH4B;MAKtBC,oBAAoB,GAAGC,2BAAAA,CAAkBF,cAAlBE;;MAGvBC,YAAY,GAAGC,iBAAAA,CACnB,UAAOC,IAAP;;;;;;;;qBAC8BJ,oBAAoB,CAACI,IAAD;;;AAA1CC,cAAAA,6BAAAA;;kBAEFC,KAAK,CAACC,OAAND,CAAcD,aAAdC,GAA8B;AAChCT,gBAAAA,eAAe,CAAC,UAACW,IAAD;sBACRC,YAAY,GAAGC,mBAAAA,CAAUF,IAAVE;AACrBC,kBAAAA,yBAAAA,CAAgBF,YAAhBE,EAA8BP,IAAI,CAACQ,EAAnCD,EAAuCN,aAAvCM;yBACOF;AAHM,iBAAA,CAAfZ;;;;;;;;;;AAL0B,GAAXM,EAYnB,CAACH,oBAAD,EAAuBH,eAAvB,CAZmBM;;uBAeuDU,2BAAAA;MAA7DC,UAAf,kBAAQC;MAAwBC,aAAhC,kBAA2BC;MAA4BC,gBAAvD,kBAA+CC;;MAGzCC,cAAc,GAAGnB,2BAAAA,CAAkBH,QAAlBG;MAEjBoB,YAAY,GAAGlB,iBAAAA,CACnB,UAAOC,IAAP,EAAgCkB,UAAhC;QAAgCA,UAAhC;AAAgCA,MAAAA,UAAhC,GAA6C,KAAbA;;;;;;;;;;AAE9BF,cAAAA,cAAc,CAAChB,IAAD,EAAOkB,UAAP,CAAdF;AAEQR,cAAAA,KAAyBR,KAAzBQ,EAAAA,EAAIW,WAAqBnB,KAArBmB,QAAJX,EAAcY,SAAWpB,KAAXoB,MAAdZ;;mBAEJW;;;;;;;;mBAIAC;;;;;;;;mBAIAzB;;;;;AACFiB,cAAAA,aAAa,CAACJ,EAAD,CAAbI;;;qBAEQd,YAAY,CAACE,IAAD;;;AAClBc,cAAAA,gBAAgB,CAACN,EAAD,CAAhBM;;;;;;;AAEAA,cAAAA,gBAAgB,CAACN,EAAD,CAAhBM;;;;;;;;;AArBwB,GAAXf,EAyBnB,CAACD,YAAD,EAAeH,cAAf,EAA+BqB,cAA/B,EAA+CJ,aAA/C,EAA8DE,gBAA9D,CAzBmBf;;MA4BfsB,WAAW,GAAG,SAAdA,WAAc,CAACb,EAAD;WAAyBE,UAAU,CAACY,OAAXZ,CAAmBF,EAAnBE,MAA2B,CAAC;AAAzE;;SAEO,CAACW,WAAD,EAAcJ,YAAd;;;"}
|