@next-libs/cmdb-instances 7.0.8 → 7.0.9

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.
@@ -22,10 +22,15 @@ class StructTable extends _react.default.Component {
22
22
  structData,
23
23
  isLegacy
24
24
  } = this.props;
25
+ const {
26
+ pageSize,
27
+ page
28
+ } = this.state;
29
+ const structNumber = pageSize * (page - 1) + index;
25
30
  if (isLegacy) {
26
31
  structData = [structData];
27
32
  }
28
- structData[index] = formData;
33
+ structData[structNumber] = formData;
29
34
  this.props.handleStoreFunction(structData);
30
35
  this.handleCloseModal();
31
36
  });
@@ -40,6 +45,12 @@ class StructTable extends _react.default.Component {
40
45
  showEditModal: false
41
46
  });
42
47
  });
48
+ (0, _defineProperty2.default)(this, "handlePaginationChange", (page, pageSize) => {
49
+ this.setState({
50
+ page,
51
+ pageSize
52
+ });
53
+ });
43
54
  (0, _defineProperty2.default)(this, "renderOperation", (record, index) => {
44
55
  const {
45
56
  attribute,
@@ -79,7 +90,9 @@ class StructTable extends _react.default.Component {
79
90
  structData: props.structData,
80
91
  currentIndex: 0,
81
92
  showEditModal: false,
82
- showAllStructData: false
93
+ showAllStructData: false,
94
+ page: 1,
95
+ pageSize: 10
83
96
  };
84
97
  }
85
98
  getColumns(defines) {
@@ -144,10 +157,15 @@ class StructTable extends _react.default.Component {
144
157
  structData,
145
158
  isLegacy
146
159
  } = this.props;
160
+ const {
161
+ pageSize,
162
+ page
163
+ } = this.state;
164
+ const structNumber = pageSize * (page - 1) + index;
147
165
  if (isLegacy) {
148
166
  structData = {};
149
167
  } else {
150
- structData.splice(index, 1);
168
+ structData.splice(structNumber, 1);
151
169
  }
152
170
  this.props.handleStoreFunction(structData);
153
171
  }
@@ -177,7 +195,8 @@ class StructTable extends _react.default.Component {
177
195
  columns: columns,
178
196
  dataSource: displayDataSource,
179
197
  pagination: isEditable && dataSource.length > 10 ? {
180
- showSizeChanger: true
198
+ showSizeChanger: true,
199
+ onChange: this.handlePaginationChange
181
200
  } : false,
182
201
  size: this.props.size
183
202
  }), !isEditable && dataSource.length > 10 && /*#__PURE__*/_react.default.createElement(_antd.Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"StructTable.js","names":["StructTable","React","Component","constructor","props","formData","index","structData","isLegacy","handleStoreFunction","handleCloseModal","setState","showEditModal","currentIndex","record","attribute","state","handleOpenEditModal","color","openConfirmModal","handleEditStruct","showAllStructData","getColumns","defines","columns","map","item","title","name","className","styles","structTableTd","dataIndex","id","render","text","_record","_index","copyText","showText","type","String","join","isObject","JSON","stringify","tooltips","i18n","t","NS_LIBS_CMDB_INSTANCES","K","COPY","COPY_SUCCESS","isEditable","push","OPERATION","fixed","_text","renderOperation","confirm","Modal","DELETE_STRUCT_CONFIRM_MSG","okText","CONFIRM","okType","cancelText","CANCEL","onOk","remove","splice","structDefine","value","struct_define","dataSource","isEmpty","displayDataSource","slice","overflowX","x","length","showSizeChanger","size","VIEW_MORE","closeAllDataModal"],"sources":["../../../src/struct-components/StructTable.tsx"],"sourcesContent":["import React from \"react\";\nimport { DeleteOutlined, EditOutlined } from \"@ant-design/icons\";\nimport { Button, Modal, Table } from \"antd\";\nimport { Attribute, Structkey } from \"./interfaces\";\nimport { isEmpty, isObject } from \"lodash\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { SizeType } from \"antd/lib/config-provider/SizeContext\";\nimport styles from \"./index.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Typography } from \"antd\";\nexport interface StructTableProps {\n attribute: Attribute;\n structData: any;\n isEditable?: boolean;\n // 是否单结构体\n isLegacy?: boolean;\n size?: SizeType;\n handleStoreFunction?(data: any): void;\n}\nexport interface StructTableState {\n structData: any;\n currentIndex: number;\n showEditModal: boolean;\n showAllStructData: boolean;\n}\nexport class StructTable extends React.Component<\n StructTableProps,\n StructTableState\n> {\n constructor(props: StructTableProps) {\n super(props);\n this.state = {\n structData: props.structData,\n currentIndex: 0,\n showEditModal: false,\n showAllStructData: false,\n };\n }\n getColumns(defines: Structkey[]) {\n const columns: any = defines.map((item: Structkey) => ({\n title: item.name,\n className: styles.structTableTd,\n dataIndex: item.id,\n render: (text: any, _record: any, _index: number) => {\n let copyText: string;\n let showText: string;\n switch (item.type) {\n case \"bool\":\n return String(text ?? \"\");\n case \"enums\":\n case \"arr\":\n return text?.join?.(\"; \");\n case \"json\":\n copyText = isObject(text) ? JSON.stringify(text, null, 2) : text;\n showText = isObject(text) ? JSON.stringify(text) : text;\n if (copyText) {\n return (\n <Typography.Paragraph\n copyable={{\n tooltips: [\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY}`),\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SUCCESS}`),\n ],\n text: copyText,\n }}\n >\n {showText}\n </Typography.Paragraph>\n );\n }\n return showText;\n default:\n return text;\n }\n },\n }));\n if (this.props.isEditable) {\n columns.push({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATION}`),\n className: styles.structTableTd,\n dataIndex: \"operation\",\n fixed: \"right\",\n render: (_text: string, record: any, index: number): any => {\n return this.renderOperation(record, index);\n },\n });\n }\n return columns;\n }\n openConfirmModal(index: number) {\n const confirm = Modal.confirm;\n\n confirm({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.DELETE_STRUCT_CONFIRM_MSG}`),\n okText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`),\n okType: \"danger\",\n cancelText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`),\n onOk: () => {\n this.remove(index);\n },\n });\n }\n remove(index: number) {\n let { structData, isLegacy } = this.props;\n if (isLegacy) {\n structData = {};\n } else {\n structData.splice(index, 1);\n }\n this.props.handleStoreFunction(structData);\n }\n handleEditStruct = (formData: any, index: number) => {\n let { structData, isLegacy } = this.props;\n if (isLegacy) {\n structData = [structData];\n }\n structData[index] = formData;\n this.props.handleStoreFunction(structData);\n this.handleCloseModal();\n };\n handleOpenEditModal = (index: number) => {\n this.setState({\n showEditModal: true,\n currentIndex: index,\n });\n };\n handleCloseModal = () => {\n this.setState({ showEditModal: false });\n };\n renderOperation = (record: any, index: number) => {\n const { attribute, structData } = this.props;\n const { currentIndex } = this.state;\n return (\n <div>\n <Button\n type=\"link\"\n icon={<EditOutlined />}\n onClick={() => this.handleOpenEditModal(index)}\n />\n <Button\n type=\"link\"\n icon={<DeleteOutlined style={{ color: \"var(--theme-red-color)\" }} />}\n onClick={() => {\n this.openConfirmModal(index);\n }}\n />\n <AddStructModal\n attribute={attribute}\n visible={this.state.showEditModal && currentIndex === index}\n structData={record}\n handleStoreFunction={(formData: any) =>\n this.handleEditStruct(formData, index)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n </div>\n );\n };\n closeAllDataModal = () => {\n this.setState({ showAllStructData: false });\n };\n render() {\n const { attribute, isLegacy, structData, isEditable } = this.props;\n const { showAllStructData } = this.state;\n const structDefine = attribute.value.struct_define;\n const columns = this.getColumns(structDefine);\n // 单结构体数据是对象,显示时要转换为数组\n const dataSource = isEmpty(structData)\n ? []\n : isLegacy\n ? [structData]\n : [...structData];\n const displayDataSource = isEditable ? dataSource : dataSource.slice(0, 10);\n return (\n <div style={{ overflowX: \"hidden\" }}>\n <Table\n scroll={{ x: \"max-content\" }}\n columns={columns}\n dataSource={displayDataSource}\n pagination={\n isEditable && dataSource.length > 10\n ? {\n showSizeChanger: true,\n }\n : false\n }\n size={this.props.size}\n />\n {!isEditable && dataSource.length > 10 && (\n <Button\n type=\"link\"\n data-testid=\"view-more\"\n onClick={() => {\n this.setState({ showAllStructData: true });\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_MORE}`)}\n </Button>\n )}\n <Modal\n data-testid=\"show-all-modal\"\n visible={showAllStructData}\n title={attribute.name}\n width={800}\n zIndex={1035}\n onCancel={this.closeAllDataModal}\n footer={\n <Button type=\"primary\" onClick={this.closeAllDataModal}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n }\n >\n <Table\n dataSource={dataSource}\n scroll={{ x: \"max-content\" }}\n columns={columns}\n pagination={{\n showSizeChanger: true,\n }}\n />\n </Modal>\n </div>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StructTable.js","names":["StructTable","React","Component","constructor","props","formData","index","structData","isLegacy","pageSize","page","state","structNumber","handleStoreFunction","handleCloseModal","setState","showEditModal","currentIndex","record","attribute","handleOpenEditModal","color","openConfirmModal","handleEditStruct","showAllStructData","getColumns","defines","columns","map","item","title","name","className","styles","structTableTd","dataIndex","id","render","text","_record","_index","copyText","showText","type","String","join","isObject","JSON","stringify","tooltips","i18n","t","NS_LIBS_CMDB_INSTANCES","K","COPY","COPY_SUCCESS","isEditable","push","OPERATION","fixed","_text","renderOperation","confirm","Modal","DELETE_STRUCT_CONFIRM_MSG","okText","CONFIRM","okType","cancelText","CANCEL","onOk","remove","splice","structDefine","value","struct_define","dataSource","isEmpty","displayDataSource","slice","overflowX","x","length","showSizeChanger","onChange","handlePaginationChange","size","VIEW_MORE","closeAllDataModal"],"sources":["../../../src/struct-components/StructTable.tsx"],"sourcesContent":["import React from \"react\";\nimport { DeleteOutlined, EditOutlined } from \"@ant-design/icons\";\nimport { Button, Modal, Table } from \"antd\";\nimport { Attribute, Structkey } from \"./interfaces\";\nimport { isEmpty, isObject } from \"lodash\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { SizeType } from \"antd/lib/config-provider/SizeContext\";\nimport styles from \"./index.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Typography } from \"antd\";\nexport interface StructTableProps {\n attribute: Attribute;\n structData: any;\n isEditable?: boolean;\n // 是否单结构体\n isLegacy?: boolean;\n size?: SizeType;\n handleStoreFunction?(data: any): void;\n}\nexport interface StructTableState {\n structData: any;\n currentIndex: number;\n showEditModal: boolean;\n showAllStructData: boolean;\n page: number;\n pageSize: number;\n}\nexport class StructTable extends React.Component<\n StructTableProps,\n StructTableState\n> {\n constructor(props: StructTableProps) {\n super(props);\n this.state = {\n structData: props.structData,\n currentIndex: 0,\n showEditModal: false,\n showAllStructData: false,\n page: 1,\n pageSize: 10,\n };\n }\n getColumns(defines: Structkey[]) {\n const columns: any = defines.map((item: Structkey) => ({\n title: item.name,\n className: styles.structTableTd,\n dataIndex: item.id,\n render: (text: any, _record: any, _index: number) => {\n let copyText: string;\n let showText: string;\n switch (item.type) {\n case \"bool\":\n return String(text ?? \"\");\n case \"enums\":\n case \"arr\":\n return text?.join?.(\"; \");\n case \"json\":\n copyText = isObject(text) ? JSON.stringify(text, null, 2) : text;\n showText = isObject(text) ? JSON.stringify(text) : text;\n if (copyText) {\n return (\n <Typography.Paragraph\n copyable={{\n tooltips: [\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY}`),\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SUCCESS}`),\n ],\n text: copyText,\n }}\n >\n {showText}\n </Typography.Paragraph>\n );\n }\n return showText;\n default:\n return text;\n }\n },\n }));\n if (this.props.isEditable) {\n columns.push({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATION}`),\n className: styles.structTableTd,\n dataIndex: \"operation\",\n fixed: \"right\",\n render: (_text: string, record: any, index: number): any => {\n return this.renderOperation(record, index);\n },\n });\n }\n return columns;\n }\n openConfirmModal(index: number) {\n const confirm = Modal.confirm;\n\n confirm({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.DELETE_STRUCT_CONFIRM_MSG}`),\n okText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`),\n okType: \"danger\",\n cancelText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`),\n onOk: () => {\n this.remove(index);\n },\n });\n }\n remove(index: number) {\n let { structData, isLegacy } = this.props;\n const { pageSize, page } = this.state;\n const structNumber = pageSize * (page - 1) + index;\n if (isLegacy) {\n structData = {};\n } else {\n structData.splice(structNumber, 1);\n }\n this.props.handleStoreFunction(structData);\n }\n handleEditStruct = (formData: any, index: number) => {\n let { structData, isLegacy } = this.props;\n const { pageSize, page } = this.state;\n const structNumber = pageSize * (page - 1) + index;\n if (isLegacy) {\n structData = [structData];\n }\n structData[structNumber] = formData;\n this.props.handleStoreFunction(structData);\n this.handleCloseModal();\n };\n handleOpenEditModal = (index: number) => {\n this.setState({\n showEditModal: true,\n currentIndex: index,\n });\n };\n handleCloseModal = () => {\n this.setState({ showEditModal: false });\n };\n\n handlePaginationChange = (page: number, pageSize: number): void => {\n this.setState({\n page,\n pageSize,\n });\n };\n renderOperation = (record: any, index: number) => {\n const { attribute, structData } = this.props;\n const { currentIndex } = this.state;\n return (\n <div>\n <Button\n type=\"link\"\n icon={<EditOutlined />}\n onClick={() => this.handleOpenEditModal(index)}\n />\n <Button\n type=\"link\"\n icon={<DeleteOutlined style={{ color: \"var(--theme-red-color)\" }} />}\n onClick={() => {\n this.openConfirmModal(index);\n }}\n />\n <AddStructModal\n attribute={attribute}\n visible={this.state.showEditModal && currentIndex === index}\n structData={record}\n handleStoreFunction={(formData: any) =>\n this.handleEditStruct(formData, index)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n </div>\n );\n };\n closeAllDataModal = () => {\n this.setState({ showAllStructData: false });\n };\n render() {\n const { attribute, isLegacy, structData, isEditable } = this.props;\n const { showAllStructData } = this.state;\n const structDefine = attribute.value.struct_define;\n const columns = this.getColumns(structDefine);\n // 单结构体数据是对象,显示时要转换为数组\n const dataSource = isEmpty(structData)\n ? []\n : isLegacy\n ? [structData]\n : [...structData];\n const displayDataSource = isEditable ? dataSource : dataSource.slice(0, 10);\n return (\n <div style={{ overflowX: \"hidden\" }}>\n <Table\n scroll={{ x: \"max-content\" }}\n columns={columns}\n dataSource={displayDataSource}\n pagination={\n isEditable && dataSource.length > 10\n ? {\n showSizeChanger: true,\n onChange: this.handlePaginationChange,\n }\n : false\n }\n size={this.props.size}\n />\n {!isEditable && dataSource.length > 10 && (\n <Button\n type=\"link\"\n data-testid=\"view-more\"\n onClick={() => {\n this.setState({ showAllStructData: true });\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_MORE}`)}\n </Button>\n )}\n <Modal\n data-testid=\"show-all-modal\"\n visible={showAllStructData}\n title={attribute.name}\n width={800}\n zIndex={1035}\n onCancel={this.closeAllDataModal}\n footer={\n <Button type=\"primary\" onClick={this.closeAllDataModal}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n }\n >\n <Table\n dataSource={dataSource}\n scroll={{ x: \"max-content\" }}\n columns={columns}\n pagination={{\n showSizeChanger: true,\n }}\n />\n </Modal>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -16,10 +16,15 @@ export class StructTable extends React.Component {
16
16
  structData,
17
17
  isLegacy
18
18
  } = this.props;
19
+ var {
20
+ pageSize,
21
+ page
22
+ } = this.state;
23
+ var structNumber = pageSize * (page - 1) + index;
19
24
  if (isLegacy) {
20
25
  structData = [structData];
21
26
  }
22
- structData[index] = formData;
27
+ structData[structNumber] = formData;
23
28
  this.props.handleStoreFunction(structData);
24
29
  this.handleCloseModal();
25
30
  });
@@ -34,6 +39,12 @@ export class StructTable extends React.Component {
34
39
  showEditModal: false
35
40
  });
36
41
  });
42
+ _defineProperty(this, "handlePaginationChange", (page, pageSize) => {
43
+ this.setState({
44
+ page,
45
+ pageSize
46
+ });
47
+ });
37
48
  _defineProperty(this, "renderOperation", (record, index) => {
38
49
  var {
39
50
  attribute,
@@ -73,7 +84,9 @@ export class StructTable extends React.Component {
73
84
  structData: props.structData,
74
85
  currentIndex: 0,
75
86
  showEditModal: false,
76
- showAllStructData: false
87
+ showAllStructData: false,
88
+ page: 1,
89
+ pageSize: 10
77
90
  };
78
91
  }
79
92
  getColumns(defines) {
@@ -138,10 +151,15 @@ export class StructTable extends React.Component {
138
151
  structData,
139
152
  isLegacy
140
153
  } = this.props;
154
+ var {
155
+ pageSize,
156
+ page
157
+ } = this.state;
158
+ var structNumber = pageSize * (page - 1) + index;
141
159
  if (isLegacy) {
142
160
  structData = {};
143
161
  } else {
144
- structData.splice(index, 1);
162
+ structData.splice(structNumber, 1);
145
163
  }
146
164
  this.props.handleStoreFunction(structData);
147
165
  }
@@ -171,7 +189,8 @@ export class StructTable extends React.Component {
171
189
  columns: columns,
172
190
  dataSource: displayDataSource,
173
191
  pagination: isEditable && dataSource.length > 10 ? {
174
- showSizeChanger: true
192
+ showSizeChanger: true,
193
+ onChange: this.handlePaginationChange
175
194
  } : false,
176
195
  size: this.props.size
177
196
  }), !isEditable && dataSource.length > 10 && /*#__PURE__*/React.createElement(Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"StructTable.js","names":["React","DeleteOutlined","EditOutlined","Button","Modal","Table","isEmpty","isObject","AddStructModal","styles","i18n","K","NS_LIBS_CMDB_INSTANCES","Typography","StructTable","Component","constructor","props","formData","index","structData","isLegacy","handleStoreFunction","handleCloseModal","setState","showEditModal","currentIndex","record","attribute","state","handleOpenEditModal","color","openConfirmModal","handleEditStruct","showAllStructData","getColumns","defines","columns","map","item","title","name","className","structTableTd","dataIndex","id","render","text","_record","_index","copyText","showText","type","String","join","JSON","stringify","tooltips","t","COPY","COPY_SUCCESS","isEditable","push","OPERATION","fixed","_text","renderOperation","confirm","DELETE_STRUCT_CONFIRM_MSG","okText","CONFIRM","okType","cancelText","CANCEL","onOk","remove","splice","structDefine","value","struct_define","dataSource","displayDataSource","slice","overflowX","x","length","showSizeChanger","size","VIEW_MORE","closeAllDataModal"],"sources":["../../../src/struct-components/StructTable.tsx"],"sourcesContent":["import React from \"react\";\nimport { DeleteOutlined, EditOutlined } from \"@ant-design/icons\";\nimport { Button, Modal, Table } from \"antd\";\nimport { Attribute, Structkey } from \"./interfaces\";\nimport { isEmpty, isObject } from \"lodash\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { SizeType } from \"antd/lib/config-provider/SizeContext\";\nimport styles from \"./index.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Typography } from \"antd\";\nexport interface StructTableProps {\n attribute: Attribute;\n structData: any;\n isEditable?: boolean;\n // 是否单结构体\n isLegacy?: boolean;\n size?: SizeType;\n handleStoreFunction?(data: any): void;\n}\nexport interface StructTableState {\n structData: any;\n currentIndex: number;\n showEditModal: boolean;\n showAllStructData: boolean;\n}\nexport class StructTable extends React.Component<\n StructTableProps,\n StructTableState\n> {\n constructor(props: StructTableProps) {\n super(props);\n this.state = {\n structData: props.structData,\n currentIndex: 0,\n showEditModal: false,\n showAllStructData: false,\n };\n }\n getColumns(defines: Structkey[]) {\n const columns: any = defines.map((item: Structkey) => ({\n title: item.name,\n className: styles.structTableTd,\n dataIndex: item.id,\n render: (text: any, _record: any, _index: number) => {\n let copyText: string;\n let showText: string;\n switch (item.type) {\n case \"bool\":\n return String(text ?? \"\");\n case \"enums\":\n case \"arr\":\n return text?.join?.(\"; \");\n case \"json\":\n copyText = isObject(text) ? JSON.stringify(text, null, 2) : text;\n showText = isObject(text) ? JSON.stringify(text) : text;\n if (copyText) {\n return (\n <Typography.Paragraph\n copyable={{\n tooltips: [\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY}`),\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SUCCESS}`),\n ],\n text: copyText,\n }}\n >\n {showText}\n </Typography.Paragraph>\n );\n }\n return showText;\n default:\n return text;\n }\n },\n }));\n if (this.props.isEditable) {\n columns.push({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATION}`),\n className: styles.structTableTd,\n dataIndex: \"operation\",\n fixed: \"right\",\n render: (_text: string, record: any, index: number): any => {\n return this.renderOperation(record, index);\n },\n });\n }\n return columns;\n }\n openConfirmModal(index: number) {\n const confirm = Modal.confirm;\n\n confirm({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.DELETE_STRUCT_CONFIRM_MSG}`),\n okText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`),\n okType: \"danger\",\n cancelText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`),\n onOk: () => {\n this.remove(index);\n },\n });\n }\n remove(index: number) {\n let { structData, isLegacy } = this.props;\n if (isLegacy) {\n structData = {};\n } else {\n structData.splice(index, 1);\n }\n this.props.handleStoreFunction(structData);\n }\n handleEditStruct = (formData: any, index: number) => {\n let { structData, isLegacy } = this.props;\n if (isLegacy) {\n structData = [structData];\n }\n structData[index] = formData;\n this.props.handleStoreFunction(structData);\n this.handleCloseModal();\n };\n handleOpenEditModal = (index: number) => {\n this.setState({\n showEditModal: true,\n currentIndex: index,\n });\n };\n handleCloseModal = () => {\n this.setState({ showEditModal: false });\n };\n renderOperation = (record: any, index: number) => {\n const { attribute, structData } = this.props;\n const { currentIndex } = this.state;\n return (\n <div>\n <Button\n type=\"link\"\n icon={<EditOutlined />}\n onClick={() => this.handleOpenEditModal(index)}\n />\n <Button\n type=\"link\"\n icon={<DeleteOutlined style={{ color: \"var(--theme-red-color)\" }} />}\n onClick={() => {\n this.openConfirmModal(index);\n }}\n />\n <AddStructModal\n attribute={attribute}\n visible={this.state.showEditModal && currentIndex === index}\n structData={record}\n handleStoreFunction={(formData: any) =>\n this.handleEditStruct(formData, index)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n </div>\n );\n };\n closeAllDataModal = () => {\n this.setState({ showAllStructData: false });\n };\n render() {\n const { attribute, isLegacy, structData, isEditable } = this.props;\n const { showAllStructData } = this.state;\n const structDefine = attribute.value.struct_define;\n const columns = this.getColumns(structDefine);\n // 单结构体数据是对象,显示时要转换为数组\n const dataSource = isEmpty(structData)\n ? []\n : isLegacy\n ? [structData]\n : [...structData];\n const displayDataSource = isEditable ? dataSource : dataSource.slice(0, 10);\n return (\n <div style={{ overflowX: \"hidden\" }}>\n <Table\n scroll={{ x: \"max-content\" }}\n columns={columns}\n dataSource={displayDataSource}\n pagination={\n isEditable && dataSource.length > 10\n ? {\n showSizeChanger: true,\n }\n : false\n }\n size={this.props.size}\n />\n {!isEditable && dataSource.length > 10 && (\n <Button\n type=\"link\"\n data-testid=\"view-more\"\n onClick={() => {\n this.setState({ showAllStructData: true });\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_MORE}`)}\n </Button>\n )}\n <Modal\n data-testid=\"show-all-modal\"\n visible={showAllStructData}\n title={attribute.name}\n width={800}\n zIndex={1035}\n onCancel={this.closeAllDataModal}\n footer={\n <Button type=\"primary\" onClick={this.closeAllDataModal}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n }\n >\n <Table\n dataSource={dataSource}\n scroll={{ x: \"max-content\" }}\n columns={columns}\n pagination={{\n showSizeChanger: true,\n }}\n />\n </Modal>\n </div>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,EAAEC,YAAY,QAAQ,mBAAmB;AAChE,SAASC,MAAM,EAAEC,KAAK,EAAEC,KAAK,QAAQ,MAAM;AAE3C,SAASC,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAC1C,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,OAAOC,MAAM,MAAM,oBAAoB;AACvC,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,SAASC,UAAU,QAAQ,MAAM;AAgBjC,OAAO,MAAMC,WAAW,SAASd,KAAK,CAACe,SAAS,CAG9C;EACAC,WAAW,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,CAAC;IAAC,0CAiFI,CAACC,QAAa,EAAEC,KAAa,KAAK;MACnD,IAAI;QAAEC,UAAU;QAAEC;MAAS,CAAC,GAAG,IAAI,CAACJ,KAAK;MACzC,IAAII,QAAQ,EAAE;QACZD,UAAU,GAAG,CAACA,UAAU,CAAC;MAC3B;MACAA,UAAU,CAACD,KAAK,CAAC,GAAGD,QAAQ;MAC5B,IAAI,CAACD,KAAK,CAACK,mBAAmB,CAACF,UAAU,CAAC;MAC1C,IAAI,CAACG,gBAAgB,EAAE;IACzB,CAAC;IAAA,6CACsBJ,KAAa,IAAK;MACvC,IAAI,CAACK,QAAQ,CAAC;QACZC,aAAa,EAAE,IAAI;QACnBC,YAAY,EAAEP;MAChB,CAAC,CAAC;IACJ,CAAC;IAAA,0CACkB,MAAM;MACvB,IAAI,CAACK,QAAQ,CAAC;QAAEC,aAAa,EAAE;MAAM,CAAC,CAAC;IACzC,CAAC;IAAA,yCACiB,CAACE,MAAW,EAAER,KAAa,KAAK;MAChD,IAAM;QAAES,SAAS;QAAER;MAAW,CAAC,GAAG,IAAI,CAACH,KAAK;MAC5C,IAAM;QAAES;MAAa,CAAC,GAAG,IAAI,CAACG,KAAK;MACnC,oBACE,8CACE,oBAAC,MAAM;QACL,IAAI,EAAC,MAAM;QACX,IAAI,eAAE,oBAAC,YAAY,OAAI;QACvB,OAAO,EAAE,MAAM,IAAI,CAACC,mBAAmB,CAACX,KAAK;MAAE,EAC/C,eACF,oBAAC,MAAM;QACL,IAAI,EAAC,MAAM;QACX,IAAI,eAAE,oBAAC,cAAc;UAAC,KAAK,EAAE;YAAEY,KAAK,EAAE;UAAyB;QAAE,EAAI;QACrE,OAAO,EAAE,MAAM;UACb,IAAI,CAACC,gBAAgB,CAACb,KAAK,CAAC;QAC9B;MAAE,EACF,eACF,oBAAC,cAAc;QACb,SAAS,EAAES,SAAU;QACrB,OAAO,EAAE,IAAI,CAACC,KAAK,CAACJ,aAAa,IAAIC,YAAY,KAAKP,KAAM;QAC5D,UAAU,EAAEQ,MAAO;QACnB,mBAAmB,EAAGT,QAAa,IACjC,IAAI,CAACe,gBAAgB,CAACf,QAAQ,EAAEC,KAAK,CACtC;QACD,oBAAoB,EAAE,IAAI,CAACI;MAAiB,EAC5C,CACE;IAEV,CAAC;IAAA,2CACmB,MAAM;MACxB,IAAI,CAACC,QAAQ,CAAC;QAAEU,iBAAiB,EAAE;MAAM,CAAC,CAAC;IAC7C,CAAC;IAjIC,IAAI,CAACL,KAAK,GAAG;MACXT,UAAU,EAAEH,KAAK,CAACG,UAAU;MAC5BM,YAAY,EAAE,CAAC;MACfD,aAAa,EAAE,KAAK;MACpBS,iBAAiB,EAAE;IACrB,CAAC;EACH;EACAC,UAAU,CAACC,OAAoB,EAAE;IAC/B,IAAMC,OAAY,GAAGD,OAAO,CAACE,GAAG,CAAEC,IAAe,KAAM;MACrDC,KAAK,EAAED,IAAI,CAACE,IAAI;MAChBC,SAAS,EAAEjC,MAAM,CAACkC,aAAa;MAC/BC,SAAS,EAAEL,IAAI,CAACM,EAAE;MAClBC,MAAM,EAAE,CAACC,IAAS,EAAEC,OAAY,EAAEC,MAAc,KAAK;QAAA;QACnD,IAAIC,QAAgB;QACpB,IAAIC,QAAgB;QACpB,QAAQZ,IAAI,CAACa,IAAI;UACf,KAAK,MAAM;YACT,OAAOC,MAAM,CAACN,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,CAAC;UAC3B,KAAK,OAAO;UACZ,KAAK,KAAK;YACR,OAAOA,IAAI,aAAJA,IAAI,qCAAJA,IAAI,CAAEO,IAAI,+CAAV,gBAAAP,IAAI,EAAS,IAAI,CAAC;UAC3B,KAAK,MAAM;YACTG,QAAQ,GAAG3C,QAAQ,CAACwC,IAAI,CAAC,GAAGQ,IAAI,CAACC,SAAS,CAACT,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAGA,IAAI;YAChEI,QAAQ,GAAG5C,QAAQ,CAACwC,IAAI,CAAC,GAAGQ,IAAI,CAACC,SAAS,CAACT,IAAI,CAAC,GAAGA,IAAI;YACvD,IAAIG,QAAQ,EAAE;cACZ,oBACE,oBAAC,UAAU,CAAC,SAAS;gBACnB,QAAQ,EAAE;kBACRO,QAAQ,EAAE,CACR/C,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAACgD,IAAI,EAAG,EAC7CjD,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAACiD,YAAY,EAAG,CACtD;kBACDb,IAAI,EAAEG;gBACR;cAAE,GAEDC,QAAQ,CACY;YAE3B;YACA,OAAOA,QAAQ;UACjB;YACE,OAAOJ,IAAI;QAAC;MAElB;IACF,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC9B,KAAK,CAAC4C,UAAU,EAAE;MACzBxB,OAAO,CAACyB,IAAI,CAAC;QACXtB,KAAK,EAAE9B,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAACoD,SAAS,EAAG;QACzDrB,SAAS,EAAEjC,MAAM,CAACkC,aAAa;QAC/BC,SAAS,EAAE,WAAW;QACtBoB,KAAK,EAAE,OAAO;QACdlB,MAAM,EAAE,CAACmB,KAAa,EAAEtC,MAAW,EAAER,KAAa,KAAU;UAC1D,OAAO,IAAI,CAAC+C,eAAe,CAACvC,MAAM,EAAER,KAAK,CAAC;QAC5C;MACF,CAAC,CAAC;IACJ;IACA,OAAOkB,OAAO;EAChB;EACAL,gBAAgB,CAACb,KAAa,EAAE;IAC9B,IAAMgD,OAAO,GAAG/D,KAAK,CAAC+D,OAAO;IAE7BA,OAAO,CAAC;MACN3B,KAAK,EAAE9B,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAACyD,yBAAyB,EAAG;MACzEC,MAAM,EAAE3D,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAAC2D,OAAO,EAAG;MACxDC,MAAM,EAAE,QAAQ;MAChBC,UAAU,EAAE9D,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAAC8D,MAAM,EAAG;MAC3DC,IAAI,EAAE,MAAM;QACV,IAAI,CAACC,MAAM,CAACxD,KAAK,CAAC;MACpB;IACF,CAAC,CAAC;EACJ;EACAwD,MAAM,CAACxD,KAAa,EAAE;IACpB,IAAI;MAAEC,UAAU;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACJ,KAAK;IACzC,IAAII,QAAQ,EAAE;MACZD,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC,MAAM;MACLA,UAAU,CAACwD,MAAM,CAACzD,KAAK,EAAE,CAAC,CAAC;IAC7B;IACA,IAAI,CAACF,KAAK,CAACK,mBAAmB,CAACF,UAAU,CAAC;EAC5C;EAmDA0B,MAAM,GAAG;IACP,IAAM;MAAElB,SAAS;MAAEP,QAAQ;MAAED,UAAU;MAAEyC;IAAW,CAAC,GAAG,IAAI,CAAC5C,KAAK;IAClE,IAAM;MAAEiB;IAAkB,CAAC,GAAG,IAAI,CAACL,KAAK;IACxC,IAAMgD,YAAY,GAAGjD,SAAS,CAACkD,KAAK,CAACC,aAAa;IAClD,IAAM1C,OAAO,GAAG,IAAI,CAACF,UAAU,CAAC0C,YAAY,CAAC;IAC7C;IACA,IAAMG,UAAU,GAAG1E,OAAO,CAACc,UAAU,CAAC,GAClC,EAAE,GACFC,QAAQ,GACR,CAACD,UAAU,CAAC,GACZ,CAAC,GAAGA,UAAU,CAAC;IACnB,IAAM6D,iBAAiB,GAAGpB,UAAU,GAAGmB,UAAU,GAAGA,UAAU,CAACE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3E,oBACE;MAAK,KAAK,EAAE;QAAEC,SAAS,EAAE;MAAS;IAAE,gBAClC,oBAAC,KAAK;MACJ,MAAM,EAAE;QAAEC,CAAC,EAAE;MAAc,CAAE;MAC7B,OAAO,EAAE/C,OAAQ;MACjB,UAAU,EAAE4C,iBAAkB;MAC9B,UAAU,EACRpB,UAAU,IAAImB,UAAU,CAACK,MAAM,GAAG,EAAE,GAChC;QACEC,eAAe,EAAE;MACnB,CAAC,GACD,KACL;MACD,IAAI,EAAE,IAAI,CAACrE,KAAK,CAACsE;IAAK,EACtB,EACD,CAAC1B,UAAU,IAAImB,UAAU,CAACK,MAAM,GAAG,EAAE,iBACpC,oBAAC,MAAM;MACL,IAAI,EAAC,MAAM;MACX,eAAY,WAAW;MACvB,OAAO,EAAE,MAAM;QACb,IAAI,CAAC7D,QAAQ,CAAC;UAAEU,iBAAiB,EAAE;QAAK,CAAC,CAAC;MAC5C;IAAE,GAEDxB,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAAC6E,SAAS,EAAG,CAEtD,eACD,oBAAC,KAAK;MACJ,eAAY,gBAAgB;MAC5B,OAAO,EAAEtD,iBAAkB;MAC3B,KAAK,EAAEN,SAAS,CAACa,IAAK;MACtB,KAAK,EAAE,GAAI;MACX,MAAM,EAAE,IAAK;MACb,QAAQ,EAAE,IAAI,CAACgD,iBAAkB;MACjC,MAAM,eACJ,oBAAC,MAAM;QAAC,IAAI,EAAC,SAAS;QAAC,OAAO,EAAE,IAAI,CAACA;MAAkB,GACpD/E,IAAI,CAACgD,CAAC,WAAI9C,sBAAsB,cAAID,CAAC,CAAC2D,OAAO,EAAG;IAEpD,gBAED,oBAAC,KAAK;MACJ,UAAU,EAAEU,UAAW;MACvB,MAAM,EAAE;QAAEI,CAAC,EAAE;MAAc,CAAE;MAC7B,OAAO,EAAE/C,OAAQ;MACjB,UAAU,EAAE;QACViD,eAAe,EAAE;MACnB;IAAE,EACF,CACI,CACJ;EAEV;AACF"}
1
+ {"version":3,"file":"StructTable.js","names":["React","DeleteOutlined","EditOutlined","Button","Modal","Table","isEmpty","isObject","AddStructModal","styles","i18n","K","NS_LIBS_CMDB_INSTANCES","Typography","StructTable","Component","constructor","props","formData","index","structData","isLegacy","pageSize","page","state","structNumber","handleStoreFunction","handleCloseModal","setState","showEditModal","currentIndex","record","attribute","handleOpenEditModal","color","openConfirmModal","handleEditStruct","showAllStructData","getColumns","defines","columns","map","item","title","name","className","structTableTd","dataIndex","id","render","text","_record","_index","copyText","showText","type","String","join","JSON","stringify","tooltips","t","COPY","COPY_SUCCESS","isEditable","push","OPERATION","fixed","_text","renderOperation","confirm","DELETE_STRUCT_CONFIRM_MSG","okText","CONFIRM","okType","cancelText","CANCEL","onOk","remove","splice","structDefine","value","struct_define","dataSource","displayDataSource","slice","overflowX","x","length","showSizeChanger","onChange","handlePaginationChange","size","VIEW_MORE","closeAllDataModal"],"sources":["../../../src/struct-components/StructTable.tsx"],"sourcesContent":["import React from \"react\";\nimport { DeleteOutlined, EditOutlined } from \"@ant-design/icons\";\nimport { Button, Modal, Table } from \"antd\";\nimport { Attribute, Structkey } from \"./interfaces\";\nimport { isEmpty, isObject } from \"lodash\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { SizeType } from \"antd/lib/config-provider/SizeContext\";\nimport styles from \"./index.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Typography } from \"antd\";\nexport interface StructTableProps {\n attribute: Attribute;\n structData: any;\n isEditable?: boolean;\n // 是否单结构体\n isLegacy?: boolean;\n size?: SizeType;\n handleStoreFunction?(data: any): void;\n}\nexport interface StructTableState {\n structData: any;\n currentIndex: number;\n showEditModal: boolean;\n showAllStructData: boolean;\n page: number;\n pageSize: number;\n}\nexport class StructTable extends React.Component<\n StructTableProps,\n StructTableState\n> {\n constructor(props: StructTableProps) {\n super(props);\n this.state = {\n structData: props.structData,\n currentIndex: 0,\n showEditModal: false,\n showAllStructData: false,\n page: 1,\n pageSize: 10,\n };\n }\n getColumns(defines: Structkey[]) {\n const columns: any = defines.map((item: Structkey) => ({\n title: item.name,\n className: styles.structTableTd,\n dataIndex: item.id,\n render: (text: any, _record: any, _index: number) => {\n let copyText: string;\n let showText: string;\n switch (item.type) {\n case \"bool\":\n return String(text ?? \"\");\n case \"enums\":\n case \"arr\":\n return text?.join?.(\"; \");\n case \"json\":\n copyText = isObject(text) ? JSON.stringify(text, null, 2) : text;\n showText = isObject(text) ? JSON.stringify(text) : text;\n if (copyText) {\n return (\n <Typography.Paragraph\n copyable={{\n tooltips: [\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY}`),\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.COPY_SUCCESS}`),\n ],\n text: copyText,\n }}\n >\n {showText}\n </Typography.Paragraph>\n );\n }\n return showText;\n default:\n return text;\n }\n },\n }));\n if (this.props.isEditable) {\n columns.push({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATION}`),\n className: styles.structTableTd,\n dataIndex: \"operation\",\n fixed: \"right\",\n render: (_text: string, record: any, index: number): any => {\n return this.renderOperation(record, index);\n },\n });\n }\n return columns;\n }\n openConfirmModal(index: number) {\n const confirm = Modal.confirm;\n\n confirm({\n title: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.DELETE_STRUCT_CONFIRM_MSG}`),\n okText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`),\n okType: \"danger\",\n cancelText: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`),\n onOk: () => {\n this.remove(index);\n },\n });\n }\n remove(index: number) {\n let { structData, isLegacy } = this.props;\n const { pageSize, page } = this.state;\n const structNumber = pageSize * (page - 1) + index;\n if (isLegacy) {\n structData = {};\n } else {\n structData.splice(structNumber, 1);\n }\n this.props.handleStoreFunction(structData);\n }\n handleEditStruct = (formData: any, index: number) => {\n let { structData, isLegacy } = this.props;\n const { pageSize, page } = this.state;\n const structNumber = pageSize * (page - 1) + index;\n if (isLegacy) {\n structData = [structData];\n }\n structData[structNumber] = formData;\n this.props.handleStoreFunction(structData);\n this.handleCloseModal();\n };\n handleOpenEditModal = (index: number) => {\n this.setState({\n showEditModal: true,\n currentIndex: index,\n });\n };\n handleCloseModal = () => {\n this.setState({ showEditModal: false });\n };\n\n handlePaginationChange = (page: number, pageSize: number): void => {\n this.setState({\n page,\n pageSize,\n });\n };\n renderOperation = (record: any, index: number) => {\n const { attribute, structData } = this.props;\n const { currentIndex } = this.state;\n return (\n <div>\n <Button\n type=\"link\"\n icon={<EditOutlined />}\n onClick={() => this.handleOpenEditModal(index)}\n />\n <Button\n type=\"link\"\n icon={<DeleteOutlined style={{ color: \"var(--theme-red-color)\" }} />}\n onClick={() => {\n this.openConfirmModal(index);\n }}\n />\n <AddStructModal\n attribute={attribute}\n visible={this.state.showEditModal && currentIndex === index}\n structData={record}\n handleStoreFunction={(formData: any) =>\n this.handleEditStruct(formData, index)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n </div>\n );\n };\n closeAllDataModal = () => {\n this.setState({ showAllStructData: false });\n };\n render() {\n const { attribute, isLegacy, structData, isEditable } = this.props;\n const { showAllStructData } = this.state;\n const structDefine = attribute.value.struct_define;\n const columns = this.getColumns(structDefine);\n // 单结构体数据是对象,显示时要转换为数组\n const dataSource = isEmpty(structData)\n ? []\n : isLegacy\n ? [structData]\n : [...structData];\n const displayDataSource = isEditable ? dataSource : dataSource.slice(0, 10);\n return (\n <div style={{ overflowX: \"hidden\" }}>\n <Table\n scroll={{ x: \"max-content\" }}\n columns={columns}\n dataSource={displayDataSource}\n pagination={\n isEditable && dataSource.length > 10\n ? {\n showSizeChanger: true,\n onChange: this.handlePaginationChange,\n }\n : false\n }\n size={this.props.size}\n />\n {!isEditable && dataSource.length > 10 && (\n <Button\n type=\"link\"\n data-testid=\"view-more\"\n onClick={() => {\n this.setState({ showAllStructData: true });\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_MORE}`)}\n </Button>\n )}\n <Modal\n data-testid=\"show-all-modal\"\n visible={showAllStructData}\n title={attribute.name}\n width={800}\n zIndex={1035}\n onCancel={this.closeAllDataModal}\n footer={\n <Button type=\"primary\" onClick={this.closeAllDataModal}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n }\n >\n <Table\n dataSource={dataSource}\n scroll={{ x: \"max-content\" }}\n columns={columns}\n pagination={{\n showSizeChanger: true,\n }}\n />\n </Modal>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface StructTableState {
14
14
  currentIndex: number;
15
15
  showEditModal: boolean;
16
16
  showAllStructData: boolean;
17
+ page: number;
18
+ pageSize: number;
17
19
  }
18
20
  export declare class StructTable extends React.Component<StructTableProps, StructTableState> {
19
21
  constructor(props: StructTableProps);
@@ -23,6 +25,7 @@ export declare class StructTable extends React.Component<StructTableProps, Struc
23
25
  handleEditStruct: (formData: any, index: number) => void;
24
26
  handleOpenEditModal: (index: number) => void;
25
27
  handleCloseModal: () => void;
28
+ handlePaginationChange: (page: number, pageSize: number) => void;
26
29
  renderOperation: (record: any, index: number) => JSX.Element;
27
30
  closeAllDataModal: () => void;
28
31
  render(): JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.0.8",
3
+ "version": "7.0.9",
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",
@@ -50,5 +50,5 @@
50
50
  "immutability-helper": "^3.1.1",
51
51
  "marked": "^2.1.3"
52
52
  },
53
- "gitHead": "7d101962654225064f40462a1be8db1128a476b1"
53
+ "gitHead": "28de115ff3ae86b40189a4a23059d055a2a35913"
54
54
  }