nsc-react-component 4.3.2 → 4.3.3
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/table/index.js +47 -16
- package/lib/base/table/index.js.map +1 -1
- package/lib/base/tree/index.js +5 -4
- package/lib/base/tree/index.js.map +1 -1
- package/lib/page/FormPage/index.js +16 -11
- package/lib/page/FormPage/index.js.map +1 -1
- package/lib/page/SettingForm/index.d.ts +8 -0
- package/lib/page/SettingForm/index.js +57 -78
- package/lib/page/SettingForm/index.js.map +1 -1
- package/lib/page/SettingTable/index.js +5 -3
- package/lib/page/SettingTable/index.js.map +1 -1
- package/lib/page/SettingUtil/utils.js +3 -3
- package/lib/page/SettingUtil/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","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","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","componentDidMount","resizeColumn","setData","window","addEventListener","listenMessage","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","preState","resetColumn","newCols","colss","map","col","temp","onHeaderCell","column","handleResize","push","clearSelectColor","getPaginationByStore","onChange","filters","autoOnChange","autoSort","autoPagination","isMultiple","Array","isArray","handlePagination","p","currentKey","pageSizeKey","pageSize","ascParams","getSortParam","onChangeFn","getStore","getModel","handleSearch","val","filterColumn","checkedValue","length","_message","warning","filterColumns","newCol","includes","dataIndex","initShow","sortState","arguments","undefined","sortSearch","orderItems","field","asc","order","forEach","v","stringify","isBeyond","event","textRange","el","textContent","targetW","getBoundingClientRect","range","document","createRange","setStart","setEnd","childNodes","rangeWidth","setSelectedRowKeys","setSelectedRowDatas","getColumns","sortFields","defaultShowCols","colWidthObj","ellipsis","render","showTitle","text","colWidth","style","display","title","className","indexOf","sortOrder","multiple","item","filterProps","obj","searchKey","Div","placeholder","concat","ref","tableSearchRef","filterDropdown","_ref3","setSelectedKeys","selectedKeys","confirm","clearFilters","_Space","_Button","onClick","_this$tableSearchRef$","newFilterParams","key","getValue","sortParam","filterIcon","renderToolBar","colLists","toolbar","tableTool","storeRequestConfig","tools","toolsClick","onToolClick","sizeItem","sortItem","sortContent","Fragment","cursor","color","sizeContent","_Checkbox","Group","bind","label","value","disabled","fontSize","_Popover","placement","trigger","overlayStyle","minWidth","maxWidth","marginRight","onRefresh","getSelectedRowKeys","getSelectedRowDatas","resetSelectedRowKeys","rowSelectionOnSelect","selected","rowKey","newSelectedRowKeys","newSelectedRowDatas","splice","rowSelectionOnSelectAll","selectedRows","changeRows","newids","newdatas","changeIds","_this$props$toolbar","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","toolprops","show","showRowSelection","rowSelection","onSelect","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\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: true,\r\n onToolClick: {} 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 cols: nextColumns,\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n const { resizeColumn } = this.props;\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 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({ cols: this.props.columns, columns: this.props.columns });\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\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) {\r\n if (checkedValue.length == 0) {\r\n message.warning(\"至少显示一列!\");\r\n return;\r\n }\r\n const filterColumns = this.props.columns.map((col: ColumnType<{}>) => {\r\n const newCol = { ...col } as ColumnType<{}> & { initShow: boolean };\r\n if (checkedValue.includes(col.dataIndex)) {\r\n newCol.initShow = true;\r\n } else {\r\n newCol.initShow = false;\r\n }\r\n return newCol;\r\n });\r\n const { resizeColumn } = this.props;\r\n if (!resizeColumn) {\r\n this.setState({\r\n columns: filterColumns,\r\n checkColumn: checkedValue,\r\n defaultCheck: false,\r\n });\r\n } else {\r\n this.setState({\r\n cols: filterColumns,\r\n checkColumn: checkedValue,\r\n defaultCheck: false,\r\n });\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 let colWidthObj = {\r\n 'size': 16,\r\n 'middle': 16,\r\n 'large': 32\r\n }\r\n const cols = defaultShowCols.map((col, index) => {\r\n if (col.ellipsis && !col.render) {\r\n col.ellipsis = {\r\n showTitle: false,\r\n };\r\n col.render = (text) => {\r\n let colWidth: any = '100%';\r\n if (col.width) {\r\n if (col.width > colWidthObj[size]) {\r\n colWidth = col.width - colWidthObj[size]\r\n } else {\r\n colWidth = col.width\r\n }\r\n }\r\n return (\r\n <div style={{ display: \"inline-table\" }}>\r\n <div\r\n title={text}\r\n className={getLess(styles, \"nsc-table-text\")}\r\n style={{ width: colWidth || \"100%\" }}\r\n >\r\n {text}\r\n </div>\r\n </div>\r\n );\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, columns, 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 = toolbar.onToolClick\r\n ? toolbar.onToolClick\r\n : [\"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\r\n const defaultShowCols = columns.filter((cols) => cols.initShow !== false);\r\n\r\n const content = (\r\n <Checkbox.Group\r\n onChange={this.filterColumn.bind(this)}\r\n options={colLists.map(\r\n (col: ColumnType<{}> & { filterColumn: boolean; dataIndex: any }) => {\r\n if (!col.dataIndex) {\r\n col.dataIndex = col.title;\r\n }\r\n return {\r\n label: col.title,\r\n value: col.dataIndex,\r\n disabled: col.filterColumn === false,\r\n } as CheckboxOptionType;\r\n }\r\n )}\r\n // defaultValue={defaultShowCols.map((col) => col.dataIndex)}\r\n value={\r\n this.state.defaultCheck\r\n ? defaultShowCols.map((col) => col.dataIndex)\r\n : this.state.checkColumn\r\n }\r\n ></Checkbox.Group>\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\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 };\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 = true;\r\n let toolprops =\r\n this.props.toolbar === false || this.props.toolbar?.show === false\r\n ? false\r\n : true;\r\n if (!toolprops) {\r\n toolFlag = toolprops;\r\n } else {\r\n toolFlag = tableTool.show === false ? false : 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","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","componentDidMount","resizeColumn","setData","window","addEventListener","listenMessage","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","preState","resetColumn","newCols","colss","map","col","temp","onHeaderCell","column","handleResize","push","clearSelectColor","getPaginationByStore","onChange","filters","autoOnChange","autoSort","autoPagination","isMultiple","Array","isArray","handlePagination","p","currentKey","pageSizeKey","pageSize","ascParams","getSortParam","onChangeFn","getStore","getModel","handleSearch","val","filterColumn","checkedValue","length","_message","warning","filterColumns","newCol","includes","dataIndex","initShow","sortState","arguments","undefined","sortSearch","orderItems","field","asc","order","forEach","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","find","c","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","concat","tableSearchRef","filterDropdown","_ref3","setSelectedKeys","selectedKeys","confirm","clearFilters","_Space","_Button","onClick","_this$tableSearchRef$","newFilterParams","key","getValue","sortParam","filterIcon","renderToolBar","colLists","toolbar","tableTool","storeRequestConfig","tools","toolsClick","onToolClick","sizeItem","sortItem","sortContent","Fragment","cursor","color","sizeContent","_Checkbox","Group","bind","label","value","disabled","fontSize","_Popover","placement","trigger","overlayStyle","minWidth","maxWidth","marginRight","onRefresh","getSelectedRowKeys","getSelectedRowDatas","resetSelectedRowKeys","rowSelectionOnSelect","selected","rowKey","newSelectedRowKeys","newSelectedRowDatas","splice","rowSelectionOnSelectAll","selectedRows","changeRows","newids","newdatas","changeIds","_this$props$toolbar","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","toolprops","show","showRowSelection","rowSelection","onSelect","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\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: true,\r\n onToolClick: {} 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 componentDidMount() {\r\n const { resizeColumn } = this.props;\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 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) {\r\n if (checkedValue.length == 0) {\r\n message.warning(\"至少显示一列!\");\r\n return;\r\n }\r\n const filterColumns = this.props.columns.map((col: ColumnType<{}>) => {\r\n const newCol = { ...col } as ColumnType<{}> & { initShow: boolean };\r\n if (checkedValue.includes(col.dataIndex)) {\r\n newCol.initShow = true;\r\n } else {\r\n newCol.initShow = false;\r\n }\r\n return newCol;\r\n });\r\n const { resizeColumn } = this.props;\r\n if (!resizeColumn) {\r\n this.setState({\r\n columns: filterColumns,\r\n checkColumn: checkedValue,\r\n defaultCheck: false,\r\n });\r\n } else {\r\n this.setState({\r\n cols: filterColumns,\r\n checkColumn: checkedValue,\r\n defaultCheck: false,\r\n });\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, columns, 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 = toolbar.onToolClick\r\n ? toolbar.onToolClick\r\n : [\"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\r\n const defaultShowCols = columns.filter((cols) => cols.initShow !== false);\r\n\r\n const content = (\r\n <Checkbox.Group\r\n onChange={this.filterColumn.bind(this)}\r\n options={colLists.map(\r\n (col: ColumnType<{}> & { filterColumn: boolean; dataIndex: any }) => {\r\n if (!col.dataIndex) {\r\n col.dataIndex = col.title;\r\n }\r\n return {\r\n label: col.title,\r\n value: col.dataIndex,\r\n disabled: col.filterColumn === false,\r\n } as CheckboxOptionType;\r\n }\r\n )}\r\n // defaultValue={defaultShowCols.map((col) => col.dataIndex)}\r\n value={\r\n this.state.defaultCheck\r\n ? defaultShowCols.map((col) => col.dataIndex)\r\n : this.state.checkColumn\r\n }\r\n ></Checkbox.Group>\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 = true;\r\n let toolprops =\r\n this.props.toolbar === false || this.props.toolbar?.show === false\r\n ? false\r\n : true;\r\n if (!toolprops) {\r\n toolFlag = toolprops;\r\n } else {\r\n toolFlag = tableTool.show === false ? false : 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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"}
|
package/lib/base/tree/index.js
CHANGED
|
@@ -58,10 +58,11 @@ class NscTree extends TreePanel {
|
|
|
58
58
|
key = "key"
|
|
59
59
|
} = fieldNames;
|
|
60
60
|
const nodes = data.map(item => {
|
|
61
|
+
var _item$config;
|
|
61
62
|
let props = {
|
|
62
63
|
dataref: item
|
|
63
64
|
};
|
|
64
|
-
item.config.fields.forEach(field => {
|
|
65
|
+
item === null || item === void 0 || (_item$config = item.config) === null || _item$config === void 0 || (_item$config = _item$config.fields) === null || _item$config === void 0 || _item$config.forEach(field => {
|
|
65
66
|
if (field.name === "key" && nodeKey) {
|
|
66
67
|
props.key = item[nodeKey];
|
|
67
68
|
item.key = item[nodeKey];
|
|
@@ -91,12 +92,12 @@ class NscTree extends TreePanel {
|
|
|
91
92
|
} else {
|
|
92
93
|
titleNode = item.title;
|
|
93
94
|
}
|
|
94
|
-
if (item[children]) {
|
|
95
|
+
if (item[children] || item !== null && item !== void 0 && item.attribute[children]) {
|
|
95
96
|
return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
|
|
96
97
|
key: item.attribute.key || item[key],
|
|
97
98
|
title: titleNode,
|
|
98
99
|
icon: this.props.icon
|
|
99
|
-
}), this.renderTreeNodes(item[children], renderFn));
|
|
100
|
+
}), this.renderTreeNodes(item[children] || item.attribute[children], renderFn));
|
|
100
101
|
}
|
|
101
102
|
return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
|
|
102
103
|
key: item.attribute.key,
|
|
@@ -245,4 +246,4 @@ _defineProperty(NscTree, "defaultProps", {
|
|
|
245
246
|
store: {}
|
|
246
247
|
});
|
|
247
248
|
export default NscTree;
|
|
248
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRyZWVQYW5lbCIsInV0aWxzIiwiU3RvcmUiLCJTdG9yZUNvbmZpZ1R5cGUiLCJUcmVlU2VhcmNoIiwic3R5bGVzIiwiVHJlZU5vZGUiLCJfVHJlZSIsIk5zY1RyZWUiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwia2V5Iiwibm9kZUtleSIsInJlc3ROb2RlUHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJmaWVsZE5hbWVzIiwiY2hpbGRyZW4iLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJ0aXRsZU5vZGUiLCJ0aXRsZSIsImF0dHJpYnV0ZSIsInN1YnRpdGxlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiY29sb3IiLCJjb25jYXQiLCJfZXh0ZW5kcyIsImljb24iLCJyZW5kZXJUcmVlTm9kZXMiLCJyZW5kZXJUZW1wbGF0ZSIsImJpbmQiLCJfZGF0YVRvQ2hlY2tlZEtleXMiLCJtb2RlbERhdGEiLCJjaGVja2VkS2V5cyIsImNoZWNrZWQiLCJoYWxmQ2hlY2tlZCIsImZvckVhY2hUcmVlIiwicHVzaCIsImdldENoZWNrZWRLZXlzIiwibnNjVHJlZVJlZiIsImN1cnJlbnQiLCJnZXRDaGVja2VkTm9kZXMiLCJrZXlFbnRpdGllcyIsInN0YXRlIiwiZ2V0Q2hlY2tlZEFsbEtleXMiLCJoYWxmQ2hlY2tlZEtleXMiLCJnZXRDaGVja2VkQWxsTm9kZXMiLCJjaGVja2VkS2V5c0FsbCIsInRyZWVQcm9wcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm5ld01lbnVEYXRhcyIsInRyZWVEYXRhIiwib3BlbktleXMiLCJfZXhjbHVkZWQyIiwiY2hlY2tQcm9wYWdhdGlvbiIsImNoZWNrU3RyaWN0bHkiLCJzaG93SWNvbiIsImxhenlsb2FkIiwibG9hZERhdGEiLCJfb25Mb2FkRGF0YSIsIm9uQ2hlY2tGbiIsIm9uQ2hlY2siLCJlIiwic2V0U3RhdGUiLCJvblNlbGVjdEZuIiwib25TZWxlY3QiLCJzZWxlY3RlZEtleXMiLCJub2RlSW5mbyIsInNlbGVjdE5vZGUiLCJzZWxlY3RlZCIsInNlbGVjdGVkTm9kZXMiLCJleHBhbmRlZEtleXMiLCJfU3BpbiIsInNwaW5uaW5nIiwibG9hZGluZyIsImNsYXNzTmFtZSIsImVkaXRhYmxlIiwic2VhcmNoYWJsZSIsInRyZWVJbnN0YW5jZSIsImhhbmRsZUFkZE1vZHVsZSIsImhhbmRsZUVkaXRNb2R1bGUiLCJoYW5kbGVEZWxldGVNb2R1bGUiLCJBcnJheSIsImlzQXJyYXkiLCJyZWYiLCJjaGVja2FibGUiLCJyZW5kZXJUcmVlTm9kZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdHJlZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBUcmVlLCBUcmVlUHJvcHMsIFNwaW4sIFRyZWVOb2RlUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgVHJlZVBhbmVsLCB7XHJcbiAgSVRyZWVQYW5lbFByb3BzLFxyXG4gIFRyZWVDb21tb25Qcm9wcyxcclxufSBmcm9tIFwiLi4vY29tbW9uL1RyZWVQYW5lbFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IFJjVHJlZSBmcm9tIFwicmMtdHJlZVwiO1xyXG5pbXBvcnQgeyBEYXRhTm9kZSwgRXZlbnREYXRhTm9kZSB9IGZyb20gXCJyYy10cmVlL2xpYi9pbnRlcmZhY2VcIjtcclxuZXhwb3J0IHsgU3RvcmUsIFN0b3JlQ29uZmlnVHlwZSB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgVHJlZVNlYXJjaCBmcm9tIFwiLi9UcmVlU2VhcmNoXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5jb25zdCB7IFRyZWVOb2RlIH0gPSBUcmVlO1xyXG4vLyBpbXBvcnQgVHJlZU5vZGUgZnJvbSBcIi4vTnNjVHJlZU5vZGVcIjtcclxudHlwZSBOc2NEYXRhTm9kZVByb3BzID0gRGF0YU5vZGUgJiB7IHByb3BzOiB7IGRhdGFyZWY6IGFueSB9IH07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5zY1RyZWVQcm9wcyBleHRlbmRzIElUcmVlUGFuZWxQcm9wcyB7XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG4gIHRyZWVEYXRhPzogYW55W107XHJcbiAgc2VhcmNoYWJsZT86IGJvb2xlYW47XHJcbiAgbm9kZVByb3BzPzogVHJlZU5vZGVQcm9wcztcclxuICBmaWVsZE5hbWVzPzoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBjaGlsZHJlbjogc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuXHJcbmNsYXNzIE5zY1RyZWUgZXh0ZW5kcyBUcmVlUGFuZWw8TnNjVHJlZVByb3BzICYgVHJlZUNvbW1vblByb3BzPiB7XHJcbiAgbnNjVHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxSY1RyZWUgJiBUcmVlUHJvcHM+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnJlbmRlclRlbXBsYXRlID0gdGhpcy5yZW5kZXJUZW1wbGF0ZS5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogeyBzdG9yZToge30gfSA9IHsgc3RvcmU6IHt9IH07XHJcblxyXG4gIF9kYXRhVG9DaGVja2VkS2V5cyhtb2RlbERhdGEpOiBhbnkge1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzID0geyBjaGVja2VkOiBbXSwgaGFsZkNoZWNrZWQ6IFtdIH07XHJcbiAgICB1dGlscy5mb3JFYWNoVHJlZShtb2RlbERhdGEsIGZ1bmN0aW9uIChub2RlKSB7XHJcbiAgICAgIGlmIChub2RlLmNoZWNrZWQgPT0gdHJ1ZSkge1xyXG4gICAgICAgIGNoZWNrZWRLZXlzLmNoZWNrZWQucHVzaChub2RlLmF0dHJpYnV0ZS5rZXkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjaGVja2VkS2V5cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOagkeaQnOe0olxyXG4gICAqL1xyXG4gIC8vIGhhbmRsZVNlYXJjaCA9ICh2YWx1ZSkgPT4ge1xyXG4gIC8vICAgdGhpcy5zZXRTdGF0ZSh7IHNlYXJjaFRleHQ6IHZhbHVlIH0pO1xyXG4gIC8vIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPlumAieS4reiKgueCuUlE5pWw57uEXHJcbiAgICogQHJldHVybiBTdHJpbmdbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRLZXlzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQ7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrnlr7nosaHmlbDnu4RcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWROb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGtleUVudGl0aWVzIH0gPSB0aGlzLm5zY1RyZWVSZWYuY3VycmVudC5zdGF0ZTtcclxuICAgIGxldCBub2RlcyA9IFtdIGFzIE5zY0RhdGFOb2RlUHJvcHNbXTtcclxuICAgIGNoZWNrZWRLZXlzLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIC8vIG5vZGVzLnB1c2goa2V5RW50aXRpZXNba2V5XS5ub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgICBjb25zdCBub2RlID0ga2V5RW50aXRpZXNba2V5XS5ub2RlIGFzIE5zY0RhdGFOb2RlUHJvcHM7XHJcbiAgICAgIG5vZGVzLnB1c2gobm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5SUTvvIzljIXlkKvljYrpgInkuK3oioLngrlJRFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkQWxsS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blhajpg6jpgInkuK3oioLngrlOb2Rl5a+56LGh77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5Tm9kZeWvueixoVxyXG4gICAqIEByZXR1cm4gbm9kZVtdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbE5vZGVzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cywgaGFsZkNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID1cclxuICAgICAgdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgY2hlY2tlZEtleXNBbGwgPSBjaGVja2VkS2V5cy5jb25jYXQoaGFsZkNoZWNrZWRLZXlzKTtcclxuICAgIGxldCBub2RlcyA9IFtdO1xyXG4gICAgY2hlY2tlZEtleXNBbGwubWFwKChrZXkpID0+IHtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8vIOa3u+WKoOaooeWdl1xyXG4gIGhhbmRsZUFkZE1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVBZGQgPSB0aGlzLnByb3BzLmhhbmRsZUFkZDtcclxuICAgIGhhbmRsZUFkZCAmJiBoYW5kbGVBZGQobm9kZSk7XHJcbiAgfTtcclxuXHJcbiAgaGFuZGxlRWRpdE1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVFZGl0ID0gdGhpcy5wcm9wcy5oYW5kbGVFZGl0O1xyXG4gICAgaGFuZGxlRWRpdCAmJiBoYW5kbGVFZGl0KG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZURlbGV0ZU1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVEZWxldGUgPSB0aGlzLnByb3BzLmhhbmRsZURlbGV0ZTtcclxuICAgIGhhbmRsZURlbGV0ZSAmJiBoYW5kbGVEZWxldGUobm9kZSk7XHJcbiAgfTtcclxuXHJcbiAgX29uTG9hZERhdGEgPSAodHJlZU5vZGU6IEV2ZW50RGF0YU5vZGU8YW55PiAmIHsgcHJvcHM6IHsgZGF0YXJlZiB9IH0pID0+XHJcbiAgICBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgICAgbm9kZSA9IHRyZWVOb2RlLnByb3BzLmRhdGFyZWY7XHJcbiAgICAgIHRoaXMuc3RvcmUubGF6eUxvYWQobm9kZSwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJlc29sdmUobm9kZSk7XHJcbiAgICAgICAgX3RoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgcmVuZGVyVGVtcGxhdGUodHJlZVByb3BzID0ge30gYXMgSVRyZWVQYW5lbFByb3BzLCBuZXdNZW51RGF0YXMgPSBbXSkge1xyXG4gICAgY29uc3QgeyB0cmVlRGF0YSwgb3BlbktleXMsIC4uLnByb3BzIH0gPSB0cmVlUHJvcHM7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAocHJvcHMuY2hlY2tQcm9wYWdhdGlvbikge1xyXG4gICAgICBwcm9wcy5jaGVja1N0cmljdGx5ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5zaG93SWNvbiA9PSBudWxsKSB7XHJcbiAgICAgIHByb3BzLnNob3dJY29uID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgeyBsYXp5bG9hZCB9ID0gdGhpcy5zdG9yZS5jb25maWc7XHJcbiAgICBpZiAobGF6eWxvYWQpIHtcclxuICAgICAgcHJvcHMubG9hZERhdGEgPSB0aGlzLl9vbkxvYWREYXRhO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb25DaGVja0ZuID0gcHJvcHMub25DaGVjaztcclxuICAgIHByb3BzLm9uQ2hlY2sgPSBmdW5jdGlvbiAoY2hlY2tlZEtleXMsIGUpIHtcclxuICAgICAgX3RoaXMuc2V0U3RhdGUoeyBjaGVja2VkS2V5czogY2hlY2tlZEtleXMgfSk7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKG9uQ2hlY2tGbiwgX3RoaXMsIFtjaGVja2VkS2V5cywgZV0pO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IG9uU2VsZWN0Rm4gPSBwcm9wcy5vblNlbGVjdDtcclxuICAgIHByb3BzLm9uU2VsZWN0ID0gKHNlbGVjdGVkS2V5cywgbm9kZUluZm8pID0+IHtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25TZWxlY3RGbiwgX3RoaXMsIFtzZWxlY3RlZEtleXMsIG5vZGVJbmZvXSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHNlbGVjdE5vZGU6IG5vZGVJbmZvLnNlbGVjdGVkID8gbm9kZUluZm8uc2VsZWN0ZWROb2Rlc1swXSA6IG51bGwsXHJcbiAgICAgICAgc2VsZWN0ZWRLZXlzLFxyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wZW5LZXlzKSB7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkS2V5cyA9IG9wZW5LZXlzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFNwaW4gc3Bpbm5pbmc9e3RoaXMuc3RhdGUubG9hZGluZ30+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10cmVlLWJveFwiXX0+XHJcbiAgICAgICAgICB7KF90aGlzLnByb3BzLmVkaXRhYmxlIHx8IF90aGlzLnByb3BzLnNlYXJjaGFibGUpICYmIChcclxuICAgICAgICAgICAgPFRyZWVTZWFyY2hcclxuICAgICAgICAgICAgICB0cmVlSW5zdGFuY2U9e3RoaXN9XHJcbiAgICAgICAgICAgICAgaGFuZGxlQWRkTW9kdWxlPXt0aGlzLmhhbmRsZUFkZE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVFZGl0TW9kdWxlPXt0aGlzLmhhbmRsZUVkaXRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRGVsZXRlTW9kdWxlPXt0aGlzLmhhbmRsZURlbGV0ZU1vZHVsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7QXJyYXkuaXNBcnJheShuZXdNZW51RGF0YXMpICYmIG5ld01lbnVEYXRhcy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgPFRyZWUgcmVmPXt0aGlzLm5zY1RyZWVSZWZ9IGNoZWNrYWJsZSB7Li4ucHJvcHN9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhuZXdNZW51RGF0YXMsIHByb3BzLnJlbmRlclRyZWVOb2RlKX1cclxuICAgICAgICAgICAgPC9UcmVlPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9TcGluPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlclRyZWVOb2RlcyA9IChkYXRhLCByZW5kZXJGbikgPT4ge1xyXG4gICAgY29uc3Qgbm9kZVByb3BzID0gdGhpcy5wcm9wcy5ub2RlUHJvcHMgfHwge307XHJcbiAgICBjb25zdCB7IGtleTogbm9kZUtleSwgLi4ucmVzdE5vZGVQcm9wcyB9ID0gbm9kZVByb3BzO1xyXG4gICAgY29uc3QgeyBmaWVsZE5hbWVzID0ge30gYXMgYW55IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiA9IFwiY2hpbGROb2Rlc1wiLCBrZXkgPSBcImtleVwiIH0gPSBmaWVsZE5hbWVzO1xyXG4gICAgY29uc3Qgbm9kZXMgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgcHJvcHMgPSB7IGRhdGFyZWY6IGl0ZW0gfSBhcyBUcmVlTm9kZVByb3BzO1xyXG4gICAgICBpdGVtLmNvbmZpZy5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gXCJrZXlcIiAmJiBub2RlS2V5KSB7XHJcbiAgICAgICAgICBwcm9wcy5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgICAgaXRlbS5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wc1tmaWVsZC5uYW1lXSA9IGl0ZW1bZmllbGQubmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wcywgcmVzdE5vZGVQcm9wcyk7XHJcbiAgICAgIGlmIChyZW5kZXJGbikge1xyXG4gICAgICAgIHByb3BzID0gdXRpbHMuY2FsbGJhY2socmVuZGVyRm4sIHRoaXMsIFtwcm9wcywgaXRlbV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdGl0bGVOb2RlID0gbnVsbDtcclxuICAgICAgaWYgKHR5cGVvZiBpdGVtLnRpdGxlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICBpZiAoaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUpIHtcclxuICAgICAgICAgIHRpdGxlTm9kZSA9IChcclxuICAgICAgICAgICAgPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGUgKyBcIu+8iFwiICsgaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUgKyBcIu+8iVwifT5cclxuICAgICAgICAgICAgICA8c3Bhbj57aXRlbS50aXRsZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBcInJnYmEoMCwwLDAsLjQ1KVwiIH19XHJcbiAgICAgICAgICAgICAgPntg77yIJHtpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZX3vvIlgfTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGl0bGVOb2RlID0gPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGV9PntpdGVtLnRpdGxlfTwvc3Bhbj47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRpdGxlTm9kZSA9IGl0ZW0udGl0bGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGl0ZW1bY2hpbGRyZW5dKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxUcmVlTm9kZVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIGtleT17aXRlbS5hdHRyaWJ1dGUua2V5IHx8IGl0ZW1ba2V5XX1cclxuICAgICAgICAgICAgdGl0bGU9e3RpdGxlTm9kZX1cclxuICAgICAgICAgICAgaWNvbj17dGhpcy5wcm9wcy5pY29ufVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJUcmVlTm9kZXMoaXRlbVtjaGlsZHJlbl0sIHJlbmRlckZuKX1cclxuICAgICAgICAgIDwvVHJlZU5vZGU+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8VHJlZU5vZGVcclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fVxyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlTm9kZX1cclxuICAgICAgICAgIGljb249e3RoaXMucHJvcHMuaWNvbn1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5zY1RyZWU7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBRXpCLE9BQU9DLFNBQVMsTUFHVCxxQkFBcUI7QUFDNUIsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUc3QyxTQUFTQyxLQUFLLEVBQUVDLGVBQWUsUUFBUSxhQUFhO0FBQ3BELE9BQU9DLFVBQVUsTUFBTSxjQUFjO0FBQ3JDLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLE1BQU07RUFBRUM7QUFBUyxDQUFDLEdBQUFDLEtBQU87QUFDekI7O0FBY0EsTUFBTUMsT0FBTyxTQUFTUixTQUFTLENBQWlDO0VBRzlEUyxXQUFXQSxDQUFDQyxNQUFLLEVBQUU7SUFDakIsS0FBSyxDQUFDQSxNQUFLLENBQUM7SUFBQ0MsZUFBQSxrQ0FIRlosS0FBSyxDQUFDYSxTQUFTLENBQXFCLENBQUM7SUEyRWxEO0lBQUFELGVBQUEsMEJBQ21CRSxJQUFJLElBQUs7TUFDMUIsTUFBTUMsU0FBUyxHQUFHLElBQUksQ0FBQ0osS0FBSyxDQUFDSSxTQUFTO01BQ3RDQSxTQUFTLElBQUlBLFNBQVMsQ0FBQ0QsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFBQUYsZUFBQSwyQkFFbUJFLElBQUksSUFBSztNQUMzQixNQUFNRSxVQUFVLEdBQUcsSUFBSSxDQUFDTCxLQUFLLENBQUNLLFVBQVU7TUFDeENBLFVBQVUsSUFBSUEsVUFBVSxDQUFDRixJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUFBRixlQUFBLDZCQUVxQkUsSUFBSSxJQUFLO01BQzdCLE1BQU1HLFlBQVksR0FBRyxJQUFJLENBQUNOLEtBQUssQ0FBQ00sWUFBWTtNQUM1Q0EsWUFBWSxJQUFJQSxZQUFZLENBQUNILElBQUksQ0FBQztJQUNwQyxDQUFDO0lBQUFGLGVBQUEsc0JBRWNNLFFBQXFELElBQ2xFLElBQUlDLE9BQU8sQ0FBUUMsT0FBTyxJQUFLO01BQzdCLE1BQU1DLEtBQUssR0FBRyxJQUFJO1FBQ2hCUCxJQUFJLEdBQUdJLFFBQVEsQ0FBQ1AsS0FBSyxDQUFDVyxPQUFPO01BQy9CLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLENBQUNWLElBQUksRUFBRSxZQUFZO1FBQ3BDTSxPQUFPLENBQUNOLElBQUksQ0FBQztRQUNiTyxLQUFLLENBQUNJLFdBQVcsQ0FBQyxDQUFDO01BQ3JCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUFBYixlQUFBLDBCQXNEYyxDQUFDYyxJQUFJLEVBQUVDLFFBQVEsS0FBSztNQUNwQyxNQUFNQyxTQUFTLEdBQUcsSUFBSSxDQUFDakIsS0FBSyxDQUFDaUIsU0FBUyxJQUFJLENBQUMsQ0FBQztNQUM1QyxNQUFNO1VBQUVDLEdBQUcsRUFBRUM7UUFBMEIsQ0FBQyxHQUFHRixTQUFTO1FBQTNCRyxhQUFhLEdBQUFDLHdCQUFBLENBQUtKLFNBQVMsRUFBQUssU0FBQTtNQUNwRCxNQUFNO1FBQUVDLFVBQVUsR0FBRyxDQUFDO01BQVMsQ0FBQyxHQUFHLElBQUksQ0FBQ3ZCLEtBQUs7TUFDN0MsTUFBTTtRQUFFd0IsUUFBUSxHQUFHLFlBQVk7UUFBRU4sR0FBRyxHQUFHO01BQU0sQ0FBQyxHQUFHSyxVQUFVO01BQzNELE1BQU1FLEtBQUssR0FBR1YsSUFBSSxDQUFDVyxHQUFHLENBQUVDLElBQUksSUFBSztRQUMvQixJQUFJM0IsS0FBSyxHQUFHO1VBQUVXLE9BQU8sRUFBRWdCO1FBQUssQ0FBa0I7UUFDOUNBLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxNQUFNLENBQUNDLE9BQU8sQ0FBRUMsS0FBSyxJQUFLO1VBQ3BDLElBQUlBLEtBQUssQ0FBQ0MsSUFBSSxLQUFLLEtBQUssSUFBSWIsT0FBTyxFQUFFO1lBQ25DbkIsS0FBSyxDQUFDa0IsR0FBRyxHQUFHUyxJQUFJLENBQUNSLE9BQU8sQ0FBQztZQUN6QlEsSUFBSSxDQUFDVCxHQUFHLEdBQUdTLElBQUksQ0FBQ1IsT0FBTyxDQUFDO1VBQzFCLENBQUMsTUFBTTtZQUNMbkIsS0FBSyxDQUFDK0IsS0FBSyxDQUFDQyxJQUFJLENBQUMsR0FBR0wsSUFBSSxDQUFDSSxLQUFLLENBQUNDLElBQUksQ0FBQztVQUN0QztRQUNGLENBQUMsQ0FBQztRQUNGQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ2xDLEtBQUssRUFBRW9CLGFBQWEsQ0FBQztRQUNuQyxJQUFJSixRQUFRLEVBQUU7VUFDWmhCLEtBQUssR0FBR1QsS0FBSyxDQUFDNEMsUUFBUSxDQUFDbkIsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDaEIsS0FBSyxFQUFFMkIsSUFBSSxDQUFDLENBQUM7UUFDdkQ7UUFFQSxJQUFJUyxTQUFTLEdBQUcsSUFBSTtRQUNwQixJQUFJLE9BQU9ULElBQUksQ0FBQ1UsS0FBSyxJQUFJLFFBQVEsRUFBRTtVQUNqQyxJQUFJVixJQUFJLENBQUNXLFNBQVMsQ0FBQ0MsUUFBUSxFQUFFO1lBQzNCSCxTQUFTLGdCQUNQL0MsS0FBQSxDQUFBbUQsYUFBQTtjQUFNSCxLQUFLLEVBQUVWLElBQUksQ0FBQ1UsS0FBSyxHQUFHLEdBQUcsR0FBR1YsSUFBSSxDQUFDVyxTQUFTLENBQUNDLFFBQVEsR0FBRztZQUFJLGdCQUM1RGxELEtBQUEsQ0FBQW1ELGFBQUEsZUFBT2IsSUFBSSxDQUFDVSxLQUFZLENBQUMsZUFDekJoRCxLQUFBLENBQUFtRCxhQUFBO2NBQ0VDLEtBQUssRUFBRTtnQkFBRUMsS0FBSyxFQUFFO2NBQWtCO1lBQUUsWUFBQUMsTUFBQSxDQUNoQ2hCLElBQUksQ0FBQ1csU0FBUyxDQUFDQyxRQUFRLFdBQVUsQ0FDbkMsQ0FDUDtVQUNILENBQUMsTUFBTTtZQUNMSCxTQUFTLGdCQUFHL0MsS0FBQSxDQUFBbUQsYUFBQTtjQUFNSCxLQUFLLEVBQUVWLElBQUksQ0FBQ1U7WUFBTSxHQUFFVixJQUFJLENBQUNVLEtBQVksQ0FBQztVQUMxRDtRQUNGLENBQUMsTUFBTTtVQUNMRCxTQUFTLEdBQUdULElBQUksQ0FBQ1UsS0FBSztRQUN4QjtRQUNBLElBQUlWLElBQUksQ0FBQ0gsUUFBUSxDQUFDLEVBQUU7VUFDbEIsb0JBQ0VuQyxLQUFBLENBQUFtRCxhQUFBLENBQUM1QyxRQUFRLEVBQUFnRCxRQUFBLEtBQ0g1QyxLQUFLO1lBQ1RrQixHQUFHLEVBQUVTLElBQUksQ0FBQ1csU0FBUyxDQUFDcEIsR0FBRyxJQUFJUyxJQUFJLENBQUNULEdBQUcsQ0FBRTtZQUNyQ21CLEtBQUssRUFBRUQsU0FBVTtZQUNqQlMsSUFBSSxFQUFFLElBQUksQ0FBQzdDLEtBQUssQ0FBQzZDO1VBQUssSUFFckIsSUFBSSxDQUFDQyxlQUFlLENBQUNuQixJQUFJLENBQUNILFFBQVEsQ0FBQyxFQUFFUixRQUFRLENBQ3RDLENBQUM7UUFFZjtRQUVBLG9CQUNFM0IsS0FBQSxDQUFBbUQsYUFBQSxDQUFDNUMsUUFBUSxFQUFBZ0QsUUFBQSxLQUNINUMsS0FBSztVQUNUa0IsR0FBRyxFQUFFUyxJQUFJLENBQUNXLFNBQVMsQ0FBQ3BCLEdBQUk7VUFDeEJtQixLQUFLLEVBQUVELFNBQVU7VUFDakJTLElBQUksRUFBRSxJQUFJLENBQUM3QyxLQUFLLENBQUM2QztRQUFLLEVBQ3ZCLENBQUM7TUFFTixDQUFDLENBQUM7TUFFRixPQUFPcEIsS0FBSztJQUNkLENBQUM7SUFsTkMsSUFBSSxDQUFDc0IsY0FBYyxHQUFHLElBQUksQ0FBQ0EsY0FBYyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO0VBQ3REO0VBSUFDLGtCQUFrQkEsQ0FBQ0MsU0FBUyxFQUFPO0lBQ2pDLElBQUlDLFdBQVcsR0FBRztNQUFFQyxPQUFPLEVBQUUsRUFBRTtNQUFFQyxXQUFXLEVBQUU7SUFBRyxDQUFDO0lBQ2xEOUQsS0FBSyxDQUFDK0QsV0FBVyxDQUFDSixTQUFTLEVBQUUsVUFBVS9DLElBQUksRUFBRTtNQUMzQyxJQUFJQSxJQUFJLENBQUNpRCxPQUFPLElBQUksSUFBSSxFQUFFO1FBQ3hCRCxXQUFXLENBQUNDLE9BQU8sQ0FBQ0csSUFBSSxDQUFDcEQsSUFBSSxDQUFDbUMsU0FBUyxDQUFDcEIsR0FBRyxDQUFDO01BQzlDO0lBQ0YsQ0FBQyxDQUFDO0lBQ0YsT0FBT2lDLFdBQVc7RUFDcEI7O0VBRUE7QUFDRjtBQUNBO0VBQ0U7RUFDQTtFQUNBOztFQUVBO0FBQ0Y7QUFDQTtBQUNBO0VBQ0VLLGNBQWNBLENBQUEsRUFBRztJQUNmLE1BQU07TUFBRUw7SUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDTSxVQUFVLENBQUNDLE9BQU87SUFDL0MsT0FBT1AsV0FBVztFQUNwQjs7RUFFQTtBQUNGO0FBQ0E7QUFDQTtFQUNFUSxlQUFlQSxDQUFBLEVBQUc7SUFDaEIsTUFBTTtNQUFFUixXQUFXO01BQUVTO0lBQVksQ0FBQyxHQUFHLElBQUksQ0FBQ0gsVUFBVSxDQUFDQyxPQUFPLENBQUNHLEtBQUs7SUFDbEUsSUFBSXBDLEtBQUssR0FBRyxFQUF3QjtJQUNwQzBCLFdBQVcsQ0FBQ3pCLEdBQUcsQ0FBRVIsR0FBRyxJQUFLO01BQ3ZCO01BQ0EsTUFBTWYsSUFBSSxHQUFHeUQsV0FBVyxDQUFDMUMsR0FBRyxDQUFDLENBQUNmLElBQXdCO01BQ3REc0IsS0FBSyxDQUFDOEIsSUFBSSxDQUFDcEQsSUFBSSxDQUFDSCxLQUFLLENBQUNXLE9BQU8sQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFDRixPQUFPYyxLQUFLO0VBQ2Q7O0VBRUE7QUFDRjtBQUNBO0FBQ0E7RUFDRXFDLGlCQUFpQkEsQ0FBQSxFQUFHO0lBQ2xCLE1BQU07TUFBRVgsV0FBVztNQUFFWTtJQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDTixVQUFVLENBQUNDLE9BQU8sQ0FBQ0csS0FBSztJQUN0RSxPQUFPVixXQUFXLENBQUNSLE1BQU0sQ0FBQ29CLGVBQWUsQ0FBQztFQUM1Qzs7RUFFQTtBQUNGO0FBQ0E7QUFDQTtFQUNFQyxrQkFBa0JBLENBQUEsRUFBRztJQUNuQixNQUFNO01BQUViLFdBQVc7TUFBRVksZUFBZTtNQUFFSDtJQUFZLENBQUMsR0FDakQsSUFBSSxDQUFDSCxVQUFVLENBQUNDLE9BQU8sQ0FBQ0csS0FBSztJQUMvQixJQUFJSSxjQUFjLEdBQUdkLFdBQVcsQ0FBQ1IsTUFBTSxDQUFDb0IsZUFBZSxDQUFDO0lBQ3hELElBQUl0QyxLQUFLLEdBQUcsRUFBRTtJQUNkd0MsY0FBYyxDQUFDdkMsR0FBRyxDQUFFUixHQUFHLElBQUs7TUFDMUIsTUFBTWYsSUFBSSxHQUFHeUQsV0FBVyxDQUFDMUMsR0FBRyxDQUFDLENBQUNmLElBQXdCO01BQ3REc0IsS0FBSyxDQUFDOEIsSUFBSSxDQUFDcEQsSUFBSSxDQUFDSCxLQUFLLENBQUNXLE9BQU8sQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFDRixPQUFPYyxLQUFLO0VBQ2Q7RUE0QkFzQixjQUFjQSxDQUFBLEVBQXVEO0lBQUEsSUFBdERtQixTQUFTLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztJQUFBLElBQXFCRyxZQUFZLEdBQUFILFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLEVBQUU7SUFDakUsTUFBTTtRQUFFSSxRQUFRO1FBQUVDO01BQW1CLENBQUMsR0FBR04sU0FBUztNQUFuQmxFLEtBQUssR0FBQXFCLHdCQUFBLENBQUs2QyxTQUFTLEVBQUFPLFVBQUE7SUFDbEQsTUFBTS9ELEtBQUssR0FBRyxJQUFJO0lBQ2xCLElBQUlWLEtBQUssQ0FBQzBFLGdCQUFnQixFQUFFO01BQzFCMUUsS0FBSyxDQUFDMkUsYUFBYSxHQUFHLElBQUk7SUFDNUI7SUFDQSxJQUFJM0UsS0FBSyxDQUFDNEUsUUFBUSxJQUFJLElBQUksRUFBRTtNQUMxQjVFLEtBQUssQ0FBQzRFLFFBQVEsR0FBRyxJQUFJO0lBQ3ZCO0lBRUEsSUFBSTtNQUFFQztJQUFTLENBQUMsR0FBRyxJQUFJLENBQUNqRSxLQUFLLENBQUNnQixNQUFNO0lBQ3BDLElBQUlpRCxRQUFRLEVBQUU7TUFDWjdFLEtBQUssQ0FBQzhFLFFBQVEsR0FBRyxJQUFJLENBQUNDLFdBQVc7SUFDbkM7SUFDQSxNQUFNQyxTQUFTLEdBQUdoRixLQUFLLENBQUNpRixPQUFPO0lBQy9CakYsS0FBSyxDQUFDaUYsT0FBTyxHQUFHLFVBQVU5QixXQUFXLEVBQUUrQixDQUFDLEVBQUU7TUFDeEN4RSxLQUFLLENBQUN5RSxRQUFRLENBQUM7UUFBRWhDLFdBQVcsRUFBRUE7TUFBWSxDQUFDLENBQUM7TUFDNUM1RCxLQUFLLENBQUM0QyxRQUFRLENBQUM2QyxTQUFTLEVBQUV0RSxLQUFLLEVBQUUsQ0FBQ3lDLFdBQVcsRUFBRStCLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNRSxVQUFVLEdBQUdwRixLQUFLLENBQUNxRixRQUFRO0lBQ2pDckYsS0FBSyxDQUFDcUYsUUFBUSxHQUFHLENBQUNDLFlBQVksRUFBRUMsUUFBUSxLQUFLO01BQzNDaEcsS0FBSyxDQUFDNEMsUUFBUSxDQUFDaUQsVUFBVSxFQUFFMUUsS0FBSyxFQUFFLENBQUM0RSxZQUFZLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO01BQzNELElBQUksQ0FBQ0osUUFBUSxDQUFDO1FBQ1pLLFVBQVUsRUFBRUQsUUFBUSxDQUFDRSxRQUFRLEdBQUdGLFFBQVEsQ0FBQ0csYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUk7UUFDaEVKO01BQ0YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUlkLFFBQVEsRUFBRTtNQUNaeEUsS0FBSyxDQUFDMkYsWUFBWSxHQUFHbkIsUUFBUTtJQUMvQjtJQUNBLG9CQUNFbkYsS0FBQSxDQUFBbUQsYUFBQSxDQUFBb0QsS0FBQTtNQUFNQyxRQUFRLEVBQUUsSUFBSSxDQUFDaEMsS0FBSyxDQUFDaUM7SUFBUSxnQkFDakN6RyxLQUFBLENBQUFtRCxhQUFBO01BQUt1RCxTQUFTLEVBQUVwRyxNQUFNLENBQUMsY0FBYztJQUFFLEdBQ3BDLENBQUNlLEtBQUssQ0FBQ1YsS0FBSyxDQUFDZ0csUUFBUSxJQUFJdEYsS0FBSyxDQUFDVixLQUFLLENBQUNpRyxVQUFVLGtCQUM5QzVHLEtBQUEsQ0FBQW1ELGFBQUEsQ0FBQzlDLFVBQVU7TUFDVHdHLFlBQVksRUFBRSxJQUFLO01BQ25CQyxlQUFlLEVBQUUsSUFBSSxDQUFDQSxlQUFnQjtNQUN0Q0MsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDQSxnQkFBaUI7TUFDeENDLGtCQUFrQixFQUFFLElBQUksQ0FBQ0E7SUFBbUIsQ0FDN0MsQ0FDRixFQUNBQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ2pDLFlBQVksQ0FBQyxJQUFJQSxZQUFZLENBQUNGLE1BQU0sR0FBRyxDQUFDLGlCQUNyRC9FLEtBQUEsQ0FBQW1ELGFBQUEsQ0FBQTNDLEtBQUEsRUFBQStDLFFBQUE7TUFBTTRELEdBQUcsRUFBRSxJQUFJLENBQUMvQyxVQUFXO01BQUNnRCxTQUFTO0lBQUEsR0FBS3pHLEtBQUssR0FDNUMsSUFBSSxDQUFDOEMsZUFBZSxDQUFDd0IsWUFBWSxFQUFFdEUsS0FBSyxDQUFDMEcsY0FBYyxDQUNwRCxDQUVMLENBQ0QsQ0FBQztFQUVYO0FBZ0VGO0FBQUN6RyxlQUFBLENBeE5LSCxPQUFPLGtCQVEwQjtFQUFFYyxLQUFLLEVBQUUsQ0FBQztBQUFFLENBQUM7QUFrTnBELGVBQWVkLE9BQU8ifQ==
|
|
249
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRyZWVQYW5lbCIsInV0aWxzIiwiU3RvcmUiLCJTdG9yZUNvbmZpZ1R5cGUiLCJUcmVlU2VhcmNoIiwic3R5bGVzIiwiVHJlZU5vZGUiLCJfVHJlZSIsIk5zY1RyZWUiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwia2V5Iiwibm9kZUtleSIsInJlc3ROb2RlUHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJmaWVsZE5hbWVzIiwiY2hpbGRyZW4iLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJfaXRlbSRjb25maWciLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJ0aXRsZU5vZGUiLCJ0aXRsZSIsImF0dHJpYnV0ZSIsInN1YnRpdGxlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiY29sb3IiLCJjb25jYXQiLCJfZXh0ZW5kcyIsImljb24iLCJyZW5kZXJUcmVlTm9kZXMiLCJyZW5kZXJUZW1wbGF0ZSIsImJpbmQiLCJfZGF0YVRvQ2hlY2tlZEtleXMiLCJtb2RlbERhdGEiLCJjaGVja2VkS2V5cyIsImNoZWNrZWQiLCJoYWxmQ2hlY2tlZCIsImZvckVhY2hUcmVlIiwicHVzaCIsImdldENoZWNrZWRLZXlzIiwibnNjVHJlZVJlZiIsImN1cnJlbnQiLCJnZXRDaGVja2VkTm9kZXMiLCJrZXlFbnRpdGllcyIsInN0YXRlIiwiZ2V0Q2hlY2tlZEFsbEtleXMiLCJoYWxmQ2hlY2tlZEtleXMiLCJnZXRDaGVja2VkQWxsTm9kZXMiLCJjaGVja2VkS2V5c0FsbCIsInRyZWVQcm9wcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm5ld01lbnVEYXRhcyIsInRyZWVEYXRhIiwib3BlbktleXMiLCJfZXhjbHVkZWQyIiwiY2hlY2tQcm9wYWdhdGlvbiIsImNoZWNrU3RyaWN0bHkiLCJzaG93SWNvbiIsImxhenlsb2FkIiwibG9hZERhdGEiLCJfb25Mb2FkRGF0YSIsIm9uQ2hlY2tGbiIsIm9uQ2hlY2siLCJlIiwic2V0U3RhdGUiLCJvblNlbGVjdEZuIiwib25TZWxlY3QiLCJzZWxlY3RlZEtleXMiLCJub2RlSW5mbyIsInNlbGVjdE5vZGUiLCJzZWxlY3RlZCIsInNlbGVjdGVkTm9kZXMiLCJleHBhbmRlZEtleXMiLCJfU3BpbiIsInNwaW5uaW5nIiwibG9hZGluZyIsImNsYXNzTmFtZSIsImVkaXRhYmxlIiwic2VhcmNoYWJsZSIsInRyZWVJbnN0YW5jZSIsImhhbmRsZUFkZE1vZHVsZSIsImhhbmRsZUVkaXRNb2R1bGUiLCJoYW5kbGVEZWxldGVNb2R1bGUiLCJBcnJheSIsImlzQXJyYXkiLCJyZWYiLCJjaGVja2FibGUiLCJyZW5kZXJUcmVlTm9kZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdHJlZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBUcmVlLCBUcmVlUHJvcHMsIFNwaW4sIFRyZWVOb2RlUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgVHJlZVBhbmVsLCB7XHJcbiAgSVRyZWVQYW5lbFByb3BzLFxyXG4gIFRyZWVDb21tb25Qcm9wcyxcclxufSBmcm9tIFwiLi4vY29tbW9uL1RyZWVQYW5lbFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IFJjVHJlZSBmcm9tIFwicmMtdHJlZVwiO1xyXG5pbXBvcnQgeyBEYXRhTm9kZSwgRXZlbnREYXRhTm9kZSB9IGZyb20gXCJyYy10cmVlL2xpYi9pbnRlcmZhY2VcIjtcclxuZXhwb3J0IHsgU3RvcmUsIFN0b3JlQ29uZmlnVHlwZSB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgVHJlZVNlYXJjaCBmcm9tIFwiLi9UcmVlU2VhcmNoXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5jb25zdCB7IFRyZWVOb2RlIH0gPSBUcmVlO1xyXG4vLyBpbXBvcnQgVHJlZU5vZGUgZnJvbSBcIi4vTnNjVHJlZU5vZGVcIjtcclxudHlwZSBOc2NEYXRhTm9kZVByb3BzID0gRGF0YU5vZGUgJiB7IHByb3BzOiB7IGRhdGFyZWY6IGFueSB9IH07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5zY1RyZWVQcm9wcyBleHRlbmRzIElUcmVlUGFuZWxQcm9wcyB7XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG4gIHRyZWVEYXRhPzogYW55W107XHJcbiAgc2VhcmNoYWJsZT86IGJvb2xlYW47XHJcbiAgbm9kZVByb3BzPzogVHJlZU5vZGVQcm9wcztcclxuICBmaWVsZE5hbWVzPzoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBjaGlsZHJlbjogc3RyaW5nO1xyXG4gIH07XHJcbn1cclxuXHJcbmNsYXNzIE5zY1RyZWUgZXh0ZW5kcyBUcmVlUGFuZWw8TnNjVHJlZVByb3BzICYgVHJlZUNvbW1vblByb3BzPiB7XHJcbiAgbnNjVHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxSY1RyZWUgJiBUcmVlUHJvcHM+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnJlbmRlclRlbXBsYXRlID0gdGhpcy5yZW5kZXJUZW1wbGF0ZS5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogeyBzdG9yZToge30gfSA9IHsgc3RvcmU6IHt9IH07XHJcblxyXG4gIF9kYXRhVG9DaGVja2VkS2V5cyhtb2RlbERhdGEpOiBhbnkge1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzID0geyBjaGVja2VkOiBbXSwgaGFsZkNoZWNrZWQ6IFtdIH07XHJcbiAgICB1dGlscy5mb3JFYWNoVHJlZShtb2RlbERhdGEsIGZ1bmN0aW9uIChub2RlKSB7XHJcbiAgICAgIGlmIChub2RlLmNoZWNrZWQgPT0gdHJ1ZSkge1xyXG4gICAgICAgIGNoZWNrZWRLZXlzLmNoZWNrZWQucHVzaChub2RlLmF0dHJpYnV0ZS5rZXkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjaGVja2VkS2V5cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOagkeaQnOe0olxyXG4gICAqL1xyXG4gIC8vIGhhbmRsZVNlYXJjaCA9ICh2YWx1ZSkgPT4ge1xyXG4gIC8vICAgdGhpcy5zZXRTdGF0ZSh7IHNlYXJjaFRleHQ6IHZhbHVlIH0pO1xyXG4gIC8vIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPlumAieS4reiKgueCuUlE5pWw57uEXHJcbiAgICogQHJldHVybiBTdHJpbmdbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRLZXlzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQ7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrnlr7nosaHmlbDnu4RcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWROb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGtleUVudGl0aWVzIH0gPSB0aGlzLm5zY1RyZWVSZWYuY3VycmVudC5zdGF0ZTtcclxuICAgIGxldCBub2RlcyA9IFtdIGFzIE5zY0RhdGFOb2RlUHJvcHNbXTtcclxuICAgIGNoZWNrZWRLZXlzLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIC8vIG5vZGVzLnB1c2goa2V5RW50aXRpZXNba2V5XS5ub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgICBjb25zdCBub2RlID0ga2V5RW50aXRpZXNba2V5XS5ub2RlIGFzIE5zY0RhdGFOb2RlUHJvcHM7XHJcbiAgICAgIG5vZGVzLnB1c2gobm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5SUTvvIzljIXlkKvljYrpgInkuK3oioLngrlJRFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkQWxsS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blhajpg6jpgInkuK3oioLngrlOb2Rl5a+56LGh77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5Tm9kZeWvueixoVxyXG4gICAqIEByZXR1cm4gbm9kZVtdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbE5vZGVzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cywgaGFsZkNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID1cclxuICAgICAgdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgY2hlY2tlZEtleXNBbGwgPSBjaGVja2VkS2V5cy5jb25jYXQoaGFsZkNoZWNrZWRLZXlzKTtcclxuICAgIGxldCBub2RlcyA9IFtdO1xyXG4gICAgY2hlY2tlZEtleXNBbGwubWFwKChrZXkpID0+IHtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8vIOa3u+WKoOaooeWdl1xyXG4gIGhhbmRsZUFkZE1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVBZGQgPSB0aGlzLnByb3BzLmhhbmRsZUFkZDtcclxuICAgIGhhbmRsZUFkZCAmJiBoYW5kbGVBZGQobm9kZSk7XHJcbiAgfTtcclxuXHJcbiAgaGFuZGxlRWRpdE1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVFZGl0ID0gdGhpcy5wcm9wcy5oYW5kbGVFZGl0O1xyXG4gICAgaGFuZGxlRWRpdCAmJiBoYW5kbGVFZGl0KG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZURlbGV0ZU1vZHVsZSA9IChub2RlKSA9PiB7XHJcbiAgICBjb25zdCBoYW5kbGVEZWxldGUgPSB0aGlzLnByb3BzLmhhbmRsZURlbGV0ZTtcclxuICAgIGhhbmRsZURlbGV0ZSAmJiBoYW5kbGVEZWxldGUobm9kZSk7XHJcbiAgfTtcclxuXHJcbiAgX29uTG9hZERhdGEgPSAodHJlZU5vZGU6IEV2ZW50RGF0YU5vZGU8YW55PiAmIHsgcHJvcHM6IHsgZGF0YXJlZiB9IH0pID0+XHJcbiAgICBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgICAgbm9kZSA9IHRyZWVOb2RlLnByb3BzLmRhdGFyZWY7XHJcbiAgICAgIHRoaXMuc3RvcmUubGF6eUxvYWQobm9kZSwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJlc29sdmUobm9kZSk7XHJcbiAgICAgICAgX3RoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgcmVuZGVyVGVtcGxhdGUodHJlZVByb3BzID0ge30gYXMgSVRyZWVQYW5lbFByb3BzLCBuZXdNZW51RGF0YXMgPSBbXSkge1xyXG4gICAgY29uc3QgeyB0cmVlRGF0YSwgb3BlbktleXMsIC4uLnByb3BzIH0gPSB0cmVlUHJvcHM7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAocHJvcHMuY2hlY2tQcm9wYWdhdGlvbikge1xyXG4gICAgICBwcm9wcy5jaGVja1N0cmljdGx5ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5zaG93SWNvbiA9PSBudWxsKSB7XHJcbiAgICAgIHByb3BzLnNob3dJY29uID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgeyBsYXp5bG9hZCB9ID0gdGhpcy5zdG9yZS5jb25maWc7XHJcbiAgICBpZiAobGF6eWxvYWQpIHtcclxuICAgICAgcHJvcHMubG9hZERhdGEgPSB0aGlzLl9vbkxvYWREYXRhO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb25DaGVja0ZuID0gcHJvcHMub25DaGVjaztcclxuICAgIHByb3BzLm9uQ2hlY2sgPSBmdW5jdGlvbiAoY2hlY2tlZEtleXMsIGUpIHtcclxuICAgICAgX3RoaXMuc2V0U3RhdGUoeyBjaGVja2VkS2V5czogY2hlY2tlZEtleXMgfSk7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKG9uQ2hlY2tGbiwgX3RoaXMsIFtjaGVja2VkS2V5cywgZV0pO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IG9uU2VsZWN0Rm4gPSBwcm9wcy5vblNlbGVjdDtcclxuICAgIHByb3BzLm9uU2VsZWN0ID0gKHNlbGVjdGVkS2V5cywgbm9kZUluZm8pID0+IHtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25TZWxlY3RGbiwgX3RoaXMsIFtzZWxlY3RlZEtleXMsIG5vZGVJbmZvXSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHNlbGVjdE5vZGU6IG5vZGVJbmZvLnNlbGVjdGVkID8gbm9kZUluZm8uc2VsZWN0ZWROb2Rlc1swXSA6IG51bGwsXHJcbiAgICAgICAgc2VsZWN0ZWRLZXlzLFxyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wZW5LZXlzKSB7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkS2V5cyA9IG9wZW5LZXlzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFNwaW4gc3Bpbm5pbmc9e3RoaXMuc3RhdGUubG9hZGluZ30+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10cmVlLWJveFwiXX0+XHJcbiAgICAgICAgICB7KF90aGlzLnByb3BzLmVkaXRhYmxlIHx8IF90aGlzLnByb3BzLnNlYXJjaGFibGUpICYmIChcclxuICAgICAgICAgICAgPFRyZWVTZWFyY2hcclxuICAgICAgICAgICAgICB0cmVlSW5zdGFuY2U9e3RoaXN9XHJcbiAgICAgICAgICAgICAgaGFuZGxlQWRkTW9kdWxlPXt0aGlzLmhhbmRsZUFkZE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVFZGl0TW9kdWxlPXt0aGlzLmhhbmRsZUVkaXRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRGVsZXRlTW9kdWxlPXt0aGlzLmhhbmRsZURlbGV0ZU1vZHVsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7QXJyYXkuaXNBcnJheShuZXdNZW51RGF0YXMpICYmIG5ld01lbnVEYXRhcy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgPFRyZWUgcmVmPXt0aGlzLm5zY1RyZWVSZWZ9IGNoZWNrYWJsZSB7Li4ucHJvcHN9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhuZXdNZW51RGF0YXMsIHByb3BzLnJlbmRlclRyZWVOb2RlKX1cclxuICAgICAgICAgICAgPC9UcmVlPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9TcGluPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlclRyZWVOb2RlcyA9IChkYXRhLCByZW5kZXJGbikgPT4ge1xyXG4gICAgY29uc3Qgbm9kZVByb3BzID0gdGhpcy5wcm9wcy5ub2RlUHJvcHMgfHwge307XHJcbiAgICBjb25zdCB7IGtleTogbm9kZUtleSwgLi4ucmVzdE5vZGVQcm9wcyB9ID0gbm9kZVByb3BzO1xyXG4gICAgY29uc3QgeyBmaWVsZE5hbWVzID0ge30gYXMgYW55IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiA9IFwiY2hpbGROb2Rlc1wiLCBrZXkgPSBcImtleVwiIH0gPSBmaWVsZE5hbWVzO1xyXG4gICAgY29uc3Qgbm9kZXMgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgcHJvcHMgPSB7IGRhdGFyZWY6IGl0ZW0gfSBhcyBUcmVlTm9kZVByb3BzO1xyXG4gICAgICBpdGVtPy5jb25maWc/LmZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gXCJrZXlcIiAmJiBub2RlS2V5KSB7XHJcbiAgICAgICAgICBwcm9wcy5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgICAgaXRlbS5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wc1tmaWVsZC5uYW1lXSA9IGl0ZW1bZmllbGQubmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wcywgcmVzdE5vZGVQcm9wcyk7XHJcbiAgICAgIGlmIChyZW5kZXJGbikge1xyXG4gICAgICAgIHByb3BzID0gdXRpbHMuY2FsbGJhY2socmVuZGVyRm4sIHRoaXMsIFtwcm9wcywgaXRlbV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdGl0bGVOb2RlID0gbnVsbDtcclxuICAgICAgaWYgKHR5cGVvZiBpdGVtLnRpdGxlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICBpZiAoaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUpIHtcclxuICAgICAgICAgIHRpdGxlTm9kZSA9IChcclxuICAgICAgICAgICAgPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGUgKyBcIu+8iFwiICsgaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUgKyBcIu+8iVwifT5cclxuICAgICAgICAgICAgICA8c3Bhbj57aXRlbS50aXRsZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBcInJnYmEoMCwwLDAsLjQ1KVwiIH19XHJcbiAgICAgICAgICAgICAgPntg77yIJHtpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZX3vvIlgfTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGl0bGVOb2RlID0gPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGV9PntpdGVtLnRpdGxlfTwvc3Bhbj47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRpdGxlTm9kZSA9IGl0ZW0udGl0bGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGl0ZW1bY2hpbGRyZW5dIHx8IGl0ZW0/LmF0dHJpYnV0ZVtjaGlsZHJlbl0pIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPFRyZWVOb2RlXHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAga2V5PXtpdGVtLmF0dHJpYnV0ZS5rZXkgfHwgaXRlbVtrZXldfVxyXG4gICAgICAgICAgICB0aXRsZT17dGl0bGVOb2RlfVxyXG4gICAgICAgICAgICBpY29uPXt0aGlzLnByb3BzLmljb259XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhpdGVtW2NoaWxkcmVuXSB8fCBpdGVtLmF0dHJpYnV0ZVtjaGlsZHJlbl0sIHJlbmRlckZuKX1cclxuICAgICAgICAgIDwvVHJlZU5vZGU+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8VHJlZU5vZGVcclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fVxyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlTm9kZX1cclxuICAgICAgICAgIGljb249e3RoaXMucHJvcHMuaWNvbn1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5zY1RyZWU7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBRXpCLE9BQU9DLFNBQVMsTUFHVCxxQkFBcUI7QUFDNUIsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUc3QyxTQUFTQyxLQUFLLEVBQUVDLGVBQWUsUUFBUSxhQUFhO0FBQ3BELE9BQU9DLFVBQVUsTUFBTSxjQUFjO0FBQ3JDLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLE1BQU07RUFBRUM7QUFBUyxDQUFDLEdBQUFDLEtBQU87QUFDekI7O0FBY0EsTUFBTUMsT0FBTyxTQUFTUixTQUFTLENBQWlDO0VBRzlEUyxXQUFXQSxDQUFDQyxNQUFLLEVBQUU7SUFDakIsS0FBSyxDQUFDQSxNQUFLLENBQUM7SUFBQ0MsZUFBQSxrQ0FIRlosS0FBSyxDQUFDYSxTQUFTLENBQXFCLENBQUM7SUEyRWxEO0lBQUFELGVBQUEsMEJBQ21CRSxJQUFJLElBQUs7TUFDMUIsTUFBTUMsU0FBUyxHQUFHLElBQUksQ0FBQ0osS0FBSyxDQUFDSSxTQUFTO01BQ3RDQSxTQUFTLElBQUlBLFNBQVMsQ0FBQ0QsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFBQUYsZUFBQSwyQkFFbUJFLElBQUksSUFBSztNQUMzQixNQUFNRSxV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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","TreePanel","utils","Store","StoreConfigType","TreeSearch","styles","TreeNode","_Tree","NscTree","constructor","props","_defineProperty","createRef","node","handleAdd","handleEdit","handleDelete","treeNode","Promise","resolve","_this","dataref","store","lazyLoad","forceUpdate","data","renderFn","nodeProps","key","nodeKey","restNodeProps","_objectWithoutProperties","_excluded","fieldNames","children","nodes","map","item","config","fields","forEach","field","name","Object","assign","callback","titleNode","title","attribute","subtitle","createElement","style","color","concat","_extends","icon","renderTreeNodes","renderTemplate","bind","_dataToCheckedKeys","modelData","checkedKeys","checked","halfChecked","forEachTree","push","getCheckedKeys","nscTreeRef","current","getCheckedNodes","keyEntities","state","getCheckedAllKeys","halfCheckedKeys","getCheckedAllNodes","checkedKeysAll","treeProps","arguments","length","undefined","newMenuDatas","treeData","openKeys","_excluded2","checkPropagation","checkStrictly","showIcon","lazyload","loadData","_onLoadData","onCheckFn","onCheck","e","setState","onSelectFn","onSelect","selectedKeys","nodeInfo","selectNode","selected","selectedNodes","expandedKeys","_Spin","spinning","loading","className","editable","searchable","treeInstance","handleAddModule","handleEditModule","handleDeleteModule","Array","isArray","ref","checkable","renderTreeNode"],"sources":["../../../src/components/base/tree/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { Tree, TreeProps, Spin, TreeNodeProps } from \"antd\";\r\nimport TreePanel, {\r\n ITreePanelProps,\r\n TreeCommonProps,\r\n} from \"../common/TreePanel\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport RcTree from \"rc-tree\";\r\nimport { DataNode, EventDataNode } from \"rc-tree/lib/interface\";\r\nexport { Store, StoreConfigType } from \"@bj-nsc/msn\";\r\nimport TreeSearch from \"./TreeSearch\";\r\nimport styles from \"./index.less\";\r\nconst { TreeNode } = Tree;\r\n// import TreeNode from \"./NscTreeNode\";\r\ntype NscDataNodeProps = DataNode & { props: { dataref: any } };\r\n\r\nexport interface NscTreeProps extends ITreePanelProps {\r\n editable?: boolean;\r\n treeData?: any[];\r\n searchable?: boolean;\r\n nodeProps?: TreeNodeProps;\r\n fieldNames?: {\r\n key: string;\r\n children: string;\r\n };\r\n}\r\n\r\nclass NscTree extends TreePanel<NscTreeProps & TreeCommonProps> {\r\n nscTreeRef = React.createRef<RcTree & TreeProps>();\r\n\r\n constructor(props) {\r\n super(props);\r\n this.renderTemplate = this.renderTemplate.bind(this);\r\n }\r\n\r\n static defaultProps: { store: {} } = { store: {} };\r\n\r\n _dataToCheckedKeys(modelData): any {\r\n let checkedKeys = { checked: [], halfChecked: [] };\r\n utils.forEachTree(modelData, function (node) {\r\n if (node.checked == true) {\r\n checkedKeys.checked.push(node.attribute.key);\r\n }\r\n });\r\n return checkedKeys;\r\n }\r\n\r\n /**\r\n * 树搜索\r\n */\r\n // handleSearch = (value) => {\r\n // this.setState({ searchText: value });\r\n // };\r\n\r\n /**\r\n * 获取选中节点ID数组\r\n * @return String[]\r\n */\r\n getCheckedKeys() {\r\n const { checkedKeys } = this.nscTreeRef.current;\r\n return checkedKeys;\r\n }\r\n\r\n /**\r\n * 获取选中节点对象数组\r\n * @return node[]\r\n */\r\n getCheckedNodes() {\r\n const { checkedKeys, keyEntities } = this.nscTreeRef.current.state;\r\n let nodes = [] as NscDataNodeProps[];\r\n checkedKeys.map((key) => {\r\n // nodes.push(keyEntities[key].node.props.dataref);\r\n const node = keyEntities[key].node as NscDataNodeProps;\r\n nodes.push(node.props.dataref);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * 获取全部选中节点ID,包含半选中节点ID\r\n * @return String[]\r\n */\r\n getCheckedAllKeys() {\r\n const { checkedKeys, halfCheckedKeys } = this.nscTreeRef.current.state;\r\n return checkedKeys.concat(halfCheckedKeys);\r\n }\r\n\r\n /**\r\n * 获取全部选中节点Node对象,包含半选中节点Node对象\r\n * @return node[]\r\n */\r\n getCheckedAllNodes() {\r\n const { checkedKeys, halfCheckedKeys, keyEntities } =\r\n this.nscTreeRef.current.state;\r\n let checkedKeysAll = checkedKeys.concat(halfCheckedKeys);\r\n let nodes = [];\r\n checkedKeysAll.map((key) => {\r\n const node = keyEntities[key].node as NscDataNodeProps;\r\n nodes.push(node.props.dataref);\r\n });\r\n return nodes;\r\n }\r\n\r\n // 添加模块\r\n handleAddModule = (node) => {\r\n const handleAdd = this.props.handleAdd;\r\n handleAdd && handleAdd(node);\r\n };\r\n\r\n handleEditModule = (node) => {\r\n const handleEdit = this.props.handleEdit;\r\n handleEdit && handleEdit(node);\r\n };\r\n\r\n handleDeleteModule = (node) => {\r\n const handleDelete = this.props.handleDelete;\r\n handleDelete && handleDelete(node);\r\n };\r\n\r\n _onLoadData = (treeNode: EventDataNode<any> & { props: { dataref } }) =>\r\n new Promise<void>((resolve) => {\r\n const _this = this,\r\n node = treeNode.props.dataref;\r\n this.store.lazyLoad(node, function () {\r\n resolve(node);\r\n _this.forceUpdate();\r\n });\r\n });\r\n\r\n renderTemplate(treeProps = {} as ITreePanelProps, newMenuDatas = []) {\r\n const { treeData, openKeys, ...props } = treeProps;\r\n const _this = this;\r\n if (props.checkPropagation) {\r\n props.checkStrictly = true;\r\n }\r\n if (props.showIcon == null) {\r\n props.showIcon = true;\r\n }\r\n\r\n let { lazyload } = this.store.config;\r\n if (lazyload) {\r\n props.loadData = this._onLoadData;\r\n }\r\n const onCheckFn = props.onCheck;\r\n props.onCheck = function (checkedKeys, e) {\r\n _this.setState({ checkedKeys: checkedKeys });\r\n utils.callback(onCheckFn, _this, [checkedKeys, e]);\r\n };\r\n const onSelectFn = props.onSelect;\r\n props.onSelect = (selectedKeys, nodeInfo) => {\r\n utils.callback(onSelectFn, _this, [selectedKeys, nodeInfo]);\r\n this.setState({\r\n selectNode: nodeInfo.selected ? nodeInfo.selectedNodes[0] : null,\r\n selectedKeys,\r\n });\r\n };\r\n\r\n if (openKeys) {\r\n props.expandedKeys = openKeys;\r\n }\r\n return (\r\n <Spin spinning={this.state.loading}>\r\n <div className={styles[\"nsc-tree-box\"]}>\r\n {(_this.props.editable || _this.props.searchable) && (\r\n <TreeSearch\r\n treeInstance={this}\r\n handleAddModule={this.handleAddModule}\r\n handleEditModule={this.handleEditModule}\r\n handleDeleteModule={this.handleDeleteModule}\r\n />\r\n )}\r\n {Array.isArray(newMenuDatas) && newMenuDatas.length > 0 && (\r\n <Tree ref={this.nscTreeRef} checkable {...props}>\r\n {this.renderTreeNodes(newMenuDatas, props.renderTreeNode)}\r\n </Tree>\r\n )}\r\n </div>\r\n </Spin>\r\n );\r\n }\r\n\r\n renderTreeNodes = (data, renderFn) => {\r\n const nodeProps = this.props.nodeProps || {};\r\n const { key: nodeKey, ...restNodeProps } = nodeProps;\r\n const { fieldNames = {} as any } = this.props;\r\n const { children = \"childNodes\", key = \"key\" } = fieldNames;\r\n const nodes = data.map((item) => {\r\n let props = { dataref: item } as TreeNodeProps;\r\n item.config.fields.forEach((field) => {\r\n if (field.name === \"key\" && nodeKey) {\r\n props.key = item[nodeKey];\r\n item.key = item[nodeKey];\r\n } else {\r\n props[field.name] = item[field.name];\r\n }\r\n });\r\n Object.assign(props, restNodeProps);\r\n if (renderFn) {\r\n props = utils.callback(renderFn, this, [props, item]);\r\n }\r\n\r\n let titleNode = null;\r\n if (typeof item.title == \"string\") {\r\n if (item.attribute.subtitle) {\r\n titleNode = (\r\n <span title={item.title + \"(\" + item.attribute.subtitle + \")\"}>\r\n <span>{item.title}</span>\r\n <span\r\n style={{ color: \"rgba(0,0,0,.45)\" }}\r\n >{`(${item.attribute.subtitle})`}</span>\r\n </span>\r\n );\r\n } else {\r\n titleNode = <span title={item.title}>{item.title}</span>;\r\n }\r\n } else {\r\n titleNode = item.title;\r\n }\r\n if (item[children]) {\r\n return (\r\n <TreeNode\r\n {...props}\r\n key={item.attribute.key || item[key]}\r\n title={titleNode}\r\n icon={this.props.icon}\r\n >\r\n {this.renderTreeNodes(item[children], renderFn)}\r\n </TreeNode>\r\n );\r\n }\r\n\r\n return (\r\n <TreeNode\r\n {...props}\r\n key={item.attribute.key}\r\n title={titleNode}\r\n icon={this.props.icon}\r\n />\r\n );\r\n });\r\n\r\n return nodes;\r\n };\r\n}\r\n\r\nexport default NscTree;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","TreePanel","utils","Store","StoreConfigType","TreeSearch","styles","TreeNode","_Tree","NscTree","constructor","props","_defineProperty","createRef","node","handleAdd","handleEdit","handleDelete","treeNode","Promise","resolve","_this","dataref","store","lazyLoad","forceUpdate","data","renderFn","nodeProps","key","nodeKey","restNodeProps","_objectWithoutProperties","_excluded","fieldNames","children","nodes","map","item","_item$config","config","fields","forEach","field","name","Object","assign","callback","titleNode","title","attribute","subtitle","createElement","style","color","concat","_extends","icon","renderTreeNodes","renderTemplate","bind","_dataToCheckedKeys","modelData","checkedKeys","checked","halfChecked","forEachTree","push","getCheckedKeys","nscTreeRef","current","getCheckedNodes","keyEntities","state","getCheckedAllKeys","halfCheckedKeys","getCheckedAllNodes","checkedKeysAll","treeProps","arguments","length","undefined","newMenuDatas","treeData","openKeys","_excluded2","checkPropagation","checkStrictly","showIcon","lazyload","loadData","_onLoadData","onCheckFn","onCheck","e","setState","onSelectFn","onSelect","selectedKeys","nodeInfo","selectNode","selected","selectedNodes","expandedKeys","_Spin","spinning","loading","className","editable","searchable","treeInstance","handleAddModule","handleEditModule","handleDeleteModule","Array","isArray","ref","checkable","renderTreeNode"],"sources":["../../../src/components/base/tree/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { Tree, TreeProps, Spin, TreeNodeProps } from \"antd\";\r\nimport TreePanel, {\r\n ITreePanelProps,\r\n TreeCommonProps,\r\n} from \"../common/TreePanel\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport RcTree from \"rc-tree\";\r\nimport { DataNode, EventDataNode } from \"rc-tree/lib/interface\";\r\nexport { Store, StoreConfigType } from \"@bj-nsc/msn\";\r\nimport TreeSearch from \"./TreeSearch\";\r\nimport styles from \"./index.less\";\r\nconst { TreeNode } = Tree;\r\n// import TreeNode from \"./NscTreeNode\";\r\ntype NscDataNodeProps = DataNode & { props: { dataref: any } };\r\n\r\nexport interface NscTreeProps extends ITreePanelProps {\r\n editable?: boolean;\r\n treeData?: any[];\r\n searchable?: boolean;\r\n nodeProps?: TreeNodeProps;\r\n fieldNames?: {\r\n key: string;\r\n children: string;\r\n };\r\n}\r\n\r\nclass NscTree extends TreePanel<NscTreeProps & TreeCommonProps> {\r\n nscTreeRef = React.createRef<RcTree & TreeProps>();\r\n\r\n constructor(props) {\r\n super(props);\r\n this.renderTemplate = this.renderTemplate.bind(this);\r\n }\r\n\r\n static defaultProps: { store: {} } = { store: {} };\r\n\r\n _dataToCheckedKeys(modelData): any {\r\n let checkedKeys = { checked: [], halfChecked: [] };\r\n utils.forEachTree(modelData, function (node) {\r\n if (node.checked == true) {\r\n checkedKeys.checked.push(node.attribute.key);\r\n }\r\n });\r\n return checkedKeys;\r\n }\r\n\r\n /**\r\n * 树搜索\r\n */\r\n // handleSearch = (value) => {\r\n // this.setState({ searchText: value });\r\n // };\r\n\r\n /**\r\n * 获取选中节点ID数组\r\n * @return String[]\r\n */\r\n getCheckedKeys() {\r\n const { checkedKeys } = this.nscTreeRef.current;\r\n return checkedKeys;\r\n }\r\n\r\n /**\r\n * 获取选中节点对象数组\r\n * @return node[]\r\n */\r\n getCheckedNodes() {\r\n const { checkedKeys, keyEntities } = this.nscTreeRef.current.state;\r\n let nodes = [] as NscDataNodeProps[];\r\n checkedKeys.map((key) => {\r\n // nodes.push(keyEntities[key].node.props.dataref);\r\n const node = keyEntities[key].node as NscDataNodeProps;\r\n nodes.push(node.props.dataref);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * 获取全部选中节点ID,包含半选中节点ID\r\n * @return String[]\r\n */\r\n getCheckedAllKeys() {\r\n const { checkedKeys, halfCheckedKeys } = this.nscTreeRef.current.state;\r\n return checkedKeys.concat(halfCheckedKeys);\r\n }\r\n\r\n /**\r\n * 获取全部选中节点Node对象,包含半选中节点Node对象\r\n * @return node[]\r\n */\r\n getCheckedAllNodes() {\r\n const { checkedKeys, halfCheckedKeys, keyEntities } =\r\n this.nscTreeRef.current.state;\r\n let checkedKeysAll = checkedKeys.concat(halfCheckedKeys);\r\n let nodes = [];\r\n checkedKeysAll.map((key) => {\r\n const node = keyEntities[key].node as NscDataNodeProps;\r\n nodes.push(node.props.dataref);\r\n });\r\n return nodes;\r\n }\r\n\r\n // 添加模块\r\n handleAddModule = (node) => {\r\n const handleAdd = this.props.handleAdd;\r\n handleAdd && handleAdd(node);\r\n };\r\n\r\n handleEditModule = (node) => {\r\n const handleEdit = this.props.handleEdit;\r\n handleEdit && handleEdit(node);\r\n };\r\n\r\n handleDeleteModule = (node) => {\r\n const handleDelete = this.props.handleDelete;\r\n handleDelete && handleDelete(node);\r\n };\r\n\r\n _onLoadData = (treeNode: EventDataNode<any> & { props: { dataref } }) =>\r\n new Promise<void>((resolve) => {\r\n const _this = this,\r\n node = treeNode.props.dataref;\r\n this.store.lazyLoad(node, function () {\r\n resolve(node);\r\n _this.forceUpdate();\r\n });\r\n });\r\n\r\n renderTemplate(treeProps = {} as ITreePanelProps, newMenuDatas = []) {\r\n const { treeData, openKeys, ...props } = treeProps;\r\n const _this = this;\r\n if (props.checkPropagation) {\r\n props.checkStrictly = true;\r\n }\r\n if (props.showIcon == null) {\r\n props.showIcon = true;\r\n }\r\n\r\n let { lazyload } = this.store.config;\r\n if (lazyload) {\r\n props.loadData = this._onLoadData;\r\n }\r\n const onCheckFn = props.onCheck;\r\n props.onCheck = function (checkedKeys, e) {\r\n _this.setState({ checkedKeys: checkedKeys });\r\n utils.callback(onCheckFn, _this, [checkedKeys, e]);\r\n };\r\n const onSelectFn = props.onSelect;\r\n props.onSelect = (selectedKeys, nodeInfo) => {\r\n utils.callback(onSelectFn, _this, [selectedKeys, nodeInfo]);\r\n this.setState({\r\n selectNode: nodeInfo.selected ? nodeInfo.selectedNodes[0] : null,\r\n selectedKeys,\r\n });\r\n };\r\n\r\n if (openKeys) {\r\n props.expandedKeys = openKeys;\r\n }\r\n return (\r\n <Spin spinning={this.state.loading}>\r\n <div className={styles[\"nsc-tree-box\"]}>\r\n {(_this.props.editable || _this.props.searchable) && (\r\n <TreeSearch\r\n treeInstance={this}\r\n handleAddModule={this.handleAddModule}\r\n handleEditModule={this.handleEditModule}\r\n handleDeleteModule={this.handleDeleteModule}\r\n />\r\n )}\r\n {Array.isArray(newMenuDatas) && newMenuDatas.length > 0 && (\r\n <Tree ref={this.nscTreeRef} checkable {...props}>\r\n {this.renderTreeNodes(newMenuDatas, props.renderTreeNode)}\r\n </Tree>\r\n )}\r\n </div>\r\n </Spin>\r\n );\r\n }\r\n\r\n renderTreeNodes = (data, renderFn) => {\r\n const nodeProps = this.props.nodeProps || {};\r\n const { key: nodeKey, ...restNodeProps } = nodeProps;\r\n const { fieldNames = {} as any } = this.props;\r\n const { children = \"childNodes\", key = \"key\" } = fieldNames;\r\n const nodes = data.map((item) => {\r\n let props = { dataref: item } as TreeNodeProps;\r\n item?.config?.fields?.forEach((field) => {\r\n if (field.name === \"key\" && nodeKey) {\r\n props.key = item[nodeKey];\r\n item.key = item[nodeKey];\r\n } else {\r\n props[field.name] = item[field.name];\r\n }\r\n });\r\n Object.assign(props, restNodeProps);\r\n if (renderFn) {\r\n props = utils.callback(renderFn, this, [props, item]);\r\n }\r\n\r\n let titleNode = null;\r\n if (typeof item.title == \"string\") {\r\n if (item.attribute.subtitle) {\r\n titleNode = (\r\n <span title={item.title + \"(\" + item.attribute.subtitle + \")\"}>\r\n <span>{item.title}</span>\r\n <span\r\n style={{ color: \"rgba(0,0,0,.45)\" }}\r\n >{`(${item.attribute.subtitle})`}</span>\r\n </span>\r\n );\r\n } else {\r\n titleNode = <span title={item.title}>{item.title}</span>;\r\n }\r\n } else {\r\n titleNode = item.title;\r\n }\r\n if (item[children] || item?.attribute[children]) {\r\n return (\r\n <TreeNode\r\n {...props}\r\n key={item.attribute.key || item[key]}\r\n title={titleNode}\r\n icon={this.props.icon}\r\n >\r\n {this.renderTreeNodes(item[children] || item.attribute[children], renderFn)}\r\n </TreeNode>\r\n );\r\n }\r\n\r\n return (\r\n <TreeNode\r\n {...props}\r\n key={item.attribute.key}\r\n title={titleNode}\r\n icon={this.props.icon}\r\n />\r\n );\r\n });\r\n\r\n return nodes;\r\n };\r\n}\r\n\r\nexport default NscTree;\r\n"],"mappings":"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"}
|