@vtx/components 3.1.46 → 3.1.49
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.
|
@@ -41,7 +41,7 @@ var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
|
|
|
41
41
|
|
|
42
42
|
var _isFunction = _interopRequireDefault(require("../_util/isFunction"));
|
|
43
43
|
|
|
44
|
-
var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "className", "style", "emptyText", "onRowSelectionClear", "searchCollapseEvent$", "disabledColumnKeys", "onColumnsSave"];
|
|
44
|
+
var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "components", "className", "style", "emptyText", "onRowSelectionClear", "searchCollapseEvent$", "disabledColumnKeys", "onColumnsSave"];
|
|
45
45
|
|
|
46
46
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
47
47
|
|
|
@@ -106,7 +106,8 @@ function VtxDatagrid(props) {
|
|
|
106
106
|
columnSettingOptions = state.columnSettingOptions,
|
|
107
107
|
datagridId = state.datagridId,
|
|
108
108
|
scrollY = state.scrollY,
|
|
109
|
-
size = state.size;
|
|
109
|
+
size = state.size;
|
|
110
|
+
var datagridRef = (0, _react.useRef)(null); // 列设置提示高度
|
|
110
111
|
|
|
111
112
|
var alertHeight = (0, _react.useRef)(0); // 工具栏高度
|
|
112
113
|
|
|
@@ -143,6 +144,7 @@ function VtxDatagrid(props) {
|
|
|
143
144
|
_props$headFootHeight = props.headFootHeight,
|
|
144
145
|
headFootHeight = _props$headFootHeight === void 0 ? 115 : _props$headFootHeight,
|
|
145
146
|
columnResizable = props.columnResizable,
|
|
147
|
+
components = props.components,
|
|
146
148
|
className = props.className,
|
|
147
149
|
style = props.style,
|
|
148
150
|
_props$emptyText = props.emptyText,
|
|
@@ -232,14 +234,14 @@ function VtxDatagrid(props) {
|
|
|
232
234
|
toolbarHeight.current = toolbar ? 56 : 0; // 高度计算
|
|
233
235
|
|
|
234
236
|
var calculateHeight = function calculateHeight() {
|
|
235
|
-
var
|
|
237
|
+
var _datagridRef$current;
|
|
236
238
|
|
|
237
|
-
if (!
|
|
239
|
+
if (!datagridRef.current) {
|
|
238
240
|
return null;
|
|
239
241
|
}
|
|
240
242
|
|
|
241
|
-
var bodyHeight = ((
|
|
242
|
-
var divs =
|
|
243
|
+
var bodyHeight = ((_datagridRef$current = datagridRef.current) === null || _datagridRef$current === void 0 ? void 0 : _datagridRef$current.clientHeight) - headFootHeight - toolbarHeight.current - alertHeight.current;
|
|
244
|
+
var divs = datagridRef.current.getElementsByTagName('div');
|
|
243
245
|
var bodyDiv = Array.prototype.filter.call(divs, function (dom) {
|
|
244
246
|
return dom.className.includes('ant-table-body') || dom.className.includes('ant-table-content');
|
|
245
247
|
})[0];
|
|
@@ -418,7 +420,8 @@ function VtxDatagrid(props) {
|
|
|
418
420
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
419
421
|
id: datagridId,
|
|
420
422
|
className: (0, _classnames2["default"])(prefixCls, className, (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-fit"), autoFit), _defineProperty(_classnames, "".concat(prefixCls, "-noFit"), !autoFit), _defineProperty(_classnames, "".concat(prefixCls, "-nodata"), !((_dataSource2 = dataSource) !== null && _dataSource2 !== void 0 && _dataSource2.length)), _defineProperty(_classnames, "".concat(prefixCls, "-userAgent-mac"), isMac), _classnames)),
|
|
421
|
-
style: style
|
|
423
|
+
style: style,
|
|
424
|
+
ref: datagridRef
|
|
422
425
|
}, toolbarRender, hasAlert && /*#__PURE__*/_react["default"].createElement("div", {
|
|
423
426
|
className: "".concat(prefixCls, "-alert")
|
|
424
427
|
}, /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
|
|
@@ -441,11 +444,11 @@ function VtxDatagrid(props) {
|
|
|
441
444
|
description: emptyText
|
|
442
445
|
})
|
|
443
446
|
}, rest.locale),
|
|
444
|
-
components: columnResizable ? {
|
|
447
|
+
components: columnResizable ? _objectSpread(_objectSpread({}, components || {}), {}, {
|
|
445
448
|
header: {
|
|
446
449
|
cell: _ResizeableTitle["default"]
|
|
447
450
|
}
|
|
448
|
-
} :
|
|
451
|
+
}) : components
|
|
449
452
|
})));
|
|
450
453
|
}
|
|
451
454
|
|
|
@@ -476,6 +479,7 @@ VtxDatagrid.propTypes = {
|
|
|
476
479
|
className: _propTypes["default"].string,
|
|
477
480
|
style: _propTypes["default"].object,
|
|
478
481
|
disabledColumnKeys: _propTypes["default"].array,
|
|
479
|
-
onColumnsSave: _propTypes["default"].func
|
|
482
|
+
onColumnsSave: _propTypes["default"].func,
|
|
483
|
+
components: _propTypes["default"].object
|
|
480
484
|
};
|
|
481
485
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","state","setState","alertHeight","useRef","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","className","style","emptyText","onRowSelectionClear","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","rest","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","key","dataIndex","type","columnKeys","filter","item","includes","hasAlert","current","document","getElementById","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","toolbarRender","classnames","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","title","fixed","i","_serialNum","scroll","y","height","locale","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';\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 });\n const {\n visibleColumns,\n checkedColumnKeys,\n columnSettingOptions,\n datagridId,\n scrollY,\n size,\n } = state;\n\n // 列设置提示高度\n const alertHeight = useRef(0);\n // 工具栏高度\n const toolbarHeight = useRef(0);\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 className,\n style,\n emptyText = '暂无数据',\n onRowSelectionClear,\n searchCollapseEvent$,\n disabledColumnKeys,\n onColumnsSave,\n ...rest\n } = props;\n\n useEffect(() => {\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) {\n const columnKeys =\n type === 'reset'\n ? defaultVisibleColumnKeys\n : visibleColumnKeys || 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\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 (!document.getElementById(datagridId)) {\n return null;\n }\n const bodyHeight =\n document.getElementById(datagridId)?.clientHeight -\n headFootHeight -\n toolbarHeight.current -\n alertHeight.current;\n const divs = document.getElementById(datagridId).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 setState({\n checkedColumnKeys: keys,\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\n });\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\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 <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=\"刷新\">\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\">默认</Menu.Item>\n <Menu.Item key=\"middle\">中等</Menu.Item>\n <Menu.Item key=\"small\">紧凑</Menu.Item>\n </Menu>\n }\n trigger={['click']}\n >\n <Tooltip title=\"列密度\">\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 >\n <Tooltip title=\"列设置\">\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 );\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 >\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 header: {\n cell: ResizeableTitle,\n },\n }\n : undefined\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};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","state","setState","datagridRef","useRef","alertHeight","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","components","className","style","emptyText","onRowSelectionClear","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","rest","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","key","dataIndex","type","columnKeys","filter","item","includes","hasAlert","current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","toolbarRender","classnames","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","title","fixed","i","_serialNum","scroll","y","height","locale","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';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport Table from 'antd/lib/table';\r\nimport Tooltip from 'antd/lib/tooltip';\r\nimport Dropdown from 'antd/lib/dropdown';\r\nimport Menu from 'antd/lib/menu';\r\nimport Empty from 'antd/lib/empty';\r\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\r\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\r\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\r\nimport Alert from './Alert';\r\nimport ColumnSetting from './ColumnSetting';\r\nimport ResizeableTitle from './ResizeableTitle';\r\nimport renderColumnButtons from './renderColumnButtons';\r\nimport useSet from '../_util/useSet';\r\nimport isFunction from '../_util/isFunction';\r\n\r\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: 0,\r\n size: 'middle',\r\n });\r\n const {\r\n visibleColumns,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n datagridId,\r\n scrollY,\r\n size,\r\n } = state;\r\n const datagridRef = useRef(null);\r\n // 列设置提示高度\r\n const alertHeight = useRef(0);\r\n // 工具栏高度\r\n const toolbarHeight = useRef(0);\r\n\r\n const {\r\n prefixCls = 'vtx-datagrid',\r\n toolbar = true,\r\n toolbarClassName,\r\n toolbarTilte = '查询结果',\r\n buttonGroup,\r\n refreshIconVisible = true,\r\n hideColumnSetting,\r\n hideColumnHeight,\r\n visibleColumnKeys,\r\n defaultVisibleColumnKeys,\r\n onVisibleColumnsChange,\r\n onRefresh,\r\n indexColumn = true,\r\n indexFixed = false,\r\n bordered = true,\r\n indexTitle = '序号',\r\n startIndex = 1,\r\n autoFit = true,\r\n headFootHeight = 115,\r\n columnResizable,\r\n components,\r\n className,\r\n style,\r\n emptyText = '暂无数据',\r\n onRowSelectionClear,\r\n searchCollapseEvent$,\r\n disabledColumnKeys,\r\n onColumnsSave,\r\n ...rest\r\n } = props;\r\n\r\n useEffect(() => {\r\n // componentDidMount\r\n if (autoFit) {\r\n window.addEventListener('resize', calculateHeight, false);\r\n }\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n window.removeEventListener('resize', calculateHeight, false);\r\n }\r\n };\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n if (autoFit) {\r\n calculateHeight();\r\n }\r\n }, [rest.dataSource?.length, (rest.rowSelection?.selectedRowKeys || []).join(',')]);\r\n\r\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\r\n if (searchCollapseEvent$) {\r\n // eslint-disable-next-line react/prop-types\r\n searchCollapseEvent$.useSubscription(() => {\r\n // 350ms 是为了等待css动画时间\r\n let timer = setTimeout(() => {\r\n calculateHeight();\r\n timer = '';\r\n clearTimeout(timer);\r\n }, 350);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n parseColumns();\r\n setState({\r\n columnSettingOptions: rest.columns?.map(col => ({\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n })),\r\n });\r\n }, [rest.columns]);\r\n\r\n const parseColumns = type => {\r\n // 显示工具栏的同时并显示列设置\r\n if (toolbar && !hideColumnSetting) {\r\n if (defaultVisibleColumnKeys || visibleColumnKeys) {\r\n const columnKeys =\r\n type === 'reset'\r\n ? defaultVisibleColumnKeys\r\n : visibleColumnKeys || defaultVisibleColumnKeys;\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: rest.columns?.filter(item =>\r\n columnKeys.includes(item.dataIndex || item.key),\r\n ),\r\n });\r\n } else {\r\n setState({\r\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n } else {\r\n setState({\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n };\r\n\r\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n // 高度计算\r\n const calculateHeight = () => {\r\n if (!datagridRef.current) {\r\n return null;\r\n }\r\n const bodyHeight =\r\n datagridRef.current?.clientHeight -\r\n headFootHeight -\r\n toolbarHeight.current -\r\n alertHeight.current;\r\n const divs = datagridRef.current.getElementsByTagName('div');\r\n const bodyDiv = Array.prototype.filter.call(\r\n divs,\r\n dom =>\r\n dom.className.includes('ant-table-body') ||\r\n dom.className.includes('ant-table-content'),\r\n )[0];\r\n bodyDiv.style.minHeight = `${bodyHeight}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n };\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n setState({\r\n checkedColumnKeys: keys,\r\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\r\n };\r\n\r\n // 工具栏\r\n let toolbarRender;\r\n if (toolbar) {\r\n toolbarRender = (\r\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\r\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\r\n <div className={`${prefixCls}-toolbar-right`}>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-actions`,\r\n )}\r\n >\r\n {buttonGroup}\r\n </div>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title=\"刷新\">\r\n <RedoOutlined />\r\n </Tooltip>\r\n </div>\r\n )}\r\n {!hideColumnHeight && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <Dropdown\r\n overlay={\r\n <Menu\r\n onClick={({ key }) => setState({ size: key })}\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">默认</Menu.Item>\r\n <Menu.Item key=\"middle\">中等</Menu.Item>\r\n <Menu.Item key=\"small\">紧凑</Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title=\"列密度\">\r\n <ColumnHeightOutlined />\r\n </Tooltip>\r\n </Dropdown>\r\n </div>\r\n )}\r\n {!hideColumnSetting && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <ColumnSetting\r\n prefixCls={prefixCls}\r\n checkedColumnKeys={checkedColumnKeys}\r\n columnSettingOptions={columnSettingOptions}\r\n onChange={handleChangeColumns}\r\n onReset={() => parseColumns('reset')}\r\n disabledColumnKeys={disabledColumnKeys}\r\n onColumnsSave={onColumnsSave}\r\n >\r\n <Tooltip title=\"列设置\">\r\n <SettingOutlined />\r\n </Tooltip>\r\n </ColumnSetting>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // 分页\r\n const getPagination = pagination => {\r\n if (typeof pagination === 'boolean' && !pagination) {\r\n return pagination;\r\n }\r\n return {\r\n pageSizeOptions: ['10', '20', '30', '40', '50'],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n showTotal(total) {\r\n return `共 ${total} 条`;\r\n },\r\n ...pagination,\r\n };\r\n };\r\n\r\n // 处理操作按钮\r\n let columns = (visibleColumns || []).map(column => {\r\n const newColumn = { ...column };\r\n if (newColumn.renderButtons) {\r\n delete newColumn.renderButtons;\r\n }\r\n if (newColumn.renderButtonsVisibleNum) {\r\n delete newColumn.renderButtonsVisibleNum;\r\n }\r\n return {\r\n ...newColumn,\r\n render: isFunction(column.renderButtons)\r\n ? function(text, record, index) {\r\n return renderColumnButtons(\r\n column.renderButtons,\r\n column.renderButtonsVisibleNum,\r\n text,\r\n record,\r\n index,\r\n );\r\n }\r\n : 'render' in column\r\n ? column.render\r\n : function(text) {\r\n return ['', null, undefined].includes(text) ? '-' : text;\r\n },\r\n };\r\n });\r\n // 配置了列可伸缩\r\n if (columnResizable) {\r\n columns = columns.map((col, index) => ({\r\n ...col,\r\n onHeaderCell: column => ({\r\n width: column.width,\r\n onResize: handleResize(index),\r\n }),\r\n }));\r\n const handleResize = index => (e, { size }) => {\r\n setState(({ visibleColumns }) => {\r\n const nextColumns = [...visibleColumns];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n return { visibleColumns: nextColumns };\r\n });\r\n };\r\n }\r\n\r\n // 序号添加\r\n let dataSource = rest.dataSource;\r\n if (indexColumn) {\r\n columns = [\r\n {\r\n title: indexTitle,\r\n dataIndex: '_serialNum',\r\n key: '_serialNum',\r\n width: 70,\r\n fixed: indexFixed,\r\n },\r\n ...columns,\r\n ];\r\n dataSource = dataSource?.map((item, i) => {\r\n return {\r\n ...item,\r\n _serialNum: i + startIndex,\r\n };\r\n });\r\n }\r\n\r\n let scroll;\r\n if (autoFit) {\r\n scroll = {\r\n ...(rest.scroll || {}),\r\n y: scrollY,\r\n };\r\n }\r\n\r\n return (\r\n <div\r\n id={datagridId}\r\n className={classnames(prefixCls, className, {\r\n [`${prefixCls}-fit`]: autoFit,\r\n [`${prefixCls}-noFit`]: !autoFit,\r\n [`${prefixCls}-nodata`]: !dataSource?.length,\r\n [`${prefixCls}-userAgent-mac`]: isMac,\r\n })}\r\n style={style}\r\n ref={datagridRef}\r\n >\r\n {toolbarRender}\r\n {hasAlert && (\r\n <div className={`${prefixCls}-alert`}>\r\n <Alert\r\n prefixCls={prefixCls}\r\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\r\n onRowSelectionClear={onRowSelectionClear}\r\n />\r\n </div>\r\n )}\r\n <Table\r\n size={size}\r\n bordered={dataSource?.length > 0 ? bordered : false}\r\n {...rest}\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={scroll}\r\n pagination={getPagination(rest.pagination)}\r\n style={{\r\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\r\n }}\r\n locale={{\r\n emptyText: <Empty description={emptyText} />,\r\n ...rest.locale,\r\n }}\r\n components={\r\n columnResizable\r\n ? {\r\n ...(components || {}),\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n }\r\n : components\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nVtxDatagrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n refreshIconVisible: PropTypes.bool,\r\n hideColumnSetting: PropTypes.bool,\r\n hideColumnHeight: PropTypes.bool,\r\n bordered: PropTypes.bool,\r\n visibleColumnKeys: PropTypes.array,\r\n defaultVisibleColumnKeys: PropTypes.array,\r\n onVisibleColumnsChange: PropTypes.func,\r\n toolbarClassName: PropTypes.string,\r\n toolbar: PropTypes.bool,\r\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRefresh: PropTypes.func,\r\n indexColumn: PropTypes.bool,\r\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n indexTitle: PropTypes.string,\r\n startIndex: PropTypes.number,\r\n buttonGroup: PropTypes.node,\r\n autoFit: PropTypes.bool,\r\n headFootHeight: PropTypes.number,\r\n columnResizable: PropTypes.bool,\r\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRowSelectionClear: PropTypes.func,\r\n searchCollapseEvent$: PropTypes.object,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n components: PropTypes.object,\r\n};\r\n"],"mappings":"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"}
|
|
@@ -57,13 +57,18 @@ function VtxRpsFrame(props) {
|
|
|
57
57
|
var access_token = (0, _getUrlParam["default"])()['token'] || (0, _getUrlParam["default"])()['access_token']; // 获取公共参数
|
|
58
58
|
|
|
59
59
|
function commonParam() {
|
|
60
|
+
var header = {
|
|
61
|
+
'content-type': 'application/x-www-form-urlencoded'
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
if (access_token) {
|
|
65
|
+
header['Authorization'] = "Bearer ".concat(access_token);
|
|
66
|
+
}
|
|
67
|
+
|
|
60
68
|
return (0, _axios["default"])({
|
|
61
69
|
method: 'get',
|
|
62
70
|
url: "".concat(reportParamUrl, "?parameters={\"paramTypeCode\": \"").concat(paramCode, "\",\"tenantId\":\"").concat(tenantId, "\"}"),
|
|
63
|
-
headers:
|
|
64
|
-
'content-type': 'application/x-www-form-urlencoded',
|
|
65
|
-
Authorization: "Bearer ".concat(access_token)
|
|
66
|
-
}
|
|
71
|
+
headers: header
|
|
67
72
|
});
|
|
68
73
|
} // 获取报表code
|
|
69
74
|
|
|
@@ -76,13 +81,18 @@ function VtxRpsFrame(props) {
|
|
|
76
81
|
var formData = isParamEncode ? encodeURI(JSON.stringify(param)) : JSON.stringify(param);
|
|
77
82
|
|
|
78
83
|
function getReportInfoByCode() {
|
|
84
|
+
var header = {
|
|
85
|
+
'content-type': 'application/x-www-form-urlencoded'
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
if (access_token) {
|
|
89
|
+
header['Authorization'] = "Bearer ".concat(access_token);
|
|
90
|
+
}
|
|
91
|
+
|
|
79
92
|
return (0, _axios["default"])({
|
|
80
93
|
method: 'get',
|
|
81
94
|
url: "".concat(reportInfoUrl, "?parameters=").concat(formData),
|
|
82
|
-
headers:
|
|
83
|
-
'content-type': 'application/x-www-form-urlencoded',
|
|
84
|
-
Authorization: "Bearer ".concat(access_token)
|
|
85
|
-
}
|
|
95
|
+
headers: header
|
|
86
96
|
});
|
|
87
97
|
}
|
|
88
98
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["initReportParamUrl","initReportInfoUrl","initReportServerUrl","VtxRpsFrame","props","iframeName","useRef","Math","random","Date","getTime","useEffect","getReportInfoByCode","flag","report_param","data_param","paramTypeCode","tenantId","isParamEncode","reportParamUrl","reportInfoUrl","reportServerUrl","paramCode","report_code","getUrlParam","access_token","commonParam","axios","method","url","headers","Authorization","param","timestamp","valueOf","reqMethod","formData","encodeURI","JSON","stringify","all","then","spread","commonParamResult","reportInfoByCodeResult","data","result","commonParamData","obj","forEach","d","parmCode","parmName","reportInfoByCodeData","data_url","createForm","window","rpsPrefix","reportlet","current","err","console","log","propTypes","PropTypes","number","string","object","oneOfType","array","bool","reqURL","formDom","document","createElement","target","action","style","inputArray","k","Object","prototype","hasOwnProperty","call","input1","type","name","value","push","body","appendChild","i","len","length","append","submit","remove"],"sources":["vtx-rps-frame/index.jsx"],"sourcesContent":["/* eslint-disable camelcase */\r\n/*\r\n * @Author: chenxinyu\r\n * @Date: 2021-03-24 21:47:52\r\n * @LastEditors: your name\r\n * @LastEditTime: 2022-01-12 18:49:30\r\n * @Description: 报表容器\r\n * @FilePath: \\react-components\\components\\vtx-rps-frame\\index.jsx\r\n */\r\nimport React, { useEffect, useRef } from 'react';\r\nimport axios from 'axios';\r\nimport PropTypes from 'prop-types';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\r\n\r\n\r\nconst initReportParamUrl = '/cloud/management/rest/np/param/getByParamTypeCode';\r\nconst initReportInfoUrl = '/cloud/rps/api/np/v101/report/getReportInfoByCode.smvc';\r\nconst initReportServerUrl = '/ReportServer';\r\nfunction VtxRpsFrame(props) {\r\n const iframeName = useRef(Math.random() + new Date().getTime());\r\n\r\n // flag改变,重新渲染报表\r\n useEffect(() => {\r\n getReportInfoByCode();\r\n }, [props.flag]);\r\n\r\n const getReportInfoByCode = () => {\r\n const {\r\n // report_code,\r\n report_param,\r\n data_param,\r\n paramTypeCode,\r\n tenantId,\r\n isParamEncode = false,\r\n reportParamUrl = initReportParamUrl,\r\n reportInfoUrl = initReportInfoUrl,\r\n reportServerUrl = initReportServerUrl,\r\n } = props;\r\n\r\n const paramCode = paramTypeCode || 'param_report_constant';\r\n // report_code 可配置,如果地址栏有report_code,则优先,否则根据props的report_code\r\n const report_code = getUrlParam().report_code\r\n ? getUrlParam().report_code\r\n : props.report_code;\r\n\r\n const access_token = getUrlParam()['token'] || getUrlParam()['access_token'];\r\n\r\n // 获取公共参数\r\n function commonParam() {\r\n return axios({\r\n method: 'get',\r\n url: `${reportParamUrl}?parameters={\"paramTypeCode\": \"${paramCode}\",\"tenantId\":\"${tenantId}\"}`,\r\n headers: {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n Authorization: `Bearer ${access_token}`,\r\n },\r\n });\r\n }\r\n\r\n // 获取报表code\r\n const param = {\r\n report_code,\r\n timestamp: new Date().valueOf(),\r\n reqMethod: 0,\r\n };\r\n const formData = isParamEncode ? encodeURI(JSON.stringify(param)) : JSON.stringify(param);\r\n function getReportInfoByCode() {\r\n return axios({\r\n method: 'get',\r\n url: `${reportInfoUrl}?parameters=${formData}`,\r\n headers: {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n Authorization: `Bearer ${access_token}`,\r\n },\r\n });\r\n }\r\n\r\n axios\r\n .all([commonParam(), getReportInfoByCode()])\r\n .then(\r\n axios.spread(function (commonParamResult, reportInfoByCodeResult) {\r\n if (!commonParamResult.data.result && !reportInfoByCodeResult.data.result) {\r\n // 报表公共参数\r\n const commonParamData = commonParamResult.data.data;\r\n const obj = {};\r\n commonParamData.forEach(d => {\r\n obj[d.parmCode] = d.parmName;\r\n });\r\n const reportInfoByCodeData = reportInfoByCodeResult.data.data;\r\n const param = {\r\n data_url: reportInfoByCodeData.data_url,\r\n data_param: JSON.stringify(data_param),\r\n ...report_param,\r\n ...obj,\r\n reqMethod: 0,\r\n };\r\n createForm(\r\n `${window.rpsPrefix || ''}${reportServerUrl}?report_code=${report_code}&reportlet=${reportInfoByCodeData.reportlet\r\n }&fr_locale=zh_CN×tamp=${new Date().valueOf()}`,\r\n param,\r\n `${iframeName.current}`,\r\n );\r\n }\r\n }),\r\n )\r\n // eslint-disable-next-line no-console\r\n .catch(err => console.log(err));\r\n };\r\n\r\n return (\r\n <div className=\"vtx-rps-frame\">\r\n <iframe\r\n className=\"vtx-rps-frame-wrapper\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n name={`${iframeName.current}`}\r\n ></iframe>\r\n </div>\r\n );\r\n}\r\n\r\nVtxRpsFrame.propTypes = {\r\n flag: PropTypes.number,\r\n report_code: PropTypes.string,\r\n report_param: PropTypes.object,\r\n data_param: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n paramTypeCode: PropTypes.string,\r\n tenantId: PropTypes.string,\r\n reportParamUrl: PropTypes.string,\r\n reportInfoUrl: PropTypes.string,\r\n reportServerUrl: PropTypes.string,\r\n isParamEncode: PropTypes.bool,\r\n};\r\nexport default VtxRpsFrame;\r\n\r\nconst createForm = function (reqURL, param, iframeName) {\r\n // 定义一个form表单\r\n const formDom = document.createElement('form');\r\n formDom.method = 'post';\r\n formDom.target = iframeName;\r\n formDom.action = reqURL;\r\n formDom.style = 'display:none';\r\n const inputArray = [];\r\n for (const k in param) {\r\n if (Object.prototype.hasOwnProperty.call(param, k)) {\r\n const input1 = document.createElement('input');\r\n input1.type = 'hidden';\r\n input1.name = k;\r\n input1.value = param[k];\r\n inputArray.push(input1);\r\n }\r\n }\r\n document.body.appendChild(formDom); // 将表单放置在web中\r\n for (let i = 0, len = inputArray.length; i < len; i++) {\r\n formDom.append(inputArray[i]);\r\n }\r\n formDom.submit(); // 表单提交\r\n formDom.remove();\r\n};\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["initReportParamUrl","initReportInfoUrl","initReportServerUrl","VtxRpsFrame","props","iframeName","useRef","Math","random","Date","getTime","useEffect","getReportInfoByCode","flag","report_param","data_param","paramTypeCode","tenantId","isParamEncode","reportParamUrl","reportInfoUrl","reportServerUrl","paramCode","report_code","getUrlParam","access_token","commonParam","header","axios","method","url","headers","param","timestamp","valueOf","reqMethod","formData","encodeURI","JSON","stringify","all","then","spread","commonParamResult","reportInfoByCodeResult","data","result","commonParamData","obj","forEach","d","parmCode","parmName","reportInfoByCodeData","data_url","createForm","window","rpsPrefix","reportlet","current","err","console","log","propTypes","PropTypes","number","string","object","oneOfType","array","bool","reqURL","formDom","document","createElement","target","action","style","inputArray","k","Object","prototype","hasOwnProperty","call","input1","type","name","value","push","body","appendChild","i","len","length","append","submit","remove"],"sources":["vtx-rps-frame/index.jsx"],"sourcesContent":["/* eslint-disable camelcase */\r\n/*\r\n * @Author: chenxinyu\r\n * @Date: 2021-03-24 21:47:52\r\n * @LastEditors: your name\r\n * @LastEditTime: 2022-01-12 18:49:30\r\n * @Description: 报表容器\r\n * @FilePath: \\react-components\\components\\vtx-rps-frame\\index.jsx\r\n */\r\nimport React, { useEffect, useRef } from 'react';\r\nimport axios from 'axios';\r\nimport PropTypes from 'prop-types';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\r\n\r\n\r\nconst initReportParamUrl = '/cloud/management/rest/np/param/getByParamTypeCode';\r\nconst initReportInfoUrl = '/cloud/rps/api/np/v101/report/getReportInfoByCode.smvc';\r\nconst initReportServerUrl = '/ReportServer';\r\nfunction VtxRpsFrame(props) {\r\n const iframeName = useRef(Math.random() + new Date().getTime());\r\n\r\n // flag改变,重新渲染报表\r\n useEffect(() => {\r\n getReportInfoByCode();\r\n }, [props.flag]);\r\n\r\n const getReportInfoByCode = () => {\r\n const {\r\n // report_code,\r\n report_param,\r\n data_param,\r\n paramTypeCode,\r\n tenantId,\r\n isParamEncode = false,\r\n reportParamUrl = initReportParamUrl,\r\n reportInfoUrl = initReportInfoUrl,\r\n reportServerUrl = initReportServerUrl,\r\n } = props;\r\n\r\n const paramCode = paramTypeCode || 'param_report_constant';\r\n // report_code 可配置,如果地址栏有report_code,则优先,否则根据props的report_code\r\n const report_code = getUrlParam().report_code\r\n ? getUrlParam().report_code\r\n : props.report_code;\r\n\r\n const access_token = getUrlParam()['token'] || getUrlParam()['access_token'];\r\n\r\n // 获取公共参数\r\n function commonParam() {\r\n let header = {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n }\r\n if(access_token){\r\n header['Authorization']= `Bearer ${access_token}`;\r\n }\r\n return axios({\r\n method: 'get',\r\n url: `${reportParamUrl}?parameters={\"paramTypeCode\": \"${paramCode}\",\"tenantId\":\"${tenantId}\"}`,\r\n headers: header,\r\n });\r\n }\r\n\r\n // 获取报表code\r\n const param = {\r\n report_code,\r\n timestamp: new Date().valueOf(),\r\n reqMethod: 0,\r\n };\r\n const formData = isParamEncode ? encodeURI(JSON.stringify(param)) : JSON.stringify(param);\r\n function getReportInfoByCode() {\r\n let header = {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n }\r\n if(access_token){\r\n header['Authorization']= `Bearer ${access_token}`;\r\n }\r\n return axios({\r\n method: 'get',\r\n url: `${reportInfoUrl}?parameters=${formData}`,\r\n headers: header,\r\n });\r\n }\r\n\r\n axios\r\n .all([commonParam(), getReportInfoByCode()])\r\n .then(\r\n axios.spread(function (commonParamResult, reportInfoByCodeResult) {\r\n if (!commonParamResult.data.result && !reportInfoByCodeResult.data.result) {\r\n // 报表公共参数\r\n const commonParamData = commonParamResult.data.data;\r\n const obj = {};\r\n commonParamData.forEach(d => {\r\n obj[d.parmCode] = d.parmName;\r\n });\r\n const reportInfoByCodeData = reportInfoByCodeResult.data.data;\r\n const param = {\r\n data_url: reportInfoByCodeData.data_url,\r\n data_param: JSON.stringify(data_param),\r\n ...report_param,\r\n ...obj,\r\n reqMethod: 0,\r\n };\r\n createForm(\r\n `${window.rpsPrefix || ''}${reportServerUrl}?report_code=${report_code}&reportlet=${reportInfoByCodeData.reportlet\r\n }&fr_locale=zh_CN×tamp=${new Date().valueOf()}`,\r\n param,\r\n `${iframeName.current}`,\r\n );\r\n }\r\n }),\r\n )\r\n // eslint-disable-next-line no-console\r\n .catch(err => console.log(err));\r\n };\r\n\r\n return (\r\n <div className=\"vtx-rps-frame\">\r\n <iframe\r\n className=\"vtx-rps-frame-wrapper\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n name={`${iframeName.current}`}\r\n ></iframe>\r\n </div>\r\n );\r\n}\r\n\r\nVtxRpsFrame.propTypes = {\r\n flag: PropTypes.number,\r\n report_code: PropTypes.string,\r\n report_param: PropTypes.object,\r\n data_param: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n paramTypeCode: PropTypes.string,\r\n tenantId: PropTypes.string,\r\n reportParamUrl: PropTypes.string,\r\n reportInfoUrl: PropTypes.string,\r\n reportServerUrl: PropTypes.string,\r\n isParamEncode: PropTypes.bool,\r\n};\r\nexport default VtxRpsFrame;\r\n\r\nconst createForm = function (reqURL, param, iframeName) {\r\n // 定义一个form表单\r\n const formDom = document.createElement('form');\r\n formDom.method = 'post';\r\n formDom.target = iframeName;\r\n formDom.action = reqURL;\r\n formDom.style = 'display:none';\r\n const inputArray = [];\r\n for (const k in param) {\r\n if (Object.prototype.hasOwnProperty.call(param, k)) {\r\n const input1 = document.createElement('input');\r\n input1.type = 'hidden';\r\n input1.name = k;\r\n input1.value = param[k];\r\n inputArray.push(input1);\r\n }\r\n }\r\n document.body.appendChild(formDom); // 将表单放置在web中\r\n for (let i = 0, len = inputArray.length; i < len; i++) {\r\n formDom.append(inputArray[i]);\r\n }\r\n formDom.submit(); // 表单提交\r\n formDom.remove();\r\n};\r\n"],"mappings":"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"}
|
|
@@ -92,7 +92,9 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
92
92
|
_this.treeRefreshFlag = 1;
|
|
93
93
|
_this.state = {
|
|
94
94
|
popoverVisible: false,
|
|
95
|
-
popWidth: 0
|
|
95
|
+
popWidth: 0,
|
|
96
|
+
searchValue: '',
|
|
97
|
+
inputRef: null
|
|
96
98
|
};
|
|
97
99
|
_this.keyNodesMapping = {};
|
|
98
100
|
|
|
@@ -159,6 +161,15 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
159
161
|
leafKeys: [],
|
|
160
162
|
names: []
|
|
161
163
|
});
|
|
164
|
+
|
|
165
|
+
if (this.tree) {
|
|
166
|
+
var _this$tree;
|
|
167
|
+
|
|
168
|
+
this.setState({
|
|
169
|
+
searchValue: ''
|
|
170
|
+
});
|
|
171
|
+
(_this$tree = this.tree) === null || _this$tree === void 0 ? void 0 : _this$tree.fuzzySearch('');
|
|
172
|
+
}
|
|
162
173
|
}
|
|
163
174
|
}, {
|
|
164
175
|
key: "clearKey",
|
|
@@ -259,7 +270,8 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
259
270
|
var treeProps = (_treeProps = {
|
|
260
271
|
data: data,
|
|
261
272
|
// 树的数据
|
|
262
|
-
showSearch: showSearch,
|
|
273
|
+
// showSearch: showSearch,
|
|
274
|
+
showSearch: false,
|
|
263
275
|
searchPlaceholder: searchPlaceholder,
|
|
264
276
|
multiple: multiple,
|
|
265
277
|
checkable: treeCheckable
|
|
@@ -285,7 +297,8 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
285
297
|
|
|
286
298
|
if (!multiple) {
|
|
287
299
|
t.setState({
|
|
288
|
-
popoverVisible: false
|
|
300
|
+
popoverVisible: false,
|
|
301
|
+
searchValue: ''
|
|
289
302
|
});
|
|
290
303
|
}
|
|
291
304
|
}
|
|
@@ -313,10 +326,10 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
313
326
|
var MultiSelect = /*#__PURE__*/_react["default"].createElement("div", {
|
|
314
327
|
className: (0, _classnames2["default"])("".concat(prefixCls, "-multiple-box")),
|
|
315
328
|
style: style,
|
|
316
|
-
ref: function ref(
|
|
317
|
-
if (!t.state.popWidth &&
|
|
329
|
+
ref: function ref(_ref4) {
|
|
330
|
+
if (!t.state.popWidth && _ref4 !== null && _ref4 !== void 0 && _ref4.clientWidth) {
|
|
318
331
|
t.setState({
|
|
319
|
-
popWidth:
|
|
332
|
+
popWidth: _ref4 === null || _ref4 === void 0 ? void 0 : _ref4.clientWidth
|
|
320
333
|
});
|
|
321
334
|
}
|
|
322
335
|
}
|
|
@@ -327,7 +340,7 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
327
340
|
}, style)
|
|
328
341
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
329
342
|
className: (0, _classnames2["default"])("".concat(prefixCls, "-multiple-content"))
|
|
330
|
-
}, selectedNodes.length > 0
|
|
343
|
+
}, selectedNodes.length > 0 && [selectedNodes.map(function (item) {
|
|
331
344
|
return /*#__PURE__*/_react["default"].createElement(_tag["default"], {
|
|
332
345
|
key: item.id,
|
|
333
346
|
closable: !disabled,
|
|
@@ -343,9 +356,40 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
343
356
|
e.stopPropagation();
|
|
344
357
|
t.clear();
|
|
345
358
|
}
|
|
346
|
-
})]
|
|
359
|
+
})], selectedNodes.length == 0 && !t.state.focusMultiple && !t.state.searchValue && /*#__PURE__*/_react["default"].createElement("span", {
|
|
347
360
|
className: "".concat(prefixCls, "-placeholder")
|
|
348
|
-
}, t.props.placeholder)
|
|
361
|
+
}, t.props.placeholder), /*#__PURE__*/_react["default"].createElement(_input["default"], {
|
|
362
|
+
ref: function ref(_ref3) {
|
|
363
|
+
if (_ref3 && !t.state.inputRef) {
|
|
364
|
+
t.setState({
|
|
365
|
+
inputRef: _ref3
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
value: t.state.searchValue,
|
|
370
|
+
onChange: function onChange(e) {
|
|
371
|
+
if (t.tree) {
|
|
372
|
+
var _t$tree;
|
|
373
|
+
|
|
374
|
+
t.setState({
|
|
375
|
+
searchValue: e.target.value
|
|
376
|
+
});
|
|
377
|
+
(_t$tree = t.tree) === null || _t$tree === void 0 ? void 0 : _t$tree.fuzzySearch(e.target.value.trim());
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
onBlur: function onBlur() {
|
|
381
|
+
t.setState({
|
|
382
|
+
focusMultiple: false
|
|
383
|
+
});
|
|
384
|
+
},
|
|
385
|
+
style: {
|
|
386
|
+
width: 'fit-content',
|
|
387
|
+
border: 'none',
|
|
388
|
+
padding: 0,
|
|
389
|
+
outline: 'none',
|
|
390
|
+
boxShadow: 'none'
|
|
391
|
+
}
|
|
392
|
+
}))), /*#__PURE__*/_react["default"].createElement(_popover["default"], {
|
|
349
393
|
content: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
350
394
|
className: (0, _classnames2["default"])('vtx-tree-count-head')
|
|
351
395
|
}, /*#__PURE__*/_react["default"].createElement("span", null, "\u5DF2\u9009\u62E9\uFF1A", selectedNodes.length), /*#__PURE__*/_react["default"].createElement("span", {
|
|
@@ -387,17 +431,37 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
387
431
|
|
|
388
432
|
|
|
389
433
|
var SingleSelect = /*#__PURE__*/_react["default"].createElement(_input["default"], {
|
|
390
|
-
value: selectedNodes.map(function (item) {
|
|
434
|
+
value: t.state.focusSingle ? t.state.searchValue : t.state.searchValue || selectedNodes.map(function (item) {
|
|
391
435
|
return item.name;
|
|
392
436
|
}).join(', '),
|
|
393
|
-
style: style
|
|
394
|
-
|
|
437
|
+
style: style // readOnly
|
|
438
|
+
,
|
|
395
439
|
disabled: disabled,
|
|
396
440
|
placeholder: t.props.placeholder,
|
|
397
441
|
suffix: disabled || selectedNodes.length == 0 ? /*#__PURE__*/_react["default"].createElement("span", null) : /*#__PURE__*/_react["default"].createElement(_CloseCircleFilled["default"], {
|
|
398
442
|
className: "".concat(prefixCls, "-close-icon"),
|
|
399
443
|
onClick: t.clear.bind(t)
|
|
400
|
-
})
|
|
444
|
+
}),
|
|
445
|
+
onFocus: function onFocus() {
|
|
446
|
+
t.setState({
|
|
447
|
+
focusSingle: true
|
|
448
|
+
});
|
|
449
|
+
},
|
|
450
|
+
onBlur: function onBlur() {
|
|
451
|
+
t.setState({
|
|
452
|
+
focusSingle: false
|
|
453
|
+
});
|
|
454
|
+
},
|
|
455
|
+
onChange: function onChange(e) {
|
|
456
|
+
if (t.tree) {
|
|
457
|
+
var _t$tree2;
|
|
458
|
+
|
|
459
|
+
t.setState({
|
|
460
|
+
searchValue: e.target.value
|
|
461
|
+
});
|
|
462
|
+
(_t$tree2 = t.tree) === null || _t$tree2 === void 0 ? void 0 : _t$tree2.fuzzySearch(e.target.value.trim());
|
|
463
|
+
}
|
|
464
|
+
}
|
|
401
465
|
});
|
|
402
466
|
|
|
403
467
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -410,8 +474,15 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
410
474
|
}, /*#__PURE__*/_react["default"].createElement(_vtxZtree["default"], treeProps)),
|
|
411
475
|
trigger: "click",
|
|
412
476
|
onVisibleChange: function onVisibleChange(v) {
|
|
477
|
+
if (v && (multiple || treeCheckable) && t.state.inputRef) {
|
|
478
|
+
t.state.inputRef.focus({
|
|
479
|
+
cursor: 'end'
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
|
|
413
483
|
t.setState({
|
|
414
|
-
popoverVisible: v
|
|
484
|
+
popoverVisible: v,
|
|
485
|
+
focusMultiple: v
|
|
415
486
|
});
|
|
416
487
|
},
|
|
417
488
|
visible: t.state.popoverVisible
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","popWidth","keyNodesMapping","getKeyNodesMapping","prevProps","isEqual","data","expandedKeys","nodes","t","genNodes","map","item","children","rest","key","Array","isArray","length","treeCheckable","checkNodes","getCheckedNodes","cancelSelectedNodes","value","onChange","keys","leafKeys","names","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","setState","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","classnames","ref","clientWidth","height","e","stopPropagation","clearKey","slice","clear","placeholder","marginBottom","Empty","PRESENTED_IMAGE_SIMPLE","width","SingleSelect","join","bind","v","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func"],"sources":["vtx-ztree-select/index.jsx"],"sourcesContent":["import React from 'react';\nimport Popover from 'antd/lib/popover';\nimport Input from 'antd/lib/input';\nimport Tag from 'antd/lib/tag';\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport isEqual from 'lodash.isequal';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Ztree from '../vtx-ztree';\nimport { MoreOutlined } from '@ant-design/icons';\nimport Button from 'antd/lib/button';\nimport Empty from 'antd/lib/empty';\n\nexport default class VtxZtreeSelect extends React.Component {\n constructor(props) {\n super(props);\n this.tree = null;\n this.treeRefreshFlag = 1;\n this.state = {\n popoverVisible: false,\n popWidth: 0\n };\n this.keyNodesMapping = {};\n this.getKeyNodesMapping();\n }\n\n // UNSAFE_componentWillReceiveProps(nextProps) {\n // if (!isEqual(this.props.data, nextProps.data)) {\n // this.getKeyNodesMapping(nextProps.data);\n // }\n // if (!isEqual(this.props.expandedKeys, nextProps.expandedKeys)) {\n // this.treeRefreshFlag++;\n // }\n // }\n\n // 替换componentWillReceiveProps\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.data, prevProps.data)) {\n this.getKeyNodesMapping(this.props.data);\n }\n if (!isEqual(this.props.expandedKeys, prevProps.expandedKeys)) {\n this.treeRefreshFlag++;\n }\n }\n\n getKeyNodesMapping(nodes) {\n const t = this;\n t.keyNodesMapping = {};\n (function genNodes(nodes) {\n nodes.map(item => {\n const { children, ...rest } = item;\n t.keyNodesMapping[item.key] = rest;\n if (Array.isArray(children) && children.length > 0) {\n genNodes(children);\n }\n });\n })(nodes || this.props.data || []);\n }\n\n clear() {\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes(\n this.tree.getCheckedNodes().map(item => item.key),\n false,\n );\n } else {\n this.tree.cancelSelectedNodes(this.props.value);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes: [],\n keys: [],\n leafKeys: [],\n names: [],\n });\n }\n\n clearKey(key) {\n const keyIndex = this.props.value.indexOf(key);\n if (keyIndex != -1) {\n const keyList = [...this.props.value];\n keyList.splice(keyIndex, 1);\n const nodes = keyList.map(key => this.keyNodesMapping[key]);\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes([key], false);\n } else {\n this.tree.cancelSelectedNodes([key]);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes,\n keys: keyList,\n leafKeys: nodes.filter(item => item.isLeaf).map(item => item.key),\n names: nodes.map(item => item.name),\n });\n }\n }\n\n clearSearch() {\n this.tree && this.tree.clearSearch();\n }\n\n render() {\n const t = this;\n // 必填参数\n const { data, value } = t.props;\n // 可配参数\n const {\n prefixCls = 'vtx-ztree-select',\n treeCheckable = false,\n treeDefaultExpandAll = false,\n multiple = false,\n showSearch = true,\n searchPlaceholder,\n dropdownStyle = {},\n style = {},\n disabled = false,\n refreshFlag = null,\n expandedKeys,\n customCfg,\n checkStrictly,\n } = t.props;\n // eslint-disable-next-line camelcase\n const value_arr = (function(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n })(value);\n const selectedNodes = value_arr\n .filter(k => k in t.keyNodesMapping)\n .map(item => ({\n id: item,\n name: t.keyNodesMapping[item].name,\n }));\n // ztree配置\n const treeProps = {\n data, // 树的数据\n showSearch: showSearch,\n searchPlaceholder: searchPlaceholder,\n multiple,\n checkable: treeCheckable,\n [treeCheckable ? 'checkedKeys' : 'selectedKeys']: value_arr,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys,\n refreshFlag: refreshFlag || t.treeRefreshFlag,\n customCfg,\n checkStrictly,\n ref(instance) {\n if (instance) t.tree = instance;\n },\n onClick({ selectedNodes, selectedKeys, selectedNames }) {\n // console.log(selectedNodes,selectedKeys,selectedNames)\n if (!treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: selectedNodes,\n keys: selectedKeys,\n leafKeys: selectedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: selectedNames,\n });\n if (!multiple) {\n t.setState({\n popoverVisible: false,\n });\n }\n }\n },\n onCheck({ checkedNodes, checkedKeys, checkedNames }) {\n if (treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: checkedNodes,\n keys: checkedKeys,\n leafKeys: checkedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: checkedNames,\n });\n }\n },\n beforeCheck(treeNode) {\n return t.props.beforeCheck ? t.props.beforeCheck(treeNode) : true;\n },\n };\n\n // 多选组件\n const MultiSelect = (\n <div \n className={classnames(`${prefixCls}-multiple-box`)} \n style={style}\n ref={ref=>{\n if(!t.state.popWidth && ref?.clientWidth){\n t.setState({popWidth: ref?.clientWidth})\n }\n }}\n >\n <div\n className={classnames('ant-input', `${prefixCls}-multiple`, {\n [`${prefixCls}-multiple-disabled`]: disabled,\n })}\n style={{ height: '32px', ...style }}\n >\n <div className={classnames(`${prefixCls}-multiple-content`)}>\n {selectedNodes.length > 0 ? (\n [\n selectedNodes.map(item => (\n <Tag\n key={item.id}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )),\n disabled ? null : (\n <CloseCircleFilled\n key={'icon'}\n className={`${prefixCls}-multiple-close-icon`}\n onClick={e => {\n e.stopPropagation();\n t.clear();\n }}\n />\n ),\n ]\n ) : (\n <span className={`${prefixCls}-placeholder`}>{t.props.placeholder}</span>\n )}\n </div>\n </div>\n <Popover\n content={\n <>\n <div className={classnames('vtx-tree-count-head')}>\n <span>已选择:{selectedNodes.length}</span>\n <span \n className={classnames((selectedNodes.length>0&&!disabled)?'clear-count':'disabled-count')} \n onClick={e=>{\n if(!disabled){\n e.stopPropagation();\n t.clear();\n }\n }}\n >清空已选项</span>\n </div>\n {\n selectedNodes.length>0?\n selectedNodes.map(item => (\n <Tag\n key={`tab-${item.id}`}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n style={{marginBottom: '5px'}}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )):\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n }\n </>\n }\n placement=\"bottomRight\"\n trigger=\"click\"\n overlayStyle={{ width: t.state.popWidth }}\n >\n <Button \n className=\"vtx-tree-count\" \n icon={<MoreOutlined />} \n size='default' \n onClick={e=>{\n e.stopPropagation();\n }}\n />\n </Popover>\n </div>\n );\n\n // 单选组件\n const SingleSelect = (\n <Input\n value={selectedNodes.map(item => item.name).join(', ')}\n style={style}\n readOnly\n disabled={disabled}\n placeholder={t.props.placeholder}\n suffix={\n disabled || selectedNodes.length == 0 ? (\n <span />\n ) : (\n <CloseCircleFilled\n className={`${prefixCls}-close-icon`}\n onClick={t.clear.bind(t)}\n />\n )\n }\n />\n );\n\n return (\n <div className={prefixCls}>\n {disabled ? (\n multiple || treeCheckable ? (\n MultiSelect\n ) : (\n SingleSelect\n )\n ) : (\n <Popover\n placement=\"bottomLeft\"\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n t.setState({ popoverVisible: v });\n }}\n visible={t.state.popoverVisible}\n >\n {multiple || treeCheckable ? MultiSelect : SingleSelect}\n </Popover>\n )}\n </div>\n );\n }\n}\n\nVtxZtreeSelect.propTypes = {\n data: PropTypes.array,\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n treeCheckable: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEqBA,c;;;;;EACjB,wBAAYC,KAAZ,EAAmB;IAAA;;IAAA;;IACf,0BAAMA,KAAN;IACA,MAAKC,IAAL,GAAY,IAAZ;IACA,MAAKC,eAAL,GAAuB,CAAvB;IACA,MAAKC,KAAL,GAAa;MACTC,cAAc,EAAE,KADP;MAETC,QAAQ,EAAE;IAFD,CAAb;IAIA,MAAKC,eAAL,GAAuB,EAAvB;;IACA,MAAKC,kBAAL;;IATe;EAUlB,C,CAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;;;WACA,4BAAmBC,SAAnB,EAA8B;MAC1B,IAAI,CAAC,IAAAC,kBAAA,EAAQ,KAAKT,KAAL,CAAWU,IAAnB,EAAyBF,SAAS,CAACE,IAAnC,CAAL,EAA+C;QAC3C,KAAKH,kBAAL,CAAwB,KAAKP,KAAL,CAAWU,IAAnC;MACH;;MACD,IAAI,CAAC,IAAAD,kBAAA,EAAQ,KAAKT,KAAL,CAAWW,YAAnB,EAAiCH,SAAS,CAACG,YAA3C,CAAL,EAA+D;QAC3D,KAAKT,eAAL;MACH;IACJ;;;WAED,4BAAmBU,KAAnB,EAA0B;MACtB,IAAMC,CAAC,GAAG,IAAV;MACAA,CAAC,CAACP,eAAF,GAAoB,EAApB;;MACA,CAAC,SAASQ,QAAT,CAAkBF,KAAlB,EAAyB;QACtBA,KAAK,CAACG,GAAN,CAAU,UAAAC,IAAI,EAAI;UACd,IAAQC,QAAR,GAA8BD,IAA9B,CAAQC,QAAR;UAAA,IAAqBC,IAArB,4BAA8BF,IAA9B;;UACAH,CAAC,CAACP,eAAF,CAAkBU,IAAI,CAACG,GAAvB,IAA8BD,IAA9B;;UACA,IAAIE,KAAK,CAACC,OAAN,CAAcJ,QAAd,KAA2BA,QAAQ,CAACK,MAAT,GAAkB,CAAjD,EAAoD;YAChDR,QAAQ,CAACG,QAAD,CAAR;UACH;QACJ,CAND;MAOH,CARD,EAQGL,KAAK,IAAI,KAAKZ,KAAL,CAAWU,IAApB,IAA4B,EAR/B;IASH;;;WAED,iBAAQ;MACJ,IAAI,KAAKT,IAAT,EAAe;QACX,IAAI,KAAKD,KAAL,CAAWuB,aAAf,EAA8B;UAC1B,KAAKtB,IAAL,CAAUuB,UAAV,CACI,KAAKvB,IAAL,CAAUwB,eAAV,GAA4BV,GAA5B,CAAgC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACG,GAAT;UAAA,CAApC,CADJ,EAEI,KAFJ;QAIH,CALD,MAKO;UACH,KAAKlB,IAAL,CAAUyB,mBAAV,CAA8B,KAAK1B,KAAL,CAAW2B,KAAzC;QACH;MACJ;;MACD,KAAK3B,KAAL,CAAW4B,QAAX,IACI,KAAK5B,KAAL,CAAW4B,QAAX,CAAoB;QAChBhB,KAAK,EAAE,EADS;QAEhBiB,IAAI,EAAE,EAFU;QAGhBC,QAAQ,EAAE,EAHM;QAIhBC,KAAK,EAAE;MAJS,CAApB,CADJ;IAOH;;;WAED,kBAASZ,GAAT,EAAc;MAAA;;MACV,IAAMa,QAAQ,GAAG,KAAKhC,KAAL,CAAW2B,KAAX,CAAiBM,OAAjB,CAAyBd,GAAzB,CAAjB;;MACA,IAAIa,QAAQ,IAAI,CAAC,CAAjB,EAAoB;QAChB,IAAME,OAAO,sBAAO,KAAKlC,KAAL,CAAW2B,KAAlB,CAAb;;QACAO,OAAO,CAACC,MAAR,CAAeH,QAAf,EAAyB,CAAzB;QACA,IAAMpB,KAAK,GAAGsB,OAAO,CAACnB,GAAR,CAAY,UAAAI,GAAG;UAAA,OAAI,MAAI,CAACb,eAAL,CAAqBa,GAArB,CAAJ;QAAA,CAAf,CAAd;;QACA,IAAI,KAAKlB,IAAT,EAAe;UACX,IAAI,KAAKD,KAAL,CAAWuB,aAAf,EAA8B;YAC1B,KAAKtB,IAAL,CAAUuB,UAAV,CAAqB,CAACL,GAAD,CAArB,EAA4B,KAA5B;UACH,CAFD,MAEO;YACH,KAAKlB,IAAL,CAAUyB,mBAAV,CAA8B,CAACP,GAAD,CAA9B;UACH;QACJ;;QACD,KAAKnB,KAAL,CAAW4B,QAAX,IACI,KAAK5B,KAAL,CAAW4B,QAAX,CAAoB;UAChBhB,KAAK,EAALA,KADgB;UAEhBiB,IAAI,EAAEK,OAFU;UAGhBJ,QAAQ,EAAElB,KAAK,CAACwB,MAAN,CAAa,UAAApB,IAAI;YAAA,OAAIA,IAAI,CAACqB,MAAT;UAAA,CAAjB,EAAkCtB,GAAlC,CAAsC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACG,GAAT;UAAA,CAA1C,CAHM;UAIhBY,KAAK,EAAEnB,KAAK,CAACG,GAAN,CAAU,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACsB,IAAT;UAAA,CAAd;QAJS,CAApB,CADJ;MAOH;IACJ;;;WAED,uBAAc;MACV,KAAKrC,IAAL,IAAa,KAAKA,IAAL,CAAUsC,WAAV,EAAb;IACH;;;WAED,kBAAS;MAAA;;MACL,IAAM1B,CAAC,GAAG,IAAV,CADK,CAEL;;MACA,eAAwBA,CAAC,CAACb,KAA1B;MAAA,IAAQU,IAAR,YAAQA,IAAR;MAAA,IAAciB,KAAd,YAAcA,KAAd,CAHK,CAIL;;MACA,gBAcId,CAAC,CAACb,KAdN;MAAA,oCACIwC,SADJ;MAAA,IACIA,SADJ,oCACgB,kBADhB;MAAA,sCAEIjB,aAFJ;MAAA,IAEIA,aAFJ,sCAEoB,KAFpB;MAAA,sCAGIkB,oBAHJ;MAAA,IAGIA,oBAHJ,sCAG2B,KAH3B;MAAA,mCAIIC,QAJJ;MAAA,IAIIA,QAJJ,mCAIe,KAJf;MAAA,qCAKIC,UALJ;MAAA,IAKIA,UALJ,qCAKiB,IALjB;MAAA,IAMIC,iBANJ,aAMIA,iBANJ;MAAA,sCAOIC,aAPJ;MAAA,IAOIA,aAPJ,sCAOoB,EAPpB;MAAA,gCAQIC,KARJ;MAAA,IAQIA,KARJ,gCAQY,EARZ;MAAA,mCASIC,QATJ;MAAA,IASIA,QATJ,mCASe,KATf;MAAA,sCAUIC,WAVJ;MAAA,IAUIA,WAVJ,sCAUkB,IAVlB;MAAA,IAWIrC,YAXJ,aAWIA,YAXJ;MAAA,IAYIsC,SAZJ,aAYIA,SAZJ;MAAA,IAaIC,aAbJ,aAaIA,aAbJ,CALK,CAoBL;;MACA,IAAMC,SAAS,GAAI,UAASC,GAAT,EAAc;QAC7B,IAAIhC,KAAK,CAACC,OAAN,CAAc+B,GAAd,CAAJ,EAAwB;UACpB,OAAOA,GAAP;QACH,CAFD,MAEO,IAAIA,GAAJ,EAAS;UACZ,OAAO,CAACA,GAAD,CAAP;QACH,CAFM,MAEA;UACH,OAAO,EAAP;QACH;MACJ,CARiB,CAQfzB,KARe,CAAlB;;MASA,IAAM0B,aAAa,GAAGF,SAAS,CAC1Bf,MADiB,CACV,UAAAkB,CAAC;QAAA,OAAIA,CAAC,IAAIzC,CAAC,CAACP,eAAX;MAAA,CADS,EAEjBS,GAFiB,CAEb,UAAAC,IAAI;QAAA,OAAK;UACVuC,EAAE,EAAEvC,IADM;UAEVsB,IAAI,EAAEzB,CAAC,CAACP,eAAF,CAAkBU,IAAlB,EAAwBsB;QAFpB,CAAL;MAAA,CAFS,CAAtB,CA9BK,CAoCL;;MACA,IAAMkB,SAAS;QACX9C,IAAI,EAAJA,IADW;QACL;QACNiC,UAAU,EAAEA,UAFD;QAGXC,iBAAiB,EAAEA,iBAHR;QAIXF,QAAQ,EAARA,QAJW;QAKXe,SAAS,EAAElC;MALA,+BAMVA,aAAa,GAAG,aAAH,GAAmB,cANtB,EAMuC4B,SANvC,mDAOOV,oBAPP,+CAQX9B,YARW,8CASEqC,WAAW,IAAInC,CAAC,CAACX,eATnB,4CAUX+C,SAVW,gDAWXC,aAXW,mDAYPQ,QAZO,EAYG;QACV,IAAIA,QAAJ,EAAc7C,CAAC,CAACZ,IAAF,GAASyD,QAAT;MACjB,CAdU,iEAe6C;QAAA,IAA9CL,aAA8C,QAA9CA,aAA8C;QAAA,IAA/BM,YAA+B,QAA/BA,YAA+B;QAAA,IAAjBC,aAAiB,QAAjBA,aAAiB;;QACpD;QACA,IAAI,CAACrC,aAAL,EAAoB;UAChBV,CAAC,CAACb,KAAF,CAAQ4B,QAAR,IACIf,CAAC,CAACb,KAAF,CAAQ4B,QAAR,CAAiB;YACbhB,KAAK,EAAEyC,aADM;YAEbxB,IAAI,EAAE8B,YAFO;YAGb7B,QAAQ,EAAEuB,aAAa,CAClBjB,MADK,CACE,UAAApB,IAAI;cAAA,OAAIA,IAAI,CAACqB,MAAT;YAAA,CADN,EAELtB,GAFK,CAED,UAAAC,IAAI;cAAA,OAAIA,IAAI,CAACG,GAAT;YAAA,CAFH,CAHG;YAMbY,KAAK,EAAE6B;UANM,CAAjB,CADJ;;UASA,IAAI,CAAClB,QAAL,EAAe;YACX7B,CAAC,CAACgD,QAAF,CAAW;cACPzD,cAAc,EAAE;YADT,CAAX;UAGH;QACJ;MACJ,CAjCU,kEAkC0C;QAAA,IAA3C0D,YAA2C,SAA3CA,YAA2C;QAAA,IAA7BC,WAA6B,SAA7BA,WAA6B;QAAA,IAAhBC,YAAgB,SAAhBA,YAAgB;;QACjD,IAAIzC,aAAJ,EAAmB;UACfV,CAAC,CAACb,KAAF,CAAQ4B,QAAR,IACIf,CAAC,CAACb,KAAF,CAAQ4B,QAAR,CAAiB;YACbhB,KAAK,EAAEkD,YADM;YAEbjC,IAAI,EAAEkC,WAFO;YAGbjC,QAAQ,EAAEgC,YAAY,CACjB1B,MADK,CACE,UAAApB,IAAI;cAAA,OAAIA,IAAI,CAACqB,MAAT;YAAA,CADN,EAELtB,GAFK,CAED,UAAAC,IAAI;cAAA,OAAIA,IAAI,CAACG,GAAT;YAAA,CAFH,CAHG;YAMbY,KAAK,EAAEiC;UANM,CAAjB,CADJ;QASH;MACJ,CA9CU,mEA+CCC,QA/CD,EA+CW;QAClB,OAAOpD,CAAC,CAACb,KAAF,CAAQkE,WAAR,GAAsBrD,CAAC,CAACb,KAAF,CAAQkE,WAAR,CAAoBD,QAApB,CAAtB,GAAsD,IAA7D;MACH,CAjDU,cAAf,CArCK,CAyFL;;MACA,IAAME,WAAW,gBACb;QACI,SAAS,EAAE,IAAAC,uBAAA,YAAc5B,SAAd,mBADf;QAEI,KAAK,EAAEM,KAFX;QAGI,GAAG,EAAE,aAAAuB,KAAG,EAAE;UACN,IAAG,CAACxD,CAAC,CAACV,KAAF,CAAQE,QAAT,IAAqBgE,KAArB,aAAqBA,KAArB,eAAqBA,KAAG,CAAEC,WAA7B,EAAyC;YACrCzD,CAAC,CAACgD,QAAF,CAAW;cAACxD,QAAQ,EAAEgE,KAAF,aAAEA,KAAF,uBAAEA,KAAG,CAAEC;YAAhB,CAAX;UACH;QACJ;MAPL,gBASI;QACI,SAAS,EAAE,IAAAF,uBAAA,EAAW,WAAX,YAA2B5B,SAA3B,8CACHA,SADG,yBAC6BO,QAD7B,EADf;QAII,KAAK;UAAIwB,MAAM,EAAE;QAAZ,GAAuBzB,KAAvB;MAJT,gBAMI;QAAK,SAAS,EAAE,IAAAsB,uBAAA,YAAc5B,SAAd;MAAhB,GACCa,aAAa,CAAC/B,MAAd,GAAuB,CAAvB,GACG,CACI+B,aAAa,CAACtC,GAAd,CAAkB,UAAAC,IAAI;QAAA,oBAClB,gCAAC,eAAD;UACI,GAAG,EAAEA,IAAI,CAACuC,EADd;UAEI,QAAQ,EAAE,CAACR,QAFf;UAGI,OAAO,EAAE,iBAAAyB,CAAC,EAAI;YACVA,CAAC,CAACC,eAAF;YACA5D,CAAC,CAAC6D,QAAF,CAAW1D,IAAI,CAACuC,EAAhB;UACH;QANL,GAQKvC,IAAI,CAACsB,IAAL,CAAUhB,MAAV,GAAmB,EAAnB,aAA2BN,IAAI,CAACsB,IAAL,CAAUqC,KAAV,CAAgB,CAAhB,EAAmB,EAAnB,CAA3B,WAAyD3D,IAAI,CAACsB,IARnE,CADkB;MAAA,CAAtB,CADJ,EAaIS,QAAQ,GAAG,IAAH,gBACJ,gCAAC,6BAAD;QACI,GAAG,EAAE,MADT;QAEI,SAAS,YAAKP,SAAL,yBAFb;QAGI,OAAO,EAAE,iBAAAgC,CAAC,EAAI;UACVA,CAAC,CAACC,eAAF;UACA5D,CAAC,CAAC+D,KAAF;QACH;MANL,EAdR,CADH,gBA0BG;QAAM,SAAS,YAAKpC,SAAL;MAAf,GAA8C3B,CAAC,CAACb,KAAF,CAAQ6E,WAAtD,CA3BJ,CANJ,CATJ,eA8CI,gCAAC,mBAAD;QACI,OAAO,eACH,+EACI;UAAK,SAAS,EAAE,IAAAT,uBAAA,EAAW,qBAAX;QAAhB,gBACI,0EAAWf,aAAa,CAAC/B,MAAzB,CADJ,eAEI;UACI,SAAS,EAAE,IAAA8C,uBAAA,EAAYf,aAAa,CAAC/B,MAAd,GAAqB,CAArB,IAAwB,CAACyB,QAA1B,GAAoC,aAApC,GAAkD,gBAA7D,CADf;UAEI,OAAO,EAAE,iBAAAyB,CAAC,EAAE;YACR,IAAG,CAACzB,QAAJ,EAAa;cACTyB,CAAC,CAACC,eAAF;cACA5D,CAAC,CAAC+D,KAAF;YACH;UACJ;QAPL,oCAFJ,CADJ,EAcQvB,aAAa,CAAC/B,MAAd,GAAqB,CAArB,GACA+B,aAAa,CAACtC,GAAd,CAAkB,UAAAC,IAAI;UAAA,oBAClB,gCAAC,eAAD;YACI,GAAG,gBAASA,IAAI,CAACuC,EAAd,CADP;YAEI,QAAQ,EAAE,CAACR,QAFf;YAGI,OAAO,EAAE,iBAAAyB,CAAC,EAAI;cACVA,CAAC,CAACC,eAAF;cACA5D,CAAC,CAAC6D,QAAF,CAAW1D,IAAI,CAACuC,EAAhB;YACH,CANL;YAOI,KAAK,EAAE;cAACuB,YAAY,EAAE;YAAf;UAPX,GASK9D,IAAI,CAACsB,IAAL,CAAUhB,MAAV,GAAmB,EAAnB,aAA2BN,IAAI,CAACsB,IAAL,CAAUqC,KAAV,CAAgB,CAAhB,EAAmB,EAAnB,CAA3B,WAAyD3D,IAAI,CAACsB,IATnE,CADkB;QAAA,CAAtB,CADA,gBAcA,gCAAC,iBAAD;UAAO,KAAK,EAAEyC,iBAAA,CAAMC;QAApB,EA5BR,CAFR;QAkCI,SAAS,EAAC,aAlCd;QAmCI,OAAO,EAAC,OAnCZ;QAoCI,YAAY,EAAE;UAAEC,KAAK,EAAEpE,CAAC,CAACV,KAAF,CAAQE;QAAjB;MApClB,gBAsCI,gCAAC,kBAAD;QACI,SAAS,EAAC,gBADd;QAEI,IAAI,eAAE,gCAAC,mBAAD,OAFV;QAGI,IAAI,EAAC,SAHT;QAII,OAAO,EAAE,iBAAAmE,CAAC,EAAE;UACRA,CAAC,CAACC,eAAF;QACH;MANL,EAtCJ,CA9CJ,CADJ,CA1FK,CA2LL;;;MACA,IAAMS,YAAY,gBACd,gCAAC,iBAAD;QACI,KAAK,EAAE7B,aAAa,CAACtC,GAAd,CAAkB,UAAAC,IAAI;UAAA,OAAIA,IAAI,CAACsB,IAAT;QAAA,CAAtB,EAAqC6C,IAArC,CAA0C,IAA1C,CADX;QAEI,KAAK,EAAErC,KAFX;QAGI,QAAQ,MAHZ;QAII,QAAQ,EAAEC,QAJd;QAKI,WAAW,EAAElC,CAAC,CAACb,KAAF,CAAQ6E,WALzB;QAMI,MAAM,EACF9B,QAAQ,IAAIM,aAAa,CAAC/B,MAAd,IAAwB,CAApC,gBACI,6CADJ,gBAGI,gCAAC,6BAAD;UACI,SAAS,YAAKkB,SAAL,gBADb;UAEI,OAAO,EAAE3B,CAAC,CAAC+D,KAAF,CAAQQ,IAAR,CAAavE,CAAb;QAFb;MAVZ,EADJ;;MAoBA,oBACI;QAAK,SAAS,EAAE2B;MAAhB,GACKO,QAAQ,GACLL,QAAQ,IAAInB,aAAZ,GACI4C,WADJ,GAGIe,YAJC,gBAOL,gCAAC,mBAAD;QACI,SAAS,EAAC,YADd;QAEI,OAAO,eACH;UAAK,SAAS,YAAK1C,SAAL,aAAd;UAAwC,KAAK,EAAEK;QAA/C,gBACI,gCAAC,oBAAD,EAAWW,SAAX,CADJ,CAHR;QAOI,OAAO,EAAC,OAPZ;QAQI,eAAe,EAAE,yBAAA6B,CAAC,EAAI;UAClBxE,CAAC,CAACgD,QAAF,CAAW;YAAEzD,cAAc,EAAEiF;UAAlB,CAAX;QACH,CAVL;QAWI,OAAO,EAAExE,CAAC,CAACV,KAAF,CAAQC;MAXrB,GAaKsC,QAAQ,IAAInB,aAAZ,GAA4B4C,WAA5B,GAA0Ce,YAb/C,CARR,CADJ;IA2BH;;;;EAxUuCI,iBAAA,CAAMC,S;;;AA2UlDxF,cAAc,CAACyF,SAAf,GAA2B;EACvB9E,IAAI,EAAE+E,qBAAA,CAAUC,KADO;EAEvB/E,YAAY,EAAE8E,qBAAA,CAAUE,OAAV,CAAkBF,qBAAA,CAAUG,MAA5B,CAFS;EAGvBrE,aAAa,EAAEkE,qBAAA,CAAUI,IAHF;EAIvBlE,KAAK,EAAE8D,qBAAA,CAAUK,SAAV,CAAoB,CAACL,qBAAA,CAAUG,MAAX,EAAmBH,qBAAA,CAAUE,OAAV,CAAkBF,qBAAA,CAAUG,MAA5B,CAAnB,CAApB,CAJgB;EAKvBhE,QAAQ,EAAE6D,qBAAA,CAAUM;AALG,CAA3B"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","popWidth","searchValue","inputRef","keyNodesMapping","getKeyNodesMapping","prevProps","isEqual","data","expandedKeys","nodes","t","genNodes","map","item","children","rest","key","Array","isArray","length","treeCheckable","checkNodes","getCheckedNodes","cancelSelectedNodes","value","onChange","keys","leafKeys","names","setState","fuzzySearch","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","classnames","ref","clientWidth","height","e","stopPropagation","clearKey","slice","clear","focusMultiple","placeholder","target","trim","width","border","padding","outline","boxShadow","marginBottom","Empty","PRESENTED_IMAGE_SIMPLE","SingleSelect","focusSingle","join","bind","v","focus","cursor","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func"],"sources":["vtx-ztree-select/index.jsx"],"sourcesContent":["import React from 'react';\nimport Popover from 'antd/lib/popover';\nimport Input from 'antd/lib/input';\nimport Tag from 'antd/lib/tag';\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport isEqual from 'lodash.isequal';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Ztree from '../vtx-ztree';\nimport { MoreOutlined } from '@ant-design/icons';\nimport Button from 'antd/lib/button';\nimport Empty from 'antd/lib/empty';\n\nexport default class VtxZtreeSelect extends React.Component {\n constructor(props) {\n super(props);\n this.tree = null;\n this.treeRefreshFlag = 1;\n this.state = {\n popoverVisible: false,\n popWidth: 0,\n searchValue: '',\n inputRef: null\n };\n this.keyNodesMapping = {};\n this.getKeyNodesMapping();\n }\n\n // UNSAFE_componentWillReceiveProps(nextProps) {\n // if (!isEqual(this.props.data, nextProps.data)) {\n // this.getKeyNodesMapping(nextProps.data);\n // }\n // if (!isEqual(this.props.expandedKeys, nextProps.expandedKeys)) {\n // this.treeRefreshFlag++;\n // }\n // }\n\n // 替换componentWillReceiveProps\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.data, prevProps.data)) {\n this.getKeyNodesMapping(this.props.data);\n }\n if (!isEqual(this.props.expandedKeys, prevProps.expandedKeys)) {\n this.treeRefreshFlag++;\n }\n }\n\n getKeyNodesMapping(nodes) {\n const t = this;\n t.keyNodesMapping = {};\n (function genNodes(nodes) {\n nodes.map(item => {\n const { children, ...rest } = item;\n t.keyNodesMapping[item.key] = rest;\n if (Array.isArray(children) && children.length > 0) {\n genNodes(children);\n }\n });\n })(nodes || this.props.data || []);\n }\n\n clear() {\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes(\n this.tree.getCheckedNodes().map(item => item.key),\n false,\n );\n } else {\n this.tree.cancelSelectedNodes(this.props.value);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes: [],\n keys: [],\n leafKeys: [],\n names: [],\n });\n\n if(this.tree){\n this.setState({searchValue: ''});\n this.tree?.fuzzySearch('');\n }\n }\n\n clearKey(key) {\n const keyIndex = this.props.value.indexOf(key);\n if (keyIndex != -1) {\n const keyList = [...this.props.value];\n keyList.splice(keyIndex, 1);\n const nodes = keyList.map(key => this.keyNodesMapping[key]);\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes([key], false);\n } else {\n this.tree.cancelSelectedNodes([key]);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes,\n keys: keyList,\n leafKeys: nodes.filter(item => item.isLeaf).map(item => item.key),\n names: nodes.map(item => item.name),\n });\n }\n }\n\n clearSearch() {\n this.tree && this.tree.clearSearch();\n }\n\n render() {\n const t = this;\n // 必填参数\n const { data, value } = t.props;\n // 可配参数\n const {\n prefixCls = 'vtx-ztree-select',\n treeCheckable = false,\n treeDefaultExpandAll = false,\n multiple = false,\n showSearch = true,\n searchPlaceholder,\n dropdownStyle = {},\n style = {},\n disabled = false,\n refreshFlag = null,\n expandedKeys,\n customCfg,\n checkStrictly,\n } = t.props;\n // eslint-disable-next-line camelcase\n const value_arr = (function(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n })(value);\n const selectedNodes = value_arr\n .filter(k => k in t.keyNodesMapping)\n .map(item => ({\n id: item,\n name: t.keyNodesMapping[item].name,\n }));\n // ztree配置\n const treeProps = {\n data, // 树的数据\n // showSearch: showSearch,\n showSearch: false,\n searchPlaceholder: searchPlaceholder,\n multiple,\n checkable: treeCheckable,\n [treeCheckable ? 'checkedKeys' : 'selectedKeys']: value_arr,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys,\n refreshFlag: refreshFlag || t.treeRefreshFlag,\n customCfg,\n checkStrictly,\n ref(instance) {\n if (instance) t.tree = instance;\n },\n onClick({ selectedNodes, selectedKeys, selectedNames }) {\n // console.log(selectedNodes,selectedKeys,selectedNames)\n if (!treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: selectedNodes,\n keys: selectedKeys,\n leafKeys: selectedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: selectedNames,\n });\n if (!multiple) {\n t.setState({\n popoverVisible: false,\n searchValue: ''\n });\n }\n }\n },\n onCheck({ checkedNodes, checkedKeys, checkedNames }) {\n if (treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: checkedNodes,\n keys: checkedKeys,\n leafKeys: checkedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: checkedNames,\n });\n }\n },\n beforeCheck(treeNode) {\n return t.props.beforeCheck ? t.props.beforeCheck(treeNode) : true;\n },\n };\n\n // 多选组件\n const MultiSelect = (\n <div \n className={classnames(`${prefixCls}-multiple-box`)} \n style={style}\n ref={ref=>{\n if(!t.state.popWidth && ref?.clientWidth){\n t.setState({popWidth: ref?.clientWidth})\n }\n }}\n >\n <div\n className={classnames('ant-input', `${prefixCls}-multiple`, {\n [`${prefixCls}-multiple-disabled`]: disabled,\n })}\n style={{ height: '32px', ...style }}\n >\n <div className={classnames(`${prefixCls}-multiple-content`)}>\n {selectedNodes.length > 0 && (\n [\n selectedNodes.map(item => (\n <Tag\n key={item.id}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )),\n disabled ? null : (\n <CloseCircleFilled\n key={'icon'}\n className={`${prefixCls}-multiple-close-icon`}\n onClick={e => {\n e.stopPropagation();\n t.clear();\n }}\n />\n ),\n ]\n )}\n\n {\n selectedNodes.length == 0 && !t.state.focusMultiple && !t.state.searchValue &&\n <span className={`${prefixCls}-placeholder`}>{t.props.placeholder}</span>\n }\n \n <Input\n ref={ref=>{\n if(ref && !t.state.inputRef) {\n t.setState({inputRef: ref})\n }\n }}\n value={t.state.searchValue}\n onChange={e=>{\n if(t.tree){\n t.setState({searchValue: e.target.value});\n t.tree?.fuzzySearch(e.target.value.trim());\n }\n }}\n onBlur={()=>{\n t.setState({focusMultiple: false});\n }}\n style={{width: 'fit-content',border: 'none',padding: 0, outline: 'none', boxShadow: 'none'}}\n />\n </div>\n </div>\n <Popover\n content={\n <>\n <div className={classnames('vtx-tree-count-head')}>\n <span>已选择:{selectedNodes.length}</span>\n <span \n className={classnames((selectedNodes.length>0&&!disabled)?'clear-count':'disabled-count')} \n onClick={e=>{\n if(!disabled){\n e.stopPropagation();\n t.clear();\n }\n }}\n >清空已选项</span>\n </div>\n {\n selectedNodes.length>0?\n selectedNodes.map(item => (\n <Tag\n key={`tab-${item.id}`}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n style={{marginBottom: '5px'}}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )):\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n }\n </>\n }\n placement=\"bottomRight\"\n trigger=\"click\"\n overlayStyle={{ width: t.state.popWidth }}\n >\n <Button \n className=\"vtx-tree-count\" \n icon={<MoreOutlined />} \n size='default' \n onClick={e=>{\n e.stopPropagation();\n }}\n />\n </Popover>\n </div>\n );\n\n // 单选组件\n const SingleSelect = (\n <Input\n value={\n t.state.focusSingle?t.state.searchValue:\n (t.state.searchValue||selectedNodes.map(item => item.name).join(', '))\n }\n style={style}\n // readOnly\n disabled={disabled}\n placeholder={t.props.placeholder}\n suffix={\n disabled || selectedNodes.length == 0 ? (\n <span />\n ) : (\n <CloseCircleFilled\n className={`${prefixCls}-close-icon`}\n onClick={t.clear.bind(t)}\n />\n )\n }\n onFocus={()=>{\n t.setState({focusSingle: true});\n }}\n onBlur={()=>{\n t.setState({focusSingle: false});\n }}\n onChange={e=>{\n if(t.tree){\n t.setState({searchValue: e.target.value});\n t.tree?.fuzzySearch(e.target.value.trim());\n }\n }}\n />\n );\n\n return (\n <div className={prefixCls}>\n {disabled ? (\n multiple || treeCheckable ? (\n MultiSelect\n ) : (\n SingleSelect\n )\n ) : (\n <Popover\n placement=\"bottomLeft\"\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n if(v && (multiple || treeCheckable) && t.state.inputRef){\n t.state.inputRef.focus({\n cursor: 'end',\n });\n }\n t.setState({ popoverVisible: v, focusMultiple: v });\n }}\n visible={t.state.popoverVisible}\n >\n {multiple || treeCheckable ? MultiSelect : SingleSelect}\n </Popover>\n )}\n </div>\n );\n }\n}\n\nVtxZtreeSelect.propTypes = {\n data: PropTypes.array,\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n treeCheckable: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEqBA,c;;;;;EACjB,wBAAYC,KAAZ,EAAmB;IAAA;;IAAA;;IACf,0BAAMA,KAAN;IACA,MAAKC,IAAL,GAAY,IAAZ;IACA,MAAKC,eAAL,GAAuB,CAAvB;IACA,MAAKC,KAAL,GAAa;MACTC,cAAc,EAAE,KADP;MAETC,QAAQ,EAAE,CAFD;MAGTC,WAAW,EAAE,EAHJ;MAITC,QAAQ,EAAE;IAJD,CAAb;IAMA,MAAKC,eAAL,GAAuB,EAAvB;;IACA,MAAKC,kBAAL;;IAXe;EAYlB,C,CAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;;;WACA,4BAAmBC,SAAnB,EAA8B;MAC1B,IAAI,CAAC,IAAAC,kBAAA,EAAQ,KAAKX,KAAL,CAAWY,IAAnB,EAAyBF,SAAS,CAACE,IAAnC,CAAL,EAA+C;QAC3C,KAAKH,kBAAL,CAAwB,KAAKT,KAAL,CAAWY,IAAnC;MACH;;MACD,IAAI,CAAC,IAAAD,kBAAA,EAAQ,KAAKX,KAAL,CAAWa,YAAnB,EAAiCH,SAAS,CAACG,YAA3C,CAAL,EAA+D;QAC3D,KAAKX,eAAL;MACH;IACJ;;;WAED,4BAAmBY,KAAnB,EAA0B;MACtB,IAAMC,CAAC,GAAG,IAAV;MACAA,CAAC,CAACP,eAAF,GAAoB,EAApB;;MACA,CAAC,SAASQ,QAAT,CAAkBF,KAAlB,EAAyB;QACtBA,KAAK,CAACG,GAAN,CAAU,UAAAC,IAAI,EAAI;UACd,IAAQC,QAAR,GAA8BD,IAA9B,CAAQC,QAAR;UAAA,IAAqBC,IAArB,4BAA8BF,IAA9B;;UACAH,CAAC,CAACP,eAAF,CAAkBU,IAAI,CAACG,GAAvB,IAA8BD,IAA9B;;UACA,IAAIE,KAAK,CAACC,OAAN,CAAcJ,QAAd,KAA2BA,QAAQ,CAACK,MAAT,GAAkB,CAAjD,EAAoD;YAChDR,QAAQ,CAACG,QAAD,CAAR;UACH;QACJ,CAND;MAOH,CARD,EAQGL,KAAK,IAAI,KAAKd,KAAL,CAAWY,IAApB,IAA4B,EAR/B;IASH;;;WAED,iBAAQ;MACJ,IAAI,KAAKX,IAAT,EAAe;QACX,IAAI,KAAKD,KAAL,CAAWyB,aAAf,EAA8B;UAC1B,KAAKxB,IAAL,CAAUyB,UAAV,CACI,KAAKzB,IAAL,CAAU0B,eAAV,GAA4BV,GAA5B,CAAgC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACG,GAAT;UAAA,CAApC,CADJ,EAEI,KAFJ;QAIH,CALD,MAKO;UACH,KAAKpB,IAAL,CAAU2B,mBAAV,CAA8B,KAAK5B,KAAL,CAAW6B,KAAzC;QACH;MACJ;;MACD,KAAK7B,KAAL,CAAW8B,QAAX,IACI,KAAK9B,KAAL,CAAW8B,QAAX,CAAoB;QAChBhB,KAAK,EAAE,EADS;QAEhBiB,IAAI,EAAE,EAFU;QAGhBC,QAAQ,EAAE,EAHM;QAIhBC,KAAK,EAAE;MAJS,CAApB,CADJ;;MAQA,IAAG,KAAKhC,IAAR,EAAa;QAAA;;QACT,KAAKiC,QAAL,CAAc;UAAC5B,WAAW,EAAE;QAAd,CAAd;QACA,mBAAKL,IAAL,0DAAWkC,WAAX,CAAuB,EAAvB;MACH;IACJ;;;WAED,kBAASd,GAAT,EAAc;MAAA;;MACV,IAAMe,QAAQ,GAAG,KAAKpC,KAAL,CAAW6B,KAAX,CAAiBQ,OAAjB,CAAyBhB,GAAzB,CAAjB;;MACA,IAAIe,QAAQ,IAAI,CAAC,CAAjB,EAAoB;QAChB,IAAME,OAAO,sBAAO,KAAKtC,KAAL,CAAW6B,KAAlB,CAAb;;QACAS,OAAO,CAACC,MAAR,CAAeH,QAAf,EAAyB,CAAzB;QACA,IAAMtB,KAAK,GAAGwB,OAAO,CAACrB,GAAR,CAAY,UAAAI,GAAG;UAAA,OAAI,MAAI,CAACb,eAAL,CAAqBa,GAArB,CAAJ;QAAA,CAAf,CAAd;;QACA,IAAI,KAAKpB,IAAT,EAAe;UACX,IAAI,KAAKD,KAAL,CAAWyB,aAAf,EAA8B;YAC1B,KAAKxB,IAAL,CAAUyB,UAAV,CAAqB,CAACL,GAAD,CAArB,EAA4B,KAA5B;UACH,CAFD,MAEO;YACH,KAAKpB,IAAL,CAAU2B,mBAAV,CAA8B,CAACP,GAAD,CAA9B;UACH;QACJ;;QACD,KAAKrB,KAAL,CAAW8B,QAAX,IACI,KAAK9B,KAAL,CAAW8B,QAAX,CAAoB;UAChBhB,KAAK,EAALA,KADgB;UAEhBiB,IAAI,EAAEO,OAFU;UAGhBN,QAAQ,EAAElB,KAAK,CAAC0B,MAAN,CAAa,UAAAtB,IAAI;YAAA,OAAIA,IAAI,CAACuB,MAAT;UAAA,CAAjB,EAAkCxB,GAAlC,CAAsC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACG,GAAT;UAAA,CAA1C,CAHM;UAIhBY,KAAK,EAAEnB,KAAK,CAACG,GAAN,CAAU,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACwB,IAAT;UAAA,CAAd;QAJS,CAApB,CADJ;MAOH;IACJ;;;WAED,uBAAc;MACV,KAAKzC,IAAL,IAAa,KAAKA,IAAL,CAAU0C,WAAV,EAAb;IACH;;;WAED,kBAAS;MAAA;;MACL,IAAM5B,CAAC,GAAG,IAAV,CADK,CAEL;;MACA,eAAwBA,CAAC,CAACf,KAA1B;MAAA,IAAQY,IAAR,YAAQA,IAAR;MAAA,IAAciB,KAAd,YAAcA,KAAd,CAHK,CAIL;;MACA,gBAcId,CAAC,CAACf,KAdN;MAAA,oCACI4C,SADJ;MAAA,IACIA,SADJ,oCACgB,kBADhB;MAAA,sCAEInB,aAFJ;MAAA,IAEIA,aAFJ,sCAEoB,KAFpB;MAAA,sCAGIoB,oBAHJ;MAAA,IAGIA,oBAHJ,sCAG2B,KAH3B;MAAA,mCAIIC,QAJJ;MAAA,IAIIA,QAJJ,mCAIe,KAJf;MAAA,qCAKIC,UALJ;MAAA,IAKIA,UALJ,qCAKiB,IALjB;MAAA,IAMIC,iBANJ,aAMIA,iBANJ;MAAA,sCAOIC,aAPJ;MAAA,IAOIA,aAPJ,sCAOoB,EAPpB;MAAA,gCAQIC,KARJ;MAAA,IAQIA,KARJ,gCAQY,EARZ;MAAA,mCASIC,QATJ;MAAA,IASIA,QATJ,mCASe,KATf;MAAA,sCAUIC,WAVJ;MAAA,IAUIA,WAVJ,sCAUkB,IAVlB;MAAA,IAWIvC,YAXJ,aAWIA,YAXJ;MAAA,IAYIwC,SAZJ,aAYIA,SAZJ;MAAA,IAaIC,aAbJ,aAaIA,aAbJ,CALK,CAoBL;;MACA,IAAMC,SAAS,GAAI,UAASC,GAAT,EAAc;QAC7B,IAAIlC,KAAK,CAACC,OAAN,CAAciC,GAAd,CAAJ,EAAwB;UACpB,OAAOA,GAAP;QACH,CAFD,MAEO,IAAIA,GAAJ,EAAS;UACZ,OAAO,CAACA,GAAD,CAAP;QACH,CAFM,MAEA;UACH,OAAO,EAAP;QACH;MACJ,CARiB,CAQf3B,KARe,CAAlB;;MASA,IAAM4B,aAAa,GAAGF,SAAS,CAC1Bf,MADiB,CACV,UAAAkB,CAAC;QAAA,OAAIA,CAAC,IAAI3C,CAAC,CAACP,eAAX;MAAA,CADS,EAEjBS,GAFiB,CAEb,UAAAC,IAAI;QAAA,OAAK;UACVyC,EAAE,EAAEzC,IADM;UAEVwB,IAAI,EAAE3B,CAAC,CAACP,eAAF,CAAkBU,IAAlB,EAAwBwB;QAFpB,CAAL;MAAA,CAFS,CAAtB,CA9BK,CAoCL;;MACA,IAAMkB,SAAS;QACXhD,IAAI,EAAJA,IADW;QACL;QACN;QACAmC,UAAU,EAAE,KAHD;QAIXC,iBAAiB,EAAEA,iBAJR;QAKXF,QAAQ,EAARA,QALW;QAMXe,SAAS,EAAEpC;MANA,+BAOVA,aAAa,GAAG,aAAH,GAAmB,cAPtB,EAOuC8B,SAPvC,mDAQOV,oBARP,+CASXhC,YATW,8CAUEuC,WAAW,IAAIrC,CAAC,CAACb,eAVnB,4CAWXmD,SAXW,gDAYXC,aAZW,mDAaPQ,QAbO,EAaG;QACV,IAAIA,QAAJ,EAAc/C,CAAC,CAACd,IAAF,GAAS6D,QAAT;MACjB,CAfU,iEAgB6C;QAAA,IAA9CL,aAA8C,QAA9CA,aAA8C;QAAA,IAA/BM,YAA+B,QAA/BA,YAA+B;QAAA,IAAjBC,aAAiB,QAAjBA,aAAiB;;QACpD;QACA,IAAI,CAACvC,aAAL,EAAoB;UAChBV,CAAC,CAACf,KAAF,CAAQ8B,QAAR,IACIf,CAAC,CAACf,KAAF,CAAQ8B,QAAR,CAAiB;YACbhB,KAAK,EAAE2C,aADM;YAEb1B,IAAI,EAAEgC,YAFO;YAGb/B,QAAQ,EAAEyB,aAAa,CAClBjB,MADK,CACE,UAAAtB,IAAI;cAAA,OAAIA,IAAI,CAACuB,MAAT;YAAA,CADN,EAELxB,GAFK,CAED,UAAAC,IAAI;cAAA,OAAIA,IAAI,CAACG,GAAT;YAAA,CAFH,CAHG;YAMbY,KAAK,EAAE+B;UANM,CAAjB,CADJ;;UASA,IAAI,CAAClB,QAAL,EAAe;YACX/B,CAAC,CAACmB,QAAF,CAAW;cACP9B,cAAc,EAAE,KADT;cAEPE,WAAW,EAAE;YAFN,CAAX;UAIH;QACJ;MACJ,CAnCU,kEAoC0C;QAAA,IAA3C2D,YAA2C,SAA3CA,YAA2C;QAAA,IAA7BC,WAA6B,SAA7BA,WAA6B;QAAA,IAAhBC,YAAgB,SAAhBA,YAAgB;;QACjD,IAAI1C,aAAJ,EAAmB;UACfV,CAAC,CAACf,KAAF,CAAQ8B,QAAR,IACIf,CAAC,CAACf,KAAF,CAAQ8B,QAAR,CAAiB;YACbhB,KAAK,EAAEmD,YADM;YAEblC,IAAI,EAAEmC,WAFO;YAGblC,QAAQ,EAAEiC,YAAY,CACjBzB,MADK,CACE,UAAAtB,IAAI;cAAA,OAAIA,IAAI,CAACuB,MAAT;YAAA,CADN,EAELxB,GAFK,CAED,UAAAC,IAAI;cAAA,OAAIA,IAAI,CAACG,GAAT;YAAA,CAFH,CAHG;YAMbY,KAAK,EAAEkC;UANM,CAAjB,CADJ;QASH;MACJ,CAhDU,mEAiDCC,QAjDD,EAiDW;QAClB,OAAOrD,CAAC,CAACf,KAAF,CAAQqE,WAAR,GAAsBtD,CAAC,CAACf,KAAF,CAAQqE,WAAR,CAAoBD,QAApB,CAAtB,GAAsD,IAA7D;MACH,CAnDU,cAAf,CArCK,CA2FL;;MACA,IAAME,WAAW,gBACb;QACI,SAAS,EAAE,IAAAC,uBAAA,YAAc3B,SAAd,mBADf;QAEI,KAAK,EAAEM,KAFX;QAGI,GAAG,EAAE,aAAAsB,KAAG,EAAE;UACN,IAAG,CAACzD,CAAC,CAACZ,KAAF,CAAQE,QAAT,IAAqBmE,KAArB,aAAqBA,KAArB,eAAqBA,KAAG,CAAEC,WAA7B,EAAyC;YACrC1D,CAAC,CAACmB,QAAF,CAAW;cAAC7B,QAAQ,EAAEmE,KAAF,aAAEA,KAAF,uBAAEA,KAAG,CAAEC;YAAhB,CAAX;UACH;QACJ;MAPL,gBASI;QACI,SAAS,EAAE,IAAAF,uBAAA,EAAW,WAAX,YAA2B3B,SAA3B,8CACHA,SADG,yBAC6BO,QAD7B,EADf;QAII,KAAK;UAAIuB,MAAM,EAAE;QAAZ,GAAuBxB,KAAvB;MAJT,gBAMI;QAAK,SAAS,EAAE,IAAAqB,uBAAA,YAAc3B,SAAd;MAAhB,GACCa,aAAa,CAACjC,MAAd,GAAuB,CAAvB,IACG,CACIiC,aAAa,CAACxC,GAAd,CAAkB,UAAAC,IAAI;QAAA,oBAClB,gCAAC,eAAD;UACI,GAAG,EAAEA,IAAI,CAACyC,EADd;UAEI,QAAQ,EAAE,CAACR,QAFf;UAGI,OAAO,EAAE,iBAAAwB,CAAC,EAAI;YACVA,CAAC,CAACC,eAAF;YACA7D,CAAC,CAAC8D,QAAF,CAAW3D,IAAI,CAACyC,EAAhB;UACH;QANL,GAQKzC,IAAI,CAACwB,IAAL,CAAUlB,MAAV,GAAmB,EAAnB,aAA2BN,IAAI,CAACwB,IAAL,CAAUoC,KAAV,CAAgB,CAAhB,EAAmB,EAAnB,CAA3B,WAAyD5D,IAAI,CAACwB,IARnE,CADkB;MAAA,CAAtB,CADJ,EAaIS,QAAQ,GAAG,IAAH,gBACJ,gCAAC,6BAAD;QACI,GAAG,EAAE,MADT;QAEI,SAAS,YAAKP,SAAL,yBAFb;QAGI,OAAO,EAAE,iBAAA+B,CAAC,EAAI;UACVA,CAAC,CAACC,eAAF;UACA7D,CAAC,CAACgE,KAAF;QACH;MANL,EAdR,CAFJ,EA6BItB,aAAa,CAACjC,MAAd,IAAwB,CAAxB,IAA6B,CAACT,CAAC,CAACZ,KAAF,CAAQ6E,aAAtC,IAAuD,CAACjE,CAAC,CAACZ,KAAF,CAAQG,WAAhE,iBACA;QAAM,SAAS,YAAKsC,SAAL;MAAf,GAA8C7B,CAAC,CAACf,KAAF,CAAQiF,WAAtD,CA9BJ,eAiCA,gCAAC,iBAAD;QACI,GAAG,EAAE,aAAAT,KAAG,EAAE;UACN,IAAGA,KAAG,IAAI,CAACzD,CAAC,CAACZ,KAAF,CAAQI,QAAnB,EAA6B;YACzBQ,CAAC,CAACmB,QAAF,CAAW;cAAC3B,QAAQ,EAAEiE;YAAX,CAAX;UACH;QACJ,CALL;QAMI,KAAK,EAAEzD,CAAC,CAACZ,KAAF,CAAQG,WANnB;QAOI,QAAQ,EAAE,kBAAAqE,CAAC,EAAE;UACT,IAAG5D,CAAC,CAACd,IAAL,EAAU;YAAA;;YACNc,CAAC,CAACmB,QAAF,CAAW;cAAC5B,WAAW,EAAEqE,CAAC,CAACO,MAAF,CAASrD;YAAvB,CAAX;YACA,WAAAd,CAAC,CAACd,IAAF,oDAAQkC,WAAR,CAAoBwC,CAAC,CAACO,MAAF,CAASrD,KAAT,CAAesD,IAAf,EAApB;UACH;QACJ,CAZL;QAaI,MAAM,EAAE,kBAAI;UACRpE,CAAC,CAACmB,QAAF,CAAW;YAAC8C,aAAa,EAAE;UAAhB,CAAX;QACH,CAfL;QAgBI,KAAK,EAAE;UAACI,KAAK,EAAE,aAAR;UAAsBC,MAAM,EAAE,MAA9B;UAAqCC,OAAO,EAAE,CAA9C;UAAiDC,OAAO,EAAE,MAA1D;UAAkEC,SAAS,EAAE;QAA7E;MAhBX,EAjCA,CANJ,CATJ,eAoEI,gCAAC,mBAAD;QACI,OAAO,eACH,+EACI;UAAK,SAAS,EAAE,IAAAjB,uBAAA,EAAW,qBAAX;QAAhB,gBACI,0EAAWd,aAAa,CAACjC,MAAzB,CADJ,eAEI;UACI,SAAS,EAAE,IAAA+C,uBAAA,EAAYd,aAAa,CAACjC,MAAd,GAAqB,CAArB,IAAwB,CAAC2B,QAA1B,GAAoC,aAApC,GAAkD,gBAA7D,CADf;UAEI,OAAO,EAAE,iBAAAwB,CAAC,EAAE;YACR,IAAG,CAACxB,QAAJ,EAAa;cACTwB,CAAC,CAACC,eAAF;cACA7D,CAAC,CAACgE,KAAF;YACH;UACJ;QAPL,oCAFJ,CADJ,EAcQtB,aAAa,CAACjC,MAAd,GAAqB,CAArB,GACAiC,aAAa,CAACxC,GAAd,CAAkB,UAAAC,IAAI;UAAA,oBAClB,gCAAC,eAAD;YACI,GAAG,gBAASA,IAAI,CAACyC,EAAd,CADP;YAEI,QAAQ,EAAE,CAACR,QAFf;YAGI,OAAO,EAAE,iBAAAwB,CAAC,EAAI;cACVA,CAAC,CAACC,eAAF;cACA7D,CAAC,CAAC8D,QAAF,CAAW3D,IAAI,CAACyC,EAAhB;YACH,CANL;YAOI,KAAK,EAAE;cAAC8B,YAAY,EAAE;YAAf;UAPX,GASKvE,IAAI,CAACwB,IAAL,CAAUlB,MAAV,GAAmB,EAAnB,aAA2BN,IAAI,CAACwB,IAAL,CAAUoC,KAAV,CAAgB,CAAhB,EAAmB,EAAnB,CAA3B,WAAyD5D,IAAI,CAACwB,IATnE,CADkB;QAAA,CAAtB,CADA,gBAcA,gCAAC,iBAAD;UAAO,KAAK,EAAEgD,iBAAA,CAAMC;QAApB,EA5BR,CAFR;QAkCI,SAAS,EAAC,aAlCd;QAmCI,OAAO,EAAC,OAnCZ;QAoCI,YAAY,EAAE;UAAEP,KAAK,EAAErE,CAAC,CAACZ,KAAF,CAAQE;QAAjB;MApClB,gBAsCI,gCAAC,kBAAD;QACI,SAAS,EAAC,gBADd;QAEI,IAAI,eAAE,gCAAC,mBAAD,OAFV;QAGI,IAAI,EAAC,SAHT;QAII,OAAO,EAAE,iBAAAsE,CAAC,EAAE;UACRA,CAAC,CAACC,eAAF;QACH;MANL,EAtCJ,CApEJ,CADJ,CA5FK,CAmNL;;;MACA,IAAMgB,YAAY,gBACd,gCAAC,iBAAD;QACI,KAAK,EACD7E,CAAC,CAACZ,KAAF,CAAQ0F,WAAR,GAAoB9E,CAAC,CAACZ,KAAF,CAAQG,WAA5B,GACCS,CAAC,CAACZ,KAAF,CAAQG,WAAR,IAAqBmD,aAAa,CAACxC,GAAd,CAAkB,UAAAC,IAAI;UAAA,OAAIA,IAAI,CAACwB,IAAT;QAAA,CAAtB,EAAqCoD,IAArC,CAA0C,IAA1C,CAH9B;QAKI,KAAK,EAAE5C,KALX,CAMI;QANJ;QAOI,QAAQ,EAAEC,QAPd;QAQI,WAAW,EAAEpC,CAAC,CAACf,KAAF,CAAQiF,WARzB;QASI,MAAM,EACF9B,QAAQ,IAAIM,aAAa,CAACjC,MAAd,IAAwB,CAApC,gBACI,6CADJ,gBAGI,gCAAC,6BAAD;UACI,SAAS,YAAKoB,SAAL,gBADb;UAEI,OAAO,EAAE7B,CAAC,CAACgE,KAAF,CAAQgB,IAAR,CAAahF,CAAb;QAFb,EAbZ;QAmBI,OAAO,EAAE,mBAAI;UACTA,CAAC,CAACmB,QAAF,CAAW;YAAC2D,WAAW,EAAE;UAAd,CAAX;QACH,CArBL;QAsBI,MAAM,EAAE,kBAAI;UACR9E,CAAC,CAACmB,QAAF,CAAW;YAAC2D,WAAW,EAAE;UAAd,CAAX;QACH,CAxBL;QAyBI,QAAQ,EAAE,kBAAAlB,CAAC,EAAE;UACT,IAAG5D,CAAC,CAACd,IAAL,EAAU;YAAA;;YACNc,CAAC,CAACmB,QAAF,CAAW;cAAC5B,WAAW,EAAEqE,CAAC,CAACO,MAAF,CAASrD;YAAvB,CAAX;YACA,YAAAd,CAAC,CAACd,IAAF,sDAAQkC,WAAR,CAAoBwC,CAAC,CAACO,MAAF,CAASrD,KAAT,CAAesD,IAAf,EAApB;UACH;QACJ;MA9BL,EADJ;;MAmCA,oBACI;QAAK,SAAS,EAAEvC;MAAhB,GACKO,QAAQ,GACLL,QAAQ,IAAIrB,aAAZ,GACI6C,WADJ,GAGIsB,YAJC,gBAOL,gCAAC,mBAAD;QACI,SAAS,EAAC,YADd;QAEI,OAAO,eACH;UAAK,SAAS,YAAKhD,SAAL,aAAd;UAAwC,KAAK,EAAEK;QAA/C,gBACI,gCAAC,oBAAD,EAAWW,SAAX,CADJ,CAHR;QAOI,OAAO,EAAC,OAPZ;QAQI,eAAe,EAAE,yBAAAoC,CAAC,EAAI;UAClB,IAAGA,CAAC,KAAKlD,QAAQ,IAAIrB,aAAjB,CAAD,IAAoCV,CAAC,CAACZ,KAAF,CAAQI,QAA/C,EAAwD;YACpDQ,CAAC,CAACZ,KAAF,CAAQI,QAAR,CAAiB0F,KAAjB,CAAuB;cACnBC,MAAM,EAAE;YADW,CAAvB;UAGH;;UACDnF,CAAC,CAACmB,QAAF,CAAW;YAAE9B,cAAc,EAAE4F,CAAlB;YAAqBhB,aAAa,EAAEgB;UAApC,CAAX;QACH,CAfL;QAgBI,OAAO,EAAEjF,CAAC,CAACZ,KAAF,CAAQC;MAhBrB,GAkBK0C,QAAQ,IAAIrB,aAAZ,GAA4B6C,WAA5B,GAA0CsB,YAlB/C,CARR,CADJ;IAgCH;;;;EA3XuCO,iBAAA,CAAMC,S;;;AA8XlDrG,cAAc,CAACsG,SAAf,GAA2B;EACvBzF,IAAI,EAAE0F,qBAAA,CAAUC,KADO;EAEvB1F,YAAY,EAAEyF,qBAAA,CAAUE,OAAV,CAAkBF,qBAAA,CAAUG,MAA5B,CAFS;EAGvBhF,aAAa,EAAE6E,qBAAA,CAAUI,IAHF;EAIvB7E,KAAK,EAAEyE,qBAAA,CAAUK,SAAV,CAAoB,CAACL,qBAAA,CAAUG,MAAX,EAAmBH,qBAAA,CAAUE,OAAV,CAAkBF,qBAAA,CAAUG,MAA5B,CAAnB,CAApB,CAJgB;EAKvB3E,QAAQ,EAAEwE,qBAAA,CAAUM;AALG,CAA3B"}
|