@next-libs/cmdb-instances 7.0.13 → 7.0.14
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/dist/cjs/struct-components/AddStruct.js +44 -8
- package/dist/cjs/struct-components/AddStruct.js.map +1 -1
- package/dist/esm/struct-components/AddStruct.js +44 -8
- package/dist/esm/struct-components/AddStruct.js.map +1 -1
- package/dist/types/struct-components/AddStruct.d.ts +2 -0
- package/package.json +3 -3
|
@@ -18,13 +18,26 @@ class AddStruct extends _react.default.Component {
|
|
|
18
18
|
super(props);
|
|
19
19
|
(0, _defineProperty2.default)(this, "handleEditStruct", formData => {
|
|
20
20
|
const {
|
|
21
|
-
isLegacy
|
|
21
|
+
isLegacy,
|
|
22
|
+
structData
|
|
22
23
|
} = this.props;
|
|
23
24
|
const output = isLegacy ? Array.isArray(formData) ? formData[0] : formData : formData;
|
|
24
25
|
this.setState({
|
|
25
26
|
showModal: false
|
|
26
27
|
});
|
|
27
|
-
|
|
28
|
+
let restStructData = [];
|
|
29
|
+
if (this.state.serachValue && Array.isArray(structData)) {
|
|
30
|
+
restStructData = (0, _lodash.compact)(structData === null || structData === void 0 ? void 0 : structData.map(r => {
|
|
31
|
+
const values = Object.values(r);
|
|
32
|
+
if (!(values !== null && values !== void 0 && values.find(s => {
|
|
33
|
+
var _s$toString;
|
|
34
|
+
return s === null || s === void 0 ? void 0 : (_s$toString = s.toString()) === null || _s$toString === void 0 ? void 0 : _s$toString.match(this.state.serachValue);
|
|
35
|
+
}))) {
|
|
36
|
+
return r;
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
this.props.handleStoreFunction(Array.isArray(output) ? [...restStructData, ...output] : output);
|
|
28
41
|
});
|
|
29
42
|
(0, _defineProperty2.default)(this, "handleAddStruct", formData => {
|
|
30
43
|
const {
|
|
@@ -47,24 +60,47 @@ class AddStruct extends _react.default.Component {
|
|
|
47
60
|
(0, _defineProperty2.default)(this, "onSearch", value => {
|
|
48
61
|
let structData = this.props.structData;
|
|
49
62
|
if (value) {
|
|
50
|
-
|
|
63
|
+
var _structData;
|
|
64
|
+
structData = (0, _lodash.compact)((_structData = structData) === null || _structData === void 0 ? void 0 : _structData.map(r => {
|
|
51
65
|
const values = Object.values(r);
|
|
52
|
-
if (values !== null && values !== void 0 && values.find(s =>
|
|
66
|
+
if (values !== null && values !== void 0 && values.find(s => {
|
|
67
|
+
var _s$toString2;
|
|
68
|
+
return s === null || s === void 0 ? void 0 : (_s$toString2 = s.toString()) === null || _s$toString2 === void 0 ? void 0 : _s$toString2.match(value);
|
|
69
|
+
})) {
|
|
53
70
|
return r;
|
|
54
71
|
}
|
|
55
72
|
}));
|
|
56
73
|
}
|
|
57
74
|
this.setState({
|
|
58
|
-
structData
|
|
75
|
+
structData,
|
|
76
|
+
serachValue: value
|
|
59
77
|
});
|
|
60
78
|
});
|
|
61
79
|
this.state = {
|
|
62
80
|
structData: props.structData,
|
|
63
|
-
showModal: false
|
|
81
|
+
showModal: false,
|
|
82
|
+
serachValue: ""
|
|
64
83
|
};
|
|
65
84
|
}
|
|
66
85
|
// 编辑结构体
|
|
86
|
+
// istanbul ignore next
|
|
67
87
|
|
|
88
|
+
// istanbul ignore next
|
|
89
|
+
componentDidUpdate(prevProps, prevState, snapshot) {
|
|
90
|
+
if (prevProps.structData !== this.props.structData) {
|
|
91
|
+
this.setState({
|
|
92
|
+
structData: this.state.serachValue ? (0, _lodash.compact)(this.props.structData.map(r => {
|
|
93
|
+
const values = Object.values(r);
|
|
94
|
+
if (values !== null && values !== void 0 && values.find(s => {
|
|
95
|
+
var _s$toString3;
|
|
96
|
+
return s === null || s === void 0 ? void 0 : (_s$toString3 = s.toString()) === null || _s$toString3 === void 0 ? void 0 : _s$toString3.match(this.state.serachValue);
|
|
97
|
+
})) {
|
|
98
|
+
return r;
|
|
99
|
+
}
|
|
100
|
+
})) : this.props.structData
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
68
104
|
render() {
|
|
69
105
|
const {
|
|
70
106
|
structData,
|
|
@@ -85,9 +121,9 @@ class AddStruct extends _react.default.Component {
|
|
|
85
121
|
marginBottom: 20
|
|
86
122
|
}
|
|
87
123
|
},
|
|
88
|
-
/*#__PURE__*/
|
|
89
124
|
// istanbul ignore next
|
|
90
|
-
|
|
125
|
+
// 单结构体不支持搜索
|
|
126
|
+
Array.isArray(this.props.structData) && /*#__PURE__*/_react.default.createElement(_antd.Input.Search, {
|
|
91
127
|
style: {
|
|
92
128
|
width: 300
|
|
93
129
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddStruct.js","names":["AddStruct","React","Component","constructor","props","formData","isLegacy","output","Array","isArray","setState","showModal","handleStoreFunction","structData","handleCloseModal","value","compact","map","r","values","Object","find","s","toString","match","state","render","attribute","className","display","alignItems","justifyContent","marginBottom","width","onSearch","isEmpty","readonly","isCreate","handleOpenAddModal","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ADD","handleAddStruct","handleEditStruct"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button, Input } from \"antd\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { StructTable } from \"./StructTable\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { isArray, isEmpty, compact } from \"lodash\";\nimport { Attribute } from \"./interfaces\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\n\nexport interface AddStructProps {\n style?: CSSProperties;\n structData?: any;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n handleStoreFunction: (value: any) => void;\n isLegacy?: boolean;\n className?: string;\n isCreate?: boolean;\n}\nexport interface AddStructState {\n showModal: boolean;\n structData: any;\n isEdit?: boolean;\n}\nexport class AddStruct extends React.Component<AddStructProps, AddStructState> {\n constructor(props: AddStructProps) {\n super(props);\n this.state = {\n structData: props.structData,\n showModal: false,\n };\n }\n // 编辑结构体\n handleEditStruct = (formData: any) => {\n const { isLegacy } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n this.props.handleStoreFunction(output);\n };\n // 新建结构体\n handleAddStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n this.props.handleStoreFunction(\n isLegacy\n ? formData\n : isArray(structData)\n ? [...structData, formData]\n : [formData]\n );\n this.handleCloseModal();\n };\n handleCloseModal = () => {\n this.setState({\n showModal: false,\n });\n };\n handleOpenAddModal = () => {\n this.setState({ showModal: true });\n };\n // istanbul ignore next\n onSearch = (value: string) => {\n let structData = this.props.structData;\n if (value) {\n structData = compact(\n structData.map((r: any) => {\n const values: string[] = Object.values(r);\n if (values?.find((s: string) => s.toString().match(value))) {\n return r;\n }\n })\n );\n }\n this.setState({\n structData,\n });\n };\n\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: 20,\n }}\n >\n {\n // istanbul ignore next\n <Input.Search\n style={{ width: 300 }}\n onSearch={(value) => {\n this.onSearch(value);\n }}\n enterButton\n />\n }\n <Button\n type=\"link\"\n disabled={\n (isLegacy && !isEmpty(structData)) ||\n (attribute.readonly === \"true\" && !this.props.isCreate)\n }\n onClick={this.handleOpenAddModal}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </Button>\n </div>\n\n <AddStructModal\n // 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填\n structData={{}}\n attribute={attribute as Attribute}\n visible={showModal}\n handleStoreFunction={(formData: any) =>\n this.handleAddStruct(formData)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n <StructTable\n structData={this.state.structData}\n attribute={attribute as Attribute}\n isEditable={\n this.props.attribute.readonly === \"false\" || this.props.isCreate\n }\n isLegacy={isLegacy}\n handleStoreFunction={this.handleEditStruct}\n />\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddStruct.js","names":["AddStruct","React","Component","constructor","props","formData","isLegacy","structData","output","Array","isArray","setState","showModal","restStructData","state","serachValue","compact","map","r","values","Object","find","s","toString","match","handleStoreFunction","handleCloseModal","value","componentDidUpdate","prevProps","prevState","snapshot","render","attribute","className","display","alignItems","justifyContent","marginBottom","width","onSearch","isEmpty","readonly","isCreate","handleOpenAddModal","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ADD","handleAddStruct","handleEditStruct"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button, Input } from \"antd\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { StructTable } from \"./StructTable\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { isArray, isEmpty, compact } from \"lodash\";\nimport { Attribute } from \"./interfaces\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\n\nexport interface AddStructProps {\n style?: CSSProperties;\n structData?: any;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n handleStoreFunction: (value: any) => void;\n isLegacy?: boolean;\n className?: string;\n isCreate?: boolean;\n}\nexport interface AddStructState {\n showModal: boolean;\n structData: any;\n isEdit?: boolean;\n serachValue?: string;\n}\nexport class AddStruct extends React.Component<AddStructProps, AddStructState> {\n constructor(props: AddStructProps) {\n super(props);\n this.state = {\n structData: props.structData,\n showModal: false,\n serachValue: \"\",\n };\n }\n // 编辑结构体\n // istanbul ignore next\n handleEditStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n let restStructData: any = [];\n if (this.state.serachValue && Array.isArray(structData)) {\n restStructData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n !values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n );\n }\n this.props.handleStoreFunction(\n Array.isArray(output) ? [...restStructData, ...output] : output\n );\n };\n // 新建结构体\n handleAddStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n this.props.handleStoreFunction(\n isLegacy\n ? formData\n : isArray(structData)\n ? [...structData, formData]\n : [formData]\n );\n this.handleCloseModal();\n };\n handleCloseModal = () => {\n this.setState({\n showModal: false,\n });\n };\n handleOpenAddModal = () => {\n this.setState({ showModal: true });\n };\n // istanbul ignore next\n onSearch = (value: string) => {\n let structData = this.props.structData;\n if (value) {\n structData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (values?.find((s: string) => s?.toString()?.match(value))) {\n return r;\n }\n })\n );\n }\n this.setState({\n structData,\n serachValue: value,\n });\n };\n // istanbul ignore next\n componentDidUpdate(\n prevProps: Readonly<AddStructProps>,\n prevState: Readonly<AddStructState>,\n snapshot?: any\n ): void {\n if (prevProps.structData !== this.props.structData) {\n this.setState({\n structData: this.state.serachValue\n ? compact(\n this.props.structData.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n )\n : this.props.structData,\n });\n }\n }\n\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: 20,\n }}\n >\n {\n // istanbul ignore next\n // 单结构体不支持搜索\n Array.isArray(this.props.structData) && (\n <Input.Search\n style={{ width: 300 }}\n onSearch={(value) => {\n this.onSearch(value);\n }}\n enterButton\n />\n )\n }\n <Button\n type=\"link\"\n disabled={\n (isLegacy && !isEmpty(structData)) ||\n (attribute.readonly === \"true\" && !this.props.isCreate)\n }\n onClick={this.handleOpenAddModal}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </Button>\n </div>\n\n <AddStructModal\n // 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填\n structData={{}}\n attribute={attribute as Attribute}\n visible={showModal}\n handleStoreFunction={(formData: any) =>\n this.handleAddStruct(formData)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n <StructTable\n structData={this.state.structData}\n attribute={attribute as Attribute}\n isEditable={\n this.props.attribute.readonly === \"false\" || this.props.isCreate\n }\n isLegacy={isLegacy}\n handleStoreFunction={this.handleEditStruct}\n />\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -11,13 +11,26 @@ export class AddStruct extends React.Component {
|
|
|
11
11
|
super(props);
|
|
12
12
|
_defineProperty(this, "handleEditStruct", formData => {
|
|
13
13
|
var {
|
|
14
|
-
isLegacy
|
|
14
|
+
isLegacy,
|
|
15
|
+
structData
|
|
15
16
|
} = this.props;
|
|
16
17
|
var output = isLegacy ? Array.isArray(formData) ? formData[0] : formData : formData;
|
|
17
18
|
this.setState({
|
|
18
19
|
showModal: false
|
|
19
20
|
});
|
|
20
|
-
|
|
21
|
+
var restStructData = [];
|
|
22
|
+
if (this.state.serachValue && Array.isArray(structData)) {
|
|
23
|
+
restStructData = compact(structData === null || structData === void 0 ? void 0 : structData.map(r => {
|
|
24
|
+
var values = Object.values(r);
|
|
25
|
+
if (!(values !== null && values !== void 0 && values.find(s => {
|
|
26
|
+
var _s$toString;
|
|
27
|
+
return s === null || s === void 0 ? void 0 : (_s$toString = s.toString()) === null || _s$toString === void 0 ? void 0 : _s$toString.match(this.state.serachValue);
|
|
28
|
+
}))) {
|
|
29
|
+
return r;
|
|
30
|
+
}
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
this.props.handleStoreFunction(Array.isArray(output) ? [...restStructData, ...output] : output);
|
|
21
34
|
});
|
|
22
35
|
_defineProperty(this, "handleAddStruct", formData => {
|
|
23
36
|
var {
|
|
@@ -40,24 +53,47 @@ export class AddStruct extends React.Component {
|
|
|
40
53
|
_defineProperty(this, "onSearch", value => {
|
|
41
54
|
var structData = this.props.structData;
|
|
42
55
|
if (value) {
|
|
43
|
-
|
|
56
|
+
var _structData;
|
|
57
|
+
structData = compact((_structData = structData) === null || _structData === void 0 ? void 0 : _structData.map(r => {
|
|
44
58
|
var values = Object.values(r);
|
|
45
|
-
if (values !== null && values !== void 0 && values.find(s =>
|
|
59
|
+
if (values !== null && values !== void 0 && values.find(s => {
|
|
60
|
+
var _s$toString2;
|
|
61
|
+
return s === null || s === void 0 ? void 0 : (_s$toString2 = s.toString()) === null || _s$toString2 === void 0 ? void 0 : _s$toString2.match(value);
|
|
62
|
+
})) {
|
|
46
63
|
return r;
|
|
47
64
|
}
|
|
48
65
|
}));
|
|
49
66
|
}
|
|
50
67
|
this.setState({
|
|
51
|
-
structData
|
|
68
|
+
structData,
|
|
69
|
+
serachValue: value
|
|
52
70
|
});
|
|
53
71
|
});
|
|
54
72
|
this.state = {
|
|
55
73
|
structData: props.structData,
|
|
56
|
-
showModal: false
|
|
74
|
+
showModal: false,
|
|
75
|
+
serachValue: ""
|
|
57
76
|
};
|
|
58
77
|
}
|
|
59
78
|
// 编辑结构体
|
|
79
|
+
// istanbul ignore next
|
|
60
80
|
|
|
81
|
+
// istanbul ignore next
|
|
82
|
+
componentDidUpdate(prevProps, prevState, snapshot) {
|
|
83
|
+
if (prevProps.structData !== this.props.structData) {
|
|
84
|
+
this.setState({
|
|
85
|
+
structData: this.state.serachValue ? compact(this.props.structData.map(r => {
|
|
86
|
+
var values = Object.values(r);
|
|
87
|
+
if (values !== null && values !== void 0 && values.find(s => {
|
|
88
|
+
var _s$toString3;
|
|
89
|
+
return s === null || s === void 0 ? void 0 : (_s$toString3 = s.toString()) === null || _s$toString3 === void 0 ? void 0 : _s$toString3.match(this.state.serachValue);
|
|
90
|
+
})) {
|
|
91
|
+
return r;
|
|
92
|
+
}
|
|
93
|
+
})) : this.props.structData
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
61
97
|
render() {
|
|
62
98
|
var {
|
|
63
99
|
structData,
|
|
@@ -78,9 +114,9 @@ export class AddStruct extends React.Component {
|
|
|
78
114
|
marginBottom: 20
|
|
79
115
|
}
|
|
80
116
|
},
|
|
81
|
-
/*#__PURE__*/
|
|
82
117
|
// istanbul ignore next
|
|
83
|
-
|
|
118
|
+
// 单结构体不支持搜索
|
|
119
|
+
Array.isArray(this.props.structData) && /*#__PURE__*/React.createElement(Input.Search, {
|
|
84
120
|
style: {
|
|
85
121
|
width: 300
|
|
86
122
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddStruct.js","names":["React","Button","Input","i18n","NS_LIBS_CMDB_INSTANCES","K","StructTable","AddStructModal","isArray","isEmpty","compact","AddStruct","Component","constructor","props","formData","isLegacy","output","Array","setState","showModal","handleStoreFunction","structData","handleCloseModal","value","map","r","values","Object","find","s","toString","match","state","render","attribute","className","display","alignItems","justifyContent","marginBottom","width","onSearch","readonly","isCreate","handleOpenAddModal","t","ADD","handleAddStruct","handleEditStruct"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button, Input } from \"antd\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { StructTable } from \"./StructTable\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { isArray, isEmpty, compact } from \"lodash\";\nimport { Attribute } from \"./interfaces\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\n\nexport interface AddStructProps {\n style?: CSSProperties;\n structData?: any;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n handleStoreFunction: (value: any) => void;\n isLegacy?: boolean;\n className?: string;\n isCreate?: boolean;\n}\nexport interface AddStructState {\n showModal: boolean;\n structData: any;\n isEdit?: boolean;\n}\nexport class AddStruct extends React.Component<AddStructProps, AddStructState> {\n constructor(props: AddStructProps) {\n super(props);\n this.state = {\n structData: props.structData,\n showModal: false,\n };\n }\n // 编辑结构体\n handleEditStruct = (formData: any) => {\n const { isLegacy } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n this.props.handleStoreFunction(output);\n };\n // 新建结构体\n handleAddStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n this.props.handleStoreFunction(\n isLegacy\n ? formData\n : isArray(structData)\n ? [...structData, formData]\n : [formData]\n );\n this.handleCloseModal();\n };\n handleCloseModal = () => {\n this.setState({\n showModal: false,\n });\n };\n handleOpenAddModal = () => {\n this.setState({ showModal: true });\n };\n // istanbul ignore next\n onSearch = (value: string) => {\n let structData = this.props.structData;\n if (value) {\n structData = compact(\n structData.map((r: any) => {\n const values: string[] = Object.values(r);\n if (values?.find((s: string) => s.toString().match(value))) {\n return r;\n }\n })\n );\n }\n this.setState({\n structData,\n });\n };\n\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: 20,\n }}\n >\n {\n // istanbul ignore next\n <Input.Search\n style={{ width: 300 }}\n onSearch={(value) => {\n this.onSearch(value);\n }}\n enterButton\n />\n }\n <Button\n type=\"link\"\n disabled={\n (isLegacy && !isEmpty(structData)) ||\n (attribute.readonly === \"true\" && !this.props.isCreate)\n }\n onClick={this.handleOpenAddModal}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </Button>\n </div>\n\n <AddStructModal\n // 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填\n structData={{}}\n attribute={attribute as Attribute}\n visible={showModal}\n handleStoreFunction={(formData: any) =>\n this.handleAddStruct(formData)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n <StructTable\n structData={this.state.structData}\n attribute={attribute as Attribute}\n isEditable={\n this.props.attribute.readonly === \"false\" || this.props.isCreate\n }\n isLegacy={isLegacy}\n handleStoreFunction={this.handleEditStruct}\n />\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddStruct.js","names":["React","Button","Input","i18n","NS_LIBS_CMDB_INSTANCES","K","StructTable","AddStructModal","isArray","isEmpty","compact","AddStruct","Component","constructor","props","formData","isLegacy","structData","output","Array","setState","showModal","restStructData","state","serachValue","map","r","values","Object","find","s","toString","match","handleStoreFunction","handleCloseModal","value","componentDidUpdate","prevProps","prevState","snapshot","render","attribute","className","display","alignItems","justifyContent","marginBottom","width","onSearch","readonly","isCreate","handleOpenAddModal","t","ADD","handleAddStruct","handleEditStruct"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button, Input } from \"antd\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { StructTable } from \"./StructTable\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { isArray, isEmpty, compact } from \"lodash\";\nimport { Attribute } from \"./interfaces\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\n\nexport interface AddStructProps {\n style?: CSSProperties;\n structData?: any;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n handleStoreFunction: (value: any) => void;\n isLegacy?: boolean;\n className?: string;\n isCreate?: boolean;\n}\nexport interface AddStructState {\n showModal: boolean;\n structData: any;\n isEdit?: boolean;\n serachValue?: string;\n}\nexport class AddStruct extends React.Component<AddStructProps, AddStructState> {\n constructor(props: AddStructProps) {\n super(props);\n this.state = {\n structData: props.structData,\n showModal: false,\n serachValue: \"\",\n };\n }\n // 编辑结构体\n // istanbul ignore next\n handleEditStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n let restStructData: any = [];\n if (this.state.serachValue && Array.isArray(structData)) {\n restStructData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n !values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n );\n }\n this.props.handleStoreFunction(\n Array.isArray(output) ? [...restStructData, ...output] : output\n );\n };\n // 新建结构体\n handleAddStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n this.props.handleStoreFunction(\n isLegacy\n ? formData\n : isArray(structData)\n ? [...structData, formData]\n : [formData]\n );\n this.handleCloseModal();\n };\n handleCloseModal = () => {\n this.setState({\n showModal: false,\n });\n };\n handleOpenAddModal = () => {\n this.setState({ showModal: true });\n };\n // istanbul ignore next\n onSearch = (value: string) => {\n let structData = this.props.structData;\n if (value) {\n structData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (values?.find((s: string) => s?.toString()?.match(value))) {\n return r;\n }\n })\n );\n }\n this.setState({\n structData,\n serachValue: value,\n });\n };\n // istanbul ignore next\n componentDidUpdate(\n prevProps: Readonly<AddStructProps>,\n prevState: Readonly<AddStructState>,\n snapshot?: any\n ): void {\n if (prevProps.structData !== this.props.structData) {\n this.setState({\n structData: this.state.serachValue\n ? compact(\n this.props.structData.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n )\n : this.props.structData,\n });\n }\n }\n\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: 20,\n }}\n >\n {\n // istanbul ignore next\n // 单结构体不支持搜索\n Array.isArray(this.props.structData) && (\n <Input.Search\n style={{ width: 300 }}\n onSearch={(value) => {\n this.onSearch(value);\n }}\n enterButton\n />\n )\n }\n <Button\n type=\"link\"\n disabled={\n (isLegacy && !isEmpty(structData)) ||\n (attribute.readonly === \"true\" && !this.props.isCreate)\n }\n onClick={this.handleOpenAddModal}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </Button>\n </div>\n\n <AddStructModal\n // 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填\n structData={{}}\n attribute={attribute as Attribute}\n visible={showModal}\n handleStoreFunction={(formData: any) =>\n this.handleAddStruct(formData)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n <StructTable\n structData={this.state.structData}\n attribute={attribute as Attribute}\n isEditable={\n this.props.attribute.readonly === \"false\" || this.props.isCreate\n }\n isLegacy={isLegacy}\n handleStoreFunction={this.handleEditStruct}\n />\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export interface AddStructState {
|
|
|
13
13
|
showModal: boolean;
|
|
14
14
|
structData: any;
|
|
15
15
|
isEdit?: boolean;
|
|
16
|
+
serachValue?: string;
|
|
16
17
|
}
|
|
17
18
|
export declare class AddStruct extends React.Component<AddStructProps, AddStructState> {
|
|
18
19
|
constructor(props: AddStructProps);
|
|
@@ -21,5 +22,6 @@ export declare class AddStruct extends React.Component<AddStructProps, AddStruct
|
|
|
21
22
|
handleCloseModal: () => void;
|
|
22
23
|
handleOpenAddModal: () => void;
|
|
23
24
|
onSearch: (value: string) => void;
|
|
25
|
+
componentDidUpdate(prevProps: Readonly<AddStructProps>, prevState: Readonly<AddStructState>, snapshot?: any): void;
|
|
24
26
|
render(): JSX.Element;
|
|
25
27
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/cmdb-instances",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.14",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@next-core/brick-types": "^2.16.0",
|
|
39
39
|
"@next-libs/basic-components": "^5.2.0",
|
|
40
|
-
"@next-libs/cmdb-utils": "^3.3.
|
|
40
|
+
"@next-libs/cmdb-utils": "^3.3.3",
|
|
41
41
|
"@next-libs/code-editor-components": "^4.8.0",
|
|
42
42
|
"@next-libs/forms": "^3.3.6",
|
|
43
43
|
"@next-libs/storage": "^2.0.4",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"immutability-helper": "^3.1.1",
|
|
51
51
|
"marked": "^2.1.3"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "dc01ae522b5989e9ebe8dbe8afe6f8160d7639ee"
|
|
54
54
|
}
|