@vtx/components 3.1.74 → 3.1.76
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/lib/index.js +14 -0
- package/lib/index.js.map +1 -1
- package/lib/vtx-datagrid/index.js +2 -2
- package/lib/vtx-datagrid/index.js.map +1 -1
- package/lib/vtx-tree/index.js +279 -0
- package/lib/vtx-tree/index.js.map +1 -0
- package/lib/vtx-tree/style/css.js +6 -0
- package/lib/vtx-tree/style/css.js.map +1 -0
- package/lib/vtx-tree/style/index.css +54 -0
- package/lib/vtx-tree/style/index.js +6 -0
- package/lib/vtx-tree/style/index.js.map +1 -0
- package/lib/vtx-tree/style/index.less +53 -0
- package/lib/vtx-tree/utils.js +81 -0
- package/lib/vtx-tree/utils.js.map +1 -0
- package/lib/vtx-tree-select/index.js +185 -0
- package/lib/vtx-tree-select/index.js.map +1 -0
- package/lib/vtx-tree-select/style/css.js +7 -0
- package/lib/vtx-tree-select/style/css.js.map +1 -0
- package/lib/vtx-tree-select/style/index.css +53 -0
- package/lib/vtx-tree-select/style/index.js +7 -0
- package/lib/vtx-tree-select/style/index.js.map +1 -0
- package/lib/vtx-tree-select/style/index.less +61 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -135,6 +135,18 @@ Object.defineProperty(exports, "VtxTimePicker", {
|
|
|
135
135
|
return _vtxTimePicker["default"];
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
|
+
Object.defineProperty(exports, "VtxTree", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function get() {
|
|
141
|
+
return _vtxTree["default"];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "VtxTreeSelect", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function get() {
|
|
147
|
+
return _vtxTreeSelect["default"];
|
|
148
|
+
}
|
|
149
|
+
});
|
|
138
150
|
Object.defineProperty(exports, "VtxUpload", {
|
|
139
151
|
enumerable: true,
|
|
140
152
|
get: function get() {
|
|
@@ -176,12 +188,14 @@ var _vtxSelect = _interopRequireDefault(require("./vtx-select"));
|
|
|
176
188
|
var _vtxInput = _interopRequireDefault(require("./vtx-input"));
|
|
177
189
|
var _vtxTimePicker = _interopRequireDefault(require("./vtx-time-picker"));
|
|
178
190
|
var _vtxUpload = _interopRequireDefault(require("./vtx-upload"));
|
|
191
|
+
var _vtxTreeSelect = _interopRequireDefault(require("./vtx-tree-select"));
|
|
179
192
|
var _vtxZtreeSelect = _interopRequireDefault(require("./vtx-ztree-select"));
|
|
180
193
|
var _vtxDatagrid = _interopRequireDefault(require("./vtx-datagrid"));
|
|
181
194
|
var _vtxEllipsisText = _interopRequireDefault(require("./vtx-ellipsis-text"));
|
|
182
195
|
var _vtxImage = _interopRequireDefault(require("./vtx-image"));
|
|
183
196
|
var _vtxRpsFrame = _interopRequireDefault(require("./vtx-rps-frame"));
|
|
184
197
|
var _vtxStatisticsColumn = _interopRequireDefault(require("./vtx-statistics-column"));
|
|
198
|
+
var _vtxTree = _interopRequireDefault(require("./vtx-tree"));
|
|
185
199
|
var _vtxZtree = _interopRequireDefault(require("./vtx-ztree"));
|
|
186
200
|
var _vtxSplitPane = _interopRequireDefault(require("./vtx-split-pane"));
|
|
187
201
|
var _vtxModal = _interopRequireDefault(require("./vtx-modal"));
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_vtxFormLayout","_interopRequireDefault","require","_vtxPageLayout","_vtxSearch","_vtxColorPicker","_vtxCombogrid","_vtxDatePicker","_vtxEditor","_vtxWangEditor","_vtxExport","_vtxExportAsync","_vtxImport","_vtxImport2","_vtxSearchMapInput","_vtxSelect","_vtxInput","_vtxTimePicker","_vtxUpload","_vtxZtreeSelect","_vtxDatagrid","_vtxEllipsisText","_vtxImage","_vtxRpsFrame","_vtxStatisticsColumn","_vtxZtree","_vtxSplitPane","_vtxModal","obj","__esModule"],"sources":["index.js"],"sourcesContent":["// layout\
|
|
1
|
+
{"version":3,"file":"index.js","names":["_vtxFormLayout","_interopRequireDefault","require","_vtxPageLayout","_vtxSearch","_vtxColorPicker","_vtxCombogrid","_vtxDatePicker","_vtxEditor","_vtxWangEditor","_vtxExport","_vtxExportAsync","_vtxImport","_vtxImport2","_vtxSearchMapInput","_vtxSelect","_vtxInput","_vtxTimePicker","_vtxUpload","_vtxTreeSelect","_vtxZtreeSelect","_vtxDatagrid","_vtxEllipsisText","_vtxImage","_vtxRpsFrame","_vtxStatisticsColumn","_vtxTree","_vtxZtree","_vtxSplitPane","_vtxModal","obj","__esModule"],"sources":["index.js"],"sourcesContent":["// layout\nexport { default as VtxFormLayout } from './vtx-form-layout';\nexport { default as VtxPageLayout } from './vtx-page-layout';\nexport { default as VtxSearch } from './vtx-search';\n\n// data entry\nexport { default as VtxColorPicker } from './vtx-color-picker';\nexport { default as VtxCombogrid } from './vtx-combogrid';\nexport { default as VtxDatePicker } from './vtx-date-picker';\nexport { default as VtxEditor } from './vtx-editor';\nexport { default as VtxWangEditor } from './vtx-wang-editor';\n\nexport { default as VtxExport } from './vtx-export';\nexport { default as VtxExportAsync } from './vtx-export-async';\nexport { default as VtxImport } from './vtx-import';\nexport { default as VtxImport2 } from './vtx-import2';\nexport { default as VtxSearchMapInput } from './vtx-search-map-input';\nexport { default as VtxSelect } from './vtx-select';\nexport { default as VtxInput } from './vtx-input';\nexport { default as VtxTimePicker } from './vtx-time-picker';\nexport { default as VtxUpload } from './vtx-upload';\nexport { default as VtxTreeSelect } from './vtx-tree-select';\nexport { default as VtxZtreeSelect } from './vtx-ztree-select';\n\n// data display\nexport { default as VtxDatagrid } from './vtx-datagrid';\nexport { default as VtxEllipsisText } from './vtx-ellipsis-text';\nexport { default as VtxImage } from './vtx-image';\nexport { default as VtxRpsFrame } from './vtx-rps-frame';\nexport { default as VtxStatisticsColumn } from './vtx-statistics-column';\nexport { default as VtxTree } from './vtx-tree';\nexport { default as VtxZtree } from './vtx-ztree';\nexport { default as VtxSplitPane } from './vtx-split-pane';\n\n// feedback\nexport { default as VtxModal } from './vtx-modal';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AAGA,IAAAG,eAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,UAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,cAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,UAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,eAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,UAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,kBAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,UAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,SAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,cAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,UAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,cAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,eAAA,GAAAnB,sBAAA,CAAAC,OAAA;AAGA,IAAAmB,YAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,gBAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,SAAA,GAAAtB,sBAAA,CAAAC,OAAA;AACA,IAAAsB,YAAA,GAAAvB,sBAAA,CAAAC,OAAA;AACA,IAAAuB,oBAAA,GAAAxB,sBAAA,CAAAC,OAAA;AACA,IAAAwB,QAAA,GAAAzB,sBAAA,CAAAC,OAAA;AACA,IAAAyB,SAAA,GAAA1B,sBAAA,CAAAC,OAAA;AACA,IAAA0B,aAAA,GAAA3B,sBAAA,CAAAC,OAAA;AAGA,IAAA2B,SAAA,GAAA5B,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA","ignoreList":[]}
|
|
@@ -225,7 +225,7 @@ function VtxDatagrid(props) {
|
|
|
225
225
|
var bodyDiv = Array.prototype.filter.call(divs, function (dom) {
|
|
226
226
|
return dom.className.includes('ant-table-body') || dom.className.includes('ant-table-content');
|
|
227
227
|
})[0];
|
|
228
|
-
bodyDiv.style.minHeight = "".concat(bodyHeight, "px");
|
|
228
|
+
bodyDiv.style.minHeight = "".concat(bodyHeight - (rest.scrollY || 0), "px");
|
|
229
229
|
setState({
|
|
230
230
|
scrollY: bodyHeight
|
|
231
231
|
});
|
|
@@ -390,7 +390,7 @@ function VtxDatagrid(props) {
|
|
|
390
390
|
var scroll;
|
|
391
391
|
if (autoFit) {
|
|
392
392
|
scroll = _objectSpread(_objectSpread({}, rest.scroll || {}), {}, {
|
|
393
|
-
y: scrollY
|
|
393
|
+
y: scrollY - (rest.scrollY || 0)
|
|
394
394
|
});
|
|
395
395
|
}
|
|
396
396
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames2","_interopRequireDefault","_propTypes","_table","_tooltip","_dropdown","_menu","_empty","_RedoOutlined","_ColumnHeightOutlined","_SettingOutlined","_Alert","_ColumnSetting","_ResizeableTitle","_renderColumnButtons","_useSet3","_isFunction","_axios","_excluded","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","toPrimitive","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","slice","constructor","name","test","len","arr2","l","f","next","done","isMac","navigator","userAgent","VtxDatagrid","props","_rest$dataSource","_rest$rowSelection","_rest$rowSelection2","_dataSource2","_rest$rowSelection3","_dataSource3","_useSet","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","concat","Date","getTime","scrollY","size","projectKey","_useSet2","state","setState","datagridRef","useRef","alertHeight","toolbarHeight","settingRef","_props$prefixCls","prefixCls","_props$toolbar","toolbar","toolbarClassName","_props$toolbarTilte","toolbarTilte","buttonGroup","_props$refreshIconVis","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","_props$indexColumn","indexColumn","_props$indexFixed","indexFixed","_props$bordered","bordered","_props$indexTitle","indexTitle","_props$startIndex","startIndex","_props$autoFit","autoFit","_props$headFootHeight","headFootHeight","columnResizable","components","className","style","_props$emptyText","emptyText","onRowSelectionClear","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","uniqueKey","_props$customEnumText","customEnumText","rest","getUniqueKey","route","location","href","match","axios","method","url","pathname","then","res","_res$data","status","data","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","dataSource","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","_rest$columns","parseColumns","columns","map","col","dataIndex","type","_settingRef$current","current","showColumns","_settingRef$current2","_rest$columns2","columnKeys","item","includes","_rest$columns3","hasAlert","_datagridRef$current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","dom","minHeight","handleChangeColumns","_rest$columns4","toolbarRender","createElement","classnames","onClick","title","refreshText","overlay","_ref","selectedKeys","Item","densityDefaultText","densityMiddleText","densitySmallText","trigger","columnDensityText","onChange","onReset","columnSettingText","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","_ref2","_ref3","nextColumns","_dataSource","fixed","_serialNum","scroll","y","id","ref","height","locale","description","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport Dropdown from 'antd/lib/dropdown';\nimport Menu from 'antd/lib/menu';\nimport Empty from 'antd/lib/empty';\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\nimport Alert from './Alert';\nimport ColumnSetting from './ColumnSetting';\nimport ResizeableTitle from './ResizeableTitle';\nimport renderColumnButtons from './renderColumnButtons';\nimport useSet from '../_util/useSet';\nimport isFunction from '../_util/isFunction';\nimport axios from 'axios';\n\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\n\nexport default function VtxDatagrid(props) {\n const [state, setState] = useSet({\n // 显示列\n visibleColumns: [],\n // 列设置选中的列\n checkedColumnKeys: [],\n // 列设置选项\n columnSettingOptions: [],\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\n scrollY: 0,\n size: 'middle',\n projectKey: '',\n });\n const {\n visibleColumns,\n checkedColumnKeys,\n columnSettingOptions,\n datagridId,\n scrollY,\n size,\n } = state;\n const datagridRef = useRef(null);\n // 列设置提示高度\n const alertHeight = useRef(0);\n // 工具栏高度\n const toolbarHeight = useRef(0);\n // 列接口显示字段\n const settingRef = useRef();\n\n const {\n prefixCls = 'vtx-datagrid',\n toolbar = true,\n toolbarClassName,\n toolbarTilte = '查询结果',\n buttonGroup,\n refreshIconVisible = true,\n hideColumnSetting,\n hideColumnHeight,\n visibleColumnKeys,\n defaultVisibleColumnKeys,\n onVisibleColumnsChange,\n onRefresh,\n indexColumn = true,\n indexFixed = false,\n bordered = true,\n indexTitle = '序号',\n startIndex = 1,\n autoFit = true,\n headFootHeight = 115,\n columnResizable,\n components,\n className,\n style,\n emptyText = '暂无数据',\n onRowSelectionClear,\n searchCollapseEvent$,\n disabledColumnKeys,\n onColumnsSave,\n uniqueKey,\n customEnumText = {},\n ...rest\n } = props;\n\n // 规则,菜单根目录_页面路由\n function getUniqueKey() {\n let route = location.href.match(/#\\/(\\S*)\\?/);\n if (route) {\n axios({\n method: 'GET',\n url: `${location.pathname}resources/json/menu.json`,\n }).then(res => {\n if (res?.status == 200 && res.data?.key) {\n setState({ projectKey: `${res.data.key}_${route ? route[1] : 'test'}` });\n }\n });\n }\n }\n useEffect(() => {\n // 当没有传入唯一值而且没有自定义列保存的时候根据规则自动生成唯一值\n if (!uniqueKey && !onColumnsSave) {\n getUniqueKey();\n }\n // componentDidMount\n if (autoFit) {\n window.addEventListener('resize', calculateHeight, false);\n }\n return () => {\n // componentWillUnmount\n if (autoFit) {\n window.removeEventListener('resize', calculateHeight, false);\n }\n };\n }, []);\n\n useLayoutEffect(() => {\n if (autoFit) {\n calculateHeight();\n }\n }, [rest.dataSource?.length, (rest.rowSelection?.selectedRowKeys || []).join(',')]);\n\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\n if (searchCollapseEvent$) {\n // eslint-disable-next-line react/prop-types\n searchCollapseEvent$.useSubscription(() => {\n // 350ms 是为了等待css动画时间\n let timer = setTimeout(() => {\n calculateHeight();\n timer = '';\n clearTimeout(timer);\n }, 350);\n });\n }\n\n useEffect(() => {\n parseColumns();\n setState({\n columnSettingOptions: rest.columns?.map(col => ({\n ...col,\n key: col.dataIndex || col.key,\n })),\n });\n }, [rest.columns]);\n\n const parseColumns = type => {\n // 显示工具栏的同时并显示列设置\n if (toolbar && !hideColumnSetting) {\n if (defaultVisibleColumnKeys || visibleColumnKeys || settingRef.current?.showColumns) {\n const columnKeys =\n type === 'reset'\n ? defaultVisibleColumnKeys\n : settingRef.current?.showColumns ||\n visibleColumnKeys ||\n defaultVisibleColumnKeys;\n setState({\n checkedColumnKeys: columnKeys,\n visibleColumns: rest.columns?.filter(item =>\n columnKeys.includes(item.dataIndex || item.key),\n ),\n });\n } else {\n setState({\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\n visibleColumns: rest.columns,\n });\n }\n } else {\n setState({\n visibleColumns: rest.columns,\n });\n }\n };\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\n alertHeight.current = hasAlert ? 49 : 0;\n toolbarHeight.current = toolbar ? 56 : 0;\n // 高度计算\n const calculateHeight = () => {\n if (!datagridRef.current) {\n return null;\n }\n const bodyHeight =\n datagridRef.current?.clientHeight -\n headFootHeight -\n toolbarHeight.current -\n alertHeight.current;\n const divs = datagridRef.current.getElementsByTagName('div');\n const bodyDiv = Array.prototype.filter.call(\n divs,\n dom =>\n dom.className.includes('ant-table-body') ||\n dom.className.includes('ant-table-content'),\n )[0];\n bodyDiv.style.minHeight = `${bodyHeight}px`;\n setState({\n scrollY: bodyHeight,\n });\n };\n\n // 列设置回调\n const handleChangeColumns = keys => {\n const columnKeys = keys || rest.columns?.map(item => item.dataIndex || item.key);\n setState({\n checkedColumnKeys: columnKeys,\n visibleColumns: columnSettingOptions?.filter(item => columnKeys.includes(item.key)),\n });\n onVisibleColumnsChange && onVisibleColumnsChange(columnKeys);\n };\n\n // 工具栏\n let toolbarRender;\n if (toolbar) {\n toolbarRender = (\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\n <div className={`${prefixCls}-toolbar-right`}>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-actions`,\n )}\n >\n {buttonGroup}\n </div>\n {buttonGroup && <div className={`${prefixCls}-toolbar-line`} />}\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-setting`,\n )}\n >\n {refreshIconVisible && (\n <div\n className={`${prefixCls}-toolbar-setting-item`}\n onClick={() => {\n onRefresh && onRefresh();\n }}\n >\n <Tooltip title={customEnumText?.refreshText || '刷新'}>\n <RedoOutlined />\n </Tooltip>\n </div>\n )}\n {!hideColumnHeight && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <Dropdown\n overlay={\n <Menu\n onClick={({ key }) => setState({ size: key })}\n selectedKeys={[size]}\n >\n <Menu.Item key=\"default\">\n {customEnumText?.densityDefaultText || '默认'}\n </Menu.Item>\n <Menu.Item key=\"middle\">\n {customEnumText?.densityMiddleText || '中等'}\n </Menu.Item>\n <Menu.Item key=\"small\">\n {customEnumText?.densitySmallText || '紧凑'}\n </Menu.Item>\n </Menu>\n }\n trigger={['click']}\n >\n <Tooltip title={customEnumText?.columnDensityText || '列密度'}>\n <ColumnHeightOutlined />\n </Tooltip>\n </Dropdown>\n </div>\n )}\n {!hideColumnSetting && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <ColumnSetting\n prefixCls={prefixCls}\n checkedColumnKeys={checkedColumnKeys}\n columnSettingOptions={columnSettingOptions}\n onChange={handleChangeColumns}\n onReset={() => parseColumns('reset')}\n disabledColumnKeys={disabledColumnKeys}\n onColumnsSave={onColumnsSave}\n uniqueKey={uniqueKey || state.projectKey}\n columns={rest.columns}\n settingRef={settingRef}\n >\n <Tooltip title={customEnumText?.columnSettingText || '列设置'}>\n <SettingOutlined />\n </Tooltip>\n </ColumnSetting>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n // 分页\n const getPagination = pagination => {\n if (typeof pagination === 'boolean' && !pagination) {\n return pagination;\n }\n return {\n pageSizeOptions: ['10', '20', '30', '40', '50'],\n showSizeChanger: true,\n showQuickJumper: true,\n showTotal(total) {\n return `共 ${total} 条`;\n },\n ...pagination,\n };\n };\n\n // 处理操作按钮\n let columns = (visibleColumns || []).map(column => {\n const newColumn = { ...column };\n if (newColumn.renderButtons) {\n delete newColumn.renderButtons;\n }\n if (newColumn.renderButtonsVisibleNum) {\n delete newColumn.renderButtonsVisibleNum;\n }\n return {\n ...newColumn,\n render: isFunction(column.renderButtons)\n ? function(text, record, index) {\n return renderColumnButtons(\n column.renderButtons,\n column.renderButtonsVisibleNum,\n text,\n record,\n index,\n customEnumText,\n );\n }\n : 'render' in column\n ? column.render\n : function(text) {\n return ['', null, undefined].includes(text) ? '-' : text;\n },\n };\n });\n // 配置了列可伸缩\n if (columnResizable) {\n columns = columns.map((col, index) => ({\n ...col,\n onHeaderCell: column => ({\n width: column.width,\n onResize: handleResize(index),\n }),\n }));\n const handleResize = index => (e, { size }) => {\n setState(({ visibleColumns }) => {\n const nextColumns = [...visibleColumns];\n nextColumns[index] = {\n ...nextColumns[index],\n width: size.width,\n };\n return { visibleColumns: nextColumns };\n });\n };\n }\n\n // 序号添加\n let dataSource = rest.dataSource;\n if (indexColumn) {\n columns = [\n {\n title: indexTitle,\n dataIndex: '_serialNum',\n key: '_serialNum',\n width: 70,\n fixed: indexFixed,\n },\n ...columns,\n ];\n dataSource = dataSource?.map((item, i) => {\n return {\n ...item,\n _serialNum: i + startIndex,\n };\n });\n }\n\n let scroll;\n if (autoFit) {\n scroll = {\n ...(rest.scroll || {}),\n y: scrollY,\n };\n }\n\n return (\n <div\n id={datagridId}\n className={classnames(prefixCls, className, {\n [`${prefixCls}-fit`]: autoFit,\n [`${prefixCls}-noFit`]: !autoFit,\n [`${prefixCls}-nodata`]: !dataSource?.length,\n [`${prefixCls}-userAgent-mac`]: isMac,\n })}\n style={style}\n ref={datagridRef}\n >\n {toolbarRender}\n {hasAlert && (\n <div className={`${prefixCls}-alert`}>\n <Alert\n prefixCls={prefixCls}\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\n onRowSelectionClear={onRowSelectionClear}\n />\n </div>\n )}\n <Table\n size={size}\n bordered={dataSource?.length > 0 ? bordered : false}\n {...rest}\n columns={columns}\n dataSource={dataSource}\n scroll={scroll}\n pagination={getPagination(rest.pagination)}\n style={{\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\n }}\n locale={{\n emptyText: <Empty description={emptyText} />,\n ...rest.locale,\n }}\n components={\n columnResizable\n ? {\n ...(components || {}),\n header: {\n cell: ResizeableTitle,\n },\n }\n : components\n }\n />\n </div>\n );\n}\n\nVtxDatagrid.propTypes = {\n prefixCls: PropTypes.string,\n refreshIconVisible: PropTypes.bool,\n hideColumnSetting: PropTypes.bool,\n hideColumnHeight: PropTypes.bool,\n bordered: PropTypes.bool,\n visibleColumnKeys: PropTypes.array,\n defaultVisibleColumnKeys: PropTypes.array,\n onVisibleColumnsChange: PropTypes.func,\n toolbarClassName: PropTypes.string,\n toolbar: PropTypes.bool,\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRefresh: PropTypes.func,\n indexColumn: PropTypes.bool,\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n indexTitle: PropTypes.string,\n startIndex: PropTypes.number,\n buttonGroup: PropTypes.node,\n autoFit: PropTypes.bool,\n headFootHeight: PropTypes.number,\n columnResizable: PropTypes.bool,\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRowSelectionClear: PropTypes.func,\n searchCollapseEvent$: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n disabledColumnKeys: PropTypes.array,\n onColumnsSave: PropTypes.func,\n components: PropTypes.object,\n customEnumText: PropTypes.object,\n uniqueKey: PropTypes.string,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames2","_interopRequireDefault","_propTypes","_table","_tooltip","_dropdown","_menu","_empty","_RedoOutlined","_ColumnHeightOutlined","_SettingOutlined","_Alert","_ColumnSetting","_ResizeableTitle","_renderColumnButtons","_useSet3","_isFunction","_axios","_excluded","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","toPrimitive","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","slice","constructor","name","test","len","arr2","l","f","next","done","isMac","navigator","userAgent","VtxDatagrid","props","_rest$dataSource","_rest$rowSelection","_rest$rowSelection2","_dataSource2","_rest$rowSelection3","_dataSource3","_useSet","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","concat","Date","getTime","scrollY","size","projectKey","_useSet2","state","setState","datagridRef","useRef","alertHeight","toolbarHeight","settingRef","_props$prefixCls","prefixCls","_props$toolbar","toolbar","toolbarClassName","_props$toolbarTilte","toolbarTilte","buttonGroup","_props$refreshIconVis","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","_props$indexColumn","indexColumn","_props$indexFixed","indexFixed","_props$bordered","bordered","_props$indexTitle","indexTitle","_props$startIndex","startIndex","_props$autoFit","autoFit","_props$headFootHeight","headFootHeight","columnResizable","components","className","style","_props$emptyText","emptyText","onRowSelectionClear","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","uniqueKey","_props$customEnumText","customEnumText","rest","getUniqueKey","route","location","href","match","axios","method","url","pathname","then","res","_res$data","status","data","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","dataSource","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","_rest$columns","parseColumns","columns","map","col","dataIndex","type","_settingRef$current","current","showColumns","_settingRef$current2","_rest$columns2","columnKeys","item","includes","_rest$columns3","hasAlert","_datagridRef$current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","dom","minHeight","handleChangeColumns","_rest$columns4","toolbarRender","createElement","classnames","onClick","title","refreshText","overlay","_ref","selectedKeys","Item","densityDefaultText","densityMiddleText","densitySmallText","trigger","columnDensityText","onChange","onReset","columnSettingText","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","_ref2","_ref3","nextColumns","_dataSource","fixed","_serialNum","scroll","y","id","ref","height","locale","description","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport Dropdown from 'antd/lib/dropdown';\nimport Menu from 'antd/lib/menu';\nimport Empty from 'antd/lib/empty';\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\nimport Alert from './Alert';\nimport ColumnSetting from './ColumnSetting';\nimport ResizeableTitle from './ResizeableTitle';\nimport renderColumnButtons from './renderColumnButtons';\nimport useSet from '../_util/useSet';\nimport isFunction from '../_util/isFunction';\nimport axios from 'axios';\n\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\n\nexport default function VtxDatagrid(props) {\n const [state, setState] = useSet({\n // 显示列\n visibleColumns: [],\n // 列设置选中的列\n checkedColumnKeys: [],\n // 列设置选项\n columnSettingOptions: [],\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\n scrollY: 0,\n size: 'middle',\n projectKey: '',\n });\n const {\n visibleColumns,\n checkedColumnKeys,\n columnSettingOptions,\n datagridId,\n scrollY,\n size,\n } = state;\n const datagridRef = useRef(null);\n // 列设置提示高度\n const alertHeight = useRef(0);\n // 工具栏高度\n const toolbarHeight = useRef(0);\n // 列接口显示字段\n const settingRef = useRef();\n\n const {\n prefixCls = 'vtx-datagrid',\n toolbar = true,\n toolbarClassName,\n toolbarTilte = '查询结果',\n buttonGroup,\n refreshIconVisible = true,\n hideColumnSetting,\n hideColumnHeight,\n visibleColumnKeys,\n defaultVisibleColumnKeys,\n onVisibleColumnsChange,\n onRefresh,\n indexColumn = true,\n indexFixed = false,\n bordered = true,\n indexTitle = '序号',\n startIndex = 1,\n autoFit = true,\n headFootHeight = 115,\n columnResizable,\n components,\n className,\n style,\n emptyText = '暂无数据',\n onRowSelectionClear,\n searchCollapseEvent$,\n disabledColumnKeys,\n onColumnsSave,\n uniqueKey,\n customEnumText = {},\n ...rest\n } = props;\n\n // 规则,菜单根目录_页面路由\n function getUniqueKey() {\n let route = location.href.match(/#\\/(\\S*)\\?/);\n if (route) {\n axios({\n method: 'GET',\n url: `${location.pathname}resources/json/menu.json`,\n }).then(res => {\n if (res?.status == 200 && res.data?.key) {\n setState({ projectKey: `${res.data.key}_${route ? route[1] : 'test'}` });\n }\n });\n }\n }\n useEffect(() => {\n // 当没有传入唯一值而且没有自定义列保存的时候根据规则自动生成唯一值\n if (!uniqueKey && !onColumnsSave) {\n getUniqueKey();\n }\n // componentDidMount\n if (autoFit) {\n window.addEventListener('resize', calculateHeight, false);\n }\n return () => {\n // componentWillUnmount\n if (autoFit) {\n window.removeEventListener('resize', calculateHeight, false);\n }\n };\n }, []);\n\n useLayoutEffect(() => {\n if (autoFit) {\n calculateHeight();\n }\n }, [rest.dataSource?.length, (rest.rowSelection?.selectedRowKeys || []).join(',')]);\n\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\n if (searchCollapseEvent$) {\n // eslint-disable-next-line react/prop-types\n searchCollapseEvent$.useSubscription(() => {\n // 350ms 是为了等待css动画时间\n let timer = setTimeout(() => {\n calculateHeight();\n timer = '';\n clearTimeout(timer);\n }, 350);\n });\n }\n\n useEffect(() => {\n parseColumns();\n setState({\n columnSettingOptions: rest.columns?.map(col => ({\n ...col,\n key: col.dataIndex || col.key,\n })),\n });\n }, [rest.columns]);\n\n const parseColumns = type => {\n // 显示工具栏的同时并显示列设置\n if (toolbar && !hideColumnSetting) {\n if (defaultVisibleColumnKeys || visibleColumnKeys || settingRef.current?.showColumns) {\n const columnKeys =\n type === 'reset'\n ? defaultVisibleColumnKeys\n : settingRef.current?.showColumns ||\n visibleColumnKeys ||\n defaultVisibleColumnKeys;\n setState({\n checkedColumnKeys: columnKeys,\n visibleColumns: rest.columns?.filter(item =>\n columnKeys.includes(item.dataIndex || item.key),\n ),\n });\n } else {\n setState({\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\n visibleColumns: rest.columns,\n });\n }\n } else {\n setState({\n visibleColumns: rest.columns,\n });\n }\n };\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\n alertHeight.current = hasAlert ? 49 : 0;\n toolbarHeight.current = toolbar ? 56 : 0;\n // 高度计算\n const calculateHeight = () => {\n if (!datagridRef.current) {\n return null;\n }\n const bodyHeight =\n datagridRef.current?.clientHeight -\n headFootHeight -\n toolbarHeight.current -\n alertHeight.current;\n const divs = datagridRef.current.getElementsByTagName('div');\n const bodyDiv = Array.prototype.filter.call(\n divs,\n dom =>\n dom.className.includes('ant-table-body') ||\n dom.className.includes('ant-table-content'),\n )[0];\n bodyDiv.style.minHeight = `${bodyHeight - (rest.scrollY || 0)}px`;\n setState({\n scrollY: bodyHeight,\n });\n };\n\n // 列设置回调\n const handleChangeColumns = keys => {\n const columnKeys = keys || rest.columns?.map(item => item.dataIndex || item.key);\n setState({\n checkedColumnKeys: columnKeys,\n visibleColumns: columnSettingOptions?.filter(item => columnKeys.includes(item.key)),\n });\n onVisibleColumnsChange && onVisibleColumnsChange(columnKeys);\n };\n\n // 工具栏\n let toolbarRender;\n if (toolbar) {\n toolbarRender = (\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\n <div className={`${prefixCls}-toolbar-right`}>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-actions`,\n )}\n >\n {buttonGroup}\n </div>\n {buttonGroup && <div className={`${prefixCls}-toolbar-line`} />}\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-setting`,\n )}\n >\n {refreshIconVisible && (\n <div\n className={`${prefixCls}-toolbar-setting-item`}\n onClick={() => {\n onRefresh && onRefresh();\n }}\n >\n <Tooltip title={customEnumText?.refreshText || '刷新'}>\n <RedoOutlined />\n </Tooltip>\n </div>\n )}\n {!hideColumnHeight && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <Dropdown\n overlay={\n <Menu\n onClick={({ key }) => setState({ size: key })}\n selectedKeys={[size]}\n >\n <Menu.Item key=\"default\">\n {customEnumText?.densityDefaultText || '默认'}\n </Menu.Item>\n <Menu.Item key=\"middle\">\n {customEnumText?.densityMiddleText || '中等'}\n </Menu.Item>\n <Menu.Item key=\"small\">\n {customEnumText?.densitySmallText || '紧凑'}\n </Menu.Item>\n </Menu>\n }\n trigger={['click']}\n >\n <Tooltip title={customEnumText?.columnDensityText || '列密度'}>\n <ColumnHeightOutlined />\n </Tooltip>\n </Dropdown>\n </div>\n )}\n {!hideColumnSetting && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <ColumnSetting\n prefixCls={prefixCls}\n checkedColumnKeys={checkedColumnKeys}\n columnSettingOptions={columnSettingOptions}\n onChange={handleChangeColumns}\n onReset={() => parseColumns('reset')}\n disabledColumnKeys={disabledColumnKeys}\n onColumnsSave={onColumnsSave}\n uniqueKey={uniqueKey || state.projectKey}\n columns={rest.columns}\n settingRef={settingRef}\n >\n <Tooltip title={customEnumText?.columnSettingText || '列设置'}>\n <SettingOutlined />\n </Tooltip>\n </ColumnSetting>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n // 分页\n const getPagination = pagination => {\n if (typeof pagination === 'boolean' && !pagination) {\n return pagination;\n }\n return {\n pageSizeOptions: ['10', '20', '30', '40', '50'],\n showSizeChanger: true,\n showQuickJumper: true,\n showTotal(total) {\n return `共 ${total} 条`;\n },\n ...pagination,\n };\n };\n\n // 处理操作按钮\n let columns = (visibleColumns || []).map(column => {\n const newColumn = { ...column };\n if (newColumn.renderButtons) {\n delete newColumn.renderButtons;\n }\n if (newColumn.renderButtonsVisibleNum) {\n delete newColumn.renderButtonsVisibleNum;\n }\n return {\n ...newColumn,\n render: isFunction(column.renderButtons)\n ? function(text, record, index) {\n return renderColumnButtons(\n column.renderButtons,\n column.renderButtonsVisibleNum,\n text,\n record,\n index,\n customEnumText,\n );\n }\n : 'render' in column\n ? column.render\n : function(text) {\n return ['', null, undefined].includes(text) ? '-' : text;\n },\n };\n });\n // 配置了列可伸缩\n if (columnResizable) {\n columns = columns.map((col, index) => ({\n ...col,\n onHeaderCell: column => ({\n width: column.width,\n onResize: handleResize(index),\n }),\n }));\n const handleResize = index => (e, { size }) => {\n setState(({ visibleColumns }) => {\n const nextColumns = [...visibleColumns];\n nextColumns[index] = {\n ...nextColumns[index],\n width: size.width,\n };\n return { visibleColumns: nextColumns };\n });\n };\n }\n\n // 序号添加\n let dataSource = rest.dataSource;\n if (indexColumn) {\n columns = [\n {\n title: indexTitle,\n dataIndex: '_serialNum',\n key: '_serialNum',\n width: 70,\n fixed: indexFixed,\n },\n ...columns,\n ];\n dataSource = dataSource?.map((item, i) => {\n return {\n ...item,\n _serialNum: i + startIndex,\n };\n });\n }\n\n let scroll;\n if (autoFit) {\n scroll = {\n ...(rest.scroll || {}),\n y: scrollY - (rest.scrollY || 0),\n };\n }\n\n return (\n <div\n id={datagridId}\n className={classnames(prefixCls, className, {\n [`${prefixCls}-fit`]: autoFit,\n [`${prefixCls}-noFit`]: !autoFit,\n [`${prefixCls}-nodata`]: !dataSource?.length,\n [`${prefixCls}-userAgent-mac`]: isMac,\n })}\n style={style}\n ref={datagridRef}\n >\n {toolbarRender}\n {hasAlert && (\n <div className={`${prefixCls}-alert`}>\n <Alert\n prefixCls={prefixCls}\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\n onRowSelectionClear={onRowSelectionClear}\n />\n </div>\n )}\n <Table\n size={size}\n bordered={dataSource?.length > 0 ? bordered : false}\n {...rest}\n columns={columns}\n dataSource={dataSource}\n scroll={scroll}\n pagination={getPagination(rest.pagination)}\n style={{\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\n }}\n locale={{\n emptyText: <Empty description={emptyText} />,\n ...rest.locale,\n }}\n components={\n columnResizable\n ? {\n ...(components || {}),\n header: {\n cell: ResizeableTitle,\n },\n }\n : components\n }\n />\n </div>\n );\n}\n\nVtxDatagrid.propTypes = {\n prefixCls: PropTypes.string,\n refreshIconVisible: PropTypes.bool,\n hideColumnSetting: PropTypes.bool,\n hideColumnHeight: PropTypes.bool,\n bordered: PropTypes.bool,\n visibleColumnKeys: PropTypes.array,\n defaultVisibleColumnKeys: PropTypes.array,\n onVisibleColumnsChange: PropTypes.func,\n toolbarClassName: PropTypes.string,\n toolbar: PropTypes.bool,\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRefresh: PropTypes.func,\n indexColumn: PropTypes.bool,\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n indexTitle: PropTypes.string,\n startIndex: PropTypes.number,\n buttonGroup: PropTypes.node,\n autoFit: PropTypes.bool,\n headFootHeight: PropTypes.number,\n columnResizable: PropTypes.bool,\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRowSelectionClear: PropTypes.func,\n searchCollapseEvent$: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n disabledColumnKeys: PropTypes.array,\n onColumnsSave: PropTypes.func,\n components: PropTypes.object,\n customEnumText: PropTypes.object,\n uniqueKey: PropTypes.string,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _antd = require("antd");
|
|
11
|
+
var _icons = require("@ant-design/icons");
|
|
12
|
+
var _utils = require("./utils");
|
|
13
|
+
var _excluded = ["prefixCls", "showSearch", "treeData", "searchPlaceholder", "renderMenuList", "fieldNames"];
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
17
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
19
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
21
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
26
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
27
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
28
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
29
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
30
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
31
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
32
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
34
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
35
|
+
var getParentKey = function getParentKey(key, tree) {
|
|
36
|
+
var parentKey;
|
|
37
|
+
for (var i = 0; i < tree.length; i++) {
|
|
38
|
+
var node = tree[i];
|
|
39
|
+
if (node.children) {
|
|
40
|
+
if (node.children.some(function (item) {
|
|
41
|
+
return item.key === key;
|
|
42
|
+
})) {
|
|
43
|
+
parentKey = node.key;
|
|
44
|
+
} else if (getParentKey(key, node.children)) {
|
|
45
|
+
parentKey = getParentKey(key, node.children);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return parentKey;
|
|
50
|
+
};
|
|
51
|
+
var VtxTree = function VtxTree(_ref) {
|
|
52
|
+
var _ref$prefixCls = _ref.prefixCls,
|
|
53
|
+
prefixCls = _ref$prefixCls === void 0 ? 'vtx-tree' : _ref$prefixCls,
|
|
54
|
+
_ref$showSearch = _ref.showSearch,
|
|
55
|
+
showSearch = _ref$showSearch === void 0 ? true : _ref$showSearch,
|
|
56
|
+
_ref$treeData = _ref.treeData,
|
|
57
|
+
treeData = _ref$treeData === void 0 ? [] : _ref$treeData,
|
|
58
|
+
_ref$searchPlaceholde = _ref.searchPlaceholder,
|
|
59
|
+
searchPlaceholder = _ref$searchPlaceholde === void 0 ? '请输入要查询的关键字' : _ref$searchPlaceholde,
|
|
60
|
+
renderMenuList = _ref.renderMenuList,
|
|
61
|
+
fieldNames = _ref.fieldNames,
|
|
62
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
63
|
+
var treeRef = (0, _react.useRef)();
|
|
64
|
+
var _useState = (0, _react.useState)(0),
|
|
65
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
66
|
+
height = _useState2[0],
|
|
67
|
+
setHeight = _useState2[1];
|
|
68
|
+
var _useState3 = (0, _react.useState)(''),
|
|
69
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
70
|
+
searchValue = _useState4[0],
|
|
71
|
+
setSearchValue = _useState4[1];
|
|
72
|
+
var _useState5 = (0, _react.useState)([]),
|
|
73
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
74
|
+
expandedKeys = _useState6[0],
|
|
75
|
+
setExpandedKeys = _useState6[1];
|
|
76
|
+
var _useState7 = (0, _react.useState)(props.autoExpandParent || false),
|
|
77
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
78
|
+
autoExpandParent = _useState8[0],
|
|
79
|
+
setAutoExpandParent = _useState8[1];
|
|
80
|
+
var _useState9 = (0, _react.useState)(props.selectedKeys || props.defaultSelectedKeys || []),
|
|
81
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
82
|
+
selectedKeys = _useState10[0],
|
|
83
|
+
setSelectedKeys = _useState10[1];
|
|
84
|
+
var lastSelectedKey = _react["default"].useRef();
|
|
85
|
+
var cachedSelectedKeys = _react["default"].useRef();
|
|
86
|
+
var dataList = (0, _react.useMemo)(function () {
|
|
87
|
+
var dataList = [];
|
|
88
|
+
var titleKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.title) || 'title';
|
|
89
|
+
var generateList = function generateList(data) {
|
|
90
|
+
for (var i = 0; i < data.length; i++) {
|
|
91
|
+
var node = data[i];
|
|
92
|
+
var key = node.key;
|
|
93
|
+
dataList.push({
|
|
94
|
+
key: key,
|
|
95
|
+
title: node[titleKey]
|
|
96
|
+
});
|
|
97
|
+
if (node.children) {
|
|
98
|
+
generateList(node.children);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
generateList(treeData);
|
|
103
|
+
return dataList;
|
|
104
|
+
}, [treeData]);
|
|
105
|
+
(0, _react.useEffect)(function () {
|
|
106
|
+
if ('selectedKeys' in props) {
|
|
107
|
+
setSelectedKeys(props.selectedKeys);
|
|
108
|
+
}
|
|
109
|
+
}, [props.selectedKeys]);
|
|
110
|
+
(0, _react.useEffect)(function () {
|
|
111
|
+
if ('expandedKeys' in props) {
|
|
112
|
+
setExpandedKeys(props.expandedKeys);
|
|
113
|
+
}
|
|
114
|
+
}, [props.expandedKeys]);
|
|
115
|
+
var onExpand = function onExpand(newExpandedKeys, info) {
|
|
116
|
+
var _props$onExpand;
|
|
117
|
+
setAutoExpandParent(false);
|
|
118
|
+
(_props$onExpand = props.onExpand) === null || _props$onExpand === void 0 || _props$onExpand.call(props, newExpandedKeys, info);
|
|
119
|
+
if (!('expandedKeys' in props)) {
|
|
120
|
+
setExpandedKeys(newExpandedKeys);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
var onChange = function onChange(e) {
|
|
124
|
+
var _props$onExpand2;
|
|
125
|
+
var value = e.target.value;
|
|
126
|
+
var newExpandedKeys = dataList.map(function (item) {
|
|
127
|
+
if (item.title.indexOf(value) > -1) {
|
|
128
|
+
return getParentKey(item.key, treeData);
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
}).filter(function (item, i, self) {
|
|
132
|
+
return item && self.indexOf(item) === i;
|
|
133
|
+
});
|
|
134
|
+
setSearchValue(value);
|
|
135
|
+
setAutoExpandParent(true);
|
|
136
|
+
(_props$onExpand2 = props.onExpand) === null || _props$onExpand2 === void 0 || _props$onExpand2.call(props, newExpandedKeys);
|
|
137
|
+
if (!('expandedKeys' in props)) {
|
|
138
|
+
setExpandedKeys(newExpandedKeys);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
(0, _react.useEffect)(function () {
|
|
142
|
+
setHeight(treeRef.current.offsetHeight);
|
|
143
|
+
}, []);
|
|
144
|
+
var onSelect = function onSelect(keys, event) {
|
|
145
|
+
var _props$onSelect;
|
|
146
|
+
var multiple = props.multiple;
|
|
147
|
+
var node = event.node,
|
|
148
|
+
nativeEvent = event.nativeEvent;
|
|
149
|
+
var _node$key = node.key,
|
|
150
|
+
key = _node$key === void 0 ? '' : _node$key;
|
|
151
|
+
// const newState: DirectoryTreeState = {};
|
|
152
|
+
|
|
153
|
+
// We need wrap this event since some value is not same
|
|
154
|
+
var newEvent = _objectSpread(_objectSpread({}, event), {}, {
|
|
155
|
+
selected: true // Directory selected always true
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
// Windows / Mac single pick
|
|
159
|
+
var ctrlPick = (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.ctrlKey) || (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.metaKey);
|
|
160
|
+
var shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey;
|
|
161
|
+
|
|
162
|
+
// Generate new selected keys
|
|
163
|
+
var newSelectedKeys;
|
|
164
|
+
if (multiple && ctrlPick) {
|
|
165
|
+
// Control click
|
|
166
|
+
newSelectedKeys = keys;
|
|
167
|
+
lastSelectedKey.current = key;
|
|
168
|
+
cachedSelectedKeys.current = newSelectedKeys;
|
|
169
|
+
newEvent.selectedNodes = (0, _utils.convertDirectoryKeysToNodes)(treeData, newSelectedKeys);
|
|
170
|
+
} else if (multiple && shiftPick) {
|
|
171
|
+
// Shift click
|
|
172
|
+
newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray((0, _utils.calcRangeKeys)({
|
|
173
|
+
treeData: treeData,
|
|
174
|
+
expandedKeys: expandedKeys,
|
|
175
|
+
startKey: key,
|
|
176
|
+
endKey: lastSelectedKey.current
|
|
177
|
+
})))));
|
|
178
|
+
newEvent.selectedNodes = (0, _utils.convertDirectoryKeysToNodes)(treeData, newSelectedKeys);
|
|
179
|
+
} else {
|
|
180
|
+
// Single click
|
|
181
|
+
newSelectedKeys = [key];
|
|
182
|
+
lastSelectedKey.current = key;
|
|
183
|
+
cachedSelectedKeys.current = newSelectedKeys;
|
|
184
|
+
newEvent.selectedNodes = (0, _utils.convertDirectoryKeysToNodes)(treeData, newSelectedKeys);
|
|
185
|
+
}
|
|
186
|
+
(_props$onSelect = props.onSelect) === null || _props$onSelect === void 0 || _props$onSelect.call(props, newSelectedKeys, newEvent);
|
|
187
|
+
if (!('selectedKeys' in props)) {
|
|
188
|
+
setSelectedKeys(newSelectedKeys);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
var newTreeData = (0, _react.useMemo)(function () {
|
|
192
|
+
var loop = function loop(data) {
|
|
193
|
+
return data.map(function (item) {
|
|
194
|
+
var titleKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.title) || 'title';
|
|
195
|
+
var strTitle = item[titleKey];
|
|
196
|
+
var index = strTitle.indexOf(searchValue);
|
|
197
|
+
var beforeStr = strTitle.substring(0, index);
|
|
198
|
+
var afterStr = strTitle.slice(index + searchValue.length);
|
|
199
|
+
var title = index > -1 ? /*#__PURE__*/_react["default"].createElement("span", null, beforeStr, /*#__PURE__*/_react["default"].createElement("span", {
|
|
200
|
+
className: "".concat(prefixCls, "-search-value")
|
|
201
|
+
}, searchValue), afterStr) : /*#__PURE__*/_react["default"].createElement("span", null, strTitle);
|
|
202
|
+
if (item.children) {
|
|
203
|
+
return _objectSpread(_objectSpread({}, item), {}, _defineProperty(_defineProperty(_defineProperty({}, titleKey, title), "key", item.key), "children", loop(item.children)));
|
|
204
|
+
}
|
|
205
|
+
return _objectSpread(_objectSpread({}, item), {}, _defineProperty(_defineProperty({}, titleKey, title), "key", item.key));
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
return loop(treeData);
|
|
209
|
+
}, [treeData, searchValue]);
|
|
210
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
211
|
+
className: "".concat(prefixCls, "-wraaper")
|
|
212
|
+
}, showSearch && /*#__PURE__*/_react["default"].createElement(_antd.Input, {
|
|
213
|
+
style: {
|
|
214
|
+
marginBottom: 8
|
|
215
|
+
},
|
|
216
|
+
placeholder: searchPlaceholder,
|
|
217
|
+
onChange: onChange
|
|
218
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
219
|
+
className: prefixCls,
|
|
220
|
+
ref: treeRef
|
|
221
|
+
}, /*#__PURE__*/_react["default"].createElement(_antd.Tree, _extends({}, props, {
|
|
222
|
+
height: height,
|
|
223
|
+
switcherIcon: /*#__PURE__*/_react["default"].createElement(_icons.DownOutlined, null),
|
|
224
|
+
showLine: {
|
|
225
|
+
showLeafIcon: false
|
|
226
|
+
},
|
|
227
|
+
blockNode: true,
|
|
228
|
+
treeData: newTreeData,
|
|
229
|
+
onExpand: onExpand,
|
|
230
|
+
expandedKeys: expandedKeys,
|
|
231
|
+
autoExpandParent: autoExpandParent,
|
|
232
|
+
selectedKeys: selectedKeys,
|
|
233
|
+
onSelect: onSelect,
|
|
234
|
+
expandAction: "click",
|
|
235
|
+
titleRender: function titleRender(nodeData) {
|
|
236
|
+
var titleKey = (fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.title) || 'title';
|
|
237
|
+
var title = nodeData[titleKey];
|
|
238
|
+
if (renderMenuList) {
|
|
239
|
+
var menuList = renderMenuList(nodeData);
|
|
240
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
241
|
+
className: "".concat(prefixCls, "-menu-wrap")
|
|
242
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, title), /*#__PURE__*/_react["default"].createElement("div", {
|
|
243
|
+
className: "".concat(prefixCls, "-menu-list")
|
|
244
|
+
}, menuList.filter(function (item) {
|
|
245
|
+
return item.visible;
|
|
246
|
+
}).map(function (item) {
|
|
247
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Tooltip, {
|
|
248
|
+
key: item.label,
|
|
249
|
+
title: item.label
|
|
250
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
251
|
+
className: "".concat(prefixCls, "-menu-item-icon"),
|
|
252
|
+
onClick: function onClick(e) {
|
|
253
|
+
e.stopPropagation();
|
|
254
|
+
item.onClick && item.onClick(nodeData);
|
|
255
|
+
}
|
|
256
|
+
}, item.icon));
|
|
257
|
+
})));
|
|
258
|
+
}
|
|
259
|
+
return title;
|
|
260
|
+
}
|
|
261
|
+
}))));
|
|
262
|
+
};
|
|
263
|
+
VtxTree.propTypes = {
|
|
264
|
+
showSearch: _propTypes["default"].bool,
|
|
265
|
+
prefixCls: _propTypes["default"].string,
|
|
266
|
+
treeData: _propTypes["default"].array,
|
|
267
|
+
selectedKeys: _propTypes["default"].array,
|
|
268
|
+
defaultSelectedKeys: _propTypes["default"].array,
|
|
269
|
+
expandedKeys: _propTypes["default"].bool,
|
|
270
|
+
onExpand: _propTypes["default"].func,
|
|
271
|
+
multiple: _propTypes["default"].bool,
|
|
272
|
+
autoExpandParent: _propTypes["default"].bool,
|
|
273
|
+
onSelect: _propTypes["default"].func,
|
|
274
|
+
searchPlaceholder: _propTypes["default"].string,
|
|
275
|
+
renderMenuList: _propTypes["default"].func,
|
|
276
|
+
fieldNames: _propTypes["default"].array
|
|
277
|
+
};
|
|
278
|
+
var _default = exports["default"] = VtxTree;
|
|
279
|
+
//# sourceMappingURL=index.js.map
|