nsc-react-component 4.4.1 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/menu/index.d.ts +1 -0
- package/lib/base/menu/index.js +2 -1
- package/lib/base/menu/index.js.map +1 -1
- package/lib/base/table/index.d.ts +3 -3
- package/lib/base/table/index.js +87 -79
- package/lib/base/table/index.js.map +1 -1
- package/lib/base/table/index_old.d.ts +119 -0
- package/lib/base/table/index_old.js +1058 -0
- package/lib/base/table/index_old.js.map +1 -0
- package/lib/page/BasePage/index.js +16 -9
- package/lib/page/BasePage/index.js.map +1 -1
- package/lib/page/BasePage/utils.d.ts +1 -0
- package/lib/page/BasePage/utils.js +23 -1
- package/lib/page/BasePage/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["AppstoreOutlined","CheckOutlined","ColumnHeightOutlined","SearchOutlined","SortAscendingOutlined","SortDescendingOutlined","RedoOutlined","isEmptyObj","Store","PageStore","utils","React","DndProvider","BodyRow","DndContextType","IBodyRowProps","treeUtils","BodyRowComponent","HTML5Backend","withZhLocale","Resizable","getLess","getNode","NoData","getStorage","config","cls","guid","getFlattenData","styles","ResizeableTitle","props","onResize","width","restProps","_objectWithoutProperties","_excluded","createElement","height","draggableOpts","enableUserSelectHack","NSCTable","Component","constructor","_autoType","_defineProperty","createRef","onBeforeLoad","load","header","cell","index","e","_ref","size","cols","state","nextColumns","_objectSpread","setState","getColumns","ev","data","JSON","parse","_this","eventType","payload","tableSize","dragIndex","hoverIndex","drag","target","dragNode","record","targetNode","moveArray","ids","parentNode","getChildNodeIds","params","id","parentId","attribute","moveRow","store","reload","modal","type","storePrefix","autoType","content","dataSource","columns","loading","pagination","activeIndex","searchText","fieldOption","searchColor","sorts","filterParams","sortType","sorter","sortInfo","defaultSort","checkColumn","defaultCheck","selectedRowKeys","selectedRowDatas","filter","extra","_ref2","listeners","listenersProps","restStore","_excluded2","storeProps","model","component","options","callback","dataChanged","modelData","paging","getPagination","onErrorLoad","err","response","autoLoad","Object","assign","current","getInitCheckedColumns","checkedKeys","traverse","forEach","col","initShow","push","uniqueKey","children","length","componentDidMount","resizeColumn","newColumns","generateUniqueKeysAndPaths","defaultCheckedColumns","storeColumns","keyColumns","setData","window","addEventListener","listenMessage","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","preState","resetColumn","newCols","colss","map","temp","onHeaderCell","column","handleResize","clearSelectColor","getPaginationByStore","onChange","filters","autoOnChange","autoSort","autoPagination","isMultiple","Array","isArray","handlePagination","p","currentKey","pageSizeKey","pageSize","ascParams","getSortParam","onChangeFn","getStore","getModel","handleSearch","val","filterColumnsByCheckedKeys","result","isColumnChecked","includes","newCol","filteredChildren","filterColumn","checkedValue","isChecked","mapData","currentCheckedKeys","getAllChildrenKeys","keys","child","concat","allChildrenKeys","key","path","pathParts","split","i","parentPath","slice","join","parentCol","values","find","c","allSiblings","hasCheckedSibling","some","_message","warning","filterColumns","sortState","arguments","undefined","sortSearch","orderItems","field","dataIndex","asc","order","v","stringify","isBeyond","event","textRange","el","textContent","targetW","getBoundingClientRect","range","document","createRange","setStart","setEnd","childNodes","rangeWidth","setSelectedRowKeys","setSelectedRowDatas","sortFields","defaultShowCols","ellipsis","render","showTitle","text","_this$state$cols","currentCol","actualWidth","colWidth","colWidthObj","small","middle","default","large","paddingWidth","style","display","ref","removeAttribute","scrollWidth","clientWidth","setAttribute","className","overflow","textOverflow","whiteSpace","indexOf","sortOrder","multiple","item","filterProps","obj","searchKey","Div","title","placeholder","tableSearchRef","filterDropdown","_ref3","setSelectedKeys","selectedKeys","confirm","clearFilters","_Space","_Button","onClick","_this$tableSearchRef$","newFilterParams","getValue","sortParam","filterIcon","level","currentPath","leaf","childrenKeys","renderToolBar","colLists","toolbar","tableTool","storeRequestConfig","tools","toolsClick","onToolClick","sizeItem","sortItem","sortContent","Fragment","cursor","color","sizeContent","newMapData","keyField","childField","_Checkbox","checked","fontSize","_Popover","placement","trigger","overlayStyle","minWidth","maxWidth","marginRight","onRefresh","getSelectedRowKeys","getSelectedRowDatas","resetSelectedRowKeys","rowSelectionOnSelect","selected","rowKey","newSelectedRowKeys","newSelectedRowDatas","splice","rowSelectionOnSelectAll","selectedRows","changeRows","newids","newdatas","changeIds","omit","clickChangeColor","position","showSizeChanger","showQuickJumper","showTotal","total","_ref4","from","to","onRowFn","onRow","custom","onClickFn","rowClassName","newDataSource","getSearchMenuDatas","treeDatas","expandedRowKeys","openKeys","dragable","dragableProps","components","resizeProps","toolFlag","show","showRowSelection","rowSelection","onSelect","bind","onSelectAll","columnWidth","tableProps","configTableProps","DefaultTable","_Table","_extends","childrenColumnName","sheitem","locale","emptyText","scroll","x","_Pagination","page","action","_ref5","backend","dragUrl"],"sources":["../../../src/components/base/table/index.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-03-23 08:46:20\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-03-23 10:30:42\r\n */\r\nimport {\r\n AppstoreOutlined,\r\n CheckOutlined,\r\n ColumnHeightOutlined,\r\n SearchOutlined,\r\n SortAscendingOutlined,\r\n SortDescendingOutlined,\r\n RedoOutlined,\r\n} from \"@ant-design/icons\";\r\nimport { isEmptyObj } from \"@bj-nsc/functions\";\r\nimport Store, { PageStore, StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport {\r\n Button,\r\n Checkbox,\r\n CheckboxOptionType,\r\n Menu,\r\n message,\r\n Pagination,\r\n Popover,\r\n Space,\r\n Table,\r\n TableProps,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { ColumnType, TablePaginationConfig } from \"antd/lib/table\";\r\nimport * as React from \"react\";\r\nimport { DndProvider } from \"react-dnd\";\r\nimport BodyRow, { DndContextType, IBodyRowProps } from \"../common/BodyRow\";\r\nimport treeUtils from \"../../treeUtils\";\r\nimport \"./index.module.less\";\r\nconst { BodyRowComponent, HTML5Backend } = BodyRow;\r\nimport withZhLocale from \"../common/withZhLocale\";\r\nimport { Resizable } from \"react-resizable\";\r\nimport \"./resize.module.less\";\r\nimport { getLess, getNode, simplifyColumns } from \"../../utils\";\r\nimport NoData from \"../../base/common/NoData\";\r\nimport { getStorage } from \"@bj-nsc/functions\";\r\nimport config from \"../../config\";\r\nimport EllipseCell from \"../common/EllipseCell\";\r\nimport cls from \"classnames\";\r\nimport isEqual from \"lodash/isEqual\";\r\nimport { guid, getFlattenData } from \"@bj-nsc/functions\";\r\nconst styles = null;\r\ninterface IDragParams {\r\n id: string | number;\r\n ids: Array<string | number>;\r\n parentId: string | number;\r\n}\r\n// interface StoreProps {}\r\n\r\nexport type StoreType = \"PageStore\" | \"TreeStore\" | \"BaseStore\";\r\n\r\ninterface NSCTablePagination extends TablePaginationConfig {\r\n totalKey?: string;\r\n pageSizeKey?: string;\r\n currentKey?: string;\r\n}\r\n\r\ninterface ToolBarProps {\r\n show: boolean;\r\n tools?: Array<string>;\r\n onToolClick?: { onRefresh?: any; onSort?: any };\r\n}\r\ninterface NSCTableProps extends TableProps<any> {\r\n store?: StoreProps;\r\n showTotal?: boolean; // 是否显示总条数信息,默认true\r\n dragable?: boolean; // 是否可拖动, 默认false\r\n filterColumn?: boolean; // 是否支持过滤显示表格列, 默认true\r\n moveRow?: (params: IDragParams) => void; // 拖拽完成后的回调\r\n dragUrl?: string; // 保存拖拽排序的接口\r\n pagination?: false | NSCTablePagination;\r\n autoPagination?: boolean; // 组件是否自动处理分页\r\n autoSort?: boolean; //组件是否自动处理排序\r\n autoOnChange?: boolean; // 组件是否自动onChange, false则不做任何处理全部交给调用方\r\n resizeColumn?: boolean;\r\n sortFields?: Array<string>; //需要排序的字段Index\r\n toolbar?: ToolBarProps | boolean;\r\n autoSize?: boolean;\r\n sortSearch?: boolean; //是否添加排序查询,默认true\r\n showRowSelection?: boolean;\r\n rowKey?: string;\r\n [propsName: string]: any;\r\n}\r\n\r\nexport type INSCTableProps = typeof NSCTable.defaultProps & NSCTableProps;\r\nexport { DndContextType, IBodyRowProps };\r\n\r\nconst ResizeableTitle = (props: any) => {\r\n const { onResize, width, ...restProps } = props;\r\n return (\r\n <Resizable\r\n width={width || 150}\r\n height={0}\r\n onResize={onResize}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n <th {...restProps} />\r\n </Resizable>\r\n );\r\n};\r\nclass NSCTable extends React.Component<INSCTableProps, any> {\r\n static defaultProps = {\r\n dragable: false,\r\n showTotal: true,\r\n filterColumn: true,\r\n dragUrl: \"\",\r\n autoPagination: true,\r\n autoSort: true,\r\n autoOnChange: true,\r\n resizeColumn: true,\r\n toolbar: {\r\n show: false,\r\n onToolClick: {} as any,\r\n tools: [] as any,\r\n } as any,\r\n };\r\n\r\n store = {} as StoreProps;\r\n thIconRef = React.createRef<HTMLDivElement>();\r\n tableSearchRef = React.createRef<any>();\r\n\r\n listeners = {\r\n onBeforeLoad: null,\r\n load: null,\r\n };\r\n\r\n components = {\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n let modal = props.type || \"auto\";\r\n let storePrefix = getStorage(\"store-pre-key\");\r\n let autoType = getStorage(\r\n storePrefix ? storePrefix + \"tableSize\" : \"tableSize\"\r\n );\r\n autoType = autoType?.content;\r\n this.state = {\r\n dataSource: [],\r\n columns: [],\r\n loading: false,\r\n pagination: {},\r\n activeIndex: -1,\r\n //搜索文本\r\n searchText: null,\r\n fieldOption: null,\r\n searchColor: null,\r\n cols: [],\r\n sorts: [],\r\n filterParams: {},\r\n tableSize: this.props.size || autoType || \"default\",\r\n sortType: \"single\",\r\n sorter: [], //记录当前排序字段\r\n sortInfo: {},\r\n defaultSort: true,\r\n checkColumn: [],\r\n defaultCheck: true,\r\n selectedRowKeys: [],\r\n selectedRowDatas: [],\r\n filter: [],\r\n extra: {},\r\n };\r\n if (props.store instanceof Store) {\r\n this.store = props.store;\r\n } else {\r\n const { listeners: listenersProps = {}, ...restStore } =\r\n props.store || {};\r\n const storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: (store, options) => {\r\n this.setState({ loading: true });\r\n utils.callback(listenersProps.onBeforeLoad, this, [store, options]);\r\n },\r\n dataChanged: (data, modelData, store) => {\r\n let paging = !(this.props.pagination === false);\r\n if (paging && !this.props.dataSource) {\r\n this.setState({\r\n dataSource: modelData,\r\n pagination: store.getPagination(),\r\n loading: false,\r\n activeIndex: -1,\r\n });\r\n } else {\r\n this.setState({ dataSource: modelData, loading: false });\r\n }\r\n\r\n utils.callback(listenersProps.dataChanged, this, [\r\n data,\r\n modelData,\r\n store,\r\n paging,\r\n ]);\r\n },\r\n load: (data, modelData, store) => {\r\n utils.callback(listenersProps.load, this, [data, modelData, store]);\r\n },\r\n onErrorLoad: (err, response) => {\r\n this.setState({ loading: false });\r\n utils.callback(listenersProps.onErrorLoad, this, [err, response]);\r\n },\r\n },\r\n data: restStore.data\r\n ? restStore.data\r\n : props.dataSource\r\n ? props.dataSource\r\n : null,\r\n ...restStore,\r\n autoLoad: restStore.autoLoad === false ? false : true,\r\n };\r\n this.store = new PageStore(\r\n Object.assign({}, storeProps, {\r\n pagination: { current: 1, ...this.props.pagination },\r\n })\r\n );\r\n }\r\n }\r\n\r\n handleResize =\r\n (index: any) =>\r\n (e: any, { size }: any) => {\r\n const { cols } = this.state;\r\n const nextColumns = [...cols];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n this.setState(\r\n {\r\n cols: nextColumns,\r\n },\r\n () => {\r\n // 在状态更新后重新获取列配置\r\n this.getColumns();\r\n }\r\n );\r\n };\r\n\r\n getInitCheckedColumns(columns: any[]): string[] {\r\n let checkedKeys: string[] = [];\r\n\r\n const traverse = (cols: any[]) => {\r\n cols.forEach((col) => {\r\n // 如果列没有明确设置 initShow 为 false,则认为是默认选中的\r\n if (col.initShow !== false) {\r\n checkedKeys.push(col.uniqueKey);\r\n }\r\n\r\n // 递归处理子列\r\n if (col.children && col.children.length > 0) {\r\n traverse(col.children);\r\n }\r\n });\r\n };\r\n\r\n traverse(columns);\r\n return checkedKeys;\r\n }\r\n componentDidMount() {\r\n const { resizeColumn } = this.props;\r\n const newColumns = this.generateUniqueKeysAndPaths(this.props.columns);\r\n const defaultCheckedColumns = this.getInitCheckedColumns(newColumns);\r\n\r\n if (!resizeColumn) {\r\n this.setState({\r\n columns: newColumns,\r\n storeColumns: [...this.props.columns],\r\n checkColumn: defaultCheckedColumns,\r\n keyColumns: newColumns,\r\n });\r\n } else {\r\n this.setState({\r\n cols: newColumns, //修改列宽\r\n columns: newColumns, //table组件使用\r\n storeColumns: [...this.props.columns], //原始列,用于判断是有列有更新\r\n checkColumn: defaultCheckedColumns, //默认选中的列\r\n keyColumns: newColumns, //提供带标识的完整列结构,用于构建列选择界面\r\n });\r\n }\r\n const store = this.props.store;\r\n if (store && store.data) {\r\n this.store.setData(store.data);\r\n }\r\n window.addEventListener(\"message\", this.listenMessage);\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.listenMessage);\r\n }\r\n listenMessage = (ev) => {\r\n const data = typeof ev.data === \"string\" ? JSON.parse(ev.data) : ev.data;\r\n let _this = this;\r\n if (data.eventType == \"changeTableSize\") {\r\n const { payload } = data;\r\n if (\r\n payload.size == \"default\" ||\r\n payload.size == \"small\" ||\r\n payload.size == \"middle\"\r\n ) {\r\n _this.setState({ tableSize: payload.size });\r\n }\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps, preState) {\r\n const { resizeColumn } = this.props;\r\n if (!resizeColumn) {\r\n if (this.props.storeColumns !== prevProps.storeColumns) {\r\n const newColumns = this.generateUniqueKeysAndPaths(this.props.columns);\r\n this.setState({\r\n columns: newColumns,\r\n storeColumns: this.props.storeColumns,\r\n keyColumns: newColumns,\r\n });\r\n }\r\n } else {\r\n if (preState.cols !== this.state.cols) {\r\n this.resetColumn();\r\n }\r\n if (this.props.columns !== prevProps.columns) {\r\n const newColumns = this.generateUniqueKeysAndPaths(this.props.columns);\r\n this.setState({\r\n columns: newColumns,\r\n storeColumns: this.props.columns,\r\n keyColumns: newColumns,\r\n });\r\n }\r\n if (prevProps.size !== this.props.size) {\r\n this.setState({ tableSize: this.props.size });\r\n }\r\n }\r\n }\r\n resetColumn() {\r\n const { cols } = this.state;\r\n const newCols: any = [];\r\n let colss = cols || [];\r\n colss.map((col: any, index: any) => {\r\n let temp = {\r\n ...col,\r\n onHeaderCell: (column: { width: any }) => ({\r\n width: column.width,\r\n onResize: this.handleResize(index),\r\n }),\r\n };\r\n newCols.push(temp);\r\n });\r\n this.setState({\r\n columns: newCols,\r\n });\r\n }\r\n\r\n /**\r\n * 清除选中颜色\r\n */\r\n clearSelectColor() {\r\n this.setState({ activeIndex: -1 });\r\n return this;\r\n }\r\n\r\n getPaginationByStore() {\r\n return this.store.getPagination();\r\n }\r\n\r\n onChange(pagination, filters, sorter, extra) {\r\n const {\r\n autoOnChange = true,\r\n autoSort,\r\n autoPagination,\r\n onChange,\r\n store,\r\n } = this.props;\r\n const { filterParams } = this.state;\r\n const isMultiple = Array.isArray(sorter);\r\n if (autoOnChange === false || !store) {\r\n onChange && onChange(pagination, filters, sorter, extra);\r\n return;\r\n }\r\n const handlePagination = () => {\r\n let params = {} as {\r\n size?: string;\r\n pageSize?: string;\r\n ascs?: string;\r\n descs?: string;\r\n [propName: string]: string;\r\n };\r\n const paging = this.getPaginationByStore() || {};\r\n if (!isEmptyObj(pagination)) {\r\n const p = {\r\n [paging.currentKey || \"current\"]: pagination.current,\r\n [paging.pageSizeKey || \"size\"]: pagination.pageSize,\r\n };\r\n Object.assign(params, p);\r\n }\r\n let ascParams = this.getSortParam(sorter, true);\r\n if (isMultiple) {\r\n this.setState({ sorter });\r\n } else if (!isMultiple && !isEmptyObj(sorter)) {\r\n sorter.column &&\r\n this.setState({ sorter: [sorter], defaultSort: false });\r\n } else {\r\n this.setState({ sorter: [] });\r\n }\r\n this.setState({\r\n filters,\r\n extra,\r\n });\r\n params = { ...filterParams, ...params, ...ascParams };\r\n autoSort && this.store.reload({ params });\r\n };\r\n\r\n const onChangeFn = this.props.onChange;\r\n\r\n autoPagination && handlePagination();\r\n // 用户传了onChange保留用户自主处理表格变化的权力\r\n if (onChangeFn) {\r\n utils.callback(onChangeFn, this, [pagination, filters, sorter, extra]);\r\n }\r\n }\r\n\r\n getStore() {\r\n return this.store;\r\n }\r\n\r\n /**\r\n * 获取数据模型对象\r\n */\r\n getModel() {\r\n return this.store.getModel();\r\n }\r\n\r\n /**\r\n * 菜单搜索过滤显示\r\n * @param {String} val\r\n */\r\n handleSearch(val, fieldOption, searchColor) {\r\n this.setState({\r\n searchText: val,\r\n fieldOption: fieldOption,\r\n searchColor: searchColor,\r\n });\r\n }\r\n\r\n /**\r\n * 模块列表移动排序\r\n */\r\n moveRow = (dragIndex, hoverIndex, drag, target) => {\r\n const _this = this;\r\n let dragNode = drag.record;\r\n let targetNode = target.record;\r\n dragNode.moveArray(dragNode, targetNode);\r\n let ids = dragNode.parentNode.getChildNodeIds();\r\n let params = {\r\n id: dragNode.id,\r\n parentId: dragNode.attribute.parentId,\r\n ids: ids,\r\n };\r\n\r\n if (this.props.moveRow) {\r\n this.props.moveRow(params);\r\n } else {\r\n this.store.reload();\r\n }\r\n };\r\n // 在类中添加一个新的辅助方法\r\n filterColumnsByCheckedKeys(columns: any[], checkedKeys: string[]): any[] {\r\n if (!columns || !Array.isArray(columns) || columns.length === 0) {\r\n return [];\r\n }\r\n\r\n const result: any[] = [];\r\n\r\n columns.forEach((col) => {\r\n // 检查当前列是否在选中列表中\r\n const isColumnChecked = checkedKeys.includes(col.uniqueKey);\r\n if (isColumnChecked) {\r\n // 如果当前列被选中,直接添加\r\n const newCol = { ...col };\r\n // 如果有子列,递归处理\r\n if (newCol.children && newCol.children.length > 0) {\r\n newCol.children = this.filterColumnsByCheckedKeys(\r\n newCol.children,\r\n checkedKeys\r\n );\r\n }\r\n result.push(newCol);\r\n } else {\r\n // 如果当前列未被选中,检查是否有子列被选中\r\n if (col.children && col.children.length > 0) {\r\n const filteredChildren = this.filterColumnsByCheckedKeys(\r\n col.children,\r\n checkedKeys\r\n );\r\n if (filteredChildren.length > 0) {\r\n // 如果有子列被选中,则添加该列(作为容器)\r\n const newCol = { ...col };\r\n newCol.children = filteredChildren;\r\n result.push(newCol);\r\n }\r\n }\r\n }\r\n });\r\n return result;\r\n }\r\n filterColumn(checkedValue, isChecked, mapData) {\r\n const col = mapData[checkedValue];\r\n let currentCheckedKeys = [...this.state.checkColumn];\r\n // 获取所有子节点的 keys(包括深层嵌套的节点)\r\n const getAllChildrenKeys = (column) => {\r\n let keys = [];\r\n if (column.children && column.children.length > 0) {\r\n column.children.forEach((child) => {\r\n keys.push(child.uniqueKey);\r\n keys = keys.concat(getAllChildrenKeys(child));\r\n });\r\n }\r\n return keys;\r\n };\r\n\r\n if (col.children) {\r\n // 处理父节点\r\n const allChildrenKeys = getAllChildrenKeys(col);\r\n\r\n if (isChecked) {\r\n // 选中父节点:添加父节点和所有子孙节点\r\n if (!currentCheckedKeys.includes(col.uniqueKey)) {\r\n currentCheckedKeys.push(col.uniqueKey);\r\n }\r\n allChildrenKeys.forEach((key) => {\r\n if (!currentCheckedKeys.includes(key)) {\r\n currentCheckedKeys.push(key);\r\n }\r\n });\r\n } else {\r\n // 取消选中父节点:移除父节点和所有子孙节点\r\n currentCheckedKeys = currentCheckedKeys.filter(\r\n (key) => key !== col.uniqueKey && !allChildrenKeys.includes(key)\r\n );\r\n }\r\n } else {\r\n // 处理叶子节点\r\n if (isChecked) {\r\n if (!currentCheckedKeys.includes(col.uniqueKey)) {\r\n currentCheckedKeys.push(col.uniqueKey);\r\n }\r\n } else {\r\n currentCheckedKeys = currentCheckedKeys.filter(\r\n (key) => key !== col.uniqueKey\r\n );\r\n\r\n // 检查父节点是否需要取消选中\r\n if (col.path) {\r\n const pathParts = col.path.split(\"/\");\r\n // 从当前节点向上遍历所有父节点\r\n for (let i = pathParts.length - 2; i >= 0; i--) {\r\n const parentPath = pathParts.slice(0, i + 1).join(\"/\");\r\n const parentCol: any = Object.values(mapData).find(\r\n (c: any) => c.path === parentPath\r\n );\r\n if (parentCol) {\r\n // 检查父节点是否还有其他子节点被选中\r\n const allSiblings = getAllChildrenKeys(parentCol);\r\n const hasCheckedSibling = allSiblings.some(\r\n (key) =>\r\n key !== col.uniqueKey && currentCheckedKeys.includes(key)\r\n );\r\n\r\n if (!hasCheckedSibling) {\r\n currentCheckedKeys = currentCheckedKeys.filter(\r\n (key) => key !== parentCol.uniqueKey\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (currentCheckedKeys.length === 0) {\r\n message.warning(\"至少显示一列!\");\r\n return;\r\n }\r\n\r\n const { keyColumns } = this.state;\r\n const filterColumns = this.filterColumnsByCheckedKeys(\r\n keyColumns,\r\n currentCheckedKeys\r\n );\r\n\r\n // 更新状态\r\n this.setState({\r\n checkColumn: currentCheckedKeys,\r\n columns: filterColumns,\r\n cols: filterColumns,\r\n });\r\n }\r\n getSortParam(sorter, sortState = false) {\r\n const isMultiple = Array.isArray(sorter);\r\n const { sortSearch = true } = this.props;\r\n if (!sortSearch) {\r\n return {};\r\n }\r\n let sortInfo = {};\r\n let orderItems = [];\r\n if (!isEmptyObj(sorter) && !isMultiple && sorter.column) {\r\n orderItems = [\r\n {\r\n column: sorter.column.field || sorter.column.dataIndex,\r\n asc: sorter.order == \"ascend\",\r\n },\r\n ];\r\n if (sorter.column) sortInfo[sorter.column.dataIndex] = sorter.order;\r\n } else if (isMultiple) {\r\n sorter.forEach((v) => {\r\n sortInfo[v.column.dataIndex] = v.order;\r\n let field = v.column.field || v.column.dataIndex;\r\n orderItems.push({\r\n column: field,\r\n asc: v.order == \"ascend\",\r\n });\r\n });\r\n }\r\n if (sortState) {\r\n this.setState({\r\n sortInfo: sortInfo,\r\n });\r\n }\r\n return { orderItems: JSON.stringify(orderItems) };\r\n }\r\n isBeyond(e) {\r\n const ev = window.event || e; // 浏览器兼容,最好写一下\r\n const textRange = (el) => {\r\n const textContent = el;\r\n const targetW = textContent.getBoundingClientRect().width;\r\n const range = document.createRange();\r\n range.setStart(textContent, 0);\r\n range.setEnd(textContent, textContent.childNodes.length);\r\n const rangeWidth = range.getBoundingClientRect().width;\r\n return rangeWidth > targetW;\r\n };\r\n return !textRange(ev.target); // target可以保证当前划过的dom节点一直保持是:el-tooltip__trigger\r\n }\r\n setSelectedRowKeys(data: Array<String | Number>) {\r\n this.setState({\r\n selectedRowKeys: data,\r\n });\r\n }\r\n setSelectedRowDatas(data: Array<Object>) {\r\n this.setState({\r\n selectedRowDatas: data,\r\n });\r\n }\r\n getColumns() {\r\n const { columns, sortType, sortInfo } = this.state;\r\n const { sortFields = [], size = \"large\" } = this.props;\r\n const defaultShowCols = [...columns];\r\n const cols = defaultShowCols.map((col, index) => {\r\n // 替换 getColumns 方法中原来的 ellipsis 处理部分\r\n if (col.ellipsis && !col.render) {\r\n col.ellipsis = {\r\n showTitle: false,\r\n };\r\n col.render = (text, record, index) => {\r\n // 获取当前列的实时宽度\r\n const currentCol = this.state.cols?.find((c) => {\r\n // 处理 dataIndex 可能是字符串或数组的情况\r\n if (Array.isArray(c.dataIndex) && Array.isArray(col.dataIndex)) {\r\n return (\r\n JSON.stringify(c.dataIndex) === JSON.stringify(col.dataIndex)\r\n );\r\n }\r\n return c.dataIndex === col.dataIndex;\r\n });\r\n\r\n const actualWidth = currentCol?.width || col.width;\r\n let colWidth: any = \"100%\";\r\n\r\n if (actualWidth) {\r\n const size = this.state.tableSize || this.props.size || \"default\";\r\n const colWidthObj = {\r\n small: 16,\r\n middle: 16,\r\n default: 16,\r\n large: 32,\r\n };\r\n const paddingWidth = colWidthObj[size] || 16;\r\n\r\n if (actualWidth > paddingWidth) {\r\n colWidth = actualWidth - paddingWidth;\r\n } else {\r\n colWidth = actualWidth;\r\n }\r\n }\r\n\r\n return (\r\n <div style={{ display: \"inline-table\", width: \"100%\" }}>\r\n <div\r\n ref={(el) => {\r\n if (el) {\r\n // 清除之前的title\r\n el.removeAttribute(\"title\");\r\n\r\n // 检查文本是否溢出\r\n if (el.scrollWidth > el.clientWidth) {\r\n el.setAttribute(\"title\", text);\r\n }\r\n }\r\n }}\r\n className={getLess(styles, \"nsc-table-text\")}\r\n style={{\r\n width: colWidth,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {text}\r\n </div>\r\n </div>\r\n );\r\n };\r\n }\r\n if (sortFields.indexOf(col.dataIndex) > -1) {\r\n if (sortType == \"single\") {\r\n col.sorter = true;\r\n col.sortOrder = sortInfo[col.dataIndex]\r\n ? sortInfo[col.dataIndex]\r\n : null;\r\n } else if (sortType == \"multiple\") {\r\n col.sorter = { multiple: index };\r\n col.sortOrder = sortInfo[col.dataIndex]\r\n ? sortInfo[col.dataIndex]\r\n : null;\r\n }\r\n }\r\n return col;\r\n });\r\n cols.map((item, index) => {\r\n if (!isEmptyObj(item.filterProps)) {\r\n let obj = { ...item };\r\n const { type, props, searchKey } = item.filterProps;\r\n let Div = null;\r\n let text = item.title;\r\n Div = getNode(type, {\r\n placeholder: `搜索${text}`,\r\n ...props,\r\n ref: this.tableSearchRef,\r\n });\r\n obj = {\r\n filterDropdown: ({\r\n setSelectedKeys,\r\n selectedKeys,\r\n confirm,\r\n clearFilters,\r\n }) => {\r\n return (\r\n <div className={getLess(styles, \"nsc-table-search\")}>\r\n <div className={getLess(styles, \"nsc-table-search-space\")}>\r\n {Div}\r\n </div>\r\n <Space>\r\n <Button\r\n type=\"primary\"\r\n onClick={() => {\r\n confirm();\r\n const { filterParams } = this.state;\r\n let newFilterParams = { ...filterParams };\r\n let key = item.field || item.dataIndex;\r\n newFilterParams[key] =\r\n this.tableSearchRef.current?.getValue();\r\n this.setState({\r\n filterParams: { ...newFilterParams },\r\n });\r\n const sortParam = this.getSortParam(this.state.sorter);\r\n this.store.load({\r\n params: { ...newFilterParams, ...sortParam },\r\n });\r\n }}\r\n size=\"small\"\r\n className={getLess(styles, \"nsc-table-search-button\")}\r\n >\r\n 查询\r\n </Button>\r\n </Space>\r\n </div>\r\n );\r\n },\r\n filterIcon: () => {\r\n return <SearchOutlined />;\r\n },\r\n ...obj,\r\n };\r\n cols[index] = obj;\r\n }\r\n });\r\n return cols;\r\n }\r\n generateUniqueKeysAndPaths(\r\n columns: any[],\r\n parentPath: string = \"\",\r\n level: number = 0\r\n ): any[] {\r\n return columns.map((col, index) => {\r\n // 生成唯一key\r\n const uniqueKey = col.uniqueKey || guid();\r\n\r\n // 构建当前节点的path,格式为: parentPath/identifier_key\r\n const currentPath = parentPath\r\n ? `${parentPath}/${uniqueKey}`\r\n : `${uniqueKey}`;\r\n\r\n // 创建新的列对象\r\n const newCol = {\r\n ...col,\r\n uniqueKey: uniqueKey,\r\n path: currentPath,\r\n };\r\n\r\n // 判断是否为叶子节点\r\n if (!newCol.children || newCol.children.length === 0) {\r\n // 最后一层子项\r\n newCol.leaf = true;\r\n } else {\r\n // 有子项的节点\r\n newCol.leaf = false;\r\n\r\n // 递归处理子项\r\n newCol.children = this.generateUniqueKeysAndPaths(\r\n newCol.children,\r\n currentPath,\r\n level + 1\r\n );\r\n\r\n // 为父节点添加所有子项的uniqueKey数组\r\n newCol.childrenKeys = newCol.children.map(\r\n (child: any) => child.uniqueKey\r\n );\r\n }\r\n\r\n return newCol;\r\n });\r\n }\r\n renderToolBar() {\r\n let { tableSize, keyColumns, sortType } = this.state;\r\n let { filterColumn, columns: colLists, toolbar } = this.props;\r\n const { tableTool, storeRequestConfig = {} } = config();\r\n let tools = [\"refresh\", \"size\", \"sort\", \"column\"];\r\n let toolsClick = {} as any;\r\n if (toolbar == true) {\r\n tools = [\"refresh\", \"size\", \"sort\", \"column\"];\r\n } else {\r\n tools = toolbar.tools\r\n ? toolbar.tools\r\n : tableTool.tools\r\n ? tableTool.tools\r\n : tools;\r\n toolsClick = toolbar.onToolClick ? toolbar.onToolClick : {};\r\n }\r\n const sizeItem = [\r\n { title: \"宽松\", key: \"default\" },\r\n { title: \"中等\", key: \"middle\" },\r\n { title: \"紧凑\", key: \"small\" },\r\n ];\r\n const sortItem = [\r\n { title: \"单字段排序\", key: \"single\" },\r\n { title: \"多字段排序\", key: \"multiple\" },\r\n ];\r\n const sortContent = (\r\n <>\r\n <div\r\n className={getLess(styles, \"nsc-table-cotent-title\")}\r\n style={{\r\n cursor: this.state.defaultSort ? \"not-allowed\" : \"pointer\",\r\n color: this.state.defaultSort && \"rgba(0,0,0,.45)\",\r\n }}\r\n onClick={() => {\r\n if (this.state.defaultSort) {\r\n return;\r\n }\r\n this.setState({ sorter: [], sortInfo: {}, defaultSort: true });\r\n const params = { ...this.state.filterParams };\r\n this.store.reload({ params });\r\n }}\r\n >\r\n 恢复默认排序\r\n </div>\r\n {sortItem.map((item, index) => {\r\n return (\r\n <div\r\n key={item.key}\r\n onClick={() => {\r\n this.setState({\r\n sorter: [],\r\n sortInfo: {},\r\n sortType: item.key,\r\n defaultSort: false,\r\n });\r\n const params = { ...this.state.filterParams };\r\n this.store.reload({ params });\r\n }}\r\n >\r\n {sortType == item.key ? (\r\n <a>\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}>\r\n {sortType == item.key && <CheckOutlined />}\r\n </div>\r\n <div> {item.title}</div>\r\n </div>\r\n </a>\r\n ) : (\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}></div>\r\n <div> {item.title}</div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n })}\r\n {this.state.sorter.length > 0 && (\r\n <>\r\n <div\r\n className={getLess(styles, \"nsc-table-cotent-title\")}\r\n style={{ color: \"rgba(0,0,0,.45)\" }}\r\n >\r\n 当前排序\r\n </div>\r\n {this.state.sorter.map((item, index) => {\r\n return (\r\n <div\r\n className={getLess(styles, \"nsc-table-content-tiem\")}\r\n key={index}\r\n >\r\n <div style={{ width: 20 }}>\r\n {item.order == \"ascend\" ? (\r\n <SortAscendingOutlined />\r\n ) : (\r\n <SortDescendingOutlined />\r\n )}\r\n </div>\r\n <div> {item.column.title}</div>\r\n </div>\r\n );\r\n })}\r\n </>\r\n )}\r\n </>\r\n );\r\n const sizeContent = (\r\n <>\r\n <div className={getLess(styles, \"nsc-table-cotent-title\")}>\r\n 表格密度\r\n </div>\r\n {sizeItem.map((item, index) => {\r\n return (\r\n <div\r\n key={item.key}\r\n onClick={() => {\r\n this.setState({\r\n tableSize: item.key,\r\n });\r\n }}\r\n >\r\n {tableSize == item.key ? (\r\n <a>\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}>\r\n {tableSize == item.key && <CheckOutlined />}\r\n </div>\r\n <div> {item.title}</div>\r\n </div>\r\n </a>\r\n ) : (\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}></div>\r\n <div> {item.title}</div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </>\r\n );\r\n const newMapData = getFlattenData(keyColumns, {\r\n keyField: \"uniqueKey\",\r\n childField: \"children\",\r\n });\r\n const content = Object.keys(newMapData).map((key) => {\r\n return (\r\n <Checkbox\r\n key={key}\r\n onChange={(e) => {\r\n this.filterColumn(key, e.target.checked, newMapData);\r\n }}\r\n checked={this.state.checkColumn.includes(newMapData[key].uniqueKey)}\r\n >\r\n {newMapData[key].title}\r\n </Checkbox>\r\n );\r\n });\r\n return (\r\n <div className={getLess(styles, \"nsc-table-tool-bar\")}>\r\n {tools.indexOf(\"column\") > -1 && (\r\n <div style={{ fontSize: 14 }}>\r\n <Popover\r\n title=\"选择显示的列\"\r\n content={content}\r\n placement=\"bottomRight\"\r\n trigger=\"click\"\r\n overlayStyle={{ minWidth: 410, maxWidth: 450 }}\r\n >\r\n <AppstoreOutlined\r\n className={getLess(styles, \"nsc-table-th-app-store-icon\")}\r\n />\r\n </Popover>\r\n </div>\r\n )}\r\n {tools.indexOf(\"sort\") > -1 && (\r\n <div style={{ marginRight: 8, fontSize: 14 }}>\r\n <Popover placement=\"bottom\" content={sortContent} trigger=\"click\">\r\n <SortAscendingOutlined />\r\n </Popover>\r\n </div>\r\n )}\r\n {tools.indexOf(\"size\") > -1 && (\r\n <div style={{ marginRight: 8, fontSize: 14 }}>\r\n <Popover placement=\"bottom\" content={sizeContent} trigger=\"click\">\r\n <ColumnHeightOutlined />\r\n </Popover>\r\n </div>\r\n )}\r\n {tools.indexOf(\"refresh\") > -1 && (\r\n <div\r\n style={{ marginRight: 8, fontSize: 14, cursor: \"pointer\" }}\r\n onClick={() => {\r\n const params = { ...this.state.filterParams };\r\n if (toolsClick.onRefresh) {\r\n toolsClick.onRefresh();\r\n } else {\r\n this.store.load({ params });\r\n }\r\n }}\r\n >\r\n <RedoOutlined />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n getSelectedRowKeys() {\r\n return this.state.selectedRowKeys;\r\n }\r\n getSelectedRowDatas() {\r\n return this.state.selectedRowDatas;\r\n }\r\n resetSelectedRowKeys() {\r\n this.setState({\r\n selectedRowKeys: [],\r\n selectedRowDatas: [],\r\n });\r\n }\r\n rowSelectionOnSelect(record: any, selected: any) {\r\n const { selectedRowKeys, selectedRowDatas } = this.state;\r\n let { rowKey = \"id\" } = this.props;\r\n let newSelectedRowKeys = [...selectedRowKeys];\r\n let newSelectedRowDatas = [...selectedRowDatas];\r\n if (selected) {\r\n newSelectedRowKeys = [...newSelectedRowKeys, record[rowKey]];\r\n newSelectedRowDatas = [...newSelectedRowDatas, record];\r\n } else {\r\n selectedRowKeys.map((item: any, index: any) => {\r\n if (item === record[rowKey]) {\r\n newSelectedRowKeys.splice(index, 1);\r\n }\r\n });\r\n selectedRowDatas.map((item: any, index: any) => {\r\n if (item[rowKey] === record[rowKey]) {\r\n newSelectedRowDatas.splice(index, 1);\r\n }\r\n });\r\n }\r\n this.setState({\r\n selectedRowKeys: newSelectedRowKeys,\r\n selectedRowDatas: newSelectedRowDatas,\r\n });\r\n }\r\n rowSelectionOnSelectAll(selected: any, selectedRows: any, changeRows: any) {\r\n const { selectedRowKeys, selectedRowDatas } = this.state;\r\n const { rowKey = \"id\" } = this.props;\r\n let newids: any = [];\r\n let newdatas: any = [];\r\n if (changeRows.length > 0) {\r\n let changeIds = changeRows.map((item: any) => item[rowKey]);\r\n if (selected) {\r\n newids = [...selectedRowKeys, ...changeIds];\r\n newdatas = [...selectedRowDatas, ...changeRows];\r\n } else {\r\n selectedRowKeys.map((item: any, index: any) => {\r\n if (changeIds.indexOf(item) == -1) {\r\n newids.push(item);\r\n }\r\n });\r\n selectedRowDatas.map((item: any, index: any) => {\r\n if (changeIds.indexOf(item[rowKey]) == -1) {\r\n newdatas.push(item);\r\n }\r\n });\r\n }\r\n } else {\r\n newids = [...selectedRowKeys];\r\n newdatas = [...selectedRowDatas];\r\n }\r\n this.setState({\r\n selectedRowKeys: [...newids],\r\n selectedRowDatas: [...newdatas],\r\n });\r\n }\r\n render() {\r\n let _this = this,\r\n {\r\n loading,\r\n dataSource,\r\n pagination = {},\r\n searchText,\r\n fieldOption,\r\n searchColor,\r\n tableSize,\r\n } = this.state,\r\n props = utils.omit(\r\n this.props,\r\n [\r\n \"store\",\r\n \"onChange\",\r\n \"columns\",\r\n \"resetColumn\",\r\n \"toolbar\",\r\n \"sortFields\",\r\n \"filterColumn\",\r\n \"sortSearch\",\r\n \"showRowSelection\",\r\n \"pageType\",\r\n ],\r\n {\r\n rowKey: \"id\",\r\n clickChangeColor: false,\r\n }\r\n );\r\n if (props.pagination !== false) {\r\n props.pagination = {\r\n position: [\"bottomRight\"],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n ...pagination,\r\n ...props.pagination,\r\n };\r\n if (props.showTotal == true) {\r\n props.pagination.showTotal = function (total, [from, to]) {\r\n // return \"显示 \" + from + \" - \" + to + \"条,共 \" + total + \" 条\";\r\n return \"共 \" + total + \" 条\";\r\n };\r\n }\r\n }\r\n props.onChange = function (pagination, filters, sorter, extra) {\r\n _this.onChange(_this.state.pagination, filters, sorter, extra);\r\n };\r\n if (props.clickChangeColor) {\r\n const onRowFn = props.onRow;\r\n props.onRow = function (record, index) {\r\n var custom = onRowFn ? onRowFn(record, index) : {};\r\n const onClickFn = custom.onClick;\r\n custom.onClick = (event) => {\r\n _this.setState({\r\n activeIndex: index, //获取点击行的索引\r\n });\r\n utils.callback(onClickFn, _this, [event]);\r\n };\r\n return custom;\r\n };\r\n props.rowClassName = function (record, index) {\r\n return index === _this.state.activeIndex\r\n ? \"nsc-table-clickRowStyle\"\r\n : \"\";\r\n };\r\n }\r\n let newDataSource = [];\r\n if (searchText) {\r\n const data = treeUtils.getSearchMenuDatas(\r\n this,\r\n searchText,\r\n fieldOption,\r\n searchColor\r\n );\r\n newDataSource = data.treeDatas;\r\n props.expandedRowKeys = data.openKeys;\r\n } else {\r\n newDataSource = dataSource;\r\n }\r\n props.store = props.store || {};\r\n props.store.autoLoad = props.store.autoLoad === false ? false : true;\r\n const { dragable } = _this.props;\r\n const dragableProps =\r\n dragable === true\r\n ? {\r\n components: BodyRowComponent,\r\n onRow: (record, index) => ({\r\n index,\r\n record,\r\n moveRow: this.moveRow,\r\n }),\r\n }\r\n : {};\r\n let { resizeColumn } = this.props;\r\n\r\n const resizeProps =\r\n resizeColumn === true ? { components: this.components } : null;\r\n const { tableTool } = config();\r\n let toolFlag = false;\r\n if (tableTool.show === true) {\r\n toolFlag = true;\r\n }\r\n if (this.props.toolbar && this.props.toolbar.show === true) {\r\n toolFlag = true;\r\n }\r\n if (this.props.showRowSelection) {\r\n const { rowSelection = {} } = this.props;\r\n props = {\r\n ...props,\r\n rowSelection: {\r\n selectedRowKeys: this.state.selectedRowKeys,\r\n onSelect: this.rowSelectionOnSelect.bind(this),\r\n onSelectAll: this.rowSelectionOnSelectAll.bind(this),\r\n columnWidth: 40,\r\n ...rowSelection,\r\n },\r\n };\r\n }\r\n const { tableProps: configTableProps } = config();\r\n const DefaultTable = (\r\n <div className={getLess(styles, \"nsc-table\")}>\r\n {toolFlag && this.renderToolBar()}\r\n <Table\r\n childrenColumnName=\"childNodes\"\r\n sheitem\r\n dataSource={newDataSource}\r\n columns={this.getColumns()}\r\n loading={loading}\r\n className={cls(getLess(styles, \"nsc-table-content\"), props.className)}\r\n locale={{\r\n emptyText: (\r\n <NoData className={getLess(styles, \"nsc-table-nodata\")} />\r\n ),\r\n }}\r\n scroll={{ x: \"max-content\" }}\r\n {...configTableProps}\r\n {...resizeProps}\r\n {...props}\r\n {...dragableProps}\r\n size={tableSize}\r\n pagination={false}\r\n // style={{ height: 600 }}\r\n />\r\n {props.pagination !== false && (\r\n <div className={getLess(styles, \"nsc-table-pagination\")}>\r\n <Pagination\r\n {...props.pagination}\r\n onChange={(page, pageSize) => {\r\n const extra = this.state.extra;\r\n extra.action = \"paginate\";\r\n this.setState(({ pagination = {} }) => {\r\n return {\r\n pagination: { ...pagination, current: page, pageSize },\r\n };\r\n });\r\n this.onChange(\r\n { current: page, pageSize },\r\n this.state.filter,\r\n this.state.sorter,\r\n extra\r\n );\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n\r\n return dragable === true ? (\r\n <DndProvider backend={HTML5Backend}>{DefaultTable}</DndProvider>\r\n ) : (\r\n DefaultTable\r\n );\r\n }\r\n}\r\n\r\nexport default withZhLocale(NSCTable);\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["AppstoreOutlined","CheckOutlined","ColumnHeightOutlined","SearchOutlined","SortAscendingOutlined","SortDescendingOutlined","RedoOutlined","isEmptyObj","Store","PageStore","utils","React","DndProvider","BodyRow","DndContextType","IBodyRowProps","treeUtils","BodyRowComponent","HTML5Backend","withZhLocale","Resizable","getLess","getNode","NoData","guid","getFlattenData","getStorage","config","cls","styles","ResizeableTitle","props","onResize","width","restProps","_objectWithoutProperties","_excluded","createElement","height","draggableOpts","enableUserSelectHack","NSCTable","Component","constructor","_autoType","_defineProperty","createRef","onBeforeLoad","load","header","cell","index","e","_ref","size","cols","state","nextColumns","_objectSpread","setState","getColumns","ev","data","JSON","parse","_this","eventType","payload","tableSize","dragIndex","hoverIndex","drag","target","dragNode","record","targetNode","moveArray","ids","parentNode","getChildNodeIds","params","id","parentId","attribute","moveRow","store","reload","modal","type","storePrefix","autoType","content","dataSource","columns","loading","pagination","activeIndex","searchText","fieldOption","searchColor","sorts","filterParams","sortType","sorter","sortInfo","defaultSort","checkColumn","defaultCheck","selectedRowKeys","selectedRowDatas","filter","extra","_ref2","listeners","listenersProps","restStore","_excluded2","storeProps","model","component","options","callback","dataChanged","modelData","paging","getPagination","onErrorLoad","err","response","autoLoad","Object","assign","current","getInitCheckedColumns","checkedKeys","traverse","forEach","col","initShow","push","uniqueKey","children","length","generateUniqueKeysAndPaths","parentPath","arguments","undefined","level","map","currentPath","concat","newCol","path","leaf","childrenKeys","child","componentDidMount","resizeColumn","newColumns","defaultCheckedColumns","storeColumns","keyColumns","setData","window","addEventListener","listenMessage","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","preState","resetColumn","newCols","colss","temp","onHeaderCell","column","handleResize","clearSelectColor","getPaginationByStore","onChange","filters","autoOnChange","autoSort","autoPagination","isMultiple","Array","isArray","handlePagination","p","currentKey","pageSizeKey","pageSize","ascParams","getSortParam","onChangeFn","getStore","getModel","handleSearch","val","filterColumn","checkedValue","isChecked","mapData","currentCheckedKeys","getAllChildrenKeys","keys","allChildrenKeys","includes","key","pathParts","split","i","slice","join","parentCol","values","find","c","allSiblings","hasCheckedSibling","some","_message","warning","filterColumns","filterColumnsByCheckedKeys","result","isColumnChecked","filteredChildren","sortState","sortSearch","orderItems","field","dataIndex","asc","order","v","stringify","isBeyond","event","textRange","el","textContent","targetW","getBoundingClientRect","range","document","createRange","setStart","setEnd","childNodes","rangeWidth","setSelectedRowKeys","setSelectedRowDatas","sortFields","defaultShowCols","ellipsis","render","showTitle","text","_this$state$cols","currentCol","actualWidth","colWidth","colWidthObj","small","middle","default","large","paddingWidth","style","display","ref","removeAttribute","scrollWidth","clientWidth","setAttribute","className","overflow","textOverflow","whiteSpace","indexOf","sortOrder","multiple","item","filterProps","obj","searchKey","Div","title","placeholder","tableSearchRef","filterDropdown","_ref3","setSelectedKeys","selectedKeys","confirm","clearFilters","_Space","_Button","onClick","_this$tableSearchRef$","newFilterParams","getValue","sortParam","filterIcon","renderToolBar","colLists","toolbar","tableTool","storeRequestConfig","tools","toolsClick","onToolClick","sizeItem","sortItem","sortContent","Fragment","cursor","color","sizeContent","newMapData","keyField","childField","_Checkbox","checked","fontSize","_Popover","placement","trigger","overlayStyle","minWidth","maxWidth","marginRight","onRefresh","getSelectedRowKeys","getSelectedRowDatas","resetSelectedRowKeys","rowSelectionOnSelect","selected","rowKey","newSelectedRowKeys","newSelectedRowDatas","splice","rowSelectionOnSelectAll","selectedRows","changeRows","newids","newdatas","changeIds","omit","clickChangeColor","position","showSizeChanger","showQuickJumper","showTotal","total","_ref4","from","to","onRowFn","onRow","custom","onClickFn","rowClassName","newDataSource","getSearchMenuDatas","treeDatas","expandedRowKeys","openKeys","dragable","dragableProps","components","resizeProps","toolFlag","show","showRowSelection","rowSelection","onSelect","bind","onSelectAll","columnWidth","tableProps","configTableProps","DefaultTable","_Table","_extends","childrenColumnName","sheitem","locale","emptyText","scroll","x","_Pagination","page","action","_ref5","backend","dragUrl"],"sources":["../../../src/components/base/table/index.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-03-23 08:46:20\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-03-23 10:30:42\r\n */\r\nimport {\r\n AppstoreOutlined,\r\n CheckOutlined,\r\n ColumnHeightOutlined,\r\n SearchOutlined,\r\n SortAscendingOutlined,\r\n SortDescendingOutlined,\r\n RedoOutlined,\r\n} from \"@ant-design/icons\";\r\nimport { isEmptyObj } from \"@bj-nsc/functions\";\r\nimport Store, { PageStore, StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport {\r\n Button,\r\n Checkbox,\r\n CheckboxOptionType,\r\n Menu,\r\n message,\r\n Pagination,\r\n Popover,\r\n Space,\r\n Table,\r\n TableProps,\r\n Tooltip,\r\n} from \"antd\";\r\nimport { ColumnType, TablePaginationConfig } from \"antd/lib/table\";\r\nimport * as React from \"react\";\r\nimport { DndProvider } from \"react-dnd\";\r\nimport BodyRow, { DndContextType, IBodyRowProps } from \"../common/BodyRow\";\r\nimport treeUtils from \"../../treeUtils\";\r\nimport \"./index.module.less\";\r\nconst { BodyRowComponent, HTML5Backend } = BodyRow;\r\nimport withZhLocale from \"../common/withZhLocale\";\r\nimport { Resizable } from \"react-resizable\";\r\nimport \"./resize.module.less\";\r\nimport { getLess, getNode, simplifyColumns } from \"../../utils\";\r\nimport NoData from \"../common/NoData\";\r\nimport { guid, getFlattenData, getStorage } from \"@bj-nsc/functions\";\r\nimport config from \"../../config\";\r\nimport EllipseCell from \"../common/EllipseCell\";\r\nimport cls from \"classnames\";\r\nimport isEqual from \"lodash/isEqual\";\r\nconst styles = null;\r\ninterface IDragParams {\r\n id: string | number;\r\n ids: Array<string | number>;\r\n parentId: string | number;\r\n}\r\n// interface StoreProps {}\r\n\r\nexport type StoreType = \"PageStore\" | \"TreeStore\" | \"BaseStore\";\r\n\r\ninterface NSCTablePagination extends TablePaginationConfig {\r\n totalKey?: string;\r\n pageSizeKey?: string;\r\n currentKey?: string;\r\n}\r\n\r\ninterface ToolBarProps {\r\n show: boolean;\r\n tools?: Array<string>;\r\n onToolClick?: { onRefresh?: any; onSort?: any };\r\n}\r\ninterface NSCTableProps extends TableProps<any> {\r\n store?: StoreProps;\r\n showTotal?: boolean; // 是否显示总条数信息,默认true\r\n dragable?: boolean; // 是否可拖动, 默认false\r\n filterColumn?: boolean; // 是否支持过滤显示表格列, 默认true\r\n moveRow?: (params: IDragParams) => void; // 拖拽完成后的回调\r\n dragUrl?: string; // 保存拖拽排序的接口\r\n pagination?: false | NSCTablePagination;\r\n autoPagination?: boolean; // 组件是否自动处理分页\r\n autoSort?: boolean; //组件是否自动处理排序\r\n autoOnChange?: boolean; // 组件是否自动onChange, false则不做任何处理全部交给调用方\r\n resizeColumn?: boolean;\r\n sortFields?: Array<string>; //需要排序的字段Index\r\n toolbar?: ToolBarProps | boolean;\r\n autoSize?: boolean;\r\n sortSearch?: boolean; //是否添加排序查询,默认true\r\n showRowSelection?: boolean;\r\n rowKey?: string;\r\n [propsName: string]: any;\r\n}\r\n\r\nexport type INSCTableProps = typeof NSCTable.defaultProps & NSCTableProps;\r\nexport { DndContextType, IBodyRowProps };\r\n\r\nconst ResizeableTitle = (props: any) => {\r\n const { onResize, width, ...restProps } = props;\r\n return (\r\n <Resizable\r\n width={width || 150}\r\n height={0}\r\n onResize={onResize}\r\n draggableOpts={{ enableUserSelectHack: false }}\r\n >\r\n <th {...restProps} />\r\n </Resizable>\r\n );\r\n};\r\nclass NSCTable extends React.Component<INSCTableProps, any> {\r\n static defaultProps = {\r\n dragable: false,\r\n showTotal: true,\r\n filterColumn: true,\r\n dragUrl: \"\",\r\n autoPagination: true,\r\n autoSort: true,\r\n autoOnChange: true,\r\n resizeColumn: true,\r\n toolbar: {\r\n show: false,\r\n onToolClick: {} as any,\r\n tools: [] as any,\r\n } as any,\r\n };\r\n\r\n store = {} as StoreProps;\r\n thIconRef = React.createRef<HTMLDivElement>();\r\n tableSearchRef = React.createRef<any>();\r\n\r\n listeners = {\r\n onBeforeLoad: null,\r\n load: null,\r\n };\r\n\r\n components = {\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n let modal = props.type || \"auto\";\r\n let storePrefix = getStorage(\"store-pre-key\");\r\n let autoType = getStorage(\r\n storePrefix ? storePrefix + \"tableSize\" : \"tableSize\"\r\n );\r\n autoType = autoType?.content;\r\n this.state = {\r\n dataSource: [],\r\n columns: [],\r\n loading: false,\r\n pagination: {},\r\n activeIndex: -1,\r\n //搜索文本\r\n searchText: null,\r\n fieldOption: null,\r\n searchColor: null,\r\n cols: [],\r\n sorts: [],\r\n filterParams: {},\r\n tableSize: this.props.size || autoType || \"default\",\r\n sortType: \"single\",\r\n sorter: [], //记录当前排序字段\r\n sortInfo: {},\r\n defaultSort: true,\r\n checkColumn: [],\r\n defaultCheck: true,\r\n selectedRowKeys: [],\r\n selectedRowDatas: [],\r\n filter: [],\r\n extra: {},\r\n };\r\n if (props.store instanceof Store) {\r\n this.store = props.store;\r\n } else {\r\n const { listeners: listenersProps = {}, ...restStore } =\r\n props.store || {};\r\n const storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: (store, options) => {\r\n this.setState({ loading: true });\r\n utils.callback(listenersProps.onBeforeLoad, this, [store, options]);\r\n },\r\n dataChanged: (data, modelData, store) => {\r\n let paging = !(this.props.pagination === false);\r\n if (paging && !this.props.dataSource) {\r\n this.setState({\r\n dataSource: modelData,\r\n pagination: store.getPagination(),\r\n loading: false,\r\n activeIndex: -1,\r\n });\r\n } else {\r\n this.setState({ dataSource: modelData, loading: false });\r\n }\r\n\r\n utils.callback(listenersProps.dataChanged, this, [\r\n data,\r\n modelData,\r\n store,\r\n paging,\r\n ]);\r\n },\r\n load: (data, modelData, store) => {\r\n utils.callback(listenersProps.load, this, [data, modelData, store]);\r\n },\r\n onErrorLoad: (err, response) => {\r\n this.setState({ loading: false });\r\n utils.callback(listenersProps.onErrorLoad, this, [err, response]);\r\n },\r\n },\r\n data: restStore.data\r\n ? restStore.data\r\n : props.dataSource\r\n ? props.dataSource\r\n : null,\r\n ...restStore,\r\n autoLoad: restStore.autoLoad === false ? false : true,\r\n };\r\n this.store = new PageStore(\r\n Object.assign({}, storeProps, {\r\n pagination: { current: 1, ...this.props.pagination },\r\n })\r\n );\r\n }\r\n }\r\n\r\n handleResize =\r\n (index: any) =>\r\n (e: any, { size }: any) => {\r\n const { cols } = this.state;\r\n const nextColumns = [...cols];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n this.setState(\r\n {\r\n cols: nextColumns,\r\n },\r\n () => {\r\n // 在状态更新后重新获取列配置\r\n this.getColumns();\r\n }\r\n );\r\n };\r\n getInitCheckedColumns(columns: any[]): string[] {\r\n let checkedKeys: string[] = [];\r\n\r\n const traverse = (cols: any[]) => {\r\n cols.forEach((col) => {\r\n // 如果列没有明确设置 initShow 为 false,则认为是默认选中的\r\n if (col.initShow !== false) {\r\n checkedKeys.push(col.uniqueKey);\r\n }\r\n\r\n // 递归处理子列\r\n if (col.children && col.children.length > 0) {\r\n traverse(col.children);\r\n }\r\n });\r\n };\r\n\r\n traverse(columns);\r\n return checkedKeys;\r\n }\r\n generateUniqueKeysAndPaths(\r\n columns: any[],\r\n parentPath: string = \"\",\r\n level: number = 0\r\n ): any[] {\r\n return columns.map((col, index) => {\r\n // 生成唯一key\r\n const uniqueKey = col.uniqueKey || guid();\r\n\r\n // 构建当前节点的path,格式为: parentPath/identifier_key\r\n const currentPath = parentPath\r\n ? `${parentPath}/${uniqueKey}`\r\n : `${uniqueKey}`;\r\n\r\n // 创建新的列对象\r\n const newCol = {\r\n ...col,\r\n uniqueKey: uniqueKey,\r\n path: currentPath,\r\n };\r\n\r\n // 判断是否为叶子节点\r\n if (!newCol.children || newCol.children.length === 0) {\r\n // 最后一层子项\r\n newCol.leaf = true;\r\n } else {\r\n // 有子项的节点\r\n newCol.leaf = false;\r\n\r\n // 递归处理子项\r\n newCol.children = this.generateUniqueKeysAndPaths(\r\n newCol.children,\r\n currentPath,\r\n level + 1\r\n );\r\n\r\n // 为父节点添加所有子项的uniqueKey数组\r\n newCol.childrenKeys = newCol.children.map(\r\n (child: any) => child.uniqueKey\r\n );\r\n }\r\n\r\n return newCol;\r\n });\r\n }\r\n componentDidMount() {\r\n const { resizeColumn } = this.props;\r\n const newColumns = this.generateUniqueKeysAndPaths(this.props.columns);\r\n const defaultCheckedColumns = this.getInitCheckedColumns(newColumns);\r\n // if (!resizeColumn) {\r\n // this.setState({ columns: [...this.props.columns] });\r\n // } else {\r\n // this.setState({ cols: [...this.props.columns] });\r\n // }\r\n\r\n if (!resizeColumn) {\r\n this.setState({\r\n columns: newColumns,\r\n storeColumns: [...this.props.columns],\r\n checkColumn: defaultCheckedColumns,\r\n keyColumns: newColumns,\r\n });\r\n } else {\r\n this.setState({\r\n cols: newColumns, //修改列宽\r\n columns: newColumns, //table组件使用\r\n storeColumns: [...this.props.columns], //原始列,用于判断是有列有更新\r\n checkColumn: defaultCheckedColumns, //默认选中的列\r\n keyColumns: newColumns, //提供带标识的完整列结构,用于构建列选择界面\r\n });\r\n }\r\n\r\n const store = this.props.store;\r\n if (store && store.data) {\r\n this.store.setData(store.data);\r\n }\r\n window.addEventListener(\"message\", this.listenMessage);\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.listenMessage);\r\n }\r\n listenMessage = (ev) => {\r\n const data = typeof ev.data === \"string\" ? JSON.parse(ev.data) : ev.data;\r\n let _this = this;\r\n if (data.eventType == \"changeTableSize\") {\r\n const { payload } = data;\r\n if (\r\n payload.size == \"default\" ||\r\n payload.size == \"small\" ||\r\n payload.size == \"middle\"\r\n ) {\r\n _this.setState({ tableSize: payload.size });\r\n }\r\n }\r\n };\r\n\r\n componentDidUpdate(prevProps, preState) {\r\n const { resizeColumn } = this.props;\r\n if (!resizeColumn) {\r\n if (this.props.columns !== prevProps.columns) {\r\n this.setState({ columns: this.props.columns });\r\n }\r\n } else {\r\n if (preState.cols !== this.state.cols) {\r\n this.resetColumn();\r\n }\r\n if (this.props.columns !== prevProps.columns) {\r\n this.setState({\r\n cols: this.props.columns,\r\n columns: this.props.columns,\r\n });\r\n }\r\n if (prevProps.size !== this.props.size) {\r\n this.setState({ tableSize: this.props.size });\r\n }\r\n }\r\n }\r\n resetColumn() {\r\n const { cols } = this.state;\r\n const newCols: any = [];\r\n let colss = cols || [];\r\n colss.map((col: any, index: any) => {\r\n let temp = {\r\n ...col,\r\n onHeaderCell: (column: { width: any }) => ({\r\n width: column.width,\r\n onResize: this.handleResize(index),\r\n }),\r\n };\r\n newCols.push(temp);\r\n });\r\n this.setState({\r\n columns: newCols,\r\n });\r\n }\r\n\r\n /**\r\n * 清除选中颜色\r\n */\r\n clearSelectColor() {\r\n this.setState({ activeIndex: -1 });\r\n return this;\r\n }\r\n\r\n getPaginationByStore() {\r\n return this.store.getPagination();\r\n }\r\n\r\n onChange(pagination, filters, sorter, extra) {\r\n const {\r\n autoOnChange = true,\r\n autoSort,\r\n autoPagination,\r\n onChange,\r\n store,\r\n } = this.props;\r\n const { filterParams } = this.state;\r\n const isMultiple = Array.isArray(sorter);\r\n if (autoOnChange === false || !store) {\r\n onChange && onChange(pagination, filters, sorter, extra);\r\n return;\r\n }\r\n const handlePagination = () => {\r\n let params = {} as {\r\n size?: string;\r\n pageSize?: string;\r\n ascs?: string;\r\n descs?: string;\r\n [propName: string]: string;\r\n };\r\n const paging = this.getPaginationByStore() || {};\r\n if (!isEmptyObj(pagination)) {\r\n const p = {\r\n [paging.currentKey || \"current\"]: pagination.current,\r\n [paging.pageSizeKey || \"size\"]: pagination.pageSize,\r\n };\r\n Object.assign(params, p);\r\n }\r\n let ascParams = this.getSortParam(sorter, true);\r\n if (isMultiple) {\r\n this.setState({ sorter });\r\n } else if (!isMultiple && !isEmptyObj(sorter)) {\r\n sorter.column &&\r\n this.setState({ sorter: [sorter], defaultSort: false });\r\n } else {\r\n this.setState({ sorter: [] });\r\n }\r\n this.setState({\r\n filters,\r\n extra,\r\n });\r\n params = { ...filterParams, ...params, ...ascParams };\r\n autoSort && this.store.reload({ params });\r\n };\r\n\r\n const onChangeFn = this.props.onChange;\r\n\r\n autoPagination && handlePagination();\r\n // 用户传了onChange保留用户自主处理表格变化的权力\r\n if (onChangeFn) {\r\n utils.callback(onChangeFn, this, [pagination, filters, sorter, extra]);\r\n }\r\n }\r\n\r\n getStore() {\r\n return this.store;\r\n }\r\n\r\n /**\r\n * 获取数据模型对象\r\n */\r\n getModel() {\r\n return this.store.getModel();\r\n }\r\n\r\n /**\r\n * 菜单搜索过滤显示\r\n * @param {String} val\r\n */\r\n handleSearch(val, fieldOption, searchColor) {\r\n this.setState({\r\n searchText: val,\r\n fieldOption: fieldOption,\r\n searchColor: searchColor,\r\n });\r\n }\r\n\r\n /**\r\n * 模块列表移动排序\r\n */\r\n moveRow = (dragIndex, hoverIndex, drag, target) => {\r\n const _this = this;\r\n let dragNode = drag.record;\r\n let targetNode = target.record;\r\n dragNode.moveArray(dragNode, targetNode);\r\n let ids = dragNode.parentNode.getChildNodeIds();\r\n let params = {\r\n id: dragNode.id,\r\n parentId: dragNode.attribute.parentId,\r\n ids: ids,\r\n };\r\n\r\n if (this.props.moveRow) {\r\n this.props.moveRow(params);\r\n } else {\r\n this.store.reload();\r\n }\r\n };\r\n\r\n filterColumn(checkedValue, isChecked, mapData) {\r\n const col = mapData[checkedValue];\r\n let currentCheckedKeys = [...this.state.checkColumn];\r\n // 获取所有子节点的 keys(包括深层嵌套的节点)\r\n const getAllChildrenKeys = (column) => {\r\n let keys = [];\r\n if (column.children && column.children.length > 0) {\r\n column.children.forEach((child) => {\r\n keys.push(child.uniqueKey);\r\n keys = keys.concat(getAllChildrenKeys(child));\r\n });\r\n }\r\n return keys;\r\n };\r\n\r\n if (col.children) {\r\n // 处理父节点\r\n const allChildrenKeys = getAllChildrenKeys(col);\r\n\r\n if (isChecked) {\r\n // 选中父节点:添加父节点和所有子孙节点\r\n if (!currentCheckedKeys.includes(col.uniqueKey)) {\r\n currentCheckedKeys.push(col.uniqueKey);\r\n }\r\n allChildrenKeys.forEach((key) => {\r\n if (!currentCheckedKeys.includes(key)) {\r\n currentCheckedKeys.push(key);\r\n }\r\n });\r\n } else {\r\n // 取消选中父节点:移除父节点和所有子孙节点\r\n currentCheckedKeys = currentCheckedKeys.filter(\r\n (key) => key !== col.uniqueKey && !allChildrenKeys.includes(key)\r\n );\r\n }\r\n } else {\r\n // 处理叶子节点\r\n if (isChecked) {\r\n if (!currentCheckedKeys.includes(col.uniqueKey)) {\r\n currentCheckedKeys.push(col.uniqueKey);\r\n }\r\n } else {\r\n currentCheckedKeys = currentCheckedKeys.filter(\r\n (key) => key !== col.uniqueKey\r\n );\r\n\r\n // 检查父节点是否需要取消选中\r\n if (col.path) {\r\n const pathParts = col.path.split(\"/\");\r\n // 从当前节点向上遍历所有父节点\r\n for (let i = pathParts.length - 2; i >= 0; i--) {\r\n const parentPath = pathParts.slice(0, i + 1).join(\"/\");\r\n const parentCol: any = Object.values(mapData).find(\r\n (c: any) => c.path === parentPath\r\n );\r\n if (parentCol) {\r\n // 检查父节点是否还有其他子节点被选中\r\n const allSiblings = getAllChildrenKeys(parentCol);\r\n const hasCheckedSibling = allSiblings.some(\r\n (key) =>\r\n key !== col.uniqueKey && currentCheckedKeys.includes(key)\r\n );\r\n\r\n if (!hasCheckedSibling) {\r\n currentCheckedKeys = currentCheckedKeys.filter(\r\n (key) => key !== parentCol.uniqueKey\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (currentCheckedKeys.length === 0) {\r\n message.warning(\"至少显示一列!\");\r\n return;\r\n }\r\n\r\n const { keyColumns } = this.state;\r\n const filterColumns = this.filterColumnsByCheckedKeys(\r\n keyColumns,\r\n currentCheckedKeys\r\n );\r\n\r\n // 更新状态\r\n this.setState(\r\n {\r\n checkColumn: currentCheckedKeys,\r\n columns: filterColumns,\r\n cols: filterColumns,\r\n },\r\n // () => {\r\n // // 添加回调确保在状态更新后重新设置列宽调整相关属性\r\n // if (this.props.resizeColumn) {\r\n // this.resetColumn();\r\n // }\r\n // }\r\n );\r\n }\r\n filterColumnsByCheckedKeys(columns: any[], checkedKeys: string[]): any[] {\r\n if (!columns || !Array.isArray(columns) || columns.length === 0) {\r\n return [];\r\n }\r\n\r\n const result: any[] = [];\r\n\r\n columns.forEach((col) => {\r\n // 检查当前列是否在选中列表中\r\n const isColumnChecked = checkedKeys.includes(col.uniqueKey);\r\n if (isColumnChecked) {\r\n // 如果当前列被选中,直接添加\r\n const newCol = { ...col };\r\n // 如果有子列,递归处理\r\n if (newCol.children && newCol.children.length > 0) {\r\n newCol.children = this.filterColumnsByCheckedKeys(\r\n newCol.children,\r\n checkedKeys\r\n );\r\n }\r\n result.push(newCol);\r\n } else {\r\n // 如果当前列未被选中,检查是否有子列被选中\r\n if (col.children && col.children.length > 0) {\r\n const filteredChildren = this.filterColumnsByCheckedKeys(\r\n col.children,\r\n checkedKeys\r\n );\r\n if (filteredChildren.length > 0) {\r\n // 如果有子列被选中,则添加该列(作为容器)\r\n const newCol = { ...col };\r\n newCol.children = filteredChildren;\r\n result.push(newCol);\r\n }\r\n }\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n getSortParam(sorter, sortState = false) {\r\n const isMultiple = Array.isArray(sorter);\r\n const { sortSearch = true } = this.props;\r\n if (!sortSearch) {\r\n return {};\r\n }\r\n let sortInfo = {};\r\n let orderItems = [];\r\n if (!isEmptyObj(sorter) && !isMultiple && sorter.column) {\r\n orderItems = [\r\n {\r\n column: sorter.column.field || sorter.column.dataIndex,\r\n asc: sorter.order == \"ascend\",\r\n },\r\n ];\r\n if (sorter.column) sortInfo[sorter.column.dataIndex] = sorter.order;\r\n } else if (isMultiple) {\r\n sorter.forEach((v) => {\r\n sortInfo[v.column.dataIndex] = v.order;\r\n let field = v.column.field || v.column.dataIndex;\r\n orderItems.push({\r\n column: field,\r\n asc: v.order == \"ascend\",\r\n });\r\n });\r\n }\r\n if (sortState) {\r\n this.setState({\r\n sortInfo: sortInfo,\r\n });\r\n }\r\n return { orderItems: JSON.stringify(orderItems) };\r\n }\r\n isBeyond(e) {\r\n const ev = window.event || e; // 浏览器兼容,最好写一下\r\n const textRange = (el) => {\r\n const textContent = el;\r\n const targetW = textContent.getBoundingClientRect().width;\r\n const range = document.createRange();\r\n range.setStart(textContent, 0);\r\n range.setEnd(textContent, textContent.childNodes.length);\r\n const rangeWidth = range.getBoundingClientRect().width;\r\n return rangeWidth > targetW;\r\n };\r\n return !textRange(ev.target); // target可以保证当前划过的dom节点一直保持是:el-tooltip__trigger\r\n }\r\n setSelectedRowKeys(data: Array<String | Number>) {\r\n this.setState({\r\n selectedRowKeys: data,\r\n });\r\n }\r\n setSelectedRowDatas(data: Array<Object>) {\r\n this.setState({\r\n selectedRowDatas: data,\r\n });\r\n }\r\n getColumns() {\r\n const { columns, sortType, sortInfo } = this.state;\r\n const { sortFields = [], size = \"large\" } = this.props;\r\n const defaultShowCols = columns.filter((cols) => cols.initShow !== false);\r\n const cols = defaultShowCols.map((col, index) => {\r\n // 替换 getColumns 方法中原来的 ellipsis 处理部分\r\n if (col.ellipsis && !col.render) {\r\n col.ellipsis = {\r\n showTitle: false,\r\n };\r\n col.render = (text, record, index) => {\r\n // 获取当前列的实时宽度\r\n const currentCol = this.state.cols?.find((c) => {\r\n // 处理 dataIndex 可能是字符串或数组的情况\r\n if (Array.isArray(c.dataIndex) && Array.isArray(col.dataIndex)) {\r\n return (\r\n JSON.stringify(c.dataIndex) === JSON.stringify(col.dataIndex)\r\n );\r\n }\r\n return c.dataIndex === col.dataIndex;\r\n });\r\n\r\n const actualWidth = currentCol?.width || col.width;\r\n let colWidth: any = \"100%\";\r\n\r\n if (actualWidth) {\r\n const size = this.state.tableSize || this.props.size || \"default\";\r\n const colWidthObj = {\r\n small: 16,\r\n middle: 16,\r\n default: 16,\r\n large: 32,\r\n };\r\n const paddingWidth = colWidthObj[size] || 16;\r\n\r\n if (actualWidth > paddingWidth) {\r\n colWidth = actualWidth - paddingWidth;\r\n } else {\r\n colWidth = actualWidth;\r\n }\r\n }\r\n\r\n return (\r\n <div style={{ display: \"inline-table\", width: \"100%\" }}>\r\n <div\r\n ref={(el) => {\r\n if (el) {\r\n // 清除之前的title\r\n el.removeAttribute(\"title\");\r\n\r\n // 检查文本是否溢出\r\n if (el.scrollWidth > el.clientWidth) {\r\n el.setAttribute(\"title\", text);\r\n }\r\n }\r\n }}\r\n className={getLess(styles, \"nsc-table-text\")}\r\n style={{\r\n width: colWidth,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {text}\r\n </div>\r\n </div>\r\n );\r\n };\r\n }\r\n if (sortFields.indexOf(col.dataIndex) > -1) {\r\n if (sortType == \"single\") {\r\n col.sorter = true;\r\n col.sortOrder = sortInfo[col.dataIndex]\r\n ? sortInfo[col.dataIndex]\r\n : null;\r\n } else if (sortType == \"multiple\") {\r\n col.sorter = { multiple: index };\r\n col.sortOrder = sortInfo[col.dataIndex]\r\n ? sortInfo[col.dataIndex]\r\n : null;\r\n }\r\n }\r\n return col;\r\n });\r\n cols.map((item, index) => {\r\n if (!isEmptyObj(item.filterProps)) {\r\n let obj = { ...item };\r\n const { type, props, searchKey } = item.filterProps;\r\n let Div = null;\r\n let text = item.title;\r\n Div = getNode(type, {\r\n placeholder: `搜索${text}`,\r\n ...props,\r\n ref: this.tableSearchRef,\r\n });\r\n obj = {\r\n filterDropdown: ({\r\n setSelectedKeys,\r\n selectedKeys,\r\n confirm,\r\n clearFilters,\r\n }) => {\r\n return (\r\n <div className={getLess(styles, \"nsc-table-search\")}>\r\n <div className={getLess(styles, \"nsc-table-search-space\")}>\r\n {Div}\r\n </div>\r\n <Space>\r\n <Button\r\n type=\"primary\"\r\n onClick={() => {\r\n confirm();\r\n const { filterParams } = this.state;\r\n let newFilterParams = { ...filterParams };\r\n let key = item.field || item.dataIndex;\r\n newFilterParams[key] =\r\n this.tableSearchRef.current?.getValue();\r\n this.setState({\r\n filterParams: { ...newFilterParams },\r\n });\r\n const sortParam = this.getSortParam(this.state.sorter);\r\n this.store.load({\r\n params: { ...newFilterParams, ...sortParam },\r\n });\r\n }}\r\n size=\"small\"\r\n className={getLess(styles, \"nsc-table-search-button\")}\r\n >\r\n 查询\r\n </Button>\r\n </Space>\r\n </div>\r\n );\r\n },\r\n filterIcon: () => {\r\n return <SearchOutlined />;\r\n },\r\n ...obj,\r\n };\r\n cols[index] = obj;\r\n }\r\n });\r\n return cols;\r\n }\r\n renderToolBar() {\r\n let { tableSize, keyColumns, sortType } = this.state;\r\n let { filterColumn, columns: colLists, toolbar } = this.props;\r\n const { tableTool, storeRequestConfig = {} } = config();\r\n let tools = [\"refresh\", \"size\", \"sort\", \"column\"];\r\n let toolsClick = {} as any;\r\n if (toolbar == true) {\r\n tools = [\"refresh\", \"size\", \"sort\", \"column\"];\r\n } else {\r\n tools = toolbar.tools\r\n ? toolbar.tools\r\n : tableTool.tools\r\n ? tableTool.tools\r\n : tools;\r\n toolsClick = toolbar.onToolClick ? toolbar.onToolClick : {};\r\n }\r\n const sizeItem = [\r\n { title: \"宽松\", key: \"default\" },\r\n { title: \"中等\", key: \"middle\" },\r\n { title: \"紧凑\", key: \"small\" },\r\n ];\r\n const sortItem = [\r\n { title: \"单字段排序\", key: \"single\" },\r\n { title: \"多字段排序\", key: \"multiple\" },\r\n ];\r\n const sortContent = (\r\n <>\r\n <div\r\n className={getLess(styles, \"nsc-table-cotent-title\")}\r\n style={{\r\n cursor: this.state.defaultSort ? \"not-allowed\" : \"pointer\",\r\n color: this.state.defaultSort && \"rgba(0,0,0,.45)\",\r\n }}\r\n onClick={() => {\r\n if (this.state.defaultSort) {\r\n return;\r\n }\r\n this.setState({ sorter: [], sortInfo: {}, defaultSort: true });\r\n const params = { ...this.state.filterParams };\r\n this.store.reload({ params });\r\n }}\r\n >\r\n 恢复默认排序\r\n </div>\r\n {sortItem.map((item, index) => {\r\n return (\r\n <div\r\n key={item.key}\r\n onClick={() => {\r\n this.setState({\r\n sorter: [],\r\n sortInfo: {},\r\n sortType: item.key,\r\n defaultSort: false,\r\n });\r\n const params = { ...this.state.filterParams };\r\n this.store.reload({ params });\r\n }}\r\n >\r\n {sortType == item.key ? (\r\n <a>\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}>\r\n {sortType == item.key && <CheckOutlined />}\r\n </div>\r\n <div> {item.title}</div>\r\n </div>\r\n </a>\r\n ) : (\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}></div>\r\n <div> {item.title}</div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n })}\r\n {this.state.sorter.length > 0 && (\r\n <>\r\n <div\r\n className={getLess(styles, \"nsc-table-cotent-title\")}\r\n style={{ color: \"rgba(0,0,0,.45)\" }}\r\n >\r\n 当前排序\r\n </div>\r\n {this.state.sorter.map((item, index) => {\r\n return (\r\n <div\r\n className={getLess(styles, \"nsc-table-content-tiem\")}\r\n key={index}\r\n >\r\n <div style={{ width: 20 }}>\r\n {item.order == \"ascend\" ? (\r\n <SortAscendingOutlined />\r\n ) : (\r\n <SortDescendingOutlined />\r\n )}\r\n </div>\r\n <div> {item.column.title}</div>\r\n </div>\r\n );\r\n })}\r\n </>\r\n )}\r\n </>\r\n );\r\n const sizeContent = (\r\n <>\r\n <div className={getLess(styles, \"nsc-table-cotent-title\")}>\r\n 表格密度\r\n </div>\r\n {sizeItem.map((item, index) => {\r\n return (\r\n <div\r\n key={item.key}\r\n onClick={() => {\r\n this.setState({\r\n tableSize: item.key,\r\n });\r\n }}\r\n >\r\n {tableSize == item.key ? (\r\n <a>\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}>\r\n {tableSize == item.key && <CheckOutlined />}\r\n </div>\r\n <div> {item.title}</div>\r\n </div>\r\n </a>\r\n ) : (\r\n <div className={getLess(styles, \"nsc-table-content-tiem\")}>\r\n <div style={{ width: 20 }}></div>\r\n <div> {item.title}</div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </>\r\n );\r\n const newMapData = getFlattenData(keyColumns, {\r\n keyField: \"uniqueKey\",\r\n childField: \"children\",\r\n });\r\n const content = Object.keys(newMapData).map((key) => {\r\n return (\r\n <Checkbox\r\n key={key}\r\n onChange={(e) => {\r\n this.filterColumn(key, e.target.checked, newMapData);\r\n }}\r\n checked={this.state.checkColumn.includes(newMapData[key].uniqueKey)}\r\n >\r\n {newMapData[key].title}\r\n </Checkbox>\r\n );\r\n });\r\n return (\r\n <div className={getLess(styles, \"nsc-table-tool-bar\")}>\r\n {tools.indexOf(\"column\") > -1 && (\r\n <div style={{ fontSize: 14 }}>\r\n <Popover\r\n title=\"选择显示的列\"\r\n content={content}\r\n placement=\"bottomRight\"\r\n trigger=\"click\"\r\n overlayStyle={{ minWidth: 410, maxWidth: 450 }}\r\n >\r\n <AppstoreOutlined\r\n className={getLess(styles, \"nsc-table-th-app-store-icon\")}\r\n />\r\n </Popover>\r\n </div>\r\n )}\r\n {tools.indexOf(\"sort\") > -1 && (\r\n <div style={{ marginRight: 8, fontSize: 14 }}>\r\n <Popover placement=\"bottom\" content={sortContent} trigger=\"click\">\r\n <SortAscendingOutlined />\r\n </Popover>\r\n </div>\r\n )}\r\n {tools.indexOf(\"size\") > -1 && (\r\n <div style={{ marginRight: 8, fontSize: 14 }}>\r\n <Popover placement=\"bottom\" content={sizeContent} trigger=\"click\">\r\n <ColumnHeightOutlined />\r\n </Popover>\r\n </div>\r\n )}\r\n {tools.indexOf(\"refresh\") > -1 && (\r\n <div\r\n style={{ marginRight: 8, fontSize: 14, cursor: \"pointer\" }}\r\n onClick={() => {\r\n const params = { ...this.state.filterParams };\r\n if (toolsClick.onRefresh) {\r\n toolsClick.onRefresh();\r\n } else {\r\n this.store.load({ params });\r\n }\r\n }}\r\n >\r\n <RedoOutlined />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n getSelectedRowKeys() {\r\n return this.state.selectedRowKeys;\r\n }\r\n getSelectedRowDatas() {\r\n return this.state.selectedRowDatas;\r\n }\r\n resetSelectedRowKeys() {\r\n this.setState({\r\n selectedRowKeys: [],\r\n selectedRowDatas: [],\r\n });\r\n }\r\n rowSelectionOnSelect(record: any, selected: any) {\r\n const { selectedRowKeys, selectedRowDatas } = this.state;\r\n let { rowKey = \"id\" } = this.props;\r\n let newSelectedRowKeys = [...selectedRowKeys];\r\n let newSelectedRowDatas = [...selectedRowDatas];\r\n if (selected) {\r\n newSelectedRowKeys = [...newSelectedRowKeys, record[rowKey]];\r\n newSelectedRowDatas = [...newSelectedRowDatas, record];\r\n } else {\r\n selectedRowKeys.map((item: any, index: any) => {\r\n if (item === record[rowKey]) {\r\n newSelectedRowKeys.splice(index, 1);\r\n }\r\n });\r\n selectedRowDatas.map((item: any, index: any) => {\r\n if (item[rowKey] === record[rowKey]) {\r\n newSelectedRowDatas.splice(index, 1);\r\n }\r\n });\r\n }\r\n this.setState({\r\n selectedRowKeys: newSelectedRowKeys,\r\n selectedRowDatas: newSelectedRowDatas,\r\n });\r\n }\r\n rowSelectionOnSelectAll(selected: any, selectedRows: any, changeRows: any) {\r\n const { selectedRowKeys, selectedRowDatas } = this.state;\r\n const { rowKey = \"id\" } = this.props;\r\n let newids: any = [];\r\n let newdatas: any = [];\r\n if (changeRows.length > 0) {\r\n let changeIds = changeRows.map((item: any) => item[rowKey]);\r\n if (selected) {\r\n newids = [...selectedRowKeys, ...changeIds];\r\n newdatas = [...selectedRowDatas, ...changeRows];\r\n } else {\r\n selectedRowKeys.map((item: any, index: any) => {\r\n if (changeIds.indexOf(item) == -1) {\r\n newids.push(item);\r\n }\r\n });\r\n selectedRowDatas.map((item: any, index: any) => {\r\n if (changeIds.indexOf(item[rowKey]) == -1) {\r\n newdatas.push(item);\r\n }\r\n });\r\n }\r\n } else {\r\n newids = [...selectedRowKeys];\r\n newdatas = [...selectedRowDatas];\r\n }\r\n this.setState({\r\n selectedRowKeys: [...newids],\r\n selectedRowDatas: [...newdatas],\r\n });\r\n }\r\n render() {\r\n let _this = this,\r\n {\r\n loading,\r\n dataSource,\r\n pagination = {},\r\n searchText,\r\n fieldOption,\r\n searchColor,\r\n tableSize,\r\n } = this.state,\r\n props = utils.omit(\r\n this.props,\r\n [\r\n \"store\",\r\n \"onChange\",\r\n \"columns\",\r\n \"resetColumn\",\r\n \"toolbar\",\r\n \"sortFields\",\r\n \"filterColumn\",\r\n \"sortSearch\",\r\n \"showRowSelection\",\r\n \"pageType\",\r\n ],\r\n {\r\n rowKey: \"id\",\r\n clickChangeColor: false,\r\n }\r\n );\r\n if (props.pagination !== false) {\r\n props.pagination = {\r\n position: [\"bottomRight\"],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n ...pagination,\r\n ...props.pagination,\r\n };\r\n if (props.showTotal == true) {\r\n props.pagination.showTotal = function (total, [from, to]) {\r\n // return \"显示 \" + from + \" - \" + to + \"条,共 \" + total + \" 条\";\r\n return \"共 \" + total + \" 条\";\r\n };\r\n }\r\n }\r\n props.onChange = function (pagination, filters, sorter, extra) {\r\n _this.onChange(_this.state.pagination, filters, sorter, extra);\r\n };\r\n if (props.clickChangeColor) {\r\n const onRowFn = props.onRow;\r\n props.onRow = function (record, index) {\r\n var custom = onRowFn ? onRowFn(record, index) : {};\r\n const onClickFn = custom.onClick;\r\n custom.onClick = (event) => {\r\n _this.setState({\r\n activeIndex: index, //获取点击行的索引\r\n });\r\n utils.callback(onClickFn, _this, [event]);\r\n };\r\n return custom;\r\n };\r\n props.rowClassName = function (record, index) {\r\n return index === _this.state.activeIndex\r\n ? \"nsc-table-clickRowStyle\"\r\n : \"\";\r\n };\r\n }\r\n let newDataSource = [];\r\n if (searchText) {\r\n const data = treeUtils.getSearchMenuDatas(\r\n this,\r\n searchText,\r\n fieldOption,\r\n searchColor\r\n );\r\n newDataSource = data.treeDatas;\r\n props.expandedRowKeys = data.openKeys;\r\n } else {\r\n newDataSource = dataSource;\r\n }\r\n props.store = props.store || {};\r\n props.store.autoLoad = props.store.autoLoad === false ? false : true;\r\n const { dragable } = _this.props;\r\n const dragableProps =\r\n dragable === true\r\n ? {\r\n components: BodyRowComponent,\r\n onRow: (record, index) => ({\r\n index,\r\n record,\r\n moveRow: this.moveRow,\r\n }),\r\n }\r\n : {};\r\n let { resizeColumn } = this.props;\r\n\r\n const resizeProps =\r\n resizeColumn === true ? { components: this.components } : null;\r\n const { tableTool } = config();\r\n let toolFlag = false;\r\n // console.log('tableTool',tableTool)\r\n\r\n if (tableTool.show === true) {\r\n toolFlag = true;\r\n }\r\n if (this.props.toolbar && this.props.toolbar.show === true) {\r\n toolFlag = true;\r\n }\r\n if (this.props.showRowSelection) {\r\n const { rowSelection = {} } = this.props;\r\n props = {\r\n ...props,\r\n rowSelection: {\r\n selectedRowKeys: this.state.selectedRowKeys,\r\n onSelect: this.rowSelectionOnSelect.bind(this),\r\n onSelectAll: this.rowSelectionOnSelectAll.bind(this),\r\n columnWidth: 40,\r\n ...rowSelection,\r\n },\r\n };\r\n }\r\n const { tableProps: configTableProps } = config();\r\n const DefaultTable = (\r\n <div className={getLess(styles, \"nsc-table\")}>\r\n {toolFlag && this.renderToolBar()}\r\n <Table\r\n childrenColumnName=\"childNodes\"\r\n sheitem\r\n dataSource={newDataSource}\r\n columns={this.getColumns()}\r\n loading={loading}\r\n className={cls(getLess(styles, \"nsc-table-content\"), props.className)}\r\n locale={{\r\n emptyText: (\r\n <NoData className={getLess(styles, \"nsc-table-nodata\")} />\r\n ),\r\n }}\r\n scroll={{ x: \"max-content\" }}\r\n {...configTableProps}\r\n {...resizeProps}\r\n {...props}\r\n {...dragableProps}\r\n size={tableSize}\r\n pagination={false}\r\n // style={{ height: 600 }}\r\n />\r\n {props.pagination !== false && (\r\n <div className={getLess(styles, \"nsc-table-pagination\")}>\r\n <Pagination\r\n {...props.pagination}\r\n onChange={(page, pageSize) => {\r\n const extra = this.state.extra;\r\n extra.action = \"paginate\";\r\n this.setState(({ pagination = {} }) => {\r\n return {\r\n pagination: { ...pagination, current: page, pageSize },\r\n };\r\n });\r\n this.onChange(\r\n { current: page, pageSize },\r\n this.state.filter,\r\n this.state.sorter,\r\n extra\r\n );\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n\r\n return dragable === true ? (\r\n <DndProvider backend={HTML5Backend}>{DefaultTable}</DndProvider>\r\n ) : (\r\n DefaultTable\r\n );\r\n }\r\n}\r\n\r\nexport default withZhLocale(NSCTable);\r\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,gBAAgB,EAChBC,aAAa,EACbC,oBAAoB,EACpBC,cAAc,EACdC,qBAAqB,EACrBC,sBAAsB,EACtBC,YAAY,QACP,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,OAAOC,KAAK,IAAIC,SAAS,QAAoB,aAAa;AAC1D,SAASC,KAAK,QAAQ,uBAAuB;AAe7C,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,WAAW,QAAQ,WAAW;AACvC,OAAOC,OAAO,IAAIC,cAAc,EAAEC,aAAa,QAAQ,mBAAmB;AAC1E,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAO,qBAAqB;AAC5B,MAAM;EAAEC,gBAAgB;EAAEC;AAAa,CAAC,GAAGL,OAAO;AAClD,OAAOM,YAAY,MAAM,wBAAwB;AACjD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,OAAO,sBAAsB;AAC7B,SAASC,OAAO,EAAEC,OAAO,QAAyB,aAAa;AAC/D,OAAOC,MAAM,MAAM,kBAAkB;AACrC,SAASC,IAAI,EAAEC,cAAc,EAAEC,UAAU,QAAQ,mBAAmB;AACpE,OAAOC,MAAM,MAAM,cAAc;AAEjC,OAAOC,GAAG,MAAM,YAAY;AAE5B,MAAMC,MAAM,GAAG,IAAI;;AAMnB;;AAqCA,SAASf,cAAc,EAAEC,aAAa;AAEtC,MAAMe,eAAe,GAAIC,KAAU,IAAK;EACtC,MAAM;MAAEC,QAAQ;MAAEC;IAAoB,CAAC,GAAGF,KAAK;IAAnBG,SAAS,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA;EAC/C,oBACEzB,KAAA,CAAA0B,aAAA,CAACjB,SAAS;IACRa,KAAK,EAAEA,KAAK,IAAI,GAAI;IACpBK,MAAM,EAAE,CAAE;IACVN,QAAQ,EAAEA,QAAS;IACnBO,aAAa,EAAE;MAAEC,oBAAoB,EAAE;IAAM;EAAE,gBAE/C7B,KAAA,CAAA0B,aAAA,OAAQH,SAAY,CACX,CAAC;AAEhB,CAAC;AACD,MAAMO,QAAQ,SAAS9B,KAAK,CAAC+B,SAAS,CAAsB;EAgC1DC,WAAWA,CAACZ,KAAK,EAAE;IAAA,IAAAa,SAAA;IACjB,KAAK,CAACb,KAAK,CAAC;IAACc,eAAA,gBAhBP,CAAC,CAAC;IAAAA,eAAA,iCACElC,KAAK,CAACmC,SAAS,CAAiB,CAAC;IAAAD,eAAA,sCAC5BlC,KAAK,CAACmC,SAAS,CAAM,CAAC;IAAAD,eAAA,oBAE3B;MACVE,YAAY,EAAE,IAAI;MAClBC,IAAI,EAAE;IACR,CAAC;IAAAH,eAAA,qBAEY;MACXI,MAAM,EAAE;QACNC,IAAI,EAAEpB;MACR;IACF,CAAC;IAAAe,eAAA,uBA6FEM,KAAU,IACX,CAACC,CAAM,EAAAC,IAAA,KAAoB;MAAA,IAAlB;QAAEC;MAAU,CAAC,GAAAD,IAAA;MACpB,MAAM;QAAEE;MAAK,CAAC,GAAG,IAAI,CAACC,KAAK;MAC3B,MAAMC,WAAW,GAAG,CAAC,GAAGF,IAAI,CAAC;MAC7BE,WAAW,CAACN,KAAK,CAAC,GAAAO,aAAA,CAAAA,aAAA,KACbD,WAAW,CAACN,KAAK,CAAC;QACrBlB,KAAK,EAAEqB,IAAI,CAACrB;MAAK,EAClB;MACD,IAAI,CAAC0B,QAAQ,CACX;QACEJ,IAAI,EAAEE;MACR,CAAC,EACD,MAAM;QACJ;QACA,IAAI,CAACG,UAAU,CAAC,CAAC;MACnB,CACF,CAAC;IACH,CAAC;IAAAf,eAAA,wBAsGcgB,EAAE,IAAK;MACtB,MAAMC,IAAI,GAAG,OAAOD,EAAE,CAACC,IAAI,KAAK,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACH,EAAE,CAACC,IAAI,CAAC,GAAGD,EAAE,CAACC,IAAI;MACxE,IAAIG,KAAK,GAAG,IAAI;MAChB,IAAIH,IAAI,CAACI,SAAS,IAAI,iBAAiB,EAAE;QACvC,MAAM;UAAEC;QAAQ,CAAC,GAAGL,IAAI;QACxB,IACEK,OAAO,CAACb,IAAI,IAAI,SAAS,IACzBa,OAAO,CAACb,IAAI,IAAI,OAAO,IACvBa,OAAO,CAACb,IAAI,IAAI,QAAQ,EACxB;UACAW,KAAK,CAACN,QAAQ,CAAC;YAAES,SAAS,EAAED,OAAO,CAACb;UAAK,CAAC,CAAC;QAC7C;MACF;IACF,CAAC;IAqID;AACF;AACA;IAFET,eAAA,kBAGU,CAACwB,SAAS,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,KAAK;MACjD,MAAMP,KAAK,GAAG,IAAI;MAClB,IAAIQ,QAAQ,GAAGF,IAAI,CAACG,MAAM;MAC1B,IAAIC,UAAU,GAAGH,MAAM,CAACE,MAAM;MAC9BD,QAAQ,CAACG,SAAS,CAACH,QAAQ,EAAEE,UAAU,CAAC;MACxC,IAAIE,GAAG,GAAGJ,QAAQ,CAACK,UAAU,CAACC,eAAe,CAAC,CAAC;MAC/C,IAAIC,MAAM,GAAG;QACXC,EAAE,EAAER,QAAQ,CAACQ,EAAE;QACfC,QAAQ,EAAET,QAAQ,CAACU,SAAS,CAACD,QAAQ;QACrCL,GAAG,EAAEA;MACP,CAAC;MAED,IAAI,IAAI,CAAC9C,KAAK,CAACqD,OAAO,EAAE;QACtB,IAAI,CAACrD,KAAK,CAACqD,OAAO,CAACJ,MAAM,CAAC;MAC5B,CAAC,MAAM;QACL,IAAI,CAACK,KAAK,CAACC,MAAM,CAAC,CAAC;MACrB;IACF,CAAC;IAtXC,IAAIC,KAAK,GAAGxD,KAAK,CAACyD,IAAI,IAAI,MAAM;IAChC,IAAIC,WAAW,GAAG/D,UAAU,CAAC,eAAe,CAAC;IAC7C,IAAIgE,QAAQ,GAAGhE,UAAU,CACvB+D,WAAW,GAAGA,WAAW,GAAG,WAAW,GAAG,WAC5C,CAAC;IACDC,QAAQ,IAAA9C,SAAA,GAAG8C,QAAQ,cAAA9C,SAAA,uBAARA,SAAA,CAAU+C,OAAO;IAC5B,IAAI,CAACnC,KAAK,GAAG;MACXoC,UAAU,EAAE,EAAE;MACdC,OAAO,EAAE,EAAE;MACXC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,CAAC,CAAC;MACdC,WAAW,EAAE,CAAC,CAAC;MACf;MACAC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE,IAAI;MACjBC,WAAW,EAAE,IAAI;MACjB5C,IAAI,EAAE,EAAE;MACR6C,KAAK,EAAE,EAAE;MACTC,YAAY,EAAE,CAAC,CAAC;MAChBjC,SAAS,EAAE,IAAI,CAACrC,KAAK,CAACuB,IAAI,IAAIoC,QAAQ,IAAI,SAAS;MACnDY,QAAQ,EAAE,QAAQ;MAClBC,MAAM,EAAE,EAAE;MAAE;MACZC,QAAQ,EAAE,CAAC,CAAC;MACZC,WAAW,EAAE,IAAI;MACjBC,WAAW,EAAE,EAAE;MACfC,YAAY,EAAE,IAAI;MAClBC,eAAe,EAAE,EAAE;MACnBC,gBAAgB,EAAE,EAAE;MACpBC,MAAM,EAAE,EAAE;MACVC,KAAK,EAAE,CAAC;IACV,CAAC;IACD,IAAIhF,KAAK,CAACsD,KAAK,YAAY7E,KAAK,EAAE;MAChC,IAAI,CAAC6E,KAAK,GAAGtD,KAAK,CAACsD,KAAK;IAC1B,CAAC,MAAM;MACL,MAAA2B,KAAA,GACEjF,KAAK,CAACsD,KAAK,IAAI,CAAC,CAAC;QADb;UAAE4B,SAAS,EAAEC,cAAc,GAAG,CAAC;QAAgB,CAAC,GAAAF,KAAA;QAAXG,SAAS,GAAAhF,wBAAA,CAAA6E,KAAA,EAAAI,UAAA;MAEpD,MAAMC,UAAU,GAAA3D,aAAA,CAAAA,aAAA;QACd4D,KAAK,EAAE,OAAO;QACdC,SAAS,EAAE,IAAI;QACfN,SAAS,EAAE;UACTlE,YAAY,EAAEA,CAACsC,KAAK,EAAEmC,OAAO,KAAK;YAChC,IAAI,CAAC7D,QAAQ,CAAC;cAAEmC,OAAO,EAAE;YAAK,CAAC,CAAC;YAChCpF,KAAK,CAAC+G,QAAQ,CAACP,cAAc,CAACnE,YAAY,EAAE,IAAI,EAAE,CAACsC,KAAK,EAAEmC,OAAO,CAAC,CAAC;UACrE,CAAC;UACDE,WAAW,EAAEA,CAAC5D,IAAI,EAAE6D,SAAS,EAAEtC,KAAK,KAAK;YACvC,IAAIuC,MAAM,GAAG,EAAE,IAAI,CAAC7F,KAAK,CAACgE,UAAU,KAAK,KAAK,CAAC;YAC/C,IAAI6B,MAAM,IAAI,CAAC,IAAI,CAAC7F,KAAK,CAAC6D,UAAU,EAAE;cACpC,IAAI,CAACjC,QAAQ,CAAC;gBACZiC,UAAU,EAAE+B,SAAS;gBACrB5B,UAAU,EAAEV,KAAK,CAACwC,aAAa,CAAC,CAAC;gBACjC/B,OAAO,EAAE,KAAK;gBACdE,WAAW,EAAE,CAAC;cAChB,CAAC,CAAC;YACJ,CAAC,MAAM;cACL,IAAI,CAACrC,QAAQ,CAAC;gBAAEiC,UAAU,EAAE+B,SAAS;gBAAE7B,OAAO,EAAE;cAAM,CAAC,CAAC;YAC1D;YAEApF,KAAK,CAAC+G,QAAQ,CAACP,cAAc,CAACQ,WAAW,EAAE,IAAI,EAAE,CAC/C5D,IAAI,EACJ6D,SAAS,EACTtC,KAAK,EACLuC,MAAM,CACP,CAAC;UACJ,CAAC;UACD5E,IAAI,EAAEA,CAACc,IAAI,EAAE6D,SAAS,EAAEtC,KAAK,KAAK;YAChC3E,KAAK,CAAC+G,QAAQ,CAACP,cAAc,CAAClE,IAAI,EAAE,IAAI,EAAE,CAACc,IAAI,EAAE6D,SAAS,EAAEtC,KAAK,CAAC,CAAC;UACrE,CAAC;UACDyC,WAAW,EAAEA,CAACC,GAAG,EAAEC,QAAQ,KAAK;YAC9B,IAAI,CAACrE,QAAQ,CAAC;cAAEmC,OAAO,EAAE;YAAM,CAAC,CAAC;YACjCpF,KAAK,CAAC+G,QAAQ,CAACP,cAAc,CAACY,WAAW,EAAE,IAAI,EAAE,CAACC,GAAG,EAAEC,QAAQ,CAAC,CAAC;UACnE;QACF,CAAC;QACDlE,IAAI,EAAEqD,SAAS,CAACrD,IAAI,GAChBqD,SAAS,CAACrD,IAAI,GACd/B,KAAK,CAAC6D,UAAU,GAChB7D,KAAK,CAAC6D,UAAU,GAChB;MAAI,GACLuB,SAAS;QACZc,QAAQ,EAAEd,SAAS,CAACc,QAAQ,KAAK,KAAK,GAAG,KAAK,GAAG;MAAI,EACtD;MACD,IAAI,CAAC5C,KAAK,GAAG,IAAI5E,SAAS,CACxByH,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEd,UAAU,EAAE;QAC5BtB,UAAU,EAAArC,aAAA;UAAI0E,OAAO,EAAE;QAAC,GAAK,IAAI,CAACrG,KAAK,CAACgE,UAAU;MACpD,CAAC,CACH,CAAC;IACH;EACF;EAqBAsC,qBAAqBA,CAACxC,OAAc,EAAY;IAC9C,IAAIyC,WAAqB,GAAG,EAAE;IAE9B,MAAMC,QAAQ,GAAIhF,IAAW,IAAK;MAChCA,IAAI,CAACiF,OAAO,CAAEC,GAAG,IAAK;QACpB;QACA,IAAIA,GAAG,CAACC,QAAQ,KAAK,KAAK,EAAE;UAC1BJ,WAAW,CAACK,IAAI,CAACF,GAAG,CAACG,SAAS,CAAC;QACjC;;QAEA;QACA,IAAIH,GAAG,CAACI,QAAQ,IAAIJ,GAAG,CAACI,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;UAC3CP,QAAQ,CAACE,GAAG,CAACI,QAAQ,CAAC;QACxB;MACF,CAAC,CAAC;IACJ,CAAC;IAEDN,QAAQ,CAAC1C,OAAO,CAAC;IACjB,OAAOyC,WAAW;EACpB;EACAS,0BAA0BA,CACxBlD,OAAc,EAGP;IAAA,IAFPmD,UAAkB,GAAAC,SAAA,CAAAH,MAAA,QAAAG,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;IAAA,IACvBE,KAAa,GAAAF,SAAA,CAAAH,MAAA,QAAAG,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;IAEjB,OAAOpD,OAAO,CAACuD,GAAG,CAAC,CAACX,GAAG,EAAEtF,KAAK,KAAK;MACjC;MACA,MAAMyF,SAAS,GAAGH,GAAG,CAACG,SAAS,IAAIpH,IAAI,CAAC,CAAC;;MAEzC;MACA,MAAM6H,WAAW,GAAGL,UAAU,MAAAM,MAAA,CACvBN,UAAU,OAAAM,MAAA,CAAIV,SAAS,OAAAU,MAAA,CACvBV,SAAS,CAAE;;MAElB;MACA,MAAMW,MAAM,GAAA7F,aAAA,CAAAA,aAAA,KACP+E,GAAG;QACNG,SAAS,EAAEA,SAAS;QACpBY,IAAI,EAAEH;MAAW,EAClB;;MAED;MACA,IAAI,CAACE,MAAM,CAACV,QAAQ,IAAIU,MAAM,CAACV,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAE;QACpD;QACAS,MAAM,CAACE,IAAI,GAAG,IAAI;MACpB,CAAC,MAAM;QACL;QACAF,MAAM,CAACE,IAAI,GAAG,KAAK;;QAEnB;QACAF,MAAM,CAACV,QAAQ,GAAG,IAAI,CAACE,0BAA0B,CAC/CQ,MAAM,CAACV,QAAQ,EACfQ,WAAW,EACXF,KAAK,GAAG,CACV,CAAC;;QAED;QACAI,MAAM,CAACG,YAAY,GAAGH,MAAM,CAACV,QAAQ,CAACO,GAAG,CACtCO,KAAU,IAAKA,KAAK,CAACf,SACxB,CAAC;MACH;MAEA,OAAOW,MAAM;IACf,CAAC,CAAC;EACJ;EACAK,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAEC;IAAa,CAAC,GAAG,IAAI,CAAC9H,KAAK;IACnC,MAAM+H,UAAU,GAAG,IAAI,CAACf,0BAA0B,CAAC,IAAI,CAAChH,KAAK,CAAC8D,OAAO,CAAC;IACtE,MAAMkE,qBAAqB,GAAG,IAAI,CAAC1B,qBAAqB,CAACyB,UAAU,CAAC;IACpE;IACA;IACA;IACA;IACA;;IAEA,IAAI,CAACD,YAAY,EAAE;MACjB,IAAI,CAAClG,QAAQ,CAAC;QACZkC,OAAO,EAAEiE,UAAU;QACnBE,YAAY,EAAE,CAAC,GAAG,IAAI,CAACjI,KAAK,CAAC8D,OAAO,CAAC;QACrCa,WAAW,EAAEqD,qBAAqB;QAClCE,UAAU,EAAEH;MACd,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACnG,QAAQ,CAAC;QACZJ,IAAI,EAAEuG,UAAU;QAAE;QAClBjE,OAAO,EAAEiE,UAAU;QAAE;QACrBE,YAAY,EAAE,CAAC,GAAG,IAAI,CAACjI,KAAK,CAAC8D,OAAO,CAAC;QAAE;QACvCa,WAAW,EAAEqD,qBAAqB;QAAE;QACpCE,UAAU,EAAEH,UAAU,CAAE;MAC1B,CAAC,CAAC;IACJ;IAEA,MAAMzE,KAAK,GAAG,IAAI,CAACtD,KAAK,CAACsD,KAAK;IAC9B,IAAIA,KAAK,IAAIA,KAAK,CAACvB,IAAI,EAAE;MACvB,IAAI,CAACuB,KAAK,CAAC6E,OAAO,CAAC7E,KAAK,CAACvB,IAAI,CAAC;IAChC;IACAqG,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACC,aAAa,CAAC;EACxD;EACAC,oBAAoBA,CAAA,EAAG;IACrBH,MAAM,CAACI,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACF,aAAa,CAAC;EAC3D;EAgBAG,kBAAkBA,CAACC,SAAS,EAAEC,QAAQ,EAAE;IACtC,MAAM;MAAEb;IAAa,CAAC,GAAG,IAAI,CAAC9H,KAAK;IACnC,IAAI,CAAC8H,YAAY,EAAE;MACjB,IAAI,IAAI,CAAC9H,KAAK,CAAC8D,OAAO,KAAK4E,SAAS,CAAC5E,OAAO,EAAE;QAC5C,IAAI,CAAClC,QAAQ,CAAC;UAAEkC,OAAO,EAAE,IAAI,CAAC9D,KAAK,CAAC8D;QAAQ,CAAC,CAAC;MAChD;IACF,CAAC,MAAM;MACL,IAAI6E,QAAQ,CAACnH,IAAI,KAAK,IAAI,CAACC,KAAK,CAACD,IAAI,EAAE;QACrC,IAAI,CAACoH,WAAW,CAAC,CAAC;MACpB;MACA,IAAI,IAAI,CAAC5I,KAAK,CAAC8D,OAAO,KAAK4E,SAAS,CAAC5E,OAAO,EAAE;QAC5C,IAAI,CAAClC,QAAQ,CAAC;UACZJ,IAAI,EAAE,IAAI,CAACxB,KAAK,CAAC8D,OAAO;UACxBA,OAAO,EAAE,IAAI,CAAC9D,KAAK,CAAC8D;QACtB,CAAC,CAAC;MACJ;MACA,IAAI4E,SAAS,CAACnH,IAAI,KAAK,IAAI,CAACvB,KAAK,CAACuB,IAAI,EAAE;QACtC,IAAI,CAACK,QAAQ,CAAC;UAAES,SAAS,EAAE,IAAI,CAACrC,KAAK,CAACuB;QAAK,CAAC,CAAC;MAC/C;IACF;EACF;EACAqH,WAAWA,CAAA,EAAG;IACZ,MAAM;MAAEpH;IAAK,CAAC,GAAG,IAAI,CAACC,KAAK;IAC3B,MAAMoH,OAAY,GAAG,EAAE;IACvB,IAAIC,KAAK,GAAGtH,IAAI,IAAI,EAAE;IACtBsH,KAAK,CAACzB,GAAG,CAAC,CAACX,GAAQ,EAAEtF,KAAU,KAAK;MAClC,IAAI2H,IAAI,GAAApH,aAAA,CAAAA,aAAA,KACH+E,GAAG;QACNsC,YAAY,EAAGC,MAAsB,KAAM;UACzC/I,KAAK,EAAE+I,MAAM,CAAC/I,KAAK;UACnBD,QAAQ,EAAE,IAAI,CAACiJ,YAAY,CAAC9H,KAAK;QACnC,CAAC;MAAC,EACH;MACDyH,OAAO,CAACjC,IAAI,CAACmC,IAAI,CAAC;IACpB,CAAC,CAAC;IACF,IAAI,CAACnH,QAAQ,CAAC;MACZkC,OAAO,EAAE+E;IACX,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEM,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACvH,QAAQ,CAAC;MAAEqC,WAAW,EAAE,CAAC;IAAE,CAAC,CAAC;IAClC,OAAO,IAAI;EACb;EAEAmF,oBAAoBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAAC9F,KAAK,CAACwC,aAAa,CAAC,CAAC;EACnC;EAEAuD,QAAQA,CAACrF,UAAU,EAAEsF,OAAO,EAAE9E,MAAM,EAAEQ,KAAK,EAAE;IAC3C,MAAM;MACJuE,YAAY,GAAG,IAAI;MACnBC,QAAQ;MACRC,cAAc;MACdJ,QAAQ;MACR/F;IACF,CAAC,GAAG,IAAI,CAACtD,KAAK;IACd,MAAM;MAAEsE;IAAa,CAAC,GAAG,IAAI,CAAC7C,KAAK;IACnC,MAAMiI,UAAU,GAAGC,KAAK,CAACC,OAAO,CAACpF,MAAM,CAAC;IACxC,IAAI+E,YAAY,KAAK,KAAK,IAAI,CAACjG,KAAK,EAAE;MACpC+F,QAAQ,IAAIA,QAAQ,CAACrF,UAAU,EAAEsF,OAAO,EAAE9E,MAAM,EAAEQ,KAAK,CAAC;MACxD;IACF;IACA,MAAM6E,gBAAgB,GAAGA,CAAA,KAAM;MAC7B,IAAI5G,MAAM,GAAG,CAAC,CAMb;MACD,MAAM4C,MAAM,GAAG,IAAI,CAACuD,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC;MAChD,IAAI,CAAC5K,UAAU,CAACwF,UAAU,CAAC,EAAE;QAC3B,MAAM8F,CAAC,GAAG;UACR,CAACjE,MAAM,CAACkE,UAAU,IAAI,SAAS,GAAG/F,UAAU,CAACqC,OAAO;UACpD,CAACR,MAAM,CAACmE,WAAW,IAAI,MAAM,GAAGhG,UAAU,CAACiG;QAC7C,CAAC;QACD9D,MAAM,CAACC,MAAM,CAACnD,MAAM,EAAE6G,CAAC,CAAC;MAC1B;MACA,IAAII,SAAS,GAAG,IAAI,CAACC,YAAY,CAAC3F,MAAM,EAAE,IAAI,CAAC;MAC/C,IAAIkF,UAAU,EAAE;QACd,IAAI,CAAC9H,QAAQ,CAAC;UAAE4C;QAAO,CAAC,CAAC;MAC3B,CAAC,MAAM,IAAI,CAACkF,UAAU,IAAI,CAAClL,UAAU,CAACgG,MAAM,CAAC,EAAE;QAC7CA,MAAM,CAACyE,MAAM,IACX,IAAI,CAACrH,QAAQ,CAAC;UAAE4C,MAAM,EAAE,CAACA,MAAM,CAAC;UAAEE,WAAW,EAAE;QAAM,CAAC,CAAC;MAC3D,CAAC,MAAM;QACL,IAAI,CAAC9C,QAAQ,CAAC;UAAE4C,MAAM,EAAE;QAAG,CAAC,CAAC;MAC/B;MACA,IAAI,CAAC5C,QAAQ,CAAC;QACZ0H,OAAO;QACPtE;MACF,CAAC,CAAC;MACF/B,MAAM,GAAAtB,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAAQ2C,YAAY,GAAKrB,MAAM,GAAKiH,SAAS,CAAE;MACrDV,QAAQ,IAAI,IAAI,CAAClG,KAAK,CAACC,MAAM,CAAC;QAAEN;MAAO,CAAC,CAAC;IAC3C,CAAC;IAED,MAAMmH,UAAU,GAAG,IAAI,CAACpK,KAAK,CAACqJ,QAAQ;IAEtCI,cAAc,IAAII,gBAAgB,CAAC,CAAC;IACpC;IACA,IAAIO,UAAU,EAAE;MACdzL,KAAK,CAAC+G,QAAQ,CAAC0E,UAAU,EAAE,IAAI,EAAE,CAACpG,UAAU,EAAEsF,OAAO,EAAE9E,MAAM,EAAEQ,KAAK,CAAC,CAAC;IACxE;EACF;EAEAqF,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAAC/G,KAAK;EACnB;;EAEA;AACF;AACA;EACEgH,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAAChH,KAAK,CAACgH,QAAQ,CAAC,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;EACEC,YAAYA,CAACC,GAAG,EAAErG,WAAW,EAAEC,WAAW,EAAE;IAC1C,IAAI,CAACxC,QAAQ,CAAC;MACZsC,UAAU,EAAEsG,GAAG;MACfrG,WAAW,EAAEA,WAAW;MACxBC,WAAW,EAAEA;IACf,CAAC,CAAC;EACJ;EAwBAqG,YAAYA,CAACC,YAAY,EAAEC,SAAS,EAAEC,OAAO,EAAE;IAC7C,MAAMlE,GAAG,GAAGkE,OAAO,CAACF,YAAY,CAAC;IACjC,IAAIG,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAACpJ,KAAK,CAACkD,WAAW,CAAC;IACpD;IACA,MAAMmG,kBAAkB,GAAI7B,MAAM,IAAK;MACrC,IAAI8B,IAAI,GAAG,EAAE;MACb,IAAI9B,MAAM,CAACnC,QAAQ,IAAImC,MAAM,CAACnC,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;QACjDkC,MAAM,CAACnC,QAAQ,CAACL,OAAO,CAAEmB,KAAK,IAAK;UACjCmD,IAAI,CAACnE,IAAI,CAACgB,KAAK,CAACf,SAAS,CAAC;UAC1BkE,IAAI,GAAGA,IAAI,CAACxD,MAAM,CAACuD,kBAAkB,CAAClD,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC;MACJ;MACA,OAAOmD,IAAI;IACb,CAAC;IAED,IAAIrE,GAAG,CAACI,QAAQ,EAAE;MAChB;MACA,MAAMkE,eAAe,GAAGF,kBAAkB,CAACpE,GAAG,CAAC;MAE/C,IAAIiE,SAAS,EAAE;QACb;QACA,IAAI,CAACE,kBAAkB,CAACI,QAAQ,CAACvE,GAAG,CAACG,SAAS,CAAC,EAAE;UAC/CgE,kBAAkB,CAACjE,IAAI,CAACF,GAAG,CAACG,SAAS,CAAC;QACxC;QACAmE,eAAe,CAACvE,OAAO,CAAEyE,GAAG,IAAK;UAC/B,IAAI,CAACL,kBAAkB,CAACI,QAAQ,CAACC,GAAG,CAAC,EAAE;YACrCL,kBAAkB,CAACjE,IAAI,CAACsE,GAAG,CAAC;UAC9B;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL;QACAL,kBAAkB,GAAGA,kBAAkB,CAAC9F,MAAM,CAC3CmG,GAAG,IAAKA,GAAG,KAAKxE,GAAG,CAACG,SAAS,IAAI,CAACmE,eAAe,CAACC,QAAQ,CAACC,GAAG,CACjE,CAAC;MACH;IACF,CAAC,MAAM;MACL;MACA,IAAIP,SAAS,EAAE;QACb,IAAI,CAACE,kBAAkB,CAACI,QAAQ,CAACvE,GAAG,CAACG,SAAS,CAAC,EAAE;UAC/CgE,kBAAkB,CAACjE,IAAI,CAACF,GAAG,CAACG,SAAS,CAAC;QACxC;MACF,CAAC,MAAM;QACLgE,kBAAkB,GAAGA,kBAAkB,CAAC9F,MAAM,CAC3CmG,GAAG,IAAKA,GAAG,KAAKxE,GAAG,CAACG,SACvB,CAAC;;QAED;QACA,IAAIH,GAAG,CAACe,IAAI,EAAE;UACZ,MAAM0D,SAAS,GAAGzE,GAAG,CAACe,IAAI,CAAC2D,KAAK,CAAC,GAAG,CAAC;UACrC;UACA,KAAK,IAAIC,CAAC,GAAGF,SAAS,CAACpE,MAAM,GAAG,CAAC,EAAEsE,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;YAC9C,MAAMpE,UAAU,GAAGkE,SAAS,CAACG,KAAK,CAAC,CAAC,EAAED,CAAC,GAAG,CAAC,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;YACtD,MAAMC,SAAc,GAAGrF,MAAM,CAACsF,MAAM,CAACb,OAAO,CAAC,CAACc,IAAI,CAC/CC,CAAM,IAAKA,CAAC,CAAClE,IAAI,KAAKR,UACzB,CAAC;YACD,IAAIuE,SAAS,EAAE;cACb;cACA,MAAMI,WAAW,GAAGd,kBAAkB,CAACU,SAAS,CAAC;cACjD,MAAMK,iBAAiB,GAAGD,WAAW,CAACE,IAAI,CACvCZ,GAAG,IACFA,GAAG,KAAKxE,GAAG,CAACG,SAAS,IAAIgE,kBAAkB,CAACI,QAAQ,CAACC,GAAG,CAC5D,CAAC;cAED,IAAI,CAACW,iBAAiB,EAAE;gBACtBhB,kBAAkB,GAAGA,kBAAkB,CAAC9F,MAAM,CAC3CmG,GAAG,IAAKA,GAAG,KAAKM,SAAS,CAAC3E,SAC7B,CAAC;cACH;YACF;UACF;QACF;MACF;IACF;IAEA,IAAIgE,kBAAkB,CAAC9D,MAAM,KAAK,CAAC,EAAE;MACnCgF,QAAA,CAAQC,OAAO,CAAC,SAAS,CAAC;MAC1B;IACF;IAEA,MAAM;MAAE9D;IAAW,CAAC,GAAG,IAAI,CAACzG,KAAK;IACjC,MAAMwK,aAAa,GAAG,IAAI,CAACC,0BAA0B,CACnDhE,UAAU,EACV2C,kBACF,CAAC;;IAED;IACA,IAAI,CAACjJ,QAAQ,CACX;MACE+C,WAAW,EAAEkG,kBAAkB;MAC/B/G,OAAO,EAAEmI,aAAa;MACtBzK,IAAI,EAAEyK;IACR;IACA;IACA;IACA;IACA;IACA;IACA;IACF,CAAC;EACH;EACCC,0BAA0BA,CAACpI,OAAc,EAAEyC,WAAqB,EAAS;IACxE,IAAI,CAACzC,OAAO,IAAI,CAAC6F,KAAK,CAACC,OAAO,CAAC9F,OAAO,CAAC,IAAIA,OAAO,CAACiD,MAAM,KAAK,CAAC,EAAE;MAC/D,OAAO,EAAE;IACX;IAEA,MAAMoF,MAAa,GAAG,EAAE;IAExBrI,OAAO,CAAC2C,OAAO,CAAEC,GAAG,IAAK;MACvB;MACA,MAAM0F,eAAe,GAAG7F,WAAW,CAAC0E,QAAQ,CAACvE,GAAG,CAACG,SAAS,CAAC;MAC3D,IAAIuF,eAAe,EAAE;QACnB;QACA,MAAM5E,MAAM,GAAA7F,aAAA,KAAQ+E,GAAG,CAAE;QACzB;QACA,IAAIc,MAAM,CAACV,QAAQ,IAAIU,MAAM,CAACV,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;UACjDS,MAAM,CAACV,QAAQ,GAAG,IAAI,CAACoF,0BAA0B,CAC/C1E,MAAM,CAACV,QAAQ,EACfP,WACF,CAAC;QACH;QACA4F,MAAM,CAACvF,IAAI,CAACY,MAAM,CAAC;MACrB,CAAC,MAAM;QACL;QACA,IAAId,GAAG,CAACI,QAAQ,IAAIJ,GAAG,CAACI,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;UAC3C,MAAMsF,gBAAgB,GAAG,IAAI,CAACH,0BAA0B,CACtDxF,GAAG,CAACI,QAAQ,EACZP,WACF,CAAC;UACD,IAAI8F,gBAAgB,CAACtF,MAAM,GAAG,CAAC,EAAE;YAC/B;YACA,MAAMS,MAAM,GAAA7F,aAAA,KAAQ+E,GAAG,CAAE;YACzBc,MAAM,CAACV,QAAQ,GAAGuF,gBAAgB;YAClCF,MAAM,CAACvF,IAAI,CAACY,MAAM,CAAC;UACrB;QACF;MACF;IACF,CAAC,CAAC;IACF,OAAO2E,MAAM;EACf;EAEAhC,YAAYA,CAAC3F,MAAM,EAAqB;IAAA,IAAnB8H,SAAS,GAAApF,SAAA,CAAAH,MAAA,QAAAG,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;IACpC,MAAMwC,UAAU,GAAGC,KAAK,CAACC,OAAO,CAACpF,MAAM,CAAC;IACxC,MAAM;MAAE+H,UAAU,GAAG;IAAK,CAAC,GAAG,IAAI,CAACvM,KAAK;IACxC,IAAI,CAACuM,UAAU,EAAE;MACf,OAAO,CAAC,CAAC;IACX;IACA,IAAI9H,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI+H,UAAU,GAAG,EAAE;IACnB,IAAI,CAAChO,UAAU,CAACgG,MAAM,CAAC,IAAI,CAACkF,UAAU,IAAIlF,MAAM,CAACyE,MAAM,EAAE;MACvDuD,UAAU,GAAG,CACX;QACEvD,MAAM,EAAEzE,MAAM,CAACyE,MAAM,CAACwD,KAAK,IAAIjI,MAAM,CAACyE,MAAM,CAACyD,SAAS;QACtDC,GAAG,EAAEnI,MAAM,CAACoI,KAAK,IAAI;MACvB,CAAC,CACF;MACD,IAAIpI,MAAM,CAACyE,MAAM,EAAExE,QAAQ,CAACD,MAAM,CAACyE,MAAM,CAACyD,SAAS,CAAC,GAAGlI,MAAM,CAACoI,KAAK;IACrE,CAAC,MAAM,IAAIlD,UAAU,EAAE;MACrBlF,MAAM,CAACiC,OAAO,CAAEoG,CAAC,IAAK;QACpBpI,QAAQ,CAACoI,CAAC,CAAC5D,MAAM,CAACyD,SAAS,CAAC,GAAGG,CAAC,CAACD,KAAK;QACtC,IAAIH,KAAK,GAAGI,CAAC,CAAC5D,MAAM,CAACwD,KAAK,IAAII,CAAC,CAAC5D,MAAM,CAACyD,SAAS;QAChDF,UAAU,CAAC5F,IAAI,CAAC;UACdqC,MAAM,EAAEwD,KAAK;UACbE,GAAG,EAAEE,CAAC,CAACD,KAAK,IAAI;QAClB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IACA,IAAIN,SAAS,EAAE;MACb,IAAI,CAAC1K,QAAQ,CAAC;QACZ6C,QAAQ,EAAEA;MACZ,CAAC,CAAC;IACJ;IACA,OAAO;MAAE+H,UAAU,EAAExK,IAAI,CAAC8K,SAAS,CAACN,UAAU;IAAE,CAAC;EACnD;EACAO,QAAQA,CAAC1L,CAAC,EAAE;IACV,MAAMS,EAAE,GAAGsG,MAAM,CAAC4E,KAAK,IAAI3L,CAAC,CAAC,CAAC;IAC9B,MAAM4L,SAAS,GAAIC,EAAE,IAAK;MACxB,MAAMC,WAAW,GAAGD,EAAE;MACtB,MAAME,OAAO,GAAGD,WAAW,CAACE,qBAAqB,CAAC,CAAC,CAACnN,KAAK;MACzD,MAAMoN,KAAK,GAAGC,QAAQ,CAACC,WAAW,CAAC,CAAC;MACpCF,KAAK,CAACG,QAAQ,CAACN,WAAW,EAAE,CAAC,CAAC;MAC9BG,KAAK,CAACI,MAAM,CAACP,WAAW,EAAEA,WAAW,CAACQ,UAAU,CAAC5G,MAAM,CAAC;MACxD,MAAM6G,UAAU,GAAGN,KAAK,CAACD,qBAAqB,CAAC,CAAC,CAACnN,KAAK;MACtD,OAAO0N,UAAU,GAAGR,OAAO;IAC7B,CAAC;IACD,OAAO,CAACH,SAAS,CAACnL,EAAE,CAACW,MAAM,CAAC,CAAC,CAAC;EAChC;EACAoL,kBAAkBA,CAAC9L,IAA4B,EAAE;IAC/C,IAAI,CAACH,QAAQ,CAAC;MACZiD,eAAe,EAAE9C;IACnB,CAAC,CAAC;EACJ;EACA+L,mBAAmBA,CAAC/L,IAAmB,EAAE;IACvC,IAAI,CAACH,QAAQ,CAAC;MACZkD,gBAAgB,EAAE/C;IACpB,CAAC,CAAC;EACJ;EACAF,UAAUA,CAAA,EAAG;IACX,MAAM;MAAEiC,OAAO;MAAES,QAAQ;MAAEE;IAAS,CAAC,GAAG,IAAI,CAAChD,KAAK;IAClD,MAAM;MAAEsM,UAAU,GAAG,EAAE;MAAExM,IAAI,GAAG;IAAQ,CAAC,GAAG,IAAI,CAACvB,KAAK;IACtD,MAAMgO,eAAe,GAAGlK,OAAO,CAACiB,MAAM,CAAEvD,IAAI,IAAKA,IAAI,CAACmF,QAAQ,KAAK,KAAK,CAAC;IACzE,MAAMnF,IAAI,GAAGwM,eAAe,CAAC3G,GAAG,CAAC,CAACX,GAAG,EAAEtF,KAAK,KAAK;MAC/C;MACA,IAAIsF,GAAG,CAACuH,QAAQ,IAAI,CAACvH,GAAG,CAACwH,MAAM,EAAE;QAC/BxH,GAAG,CAACuH,QAAQ,GAAG;UACbE,SAAS,EAAE;QACb,CAAC;QACDzH,GAAG,CAACwH,MAAM,GAAG,CAACE,IAAI,EAAEzL,MAAM,EAAEvB,KAAK,KAAK;UAAA,IAAAiN,gBAAA;UACpC;UACA,MAAMC,UAAU,IAAAD,gBAAA,GAAG,IAAI,CAAC5M,KAAK,CAACD,IAAI,cAAA6M,gBAAA,uBAAfA,gBAAA,CAAiB3C,IAAI,CAAEC,CAAC,IAAK;YAC9C;YACA,IAAIhC,KAAK,CAACC,OAAO,CAAC+B,CAAC,CAACe,SAAS,CAAC,IAAI/C,KAAK,CAACC,OAAO,CAAClD,GAAG,CAACgG,SAAS,CAAC,EAAE;cAC9D,OACE1K,IAAI,CAAC8K,SAAS,CAACnB,CAAC,CAACe,SAAS,CAAC,KAAK1K,IAAI,CAAC8K,SAAS,CAACpG,GAAG,CAACgG,SAAS,CAAC;YAEjE;YACA,OAAOf,CAAC,CAACe,SAAS,KAAKhG,GAAG,CAACgG,SAAS;UACtC,CAAC,CAAC;UAEF,MAAM6B,WAAW,GAAG,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEpO,KAAK,KAAIwG,GAAG,CAACxG,KAAK;UAClD,IAAIsO,QAAa,GAAG,MAAM;UAE1B,IAAID,WAAW,EAAE;YACf,MAAMhN,IAAI,GAAG,IAAI,CAACE,KAAK,CAACY,SAAS,IAAI,IAAI,CAACrC,KAAK,CAACuB,IAAI,IAAI,SAAS;YACjE,MAAMkN,WAAW,GAAG;cAClBC,KAAK,EAAE,EAAE;cACTC,MAAM,EAAE,EAAE;cACVC,OAAO,EAAE,EAAE;cACXC,KAAK,EAAE;YACT,CAAC;YACD,MAAMC,YAAY,GAAGL,WAAW,CAAClN,IAAI,CAAC,IAAI,EAAE;YAE5C,IAAIgN,WAAW,GAAGO,YAAY,EAAE;cAC9BN,QAAQ,GAAGD,WAAW,GAAGO,YAAY;YACvC,CAAC,MAAM;cACLN,QAAQ,GAAGD,WAAW;YACxB;UACF;UAEA,oBACE3P,KAAA,CAAA0B,aAAA;YAAKyO,KAAK,EAAE;cAAEC,OAAO,EAAE,cAAc;cAAE9O,KAAK,EAAE;YAAO;UAAE,gBACrDtB,KAAA,CAAA0B,aAAA;YACE2O,GAAG,EAAG/B,EAAE,IAAK;cACX,IAAIA,EAAE,EAAE;gBACN;gBACAA,EAAE,CAACgC,eAAe,CAAC,OAAO,CAAC;;gBAE3B;gBACA,IAAIhC,EAAE,CAACiC,WAAW,GAAGjC,EAAE,CAACkC,WAAW,EAAE;kBACnClC,EAAE,CAACmC,YAAY,CAAC,OAAO,EAAEjB,IAAI,CAAC;gBAChC;cACF;YACF,CAAE;YACFkB,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,gBAAgB,CAAE;YAC7CiP,KAAK,EAAE;cACL7O,KAAK,EAAEsO,QAAQ;cACfe,QAAQ,EAAE,QAAQ;cAClBC,YAAY,EAAE,UAAU;cACxBC,UAAU,EAAE;YACd;UAAE,GAEDrB,IACE,CACF,CAAC;QAEV,CAAC;MACH;MACA,IAAIL,UAAU,CAAC2B,OAAO,CAAChJ,GAAG,CAACgG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;QAC1C,IAAInI,QAAQ,IAAI,QAAQ,EAAE;UACxBmC,GAAG,CAAClC,MAAM,GAAG,IAAI;UACjBkC,GAAG,CAACiJ,SAAS,GAAGlL,QAAQ,CAACiC,GAAG,CAACgG,SAAS,CAAC,GACnCjI,QAAQ,CAACiC,GAAG,CAACgG,SAAS,CAAC,GACvB,IAAI;QACV,CAAC,MAAM,IAAInI,QAAQ,IAAI,UAAU,EAAE;UACjCmC,GAAG,CAAClC,MAAM,GAAG;YAAEoL,QAAQ,EAAExO;UAAM,CAAC;UAChCsF,GAAG,CAACiJ,SAAS,GAAGlL,QAAQ,CAACiC,GAAG,CAACgG,SAAS,CAAC,GACnCjI,QAAQ,CAACiC,GAAG,CAACgG,SAAS,CAAC,GACvB,IAAI;QACV;MACF;MACA,OAAOhG,GAAG;IACZ,CAAC,CAAC;IACFlF,IAAI,CAAC6F,GAAG,CAAC,CAACwI,IAAI,EAAEzO,KAAK,KAAK;MACxB,IAAI,CAAC5C,UAAU,CAACqR,IAAI,CAACC,WAAW,CAAC,EAAE;QACjC,IAAIC,GAAG,GAAApO,aAAA,KAAQkO,IAAI,CAAE;QACrB,MAAM;UAAEpM,IAAI;UAAEzD,KAAK;UAAEgQ;QAAU,CAAC,GAAGH,IAAI,CAACC,WAAW;QACnD,IAAIG,GAAG,GAAG,IAAI;QACd,IAAI7B,IAAI,GAAGyB,IAAI,CAACK,KAAK;QACrBD,GAAG,GAAG1Q,OAAO,CAACkE,IAAI,EAAA9B,aAAA,CAAAA,aAAA;UAChBwO,WAAW,iBAAA5I,MAAA,CAAO6G,IAAI;QAAE,GACrBpO,KAAK;UACRiP,GAAG,EAAE,IAAI,CAACmB;QAAc,EACzB,CAAC;QACFL,GAAG,GAAApO,aAAA;UACD0O,cAAc,EAAEC,KAAA,IAKV;YAAA,IALW;cACfC,eAAe;cACfC,YAAY;cACZC,OAAO;cACPC;YACF,CAAC,GAAAJ,KAAA;YACC,oBACE1R,KAAA,CAAA0B,aAAA;cAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,kBAAkB;YAAE,gBAClDlB,KAAA,CAAA0B,aAAA;cAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB;YAAE,GACvDmQ,GACE,CAAC,eACNrR,KAAA,CAAA0B,aAAA,CAAAqQ,MAAA,qBACE/R,KAAA,CAAA0B,aAAA,CAAAsQ,OAAA;cACEnN,IAAI,EAAC,SAAS;cACdoN,OAAO,EAAEA,CAAA,KAAM;gBAAA,IAAAC,qBAAA;gBACbL,OAAO,CAAC,CAAC;gBACT,MAAM;kBAAEnM;gBAAa,CAAC,GAAG,IAAI,CAAC7C,KAAK;gBACnC,IAAIsP,eAAe,GAAApP,aAAA,KAAQ2C,YAAY,CAAE;gBACzC,IAAI4G,GAAG,GAAG2E,IAAI,CAACpD,KAAK,IAAIoD,IAAI,CAACnD,SAAS;gBACtCqE,eAAe,CAAC7F,GAAG,CAAC,IAAA4F,qBAAA,GAClB,IAAI,CAACV,cAAc,CAAC/J,OAAO,cAAAyK,qBAAA,uBAA3BA,qBAAA,CAA6BE,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAACpP,QAAQ,CAAC;kBACZ0C,YAAY,EAAA3C,aAAA,KAAOoP,eAAe;gBACpC,CAAC,CAAC;gBACF,MAAME,SAAS,GAAG,IAAI,CAAC9G,YAAY,CAAC,IAAI,CAAC1I,KAAK,CAAC+C,MAAM,CAAC;gBACtD,IAAI,CAAClB,KAAK,CAACrC,IAAI,CAAC;kBACdgC,MAAM,EAAAtB,aAAA,CAAAA,aAAA,KAAOoP,eAAe,GAAKE,SAAS;gBAC5C,CAAC,CAAC;cACJ,CAAE;cACF1P,IAAI,EAAC,OAAO;cACZ+N,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,yBAAyB;YAAE,GACvD,cAEO,CACH,CACJ,CAAC;UAEV,CAAC;UACDoR,UAAU,EAAEA,CAAA,KAAM;YAChB,oBAAOtS,KAAA,CAAA0B,aAAA,CAAClC,cAAc,MAAE,CAAC;UAC3B;QAAC,GACE2R,GAAG,CACP;QACDvO,IAAI,CAACJ,KAAK,CAAC,GAAG2O,GAAG;MACnB;IACF,CAAC,CAAC;IACF,OAAOvO,IAAI;EACb;EACA2P,aAAaA,CAAA,EAAG;IACd,IAAI;MAAE9O,SAAS;MAAE6F,UAAU;MAAE3D;IAAS,CAAC,GAAG,IAAI,CAAC9C,KAAK;IACpD,IAAI;MAAEgJ,YAAY;MAAE3G,OAAO,EAAEsN,QAAQ;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACrR,KAAK;IAC7D,MAAM;MAAEsR,SAAS;MAAEC,kBAAkB,GAAG,CAAC;IAAE,CAAC,GAAG3R,MAAM,CAAC,CAAC;IACvD,IAAI4R,KAAK,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;IACjD,IAAIC,UAAU,GAAG,CAAC,CAAQ;IAC1B,IAAIJ,OAAO,IAAI,IAAI,EAAE;MACnBG,KAAK,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC/C,CAAC,MAAM;MACLA,KAAK,GAAGH,OAAO,CAACG,KAAK,GACjBH,OAAO,CAACG,KAAK,GACbF,SAAS,CAACE,KAAK,GACfF,SAAS,CAACE,KAAK,GACfA,KAAK;MACTC,UAAU,GAAGJ,OAAO,CAACK,WAAW,GAAGL,OAAO,CAACK,WAAW,GAAG,CAAC,CAAC;IAC7D;IACA,MAAMC,QAAQ,GAAG,CACf;MAAEzB,KAAK,EAAE,IAAI;MAAEhF,GAAG,EAAE;IAAU,CAAC,EAC/B;MAAEgF,KAAK,EAAE,IAAI;MAAEhF,GAAG,EAAE;IAAS,CAAC,EAC9B;MAAEgF,KAAK,EAAE,IAAI;MAAEhF,GAAG,EAAE;IAAQ,CAAC,CAC9B;IACD,MAAM0G,QAAQ,GAAG,CACf;MAAE1B,KAAK,EAAE,OAAO;MAAEhF,GAAG,EAAE;IAAS,CAAC,EACjC;MAAEgF,KAAK,EAAE,OAAO;MAAEhF,GAAG,EAAE;IAAW,CAAC,CACpC;IACD,MAAM2G,WAAW,gBACfjT,KAAA,CAAA0B,aAAA,CAAA1B,KAAA,CAAAkT,QAAA,qBACElT,KAAA,CAAA0B,aAAA;MACEgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB,CAAE;MACrDiP,KAAK,EAAE;QACLgD,MAAM,EAAE,IAAI,CAACtQ,KAAK,CAACiD,WAAW,GAAG,aAAa,GAAG,SAAS;QAC1DsN,KAAK,EAAE,IAAI,CAACvQ,KAAK,CAACiD,WAAW,IAAI;MACnC,CAAE;MACFmM,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,IAAI,CAACpP,KAAK,CAACiD,WAAW,EAAE;UAC1B;QACF;QACA,IAAI,CAAC9C,QAAQ,CAAC;UAAE4C,MAAM,EAAE,EAAE;UAAEC,QAAQ,EAAE,CAAC,CAAC;UAAEC,WAAW,EAAE;QAAK,CAAC,CAAC;QAC9D,MAAMzB,MAAM,GAAAtB,aAAA,KAAQ,IAAI,CAACF,KAAK,CAAC6C,YAAY,CAAE;QAC7C,IAAI,CAAChB,KAAK,CAACC,MAAM,CAAC;UAAEN;QAAO,CAAC,CAAC;MAC/B;IAAE,GACH,sCAEI,CAAC,EACL2O,QAAQ,CAACvK,GAAG,CAAC,CAACwI,IAAI,EAAEzO,KAAK,KAAK;MAC7B,oBACExC,KAAA,CAAA0B,aAAA;QACE4K,GAAG,EAAE2E,IAAI,CAAC3E,GAAI;QACd2F,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACjP,QAAQ,CAAC;YACZ4C,MAAM,EAAE,EAAE;YACVC,QAAQ,EAAE,CAAC,CAAC;YACZF,QAAQ,EAAEsL,IAAI,CAAC3E,GAAG;YAClBxG,WAAW,EAAE;UACf,CAAC,CAAC;UACF,MAAMzB,MAAM,GAAAtB,aAAA,KAAQ,IAAI,CAACF,KAAK,CAAC6C,YAAY,CAAE;UAC7C,IAAI,CAAChB,KAAK,CAACC,MAAM,CAAC;YAAEN;UAAO,CAAC,CAAC;QAC/B;MAAE,GAEDsB,QAAQ,IAAIsL,IAAI,CAAC3E,GAAG,gBACnBtM,KAAA,CAAA0B,aAAA,yBACE1B,KAAA,CAAA0B,aAAA;QAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB;MAAE,gBACxDlB,KAAA,CAAA0B,aAAA;QAAKyO,KAAK,EAAE;UAAE7O,KAAK,EAAE;QAAG;MAAE,GACvBqE,QAAQ,IAAIsL,IAAI,CAAC3E,GAAG,iBAAItM,KAAA,CAAA0B,aAAA,CAACpC,aAAa,MAAE,CACtC,CAAC,eACNU,KAAA,CAAA0B,aAAA,cAAK,GAAC,EAACuP,IAAI,CAACK,KAAW,CACpB,CACJ,CAAC,gBAEJtR,KAAA,CAAA0B,aAAA;QAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB;MAAE,gBACxDlB,KAAA,CAAA0B,aAAA;QAAKyO,KAAK,EAAE;UAAE7O,KAAK,EAAE;QAAG;MAAE,CAAM,CAAC,eACjCtB,KAAA,CAAA0B,aAAA,cAAK,GAAC,EAACuP,IAAI,CAACK,KAAW,CACpB,CAEJ,CAAC;IAEV,CAAC,CAAC,EACD,IAAI,CAACzO,KAAK,CAAC+C,MAAM,CAACuC,MAAM,GAAG,CAAC,iBAC3BnI,KAAA,CAAA0B,aAAA,CAAA1B,KAAA,CAAAkT,QAAA,qBACElT,KAAA,CAAA0B,aAAA;MACEgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB,CAAE;MACrDiP,KAAK,EAAE;QAAEiD,KAAK,EAAE;MAAkB;IAAE,GACrC,0BAEI,CAAC,EACL,IAAI,CAACvQ,KAAK,CAAC+C,MAAM,CAAC6C,GAAG,CAAC,CAACwI,IAAI,EAAEzO,KAAK,KAAK;MACtC,oBACExC,KAAA,CAAA0B,aAAA;QACEgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB,CAAE;QACrDoL,GAAG,EAAE9J;MAAM,gBAEXxC,KAAA,CAAA0B,aAAA;QAAKyO,KAAK,EAAE;UAAE7O,KAAK,EAAE;QAAG;MAAE,GACvB2P,IAAI,CAACjD,KAAK,IAAI,QAAQ,gBACrBhO,KAAA,CAAA0B,aAAA,CAACjC,qBAAqB,MAAE,CAAC,gBAEzBO,KAAA,CAAA0B,aAAA,CAAChC,sBAAsB,MAAE,CAExB,CAAC,eACNM,KAAA,CAAA0B,aAAA,cAAK,GAAC,EAACuP,IAAI,CAAC5G,MAAM,CAACiH,KAAW,CAC3B,CAAC;IAEV,CAAC,CACD,CAEJ,CACH;IACD,MAAM+B,WAAW,gBACfrT,KAAA,CAAA0B,aAAA,CAAA1B,KAAA,CAAAkT,QAAA,qBACElT,KAAA,CAAA0B,aAAA;MAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB;IAAE,GAAC,0BAEtD,CAAC,EACL6R,QAAQ,CAACtK,GAAG,CAAC,CAACwI,IAAI,EAAEzO,KAAK,KAAK;MAC7B,oBACExC,KAAA,CAAA0B,aAAA;QACE4K,GAAG,EAAE2E,IAAI,CAAC3E,GAAI;QACd2F,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACjP,QAAQ,CAAC;YACZS,SAAS,EAAEwN,IAAI,CAAC3E;UAClB,CAAC,CAAC;QACJ;MAAE,GAED7I,SAAS,IAAIwN,IAAI,CAAC3E,GAAG,gBACpBtM,KAAA,CAAA0B,aAAA,yBACE1B,KAAA,CAAA0B,aAAA;QAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB;MAAE,gBACxDlB,KAAA,CAAA0B,aAAA;QAAKyO,KAAK,EAAE;UAAE7O,KAAK,EAAE;QAAG;MAAE,GACvBmC,SAAS,IAAIwN,IAAI,CAAC3E,GAAG,iBAAItM,KAAA,CAAA0B,aAAA,CAACpC,aAAa,MAAE,CACvC,CAAC,eACNU,KAAA,CAAA0B,aAAA,cAAK,GAAC,EAACuP,IAAI,CAACK,KAAW,CACpB,CACJ,CAAC,gBAEJtR,KAAA,CAAA0B,aAAA;QAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,wBAAwB;MAAE,gBACxDlB,KAAA,CAAA0B,aAAA;QAAKyO,KAAK,EAAE;UAAE7O,KAAK,EAAE;QAAG;MAAE,CAAM,CAAC,eACjCtB,KAAA,CAAA0B,aAAA,cAAK,GAAC,EAACuP,IAAI,CAACK,KAAW,CACpB,CAEJ,CAAC;IAEV,CAAC,CACD,CACH;IACD,MAAMgC,UAAU,GAAGxS,cAAc,CAACwI,UAAU,EAAE;MAC5CiK,QAAQ,EAAE,WAAW;MACrBC,UAAU,EAAE;IACd,CAAC,CAAC;IACF,MAAMxO,OAAO,GAAGuC,MAAM,CAAC4E,IAAI,CAACmH,UAAU,CAAC,CAAC7K,GAAG,CAAE6D,GAAG,IAAK;MACnD,oBACEtM,KAAA,CAAA0B,aAAA,CAAA+R,SAAA;QACEnH,GAAG,EAAEA,GAAI;QACT7B,QAAQ,EAAGhI,CAAC,IAAK;UACf,IAAI,CAACoJ,YAAY,CAACS,GAAG,EAAE7J,CAAC,CAACoB,MAAM,CAAC6P,OAAO,EAAEJ,UAAU,CAAC;QACtD,CAAE;QACFI,OAAO,EAAE,IAAI,CAAC7Q,KAAK,CAACkD,WAAW,CAACsG,QAAQ,CAACiH,UAAU,CAAChH,GAAG,CAAC,CAACrE,SAAS;MAAE,GAEnEqL,UAAU,CAAChH,GAAG,CAAC,CAACgF,KACT,CAAC;IAEf,CAAC,CAAC;IACF,oBACEtR,KAAA,CAAA0B,aAAA;MAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,oBAAoB;IAAE,GACnD0R,KAAK,CAAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,iBAC3B9Q,KAAA,CAAA0B,aAAA;MAAKyO,KAAK,EAAE;QAAEwD,QAAQ,EAAE;MAAG;IAAE,gBAC3B3T,KAAA,CAAA0B,aAAA,CAAAkS,QAAA;MACEtC,KAAK,EAAC,sCAAQ;MACdtM,OAAO,EAAEA,OAAQ;MACjB6O,SAAS,EAAC,aAAa;MACvBC,OAAO,EAAC,OAAO;MACfC,YAAY,EAAE;QAAEC,QAAQ,EAAE,GAAG;QAAEC,QAAQ,EAAE;MAAI;IAAE,gBAE/CjU,KAAA,CAAA0B,aAAA,CAACrC,gBAAgB;MACfqR,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,6BAA6B;IAAE,CAC3D,CACM,CACN,CACN,EACA0R,KAAK,CAAC9B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,iBACzB9Q,KAAA,CAAA0B,aAAA;MAAKyO,KAAK,EAAE;QAAE+D,WAAW,EAAE,CAAC;QAAEP,QAAQ,EAAE;MAAG;IAAE,gBAC3C3T,KAAA,CAAA0B,aAAA,CAAAkS,QAAA;MAASC,SAAS,EAAC,QAAQ;MAAC7O,OAAO,EAAEiO,WAAY;MAACa,OAAO,EAAC;IAAO,gBAC/D9T,KAAA,CAAA0B,aAAA,CAACjC,qBAAqB,MAAE,CACjB,CACN,CACN,EACAmT,KAAK,CAAC9B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,iBACzB9Q,KAAA,CAAA0B,aAAA;MAAKyO,KAAK,EAAE;QAAE+D,WAAW,EAAE,CAAC;QAAEP,QAAQ,EAAE;MAAG;IAAE,gBAC3C3T,KAAA,CAAA0B,aAAA,CAAAkS,QAAA;MAASC,SAAS,EAAC,QAAQ;MAAC7O,OAAO,EAAEqO,WAAY;MAACS,OAAO,EAAC;IAAO,gBAC/D9T,KAAA,CAAA0B,aAAA,CAACnC,oBAAoB,MAAE,CAChB,CACN,CACN,EACAqT,KAAK,CAAC9B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,iBAC5B9Q,KAAA,CAAA0B,aAAA;MACEyO,KAAK,EAAE;QAAE+D,WAAW,EAAE,CAAC;QAAEP,QAAQ,EAAE,EAAE;QAAER,MAAM,EAAE;MAAU,CAAE;MAC3DlB,OAAO,EAAEA,CAAA,KAAM;QACb,MAAM5N,MAAM,GAAAtB,aAAA,KAAQ,IAAI,CAACF,KAAK,CAAC6C,YAAY,CAAE;QAC7C,IAAImN,UAAU,CAACsB,SAAS,EAAE;UACxBtB,UAAU,CAACsB,SAAS,CAAC,CAAC;QACxB,CAAC,MAAM;UACL,IAAI,CAACzP,KAAK,CAACrC,IAAI,CAAC;YAAEgC;UAAO,CAAC,CAAC;QAC7B;MACF;IAAE,gBAEFrE,KAAA,CAAA0B,aAAA,CAAC/B,YAAY,MAAE,CACZ,CAEJ,CAAC;EAEV;EACAyU,kBAAkBA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACvR,KAAK,CAACoD,eAAe;EACnC;EACAoO,mBAAmBA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACxR,KAAK,CAACqD,gBAAgB;EACpC;EACAoO,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACtR,QAAQ,CAAC;MACZiD,eAAe,EAAE,EAAE;MACnBC,gBAAgB,EAAE;IACpB,CAAC,CAAC;EACJ;EACAqO,oBAAoBA,CAACxQ,MAAW,EAAEyQ,QAAa,EAAE;IAC/C,MAAM;MAAEvO,eAAe;MAAEC;IAAiB,CAAC,GAAG,IAAI,CAACrD,KAAK;IACxD,IAAI;MAAE4R,MAAM,GAAG;IAAK,CAAC,GAAG,IAAI,CAACrT,KAAK;IAClC,IAAIsT,kBAAkB,GAAG,CAAC,GAAGzO,eAAe,CAAC;IAC7C,IAAI0O,mBAAmB,GAAG,CAAC,GAAGzO,gBAAgB,CAAC;IAC/C,IAAIsO,QAAQ,EAAE;MACZE,kBAAkB,GAAG,CAAC,GAAGA,kBAAkB,EAAE3Q,MAAM,CAAC0Q,MAAM,CAAC,CAAC;MAC5DE,mBAAmB,GAAG,CAAC,GAAGA,mBAAmB,EAAE5Q,MAAM,CAAC;IACxD,CAAC,MAAM;MACLkC,eAAe,CAACwC,GAAG,CAAC,CAACwI,IAAS,EAAEzO,KAAU,KAAK;QAC7C,IAAIyO,IAAI,KAAKlN,MAAM,CAAC0Q,MAAM,CAAC,EAAE;UAC3BC,kBAAkB,CAACE,MAAM,CAACpS,KAAK,EAAE,CAAC,CAAC;QACrC;MACF,CAAC,CAAC;MACF0D,gBAAgB,CAACuC,GAAG,CAAC,CAACwI,IAAS,EAAEzO,KAAU,KAAK;QAC9C,IAAIyO,IAAI,CAACwD,MAAM,CAAC,KAAK1Q,MAAM,CAAC0Q,MAAM,CAAC,EAAE;UACnCE,mBAAmB,CAACC,MAAM,CAACpS,KAAK,EAAE,CAAC,CAAC;QACtC;MACF,CAAC,CAAC;IACJ;IACA,IAAI,CAACQ,QAAQ,CAAC;MACZiD,eAAe,EAAEyO,kBAAkB;MACnCxO,gBAAgB,EAAEyO;IACpB,CAAC,CAAC;EACJ;EACAE,uBAAuBA,CAACL,QAAa,EAAEM,YAAiB,EAAEC,UAAe,EAAE;IACzE,MAAM;MAAE9O,eAAe;MAAEC;IAAiB,CAAC,GAAG,IAAI,CAACrD,KAAK;IACxD,MAAM;MAAE4R,MAAM,GAAG;IAAK,CAAC,GAAG,IAAI,CAACrT,KAAK;IACpC,IAAI4T,MAAW,GAAG,EAAE;IACpB,IAAIC,QAAa,GAAG,EAAE;IACtB,IAAIF,UAAU,CAAC5M,MAAM,GAAG,CAAC,EAAE;MACzB,IAAI+M,SAAS,GAAGH,UAAU,CAACtM,GAAG,CAAEwI,IAAS,IAAKA,IAAI,CAACwD,MAAM,CAAC,CAAC;MAC3D,IAAID,QAAQ,EAAE;QACZQ,MAAM,GAAG,CAAC,GAAG/O,eAAe,EAAE,GAAGiP,SAAS,CAAC;QAC3CD,QAAQ,GAAG,CAAC,GAAG/O,gBAAgB,EAAE,GAAG6O,UAAU,CAAC;MACjD,CAAC,MAAM;QACL9O,eAAe,CAACwC,GAAG,CAAC,CAACwI,IAAS,EAAEzO,KAAU,KAAK;UAC7C,IAAI0S,SAAS,CAACpE,OAAO,CAACG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YACjC+D,MAAM,CAAChN,IAAI,CAACiJ,IAAI,CAAC;UACnB;QACF,CAAC,CAAC;QACF/K,gBAAgB,CAACuC,GAAG,CAAC,CAACwI,IAAS,EAAEzO,KAAU,KAAK;UAC9C,IAAI0S,SAAS,CAACpE,OAAO,CAACG,IAAI,CAACwD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;YACzCQ,QAAQ,CAACjN,IAAI,CAACiJ,IAAI,CAAC;UACrB;QACF,CAAC,CAAC;MACJ;IACF,CAAC,MAAM;MACL+D,MAAM,GAAG,CAAC,GAAG/O,eAAe,CAAC;MAC7BgP,QAAQ,GAAG,CAAC,GAAG/O,gBAAgB,CAAC;IAClC;IACA,IAAI,CAAClD,QAAQ,CAAC;MACZiD,eAAe,EAAE,CAAC,GAAG+O,MAAM,CAAC;MAC5B9O,gBAAgB,EAAE,CAAC,GAAG+O,QAAQ;IAChC,CAAC,CAAC;EACJ;EACA3F,MAAMA,CAAA,EAAG;IACP,IAAIhM,KAAK,GAAG,IAAI;MACd;QACE6B,OAAO;QACPF,UAAU;QACVG,UAAU,GAAG,CAAC,CAAC;QACfE,UAAU;QACVC,WAAW;QACXC,WAAW;QACX/B;MACF,CAAC,GAAG,IAAI,CAACZ,KAAK;MACdzB,KAAK,GAAGrB,KAAK,CAACoV,IAAI,CAChB,IAAI,CAAC/T,KAAK,EACV,CACE,OAAO,EACP,UAAU,EACV,SAAS,EACT,aAAa,EACb,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,UAAU,CACX,EACD;QACEqT,MAAM,EAAE,IAAI;QACZW,gBAAgB,EAAE;MACpB,CACF,CAAC;IACH,IAAIhU,KAAK,CAACgE,UAAU,KAAK,KAAK,EAAE;MAC9BhE,KAAK,CAACgE,UAAU,GAAArC,aAAA,CAAAA,aAAA;QACdsS,QAAQ,EAAE,CAAC,aAAa,CAAC;QACzBC,eAAe,EAAE,IAAI;QACrBC,eAAe,EAAE;MAAI,GAClBnQ,UAAU,GACVhE,KAAK,CAACgE,UAAU,CACpB;MACD,IAAIhE,KAAK,CAACoU,SAAS,IAAI,IAAI,EAAE;QAC3BpU,KAAK,CAACgE,UAAU,CAACoQ,SAAS,GAAG,UAAUC,KAAK,EAAAC,KAAA,EAAc;UAAA,IAAZ,CAACC,IAAI,EAAEC,EAAE,CAAC,GAAAF,KAAA;UACtD;UACA,OAAO,IAAI,GAAGD,KAAK,GAAG,IAAI;QAC5B,CAAC;MACH;IACF;IACArU,KAAK,CAACqJ,QAAQ,GAAG,UAAUrF,UAAU,EAAEsF,OAAO,EAAE9E,MAAM,EAAEQ,KAAK,EAAE;MAC7D9C,KAAK,CAACmH,QAAQ,CAACnH,KAAK,CAACT,KAAK,CAACuC,UAAU,EAAEsF,OAAO,EAAE9E,MAAM,EAAEQ,KAAK,CAAC;IAChE,CAAC;IACD,IAAIhF,KAAK,CAACgU,gBAAgB,EAAE;MAC1B,MAAMS,OAAO,GAAGzU,KAAK,CAAC0U,KAAK;MAC3B1U,KAAK,CAAC0U,KAAK,GAAG,UAAU/R,MAAM,EAAEvB,KAAK,EAAE;QACrC,IAAIuT,MAAM,GAAGF,OAAO,GAAGA,OAAO,CAAC9R,MAAM,EAAEvB,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAMwT,SAAS,GAAGD,MAAM,CAAC9D,OAAO;QAChC8D,MAAM,CAAC9D,OAAO,GAAI7D,KAAK,IAAK;UAC1B9K,KAAK,CAACN,QAAQ,CAAC;YACbqC,WAAW,EAAE7C,KAAK,CAAE;UACtB,CAAC,CAAC;UACFzC,KAAK,CAAC+G,QAAQ,CAACkP,SAAS,EAAE1S,KAAK,EAAE,CAAC8K,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO2H,MAAM;MACf,CAAC;MACD3U,KAAK,CAAC6U,YAAY,GAAG,UAAUlS,MAAM,EAAEvB,KAAK,EAAE;QAC5C,OAAOA,KAAK,KAAKc,KAAK,CAACT,KAAK,CAACwC,WAAW,GACpC,yBAAyB,GACzB,EAAE;MACR,CAAC;IACH;IACA,IAAI6Q,aAAa,GAAG,EAAE;IACtB,IAAI5Q,UAAU,EAAE;MACd,MAAMnC,IAAI,GAAG9C,SAAS,CAAC8V,kBAAkB,CACvC,IAAI,EACJ7Q,UAAU,EACVC,WAAW,EACXC,WACF,CAAC;MACD0Q,aAAa,GAAG/S,IAAI,CAACiT,SAAS;MAC9BhV,KAAK,CAACiV,eAAe,GAAGlT,IAAI,CAACmT,QAAQ;IACvC,CAAC,MAAM;MACLJ,aAAa,GAAGjR,UAAU;IAC5B;IACA7D,KAAK,CAACsD,KAAK,GAAGtD,KAAK,CAACsD,KAAK,IAAI,CAAC,CAAC;IAC/BtD,KAAK,CAACsD,KAAK,CAAC4C,QAAQ,GAAGlG,KAAK,CAACsD,KAAK,CAAC4C,QAAQ,KAAK,KAAK,GAAG,KAAK,GAAG,IAAI;IACpE,MAAM;MAAEiP;IAAS,CAAC,GAAGjT,KAAK,CAAClC,KAAK;IAChC,MAAMoV,aAAa,GACjBD,QAAQ,KAAK,IAAI,GACb;MACEE,UAAU,EAAEnW,gBAAgB;MAC5BwV,KAAK,EAAEA,CAAC/R,MAAM,EAAEvB,KAAK,MAAM;QACzBA,KAAK;QACLuB,MAAM;QACNU,OAAO,EAAE,IAAI,CAACA;MAChB,CAAC;IACH,CAAC,GACD,CAAC,CAAC;IACR,IAAI;MAAEyE;IAAa,CAAC,GAAG,IAAI,CAAC9H,KAAK;IAEjC,MAAMsV,WAAW,GACfxN,YAAY,KAAK,IAAI,GAAG;MAAEuN,UAAU,EAAE,IAAI,CAACA;IAAW,CAAC,GAAG,IAAI;IAChE,MAAM;MAAE/D;IAAU,CAAC,GAAG1R,MAAM,CAAC,CAAC;IAC9B,IAAI2V,QAAQ,GAAG,KAAK;IACpB;;IAEA,IAAIjE,SAAS,CAACkE,IAAI,KAAK,IAAI,EAAE;MAC3BD,QAAQ,GAAG,IAAI;IACjB;IACA,IAAI,IAAI,CAACvV,KAAK,CAACqR,OAAO,IAAI,IAAI,CAACrR,KAAK,CAACqR,OAAO,CAACmE,IAAI,KAAK,IAAI,EAAE;MAC1DD,QAAQ,GAAG,IAAI;IACjB;IACA,IAAI,IAAI,CAACvV,KAAK,CAACyV,gBAAgB,EAAE;MAC/B,MAAM;QAAEC,YAAY,GAAG,CAAC;MAAE,CAAC,GAAG,IAAI,CAAC1V,KAAK;MACxCA,KAAK,GAAA2B,aAAA,CAAAA,aAAA,KACA3B,KAAK;QACR0V,YAAY,EAAA/T,aAAA;UACVkD,eAAe,EAAE,IAAI,CAACpD,KAAK,CAACoD,eAAe;UAC3C8Q,QAAQ,EAAE,IAAI,CAACxC,oBAAoB,CAACyC,IAAI,CAAC,IAAI,CAAC;UAC9CC,WAAW,EAAE,IAAI,CAACpC,uBAAuB,CAACmC,IAAI,CAAC,IAAI,CAAC;UACpDE,WAAW,EAAE;QAAE,GACZJ,YAAY;MAChB,EACF;IACH;IACA,MAAM;MAAEK,UAAU,EAAEC;IAAiB,CAAC,GAAGpW,MAAM,CAAC,CAAC;IACjD,MAAMqW,YAAY,gBAChBrX,KAAA,CAAA0B,aAAA;MAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,WAAW;IAAE,GAC1CyV,QAAQ,IAAI,IAAI,CAACpE,aAAa,CAAC,CAAC,eACjCvS,KAAA,CAAA0B,aAAA,CAAA4V,MAAA,EAAAC,QAAA;MACEC,kBAAkB,EAAC,YAAY;MAC/BC,OAAO;MACPxS,UAAU,EAAEiR,aAAc;MAC1BhR,OAAO,EAAE,IAAI,CAACjC,UAAU,CAAC,CAAE;MAC3BkC,OAAO,EAAEA,OAAQ;MACjBuL,SAAS,EAAEzP,GAAG,CAACP,OAAO,CAACQ,MAAM,EAAE,mBAAmB,CAAC,EAAEE,KAAK,CAACsP,SAAS,CAAE;MACtEgH,MAAM,EAAE;QACNC,SAAS,eACP3X,KAAA,CAAA0B,aAAA,CAACd,MAAM;UAAC8P,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,kBAAkB;QAAE,CAAE;MAE7D,CAAE;MACF0W,MAAM,EAAE;QAAEC,CAAC,EAAE;MAAc;IAAE,GACzBT,gBAAgB,EAChBV,WAAW,EACXtV,KAAK,EACLoV,aAAa;MACjB7T,IAAI,EAAEc,SAAU;MAChB2B,UAAU,EAAE;MACZ;IAAA,EACD,CAAC,EACDhE,KAAK,CAACgE,UAAU,KAAK,KAAK,iBACzBpF,KAAA,CAAA0B,aAAA;MAAKgP,SAAS,EAAEhQ,OAAO,CAACQ,MAAM,EAAE,sBAAsB;IAAE,gBACtDlB,KAAA,CAAA0B,aAAA,CAAAoW,WAAA,EAAAP,QAAA,KACMnW,KAAK,CAACgE,UAAU;MACpBqF,QAAQ,EAAEA,CAACsN,IAAI,EAAE1M,QAAQ,KAAK;QAC5B,MAAMjF,KAAK,GAAG,IAAI,CAACvD,KAAK,CAACuD,KAAK;QAC9BA,KAAK,CAAC4R,MAAM,GAAG,UAAU;QACzB,IAAI,CAAChV,QAAQ,CAACiV,KAAA,IAAyB;UAAA,IAAxB;YAAE7S,UAAU,GAAG,CAAC;UAAE,CAAC,GAAA6S,KAAA;UAChC,OAAO;YACL7S,UAAU,EAAArC,aAAA,CAAAA,aAAA,KAAOqC,UAAU;cAAEqC,OAAO,EAAEsQ,IAAI;cAAE1M;YAAQ;UACtD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAACZ,QAAQ,CACX;UAAEhD,OAAO,EAAEsQ,IAAI;UAAE1M;QAAS,CAAC,EAC3B,IAAI,CAACxI,KAAK,CAACsD,MAAM,EACjB,IAAI,CAACtD,KAAK,CAAC+C,MAAM,EACjBQ,KACF,CAAC;MACH;IAAE,EACH,CACE,CAEJ,CACN;IAED,OAAOmQ,QAAQ,KAAK,IAAI,gBACtBvW,KAAA,CAAA0B,aAAA,CAACzB,WAAW;MAACiY,OAAO,EAAE3X;IAAa,GAAE8W,YAA0B,CAAC,GAEhEA,YACD;EACH;AACF;AAACnV,eAAA,CAnrCKJ,QAAQ,kBACU;EACpByU,QAAQ,EAAE,KAAK;EACff,SAAS,EAAE,IAAI;EACf3J,YAAY,EAAE,IAAI;EAClBsM,OAAO,EAAE,EAAE;EACXtN,cAAc,EAAE,IAAI;EACpBD,QAAQ,EAAE,IAAI;EACdD,YAAY,EAAE,IAAI;EAClBzB,YAAY,EAAE,IAAI;EAClBuJ,OAAO,EAAE;IACPmE,IAAI,EAAE,KAAK;IACX9D,WAAW,EAAE,CAAC,CAAQ;IACtBF,KAAK,EAAE;EACT;AACF,CAAC;AAsqCH,eAAepS,YAAY,CAACsB,QAAQ,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { StoreProps } from "@bj-nsc/msn";
|
|
2
|
+
import { TableProps } from "antd";
|
|
3
|
+
import { TablePaginationConfig } from "antd/lib/table";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { DndContextType, IBodyRowProps } from "../common/BodyRow";
|
|
6
|
+
import "./index.module.less";
|
|
7
|
+
import "./resize.module.less";
|
|
8
|
+
interface IDragParams {
|
|
9
|
+
id: string | number;
|
|
10
|
+
ids: Array<string | number>;
|
|
11
|
+
parentId: string | number;
|
|
12
|
+
}
|
|
13
|
+
export type StoreType = "PageStore" | "TreeStore" | "BaseStore";
|
|
14
|
+
interface NSCTablePagination extends TablePaginationConfig {
|
|
15
|
+
totalKey?: string;
|
|
16
|
+
pageSizeKey?: string;
|
|
17
|
+
currentKey?: string;
|
|
18
|
+
}
|
|
19
|
+
interface ToolBarProps {
|
|
20
|
+
show: boolean;
|
|
21
|
+
tools?: Array<string>;
|
|
22
|
+
onToolClick?: {
|
|
23
|
+
onRefresh?: any;
|
|
24
|
+
onSort?: any;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
interface NSCTableProps extends TableProps<any> {
|
|
28
|
+
store?: StoreProps;
|
|
29
|
+
showTotal?: boolean;
|
|
30
|
+
dragable?: boolean;
|
|
31
|
+
filterColumn?: boolean;
|
|
32
|
+
moveRow?: (params: IDragParams) => void;
|
|
33
|
+
dragUrl?: string;
|
|
34
|
+
pagination?: false | NSCTablePagination;
|
|
35
|
+
autoPagination?: boolean;
|
|
36
|
+
autoSort?: boolean;
|
|
37
|
+
autoOnChange?: boolean;
|
|
38
|
+
resizeColumn?: boolean;
|
|
39
|
+
sortFields?: Array<string>;
|
|
40
|
+
toolbar?: ToolBarProps | boolean;
|
|
41
|
+
autoSize?: boolean;
|
|
42
|
+
sortSearch?: boolean;
|
|
43
|
+
showRowSelection?: boolean;
|
|
44
|
+
rowKey?: string;
|
|
45
|
+
[propsName: string]: any;
|
|
46
|
+
}
|
|
47
|
+
export type INSCTableProps = typeof NSCTable.defaultProps & NSCTableProps;
|
|
48
|
+
export { DndContextType, IBodyRowProps };
|
|
49
|
+
declare class NSCTable extends React.Component<INSCTableProps, any> {
|
|
50
|
+
static defaultProps: {
|
|
51
|
+
dragable: boolean;
|
|
52
|
+
showTotal: boolean;
|
|
53
|
+
filterColumn: boolean;
|
|
54
|
+
dragUrl: string;
|
|
55
|
+
autoPagination: boolean;
|
|
56
|
+
autoSort: boolean;
|
|
57
|
+
autoOnChange: boolean;
|
|
58
|
+
resizeColumn: boolean;
|
|
59
|
+
toolbar: any;
|
|
60
|
+
};
|
|
61
|
+
store: StoreProps;
|
|
62
|
+
thIconRef: React.RefObject<HTMLDivElement>;
|
|
63
|
+
tableSearchRef: React.RefObject<any>;
|
|
64
|
+
listeners: {
|
|
65
|
+
onBeforeLoad: any;
|
|
66
|
+
load: any;
|
|
67
|
+
};
|
|
68
|
+
components: {
|
|
69
|
+
header: {
|
|
70
|
+
cell: (props: any) => React.JSX.Element;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
constructor(props: any);
|
|
74
|
+
handleResize: (index: any) => (e: any, { size }: any) => void;
|
|
75
|
+
componentDidMount(): void;
|
|
76
|
+
componentWillUnmount(): void;
|
|
77
|
+
listenMessage: (ev: any) => void;
|
|
78
|
+
componentDidUpdate(prevProps: any, preState: any): void;
|
|
79
|
+
resetColumn(): void;
|
|
80
|
+
/**
|
|
81
|
+
* 清除选中颜色
|
|
82
|
+
*/
|
|
83
|
+
clearSelectColor(): this;
|
|
84
|
+
getPaginationByStore(): any;
|
|
85
|
+
onChange(pagination: any, filters: any, sorter: any, extra: any): void;
|
|
86
|
+
getStore(): StoreProps;
|
|
87
|
+
/**
|
|
88
|
+
* 获取数据模型对象
|
|
89
|
+
*/
|
|
90
|
+
getModel(): any;
|
|
91
|
+
/**
|
|
92
|
+
* 菜单搜索过滤显示
|
|
93
|
+
* @param {String} val
|
|
94
|
+
*/
|
|
95
|
+
handleSearch(val: any, fieldOption: any, searchColor: any): void;
|
|
96
|
+
/**
|
|
97
|
+
* 模块列表移动排序
|
|
98
|
+
*/
|
|
99
|
+
moveRow: (dragIndex: any, hoverIndex: any, drag: any, target: any) => void;
|
|
100
|
+
filterColumn(checkedValue: any): void;
|
|
101
|
+
getSortParam(sorter: any, sortState?: boolean): {
|
|
102
|
+
orderItems?: undefined;
|
|
103
|
+
} | {
|
|
104
|
+
orderItems: string;
|
|
105
|
+
};
|
|
106
|
+
isBeyond(e: any): boolean;
|
|
107
|
+
setSelectedRowKeys(data: Array<String | Number>): void;
|
|
108
|
+
setSelectedRowDatas(data: Array<Object>): void;
|
|
109
|
+
getColumns(): any;
|
|
110
|
+
renderToolBar(): React.JSX.Element;
|
|
111
|
+
getSelectedRowKeys(): any;
|
|
112
|
+
getSelectedRowDatas(): any;
|
|
113
|
+
resetSelectedRowKeys(): void;
|
|
114
|
+
rowSelectionOnSelect(record: any, selected: any): void;
|
|
115
|
+
rowSelectionOnSelectAll(selected: any, selectedRows: any, changeRows: any): void;
|
|
116
|
+
render(): React.JSX.Element;
|
|
117
|
+
}
|
|
118
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<any>>;
|
|
119
|
+
export default _default;
|