@next-libs/cmdb-instances 6.29.3 → 6.31.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,39 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [6.31.0](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.30.0...@next-libs/cmdb-instances@6.31.0) (2022-06-10)
7
+
8
+
9
+ ### Features
10
+
11
+ * **CmdbInstancesInputFormItem:** add fields, pageSize and showSizeChanger properties ([66fc4d5](https://github.com/easyops-cn/next-libs/commit/66fc4d5a8bab10bb75b970bdd167d44fd455d05a))
12
+
13
+
14
+
15
+
16
+
17
+ # [6.30.0](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.29.4...@next-libs/cmdb-instances@6.30.0) (2022-06-10)
18
+
19
+
20
+ ### Features
21
+
22
+ * **CmdbInstancesInputFormItem:** add pageSizeOptions property ([dc5bdb2](https://github.com/easyops-cn/next-libs/commit/dc5bdb231f4051ae6f1bba91038ba9deff21d63b))
23
+
24
+
25
+
26
+
27
+
28
+ ## [6.29.4](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.29.3...@next-libs/cmdb-instances@6.29.4) (2022-06-09)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **CmdbInstancesInputFormItem:** unified handling change logic for Select and Input ([32a27fa](https://github.com/easyops-cn/next-libs/commit/32a27fa60d3b8bbfa50d9b7eceb097605bb9657b))
34
+
35
+
36
+
37
+
38
+
6
39
  ## [6.29.3](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.29.2...@next-libs/cmdb-instances@6.29.3) (2022-06-08)
7
40
 
8
41
  **Note:** Version bump only for package @next-libs/cmdb-instances
@@ -56,6 +56,15 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
56
56
  permission
57
57
  };
58
58
  }, [props.objectId, props.checkAgentStatus, props.checkPermission]);
59
+ const fields = (0, _react.useMemo)(() => {
60
+ var _props$fields;
61
+
62
+ const fields = {};
63
+ (_props$fields = props.fields) === null || _props$fields === void 0 ? void 0 : _props$fields.forEach(field => {
64
+ fields[field] = true;
65
+ });
66
+ return fields;
67
+ }, [props.fields]);
59
68
  const objectData = (0, _cmdbUtils.modifyModelData)(props.objectMap[props.objectId]);
60
69
 
61
70
  const fieldData = objectData.__fieldList.find(field => field.__id === props.fieldId);
@@ -85,18 +94,18 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
85
94
  ...presetQuery
86
95
  },
87
96
  permission,
88
- fields: {
97
+ fields: fields || {
89
98
  instanceId: true,
90
99
  [props.fieldId]: true
91
100
  }
92
101
  })).list;
93
- const instanceIds = instances.map(instance => instance.instanceId);
94
- const selectedInstancesMap = (0, _lodash.groupBy)(selectedInstances, selectedInstance => instanceIds.includes(selectedInstance.instanceId));
102
+ const instanceIdSet = new Set(instances.map(instance => instance.instanceId));
103
+ const selectedInstancesMap = (0, _lodash.groupBy)(selectedInstances, selectedInstance => instanceIdSet.has(selectedInstance.instanceId));
95
104
  setSelectedInstances({
96
105
  valid: selectedInstancesMap.true || [],
97
106
  invalid: (selectedInstancesMap.false || []).map(invalidSelectedInstance => invalidSelectedInstance[props.fieldId])
98
107
  });
99
- return selectedInstancesMap.true ? selectedInstancesMap.true.map(instance => instance.instanceId) : [];
108
+ return selectedInstancesMap.true ? selectedInstancesMap.true : [];
100
109
  }
101
110
  };
102
111
 
@@ -112,7 +121,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
112
121
  $in: instanceIds
113
122
  }
114
123
  },
115
- fields: {
124
+ fields: fields || {
116
125
  instanceId: true,
117
126
  [props.fieldId]: true
118
127
  }
@@ -120,13 +129,11 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
120
129
  }
121
130
 
122
131
  setInputValue(selectedInstances.map(instanceData => instanceData[props.fieldId]).join(separator));
123
- let keys = [];
132
+ let instances = selectedInstances;
124
133
 
125
134
  if (selectedInstances.length) {
126
135
  if (!props.checkDisabled) {
127
- keys = await checkSelectedInstances(selectedInstances);
128
- } else {
129
- keys = selectedInstances.map(instance => instance.instanceId);
136
+ instances = await checkSelectedInstances(selectedInstances);
130
137
  }
131
138
  } else {
132
139
  setSelectedInstances({
@@ -135,7 +142,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
135
142
  });
136
143
  }
137
144
 
138
- return keys;
145
+ return instances;
139
146
  };
140
147
 
141
148
  (0, _react.useEffect)(() => {
@@ -145,12 +152,17 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
145
152
 
146
153
  }, []);
147
154
 
155
+ const handleChange = instances => {
156
+ var _props$onChange, _props$onChangeV;
157
+
158
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances.map(instance => instance.instanceId));
159
+ (_props$onChangeV = props.onChangeV2) === null || _props$onChangeV === void 0 ? void 0 : _props$onChangeV.call(props, instances);
160
+ };
161
+
148
162
  const checkInputValue = async inputValue => {
149
163
  const fieldValues = props.fieldId === "ip" ? inputValue.match(/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b(?:\[[^[\],;\s]*\])?/g) : inputValue.split(separator);
150
164
 
151
165
  if (fieldValues) {
152
- var _props$onChange;
153
-
154
166
  const instances = (await (0, _cmdbSdk.InstanceApi_postSearch)(props.objectId, {
155
167
  query: {
156
168
  $and: [{
@@ -161,7 +173,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
161
173
  }, ...(props.query ? props.query : [])]
162
174
  },
163
175
  permission,
164
- fields: {
176
+ fields: fields || {
165
177
  instanceId: true,
166
178
  [props.fieldId]: true
167
179
  }
@@ -173,7 +185,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
173
185
  valid: validSelectedInstances || [],
174
186
  invalid: invalidFieldValues || []
175
187
  });
176
- (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, validSelectedInstances.map(instance => instance.instanceId));
188
+ handleChange(validSelectedInstances);
177
189
  }
178
190
  };
179
191
 
@@ -186,17 +198,9 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
186
198
  };
187
199
 
188
200
  const handleInstancesSelected = async selectedKeys => {
189
- var _props$onChange2;
190
-
191
201
  closeSelectInstancesModal();
192
- const keys = await updateSelected(selectedKeys);
193
- (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, keys);
194
- };
195
-
196
- const handleInstancesSelectedV2 = instanceDataList => {
197
- var _props$onChangeV;
198
-
199
- (_props$onChangeV = props.onChangeV2) === null || _props$onChangeV === void 0 ? void 0 : _props$onChangeV.call(props, instanceDataList);
202
+ const instances = await updateSelected(selectedKeys);
203
+ handleChange(instances);
200
204
  };
201
205
 
202
206
  const handleInputChanged = event => {
@@ -210,8 +214,6 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
210
214
  if (!props.checkDisabled) {
211
215
  await checkInputValue(inputValue);
212
216
  } else {
213
- var _props$onChange3;
214
-
215
217
  const fieldValues = props.fieldId === "ip" ? inputValue.match(/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b(?:\[[^[\],;\s]*\])?/g) : inputValue.split(separator);
216
218
  const instances = (await (0, _cmdbSdk.InstanceApi_postSearch)(props.objectId, {
217
219
  query: {
@@ -221,7 +223,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
221
223
  }
222
224
  }, ...(props.query ? props.query : [])]
223
225
  },
224
- fields: {
226
+ fields: fields || {
225
227
  instanceId: true,
226
228
  [props.fieldId]: true
227
229
  }
@@ -230,7 +232,7 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
230
232
  valid: instances || [],
231
233
  invalid: []
232
234
  });
233
- (_props$onChange3 = props.onChange) === null || _props$onChange3 === void 0 ? void 0 : _props$onChange3.call(props, instances.map(instance => instance.instanceId));
235
+ handleChange(instances);
234
236
  }
235
237
  }
236
238
 
@@ -238,14 +240,14 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
238
240
  };
239
241
 
240
242
  const closeInvalidFieldValuesModal = () => {
241
- var _props$onChange4;
243
+ var _props$onChange2;
242
244
 
243
245
  setSelectedInstances({
244
246
  valid: selectedInstances.valid,
245
247
  invalid: []
246
248
  });
247
249
  setInputValue(selectedInstances.valid.map(instance => instance[props.fieldId]).join(separator));
248
- (_props$onChange4 = props.onChange) === null || _props$onChange4 === void 0 ? void 0 : _props$onChange4.call(props, selectedInstances.valid.map(instance => instance.instanceId));
250
+ (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, selectedInstances.valid.map(instance => instance.instanceId));
249
251
  };
250
252
 
251
253
  const text = props.selectFromText ? props.selectFromText : t(_constants.K.SELECT_FROM_CMDB);
@@ -269,15 +271,18 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
269
271
  title: text,
270
272
  aq: props.query,
271
273
  presetConfigs: {
272
- query: presetQuery
274
+ query: presetQuery,
275
+ fieldIds: props.fields
273
276
  },
274
277
  permission: permission,
275
278
  selectedRowKeys: selectedInstances.valid.map(instance => instance.instanceId),
276
279
  onSelected: handleInstancesSelected,
277
- onSelectedV2: handleInstancesSelectedV2,
278
280
  singleSelect: props.singleSelect,
279
281
  onCancel: closeSelectInstancesModal,
280
282
  defaultQuery: props.defaultQuery,
283
+ pageSize: props.pageSize,
284
+ pageSizeOptions: props.pageSizeOptions,
285
+ showSizeChanger: props.showSizeChanger,
281
286
  "data-testid": "select-modal"
282
287
  }), /*#__PURE__*/_react.default.createElement("div", {
283
288
  className: _cmdbInstancesInputFormModule.default.cmdbInstancesInputFormWrapper
@@ -300,7 +305,8 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
300
305
  title: t(_constants.K.VIEW_SPECIFIC_INSTANCES),
301
306
  aq: selectedInstancesQuery,
302
307
  presetConfigs: {
303
- query: presetQuery
308
+ query: presetQuery,
309
+ fieldIds: props.fields
304
310
  },
305
311
  permission: permission,
306
312
  onCancel: () => setPreviewVisible(false),
@@ -311,6 +317,9 @@ const LegacyCmdbInstancesInputFormItem = (props, ref) => {
311
317
  relatedToMeDisabled: true,
312
318
  moreButtonsDisabled: true,
313
319
  selectDisabled: true,
320
+ pageSize: props.pageSize,
321
+ pageSizeOptions: props.pageSizeOptions,
322
+ showSizeChanger: props.showSizeChanger,
314
323
  "data-testid": "preview-modal"
315
324
  }), /*#__PURE__*/_react.default.createElement(_antd.Button, {
316
325
  type: "link",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["separator","LegacyCmdbInstancesInputFormItem","props","ref","t","NS_LIBS_CMDB_INSTANCES","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","objectData","objectMap","fieldData","__fieldList","find","field","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","fields","list","instanceIds","selectedInstancesMap","selectedInstance","includes","true","false","invalidSelectedInstance","updateSelected","page","page_size","instanceData","join","keys","checkDisabled","value","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","validFieldValues","invalidFieldValues","fieldValue","onChange","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInstancesSelectedV2","instanceDataList","onChangeV2","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","K","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","singleSelect","defaultQuery","style","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIds = instances.map((instance) => instance.instanceId);\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIds.includes(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true\n ? selectedInstancesMap.true.map((instance) => instance.instanceId)\n : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<string[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let keys: string[] = [];\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n keys = await checkSelectedInstances(selectedInstances);\n } else {\n keys = selectedInstances.map((instance) => instance.instanceId);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return keys;\n };\n\n useEffect(() => {\n if (props.value) {\n updateSelected(props.value);\n }\n // todo(ice): how formItem to change its value??????\n }, []);\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n props.onChange?.(\n validSelectedInstances.map((instance) => instance.instanceId)\n );\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const keys = await updateSelected(selectedKeys);\n\n props.onChange?.(keys);\n };\n\n const handleInstancesSelectedV2 = (instanceDataList: any[]) => {\n props.onChangeV2?.(instanceDataList);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n props.onChange?.(instances.map((instance) => instance.instanceId));\n }\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onSelectedV2={handleInstancesSelectedV2}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"file":"CmdbInstancesInputFormItem.js"}
1
+ {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["separator","LegacyCmdbInstancesInputFormItem","props","ref","t","NS_LIBS_CMDB_INSTANCES","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","forEach","field","objectData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","list","instanceIdSet","Set","selectedInstancesMap","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","page_size","instanceData","join","checkDisabled","value","handleChange","onChange","onChangeV2","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","K","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","style","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n fields?: string[];\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n pageSize?: number;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n const fields = useMemo(() => {\n const fields: Record<string, boolean> = {};\n\n props.fields?.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }, [props.fields]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIdSet = new Set(\n instances.map((instance) => instance.instanceId)\n );\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIdSet.has(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true ? selectedInstancesMap.true : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<any[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let instances = selectedInstances;\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n instances = await checkSelectedInstances(selectedInstances);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return instances;\n };\n\n useEffect(() => {\n if (props.value) {\n updateSelected(props.value);\n }\n // todo(ice): how formItem to change its value??????\n }, []);\n\n const handleChange = (instances: any[]): void => {\n props.onChange?.(instances.map((instance) => instance.instanceId));\n props.onChangeV2?.(instances);\n };\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n handleChange(validSelectedInstances);\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const instances = await updateSelected(selectedKeys);\n\n handleChange(instances);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n handleChange(instances);\n }\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"file":"CmdbInstancesInputFormItem.js"}
@@ -38,6 +38,15 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
38
38
  permission
39
39
  };
40
40
  }, [props.objectId, props.checkAgentStatus, props.checkPermission]);
41
+ var fields = useMemo(() => {
42
+ var _props$fields;
43
+
44
+ var fields = {};
45
+ (_props$fields = props.fields) === null || _props$fields === void 0 ? void 0 : _props$fields.forEach(field => {
46
+ fields[field] = true;
47
+ });
48
+ return fields;
49
+ }, [props.fields]);
41
50
  var objectData = modifyModelData(props.objectMap[props.objectId]);
42
51
 
43
52
  var fieldData = objectData.__fieldList.find(field => field.__id === props.fieldId);
@@ -66,18 +75,18 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
66
75
  }
67
76
  }, presetQuery),
68
77
  permission,
69
- fields: {
78
+ fields: fields || {
70
79
  instanceId: true,
71
80
  [props.fieldId]: true
72
81
  }
73
82
  })).list;
74
- var instanceIds = instances.map(instance => instance.instanceId);
75
- var selectedInstancesMap = groupBy(selectedInstances, selectedInstance => instanceIds.includes(selectedInstance.instanceId));
83
+ var instanceIdSet = new Set(instances.map(instance => instance.instanceId));
84
+ var selectedInstancesMap = groupBy(selectedInstances, selectedInstance => instanceIdSet.has(selectedInstance.instanceId));
76
85
  setSelectedInstances({
77
86
  valid: selectedInstancesMap.true || [],
78
87
  invalid: (selectedInstancesMap.false || []).map(invalidSelectedInstance => invalidSelectedInstance[props.fieldId])
79
88
  });
80
- return selectedInstancesMap.true ? selectedInstancesMap.true.map(instance => instance.instanceId) : [];
89
+ return selectedInstancesMap.true ? selectedInstancesMap.true : [];
81
90
  }
82
91
  });
83
92
 
@@ -99,7 +108,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
99
108
  $in: instanceIds
100
109
  }
101
110
  },
102
- fields: {
111
+ fields: fields || {
103
112
  instanceId: true,
104
113
  [props.fieldId]: true
105
114
  }
@@ -107,13 +116,11 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
107
116
  }
108
117
 
109
118
  setInputValue(selectedInstances.map(instanceData => instanceData[props.fieldId]).join(separator));
110
- var keys = [];
119
+ var instances = selectedInstances;
111
120
 
112
121
  if (selectedInstances.length) {
113
122
  if (!props.checkDisabled) {
114
- keys = yield checkSelectedInstances(selectedInstances);
115
- } else {
116
- keys = selectedInstances.map(instance => instance.instanceId);
123
+ instances = yield checkSelectedInstances(selectedInstances);
117
124
  }
118
125
  } else {
119
126
  setSelectedInstances({
@@ -122,7 +129,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
122
129
  });
123
130
  }
124
131
 
125
- return keys;
132
+ return instances;
126
133
  });
127
134
 
128
135
  return function updateSelected(_x2) {
@@ -137,13 +144,18 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
137
144
 
138
145
  }, []);
139
146
 
147
+ var handleChange = instances => {
148
+ var _props$onChange, _props$onChangeV;
149
+
150
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances.map(instance => instance.instanceId));
151
+ (_props$onChangeV = props.onChangeV2) === null || _props$onChangeV === void 0 ? void 0 : _props$onChangeV.call(props, instances);
152
+ };
153
+
140
154
  var checkInputValue = /*#__PURE__*/function () {
141
155
  var _ref3 = _asyncToGenerator(function* (inputValue) {
142
156
  var fieldValues = props.fieldId === "ip" ? inputValue.match(/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b(?:\[[^[\],;\s]*\])?/g) : inputValue.split(separator);
143
157
 
144
158
  if (fieldValues) {
145
- var _props$onChange;
146
-
147
159
  var instances = (yield InstanceApi_postSearch(props.objectId, {
148
160
  query: {
149
161
  $and: [_objectSpread({
@@ -153,7 +165,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
153
165
  }, presetQuery), ...(props.query ? props.query : [])]
154
166
  },
155
167
  permission,
156
- fields: {
168
+ fields: fields || {
157
169
  instanceId: true,
158
170
  [props.fieldId]: true
159
171
  }
@@ -165,7 +177,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
165
177
  valid: validSelectedInstances || [],
166
178
  invalid: invalidFieldValues || []
167
179
  });
168
- (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, validSelectedInstances.map(instance => instance.instanceId));
180
+ handleChange(validSelectedInstances);
169
181
  }
170
182
  });
171
183
 
@@ -184,11 +196,9 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
184
196
 
185
197
  var handleInstancesSelected = /*#__PURE__*/function () {
186
198
  var _ref4 = _asyncToGenerator(function* (selectedKeys) {
187
- var _props$onChange2;
188
-
189
199
  closeSelectInstancesModal();
190
- var keys = yield updateSelected(selectedKeys);
191
- (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, keys);
200
+ var instances = yield updateSelected(selectedKeys);
201
+ handleChange(instances);
192
202
  });
193
203
 
194
204
  return function handleInstancesSelected(_x4) {
@@ -196,12 +206,6 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
196
206
  };
197
207
  }();
198
208
 
199
- var handleInstancesSelectedV2 = instanceDataList => {
200
- var _props$onChangeV;
201
-
202
- (_props$onChangeV = props.onChangeV2) === null || _props$onChangeV === void 0 ? void 0 : _props$onChangeV.call(props, instanceDataList);
203
- };
204
-
205
209
  var handleInputChanged = event => {
206
210
  setInputValue(event.target.value);
207
211
  };
@@ -214,8 +218,6 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
214
218
  if (!props.checkDisabled) {
215
219
  yield checkInputValue(inputValue);
216
220
  } else {
217
- var _props$onChange3;
218
-
219
221
  var fieldValues = props.fieldId === "ip" ? inputValue.match(/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b(?:\[[^[\],;\s]*\])?/g) : inputValue.split(separator);
220
222
  var instances = (yield InstanceApi_postSearch(props.objectId, {
221
223
  query: {
@@ -225,7 +227,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
225
227
  }
226
228
  }, ...(props.query ? props.query : [])]
227
229
  },
228
- fields: {
230
+ fields: fields || {
229
231
  instanceId: true,
230
232
  [props.fieldId]: true
231
233
  }
@@ -234,7 +236,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
234
236
  valid: instances || [],
235
237
  invalid: []
236
238
  });
237
- (_props$onChange3 = props.onChange) === null || _props$onChange3 === void 0 ? void 0 : _props$onChange3.call(props, instances.map(instance => instance.instanceId));
239
+ handleChange(instances);
238
240
  }
239
241
  }
240
242
 
@@ -247,14 +249,14 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
247
249
  }();
248
250
 
249
251
  var closeInvalidFieldValuesModal = () => {
250
- var _props$onChange4;
252
+ var _props$onChange2;
251
253
 
252
254
  setSelectedInstances({
253
255
  valid: selectedInstances.valid,
254
256
  invalid: []
255
257
  });
256
258
  setInputValue(selectedInstances.valid.map(instance => instance[props.fieldId]).join(separator));
257
- (_props$onChange4 = props.onChange) === null || _props$onChange4 === void 0 ? void 0 : _props$onChange4.call(props, selectedInstances.valid.map(instance => instance.instanceId));
259
+ (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, selectedInstances.valid.map(instance => instance.instanceId));
258
260
  };
259
261
 
260
262
  var text = props.selectFromText ? props.selectFromText : t(K.SELECT_FROM_CMDB);
@@ -278,15 +280,18 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
278
280
  title: text,
279
281
  aq: props.query,
280
282
  presetConfigs: {
281
- query: presetQuery
283
+ query: presetQuery,
284
+ fieldIds: props.fields
282
285
  },
283
286
  permission: permission,
284
287
  selectedRowKeys: selectedInstances.valid.map(instance => instance.instanceId),
285
288
  onSelected: handleInstancesSelected,
286
- onSelectedV2: handleInstancesSelectedV2,
287
289
  singleSelect: props.singleSelect,
288
290
  onCancel: closeSelectInstancesModal,
289
291
  defaultQuery: props.defaultQuery,
292
+ pageSize: props.pageSize,
293
+ pageSizeOptions: props.pageSizeOptions,
294
+ showSizeChanger: props.showSizeChanger,
290
295
  "data-testid": "select-modal"
291
296
  }), /*#__PURE__*/React.createElement("div", {
292
297
  className: style.cmdbInstancesInputFormWrapper
@@ -309,7 +314,8 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
309
314
  title: t(K.VIEW_SPECIFIC_INSTANCES),
310
315
  aq: selectedInstancesQuery,
311
316
  presetConfigs: {
312
- query: presetQuery
317
+ query: presetQuery,
318
+ fieldIds: props.fields
313
319
  },
314
320
  permission: permission,
315
321
  onCancel: () => setPreviewVisible(false),
@@ -320,6 +326,9 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
320
326
  relatedToMeDisabled: true,
321
327
  moreButtonsDisabled: true,
322
328
  selectDisabled: true,
329
+ pageSize: props.pageSize,
330
+ pageSizeOptions: props.pageSizeOptions,
331
+ showSizeChanger: props.showSizeChanger,
323
332
  "data-testid": "preview-modal"
324
333
  }), /*#__PURE__*/React.createElement(Button, {
325
334
  type: "link",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["React","forwardRef","useState","useEffect","useMemo","Input","Button","Modal","groupBy","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","separator","LegacyCmdbInstancesInputFormItem","props","ref","t","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","objectData","objectMap","fieldData","__fieldList","find","field","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","fields","list","instanceIds","selectedInstancesMap","selectedInstance","includes","true","false","invalidSelectedInstance","updateSelected","page","page_size","instanceData","join","keys","checkDisabled","value","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","validFieldValues","invalidFieldValues","fieldValue","onChange","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInstancesSelectedV2","instanceDataList","onChangeV2","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","singleSelect","defaultQuery","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIds = instances.map((instance) => instance.instanceId);\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIds.includes(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true\n ? selectedInstancesMap.true.map((instance) => instance.instanceId)\n : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<string[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let keys: string[] = [];\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n keys = await checkSelectedInstances(selectedInstances);\n } else {\n keys = selectedInstances.map((instance) => instance.instanceId);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return keys;\n };\n\n useEffect(() => {\n if (props.value) {\n updateSelected(props.value);\n }\n // todo(ice): how formItem to change its value??????\n }, []);\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n props.onChange?.(\n validSelectedInstances.map((instance) => instance.instanceId)\n );\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const keys = await updateSelected(selectedKeys);\n\n props.onChange?.(keys);\n };\n\n const handleInstancesSelectedV2 = (instanceDataList: any[]) => {\n props.onChangeV2?.(instanceDataList);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n props.onChange?.(instances.map((instance) => instance.instanceId));\n }\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onSelectedV2={handleInstancesSelectedV2}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"file":"CmdbInstancesInputFormItem.js"}
1
+ {"version":3,"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"names":["React","forwardRef","useState","useEffect","useMemo","Input","Button","Modal","groupBy","InstanceListModal","modifyModelData","InstanceApi_postSearch","useTranslation","NS_LIBS_CMDB_INSTANCES","K","style","separator","LegacyCmdbInstancesInputFormItem","props","ref","t","presetQuery","permission","objectId","checkAgentStatus","_agentStatus","checkPermission","push","fields","forEach","field","objectData","objectMap","fieldData","__fieldList","find","__id","fieldId","visible","setVisible","selectedInstances","setSelectedInstances","valid","invalid","inputValue","setInputValue","inputFocused","setInputFocused","previewVisible","setPreviewVisible","selectedInstancesQuery","previewEnabled","length","instanceId","$in","map","instance","query","undefined","checkSelectedInstances","instances","list","instanceIdSet","Set","selectedInstancesMap","selectedInstance","has","true","false","invalidSelectedInstance","updateSelected","instanceIds","page","page_size","instanceData","join","checkDisabled","value","handleChange","onChange","onChangeV2","checkInputValue","fieldValues","match","split","$and","validSelectedInstances","filter","includes","validFieldValues","invalidFieldValues","fieldValue","openSelectInstancesModal","closeSelectInstancesModal","handleInstancesSelected","selectedKeys","handleInputChanged","event","target","handleInputBlur","closeInvalidFieldValuesModal","text","selectFromText","SELECT_FROM_CMDB","TIP","DELETE","INVALID_OR_FORBIDDEN_IPS","INVALID","name","fieldIds","singleSelect","defaultQuery","pageSize","pageSizeOptions","showSizeChanger","cmdbInstancesInputFormWrapper","fieldInput","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, { forwardRef, useState, useEffect, useMemo } from \"react\";\nimport { Input, Button, Modal } from \"antd\";\nimport { groupBy } from \"lodash\";\n\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData, Query } from \"@next-libs/cmdb-utils\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\n\nimport style from \"./cmdb-instances-input-form.module.css\";\n\nconst separator = \" \";\n\nexport interface CmdbInstancesInputFormItemProps {\n selectFromText?: string;\n objectMap?: { [objectId: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId?: string;\n fieldId?: string;\n fields?: string[];\n singleSelect?: boolean;\n inputDisabled?: boolean;\n checkDisabled?: boolean;\n checkAgentStatus?: boolean;\n checkPermission?: boolean;\n selectedInstanceIds?: string[];\n value?: string[];\n children?: React.ReactNode;\n query?: { [fieldId: string]: any }[];\n onChange?: (value: string[]) => void;\n onChangeV2?: (value: any[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n addButtonDisabled?: boolean;\n previewEnabled?: boolean;\n pageSize?: number;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n}\n\nexport const LegacyCmdbInstancesInputFormItem = (\n props: CmdbInstancesInputFormItemProps,\n ref: React.Ref<HTMLDivElement>\n): React.ReactElement => {\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const { presetQuery, permission } = useMemo(() => {\n const presetQuery = {} as any;\n const permission: string[] = [];\n\n if (props.objectId === \"HOST\") {\n if (props.checkAgentStatus) {\n presetQuery._agentStatus = \"正常\";\n }\n if (props.checkPermission) {\n permission.push(\"operate\");\n }\n }\n\n return { presetQuery, permission };\n }, [props.objectId, props.checkAgentStatus, props.checkPermission]);\n const fields = useMemo(() => {\n const fields: Record<string, boolean> = {};\n\n props.fields?.forEach((field) => {\n fields[field] = true;\n });\n\n return fields;\n }, [props.fields]);\n\n const objectData = modifyModelData(props.objectMap[props.objectId]);\n const fieldData = objectData.__fieldList.find(\n (field) => field.__id === props.fieldId\n );\n\n const [visible, setVisible] = useState(false);\n const [selectedInstances, setSelectedInstances] = useState({\n valid: [],\n invalid: [],\n });\n const [inputValue, setInputValue] = useState(\"\");\n const [inputFocused, setInputFocused] = useState(false);\n const [previewVisible, setPreviewVisible] = useState(false);\n const selectedInstancesQuery = useMemo<Query[]>(\n () =>\n props.previewEnabled && selectedInstances.valid.length > 0\n ? [\n {\n instanceId: {\n $in: selectedInstances.valid.map(\n (instance) => instance.instanceId\n ),\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ]\n : undefined,\n [selectedInstances.valid, presetQuery, props.query]\n );\n\n const checkSelectedInstances = async (\n selectedInstances: any[]\n ): Promise<string[]> => {\n if (selectedInstances) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstances.map((instance) => instance.instanceId),\n },\n ...presetQuery,\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n const instanceIdSet = new Set(\n instances.map((instance) => instance.instanceId)\n );\n\n const selectedInstancesMap = groupBy(\n selectedInstances,\n (selectedInstance) => instanceIdSet.has(selectedInstance.instanceId)\n );\n\n setSelectedInstances({\n valid: selectedInstancesMap.true || [],\n invalid: (selectedInstancesMap.false || []).map(\n (invalidSelectedInstance) => invalidSelectedInstance[props.fieldId]\n ),\n });\n\n return selectedInstancesMap.true ? selectedInstancesMap.true : [];\n }\n };\n\n const updateSelected = async (instanceIds: string[]): Promise<any[]> => {\n let selectedInstances: any[] = [];\n if (instanceIds.length) {\n selectedInstances = (\n await InstanceApi_postSearch(props.objectId, {\n page: 1,\n page_size: instanceIds.length,\n query: {\n instanceId: {\n $in: instanceIds,\n },\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n }\n\n setInputValue(\n selectedInstances\n .map((instanceData) => instanceData[props.fieldId])\n .join(separator)\n );\n\n let instances = selectedInstances;\n if (selectedInstances.length) {\n if (!props.checkDisabled) {\n instances = await checkSelectedInstances(selectedInstances);\n }\n } else {\n setSelectedInstances({ valid: [], invalid: [] });\n }\n return instances;\n };\n\n useEffect(() => {\n if (props.value) {\n updateSelected(props.value);\n }\n // todo(ice): how formItem to change its value??????\n }, []);\n\n const handleChange = (instances: any[]): void => {\n props.onChange?.(instances.map((instance) => instance.instanceId));\n props.onChangeV2?.(instances);\n };\n\n const checkInputValue = async (inputValue: string): Promise<void> => {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n if (fieldValues) {\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n ...presetQuery,\n },\n ...(props.query ? props.query : []),\n ],\n },\n permission,\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n const validSelectedInstances = instances.filter((instance) =>\n fieldValues.includes(instance[props.fieldId])\n );\n\n const validFieldValues = validSelectedInstances.map(\n (instance) => instance[props.fieldId]\n );\n const invalidFieldValues = fieldValues.filter(\n (fieldValue) => !validFieldValues.includes(fieldValue)\n );\n\n setSelectedInstances({\n valid: validSelectedInstances || [],\n invalid: invalidFieldValues || [],\n });\n\n handleChange(validSelectedInstances);\n }\n };\n\n const openSelectInstancesModal = (): void => {\n setVisible(true);\n };\n\n const closeSelectInstancesModal = (): void => {\n setVisible(false);\n };\n\n const handleInstancesSelected = async (\n selectedKeys: string[]\n ): Promise<void> => {\n closeSelectInstancesModal();\n\n const instances = await updateSelected(selectedKeys);\n\n handleChange(instances);\n };\n\n const handleInputChanged = (event: { target: { value: string } }): void => {\n setInputValue(event.target.value);\n };\n\n const handleInputBlur = async (event: {\n target: { value: string };\n }): Promise<void> => {\n const inputValue = event.target.value;\n if (inputValue) {\n if (!props.checkDisabled) {\n await checkInputValue(inputValue);\n } else {\n const fieldValues =\n props.fieldId === \"ip\"\n ? inputValue.match(\n /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b(?:\\[[^[\\],;\\s]*\\])?/g\n )\n : inputValue.split(separator);\n\n const instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n $and: [\n {\n [props.fieldId]: {\n $in: fieldValues,\n },\n },\n ...(props.query ? props.query : []),\n ],\n },\n fields: fields || {\n instanceId: true,\n [props.fieldId]: true,\n },\n })\n ).list;\n\n setSelectedInstances({\n valid: instances || [],\n invalid: [],\n });\n\n handleChange(instances);\n }\n }\n\n setInputFocused(false);\n };\n\n const closeInvalidFieldValuesModal = (): void => {\n setSelectedInstances({\n valid: selectedInstances.valid,\n invalid: [],\n });\n setInputValue(\n selectedInstances.valid\n .map((instance) => instance[props.fieldId])\n .join(separator)\n );\n props.onChange?.(\n selectedInstances.valid.map((instance) => instance.instanceId)\n );\n };\n\n const text = props.selectFromText\n ? props.selectFromText\n : t(K.SELECT_FROM_CMDB);\n\n return (\n <div ref={ref}>\n <Modal\n title={t(K.TIP)}\n visible={selectedInstances.invalid.length !== 0}\n closable={false}\n maskClosable={false}\n footer={[\n <Button\n type=\"primary\"\n key=\"delete\"\n onClick={closeInvalidFieldValuesModal}\n >\n {t(K.DELETE)}\n </Button>,\n ]}\n onCancel={closeInvalidFieldValuesModal}\n >\n {props.objectId === \"HOST\" && props.fieldId === \"ip\"\n ? `${t(K.INVALID_OR_FORBIDDEN_IPS)}${selectedInstances.invalid.join(\n \", \"\n )}`\n : `${t(K.INVALID)}${fieldData.name}:${selectedInstances.invalid.join(\n \", \"\n )}`}\n </Modal>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={visible}\n title={text}\n aq={props.query}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n selectedRowKeys={selectedInstances.valid.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n singleSelect={props.singleSelect}\n onCancel={closeSelectInstancesModal}\n defaultQuery={props.defaultQuery}\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"select-modal\"\n />\n <div className={style.cmdbInstancesInputFormWrapper}>\n <Input\n data-testid=\"field-value-input\"\n className={style.fieldInput}\n onChange={handleInputChanged}\n value={inputValue}\n onFocus={() => setInputFocused(true)}\n onBlur={handleInputBlur}\n disabled={props.inputDisabled}\n />\n <Button\n className={style.modalButton}\n onClick={openSelectInstancesModal}\n disabled={props.addButtonDisabled}\n >\n {text}\n </Button>\n </div>\n {props.previewEnabled && (\n <>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={previewVisible}\n title={t(K.VIEW_SPECIFIC_INSTANCES)}\n aq={selectedInstancesQuery}\n presetConfigs={{ query: presetQuery, fieldIds: props.fields }}\n permission={permission}\n onCancel={() => setPreviewVisible(false)}\n defaultQuery={props.defaultQuery}\n searchDisabled\n advancedSearchDisabled\n aliveHostsDisabled\n relatedToMeDisabled\n moreButtonsDisabled\n selectDisabled\n pageSize={props.pageSize}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n data-testid=\"preview-modal\"\n />\n <Button\n type=\"link\"\n size=\"small\"\n disabled={!selectedInstancesQuery || inputFocused}\n onClick={() => setPreviewVisible(true)}\n data-testid=\"preview-button\"\n >\n {t(K.VIEW_SPECIFIC_INSTANCES)}\n </Button>\n </>\n )}\n </div>\n );\n};\n\nexport const CmdbInstancesInputFormItem = forwardRef<\n HTMLDivElement,\n CmdbInstancesInputFormItemProps\n>(LegacyCmdbInstancesInputFormItem);\n"],"file":"CmdbInstancesInputFormItem.js"}
@@ -7,6 +7,7 @@ export interface CmdbInstancesInputFormItemProps {
7
7
  };
8
8
  objectId?: string;
9
9
  fieldId?: string;
10
+ fields?: string[];
10
11
  singleSelect?: boolean;
11
12
  inputDisabled?: boolean;
12
13
  checkDisabled?: boolean;
@@ -25,6 +26,9 @@ export interface CmdbInstancesInputFormItemProps {
25
26
  }[];
26
27
  addButtonDisabled?: boolean;
27
28
  previewEnabled?: boolean;
29
+ pageSize?: number;
30
+ pageSizeOptions?: string[];
31
+ showSizeChanger?: boolean;
28
32
  }
29
33
  export declare const LegacyCmdbInstancesInputFormItem: (props: CmdbInstancesInputFormItemProps, ref: React.Ref<HTMLDivElement>) => React.ReactElement;
30
34
  export declare const CmdbInstancesInputFormItem: React.ForwardRefExoticComponent<CmdbInstancesInputFormItemProps & React.RefAttributes<HTMLDivElement>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "6.29.3",
3
+ "version": "6.31.0",
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": "3acd49ef263acb8c1603747187b54b8702dcb5a0"
53
+ "gitHead": "ce8d9cdb6e62eeb41e247315d1045756bc273859"
54
54
  }