nsc-react-component 4.4.2 → 4.4.4
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/chart/index.d.ts +16 -0
- package/lib/base/chart/index.js +236 -6
- package/lib/base/chart/index.js.map +1 -1
- package/lib/base/chart/index.less +73 -0
- package/lib/base/table/index.js +1 -1
- package/lib/base/table/index.js.map +1 -1
- package/lib/base/treeselect/index.d.ts +0 -1
- package/lib/base/treeselect/index.js +4 -2
- package/lib/base/treeselect/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","Store","utils","PinyinMatch","NscTreeSelect","PureComponent","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","dataStore","treeData","store","children","options","url","listeners","listenersPops","cached","cacheKey","stores","_objectWithoutProperties","_excluded","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","data","modelData","setState","dataChanged","isCached","isCacheKey","autoLoad","componentDidMount","onSearch","value","state","labelField","searchTreeData","searchValue","length","isNodeMatch","node","label","split","labelFields","forEach","l","index","includes","match","e","findMatchingNodes","currentNodeMatch","matchedChildren","child","matched","push","result","matchedNode","componentDidUpdate","newProps","newState","Snapshot","newData","JSON","stringify","render","valueField","childrenField","createElement","_TreeSelect","_extends","showSearch","placeholder","fieldNames","bind","filterTreeNode"],"sources":["../../../src/components/base/treeselect/index.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { TreeSelect, TreeSelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport PinyinMatch from \"pinyin-match\";\r\ninterface ITreeSelectProps extends TreeSelectProps<any> {\r\n store?: StoreProps;\r\n labelField?: string;\r\n valueField?: string;\r\n valueType?: \"string\" | \"number\";\r\n childrenField?: string;\r\n onChange?: any;\r\n}\r\nexport default class NscTreeSelect extends React.PureComponent<\r\n ITreeSelectProps,\r\n any\r\n> {\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n dataStore: [],\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n let { treeData, store = {}, children, options } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n cached,\r\n cacheKey,\r\n ...stores\r\n } = store;\r\n\r\n if (!children) {\r\n if (!(url || treeData)) {\r\n throw new Error(\"url、treeData\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n // const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: data,\r\n allDataSource: data,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n // const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: data,\r\n allDataSource: data,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if (url && treeData == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url,\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n componentDidMount() {\r\n const { treeData, children } = this.props;\r\n if (!children && treeData) {\r\n this.setState({\r\n dataSource: treeData,\r\n allDataSource: treeData,\r\n });\r\n }\r\n }\r\n\r\n onSearch(value) {\r\n const { allDataSource } = this.state;\r\n let { labelField = \"label\" } = this.props;\r\n\r\n // 深度优先搜索匹配节点及其关联节点\r\n const searchTreeData = (data, searchValue) => {\r\n if (!searchValue || !data || data.length === 0) {\r\n return data;\r\n }\r\n\r\n // 检查节点是否匹配搜索值(支持汉字和拼音)\r\n const isNodeMatch = (node) => {\r\n // 构造节点标签\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = node[labelField] || \"\";\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.forEach((l, index) => {\r\n label = index == 0 ? node[l] || \"\" : label + \"-\" + (node[l] || \"\");\r\n });\r\n }\r\n\r\n // 如果没有标签,返回false\r\n if (!label) return false;\r\n\r\n // 直接包含检查(汉字匹配)\r\n if (label.includes(searchValue)) {\r\n return true;\r\n }\r\n\r\n // 拼音匹配检查\r\n try {\r\n return PinyinMatch.match(label, searchValue) || false;\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n // 递归查找匹配的节点\r\n const findMatchingNodes = (node) => {\r\n // 检查当前节点是否匹配\r\n const currentNodeMatch = isNodeMatch(node);\r\n\r\n // 如果当前节点匹配,返回该节点及其所有子节点\r\n if (currentNodeMatch) {\r\n return {\r\n ...node,\r\n };\r\n }\r\n\r\n // 如果当前节点不匹配,检查子节点\r\n let matchedChildren = [];\r\n if (node.children && node.children.length > 0) {\r\n node.children.forEach((child) => {\r\n const matched = findMatchingNodes(child);\r\n if (matched) {\r\n matchedChildren.push(matched);\r\n }\r\n });\r\n }\r\n\r\n // 如果有匹配的子节点,则返回该节点(作为容器)及其匹配的子节点\r\n if (matchedChildren.length > 0) {\r\n return {\r\n ...node,\r\n children: matchedChildren,\r\n };\r\n }\r\n\r\n // 如果当前节点和子节点都不匹配,返回null\r\n return null;\r\n };\r\n\r\n // 对所有顶级节点进行搜索\r\n const result = [];\r\n data.forEach((node) => {\r\n const matchedNode = findMatchingNodes(node);\r\n if (matchedNode) {\r\n result.push(matchedNode);\r\n }\r\n });\r\n return result;\r\n };\r\n\r\n const result = value ? searchTreeData(allDataSource, value) : allDataSource;\r\n\r\n this.setState({\r\n dataSource: result,\r\n });\r\n }\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { treeData, children } = this.props;\r\n const { allDataSource } = this.state;\r\n if (!children && treeData) {\r\n const newData = treeData;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n }\r\n }\r\n render(): React.ReactNode {\r\n const {\r\n valueField = \"value\",\r\n labelField = \"label\",\r\n childrenField = \"children\",\r\n } = this.props;\r\n return (\r\n <TreeSelect\r\n showSearch={true}\r\n placeholder=\"请选择\"\r\n fieldNames={{\r\n value: valueField,\r\n label: labelField,\r\n children: childrenField,\r\n }}\r\n {...this.props}\r\n treeData={this.state.dataSource}\r\n onSearch={this.onSearch.bind(this)}\r\n filterTreeNode={false}\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","Store","utils","PinyinMatch","omit","NscTreeSelect","PureComponent","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","dataStore","treeData","store","children","options","url","listeners","listenersPops","cached","cacheKey","stores","_objectWithoutProperties","_excluded","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","data","modelData","setState","dataChanged","isCached","isCacheKey","autoLoad","componentDidMount","onSearch","value","state","labelField","searchTreeData","searchValue","length","isNodeMatch","node","label","split","labelFields","forEach","l","index","includes","match","e","findMatchingNodes","currentNodeMatch","matchedChildren","child","matched","push","result","matchedNode","componentDidUpdate","newProps","newState","Snapshot","newData","JSON","stringify","render","valueField","childrenField","treeSelectProps","createElement","_TreeSelect","_extends","showSearch","placeholder","fieldNames","bind","filterTreeNode"],"sources":["../../../src/components/base/treeselect/index.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { TreeSelect, TreeSelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport PinyinMatch from \"pinyin-match\";\r\nimport omit from \"omit.js\";\r\ninterface ITreeSelectProps extends TreeSelectProps<any> {\r\n store?: StoreProps;\r\n labelField?: string;\r\n valueField?: string;\r\n childrenField?: string;\r\n onChange?: any;\r\n}\r\nexport default class NscTreeSelect extends React.PureComponent<\r\n ITreeSelectProps,\r\n any\r\n> {\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n dataStore: [],\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n let { treeData, store = {}, children, options } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n cached,\r\n cacheKey,\r\n ...stores\r\n } = store;\r\n\r\n if (!children) {\r\n if (!(url || treeData)) {\r\n throw new Error(\"url、treeData\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n // const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: data,\r\n allDataSource: data,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n // const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: data,\r\n allDataSource: data,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if (url && treeData == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url,\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n componentDidMount() {\r\n const { treeData, children } = this.props;\r\n if (!children && treeData) {\r\n this.setState({\r\n dataSource: treeData,\r\n allDataSource: treeData,\r\n });\r\n }\r\n }\r\n\r\n onSearch(value) {\r\n const { allDataSource } = this.state;\r\n let { labelField = \"label\" } = this.props;\r\n\r\n // 深度优先搜索匹配节点及其关联节点\r\n const searchTreeData = (data, searchValue) => {\r\n if (!searchValue || !data || data.length === 0) {\r\n return data;\r\n }\r\n\r\n // 检查节点是否匹配搜索值(支持汉字和拼音)\r\n const isNodeMatch = (node) => {\r\n // 构造节点标签\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = node[labelField] || \"\";\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.forEach((l, index) => {\r\n label = index == 0 ? node[l] || \"\" : label + \"-\" + (node[l] || \"\");\r\n });\r\n }\r\n\r\n // 如果没有标签,返回false\r\n if (!label) return false;\r\n\r\n // 直接包含检查(汉字匹配)\r\n if (label.includes(searchValue)) {\r\n return true;\r\n }\r\n\r\n // 拼音匹配检查\r\n try {\r\n return PinyinMatch.match(label, searchValue) || false;\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n // 递归查找匹配的节点\r\n const findMatchingNodes = (node) => {\r\n // 检查当前节点是否匹配\r\n const currentNodeMatch = isNodeMatch(node);\r\n\r\n // 如果当前节点匹配,返回该节点及其所有子节点\r\n if (currentNodeMatch) {\r\n return {\r\n ...node,\r\n };\r\n }\r\n\r\n // 如果当前节点不匹配,检查子节点\r\n let matchedChildren = [];\r\n if (node.children && node.children.length > 0) {\r\n node.children.forEach((child) => {\r\n const matched = findMatchingNodes(child);\r\n if (matched) {\r\n matchedChildren.push(matched);\r\n }\r\n });\r\n }\r\n\r\n // 如果有匹配的子节点,则返回该节点(作为容器)及其匹配的子节点\r\n if (matchedChildren.length > 0) {\r\n return {\r\n ...node,\r\n children: matchedChildren,\r\n };\r\n }\r\n\r\n // 如果当前节点和子节点都不匹配,返回null\r\n return null;\r\n };\r\n\r\n // 对所有顶级节点进行搜索\r\n const result = [];\r\n data.forEach((node) => {\r\n const matchedNode = findMatchingNodes(node);\r\n if (matchedNode) {\r\n result.push(matchedNode);\r\n }\r\n });\r\n return result;\r\n };\r\n\r\n const result = value ? searchTreeData(allDataSource, value) : allDataSource;\r\n\r\n this.setState({\r\n dataSource: result,\r\n });\r\n }\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { treeData, children } = this.props;\r\n const { allDataSource } = this.state;\r\n if (!children && treeData) {\r\n const newData = treeData;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n }\r\n }\r\n render(): React.ReactNode {\r\n const {\r\n valueField = \"value\",\r\n labelField = \"label\",\r\n childrenField = \"children\",\r\n } = this.props;\r\n const treeSelectProps = omit({ ...this.props }, [\r\n \"store\",\r\n \"valueField\",\r\n \"labelField\",\r\n \"childrenField\",\r\n ]);\r\n return (\r\n <TreeSelect\r\n showSearch={true}\r\n placeholder=\"请选择\"\r\n fieldNames={{\r\n value: valueField,\r\n label: labelField,\r\n children: childrenField,\r\n }}\r\n {...treeSelectProps}\r\n treeData={this.state.dataSource}\r\n onSearch={this.onSearch.bind(this)}\r\n filterTreeNode={false}\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nsc-react-component",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@babel/preset-env": "^7.13.10",
|
|
24
24
|
"@babel/preset-react": "^7.12.13",
|
|
25
25
|
"@babel/preset-typescript": "^7.13.0",
|
|
26
|
-
"@bj-nsc/msn": "^1.0.
|
|
26
|
+
"@bj-nsc/msn": "^1.0.26",
|
|
27
27
|
"@types/react": "^17.0.3",
|
|
28
28
|
"@types/react-dom": "^17.0.2",
|
|
29
29
|
"babel-loader": "^8.2.2",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"lodash": "^4.17.21",
|
|
44
44
|
"mini-css-extract-plugin": "^1.5.0",
|
|
45
45
|
"nsc-file": "^2.3.9",
|
|
46
|
-
"nsc-request": "^3.2.
|
|
46
|
+
"nsc-request": "^3.2.2",
|
|
47
47
|
"react": "^17.0.1",
|
|
48
48
|
"react-dom": "^17.0.1",
|
|
49
49
|
"rimraf": "^3.0.2",
|