@next-libs/cmdb-instances 6.47.12 → 6.49.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.
Files changed (212) hide show
  1. package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js +8 -23
  2. package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  3. package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +3 -43
  4. package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  5. package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +6 -45
  6. package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  7. package/dist/cjs/cmdb-url-link/CmdbUrlLink.js +0 -11
  8. package/dist/cjs/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  9. package/dist/cjs/components/index.js +0 -4
  10. package/dist/cjs/components/index.js.map +1 -1
  11. package/dist/cjs/components/instance-format/index.js +0 -15
  12. package/dist/cjs/components/instance-format/index.js.map +1 -1
  13. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js +33 -92
  14. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  15. package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js +0 -3
  16. package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  17. package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js +0 -2
  18. package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  19. package/dist/cjs/data-providers/fetchCmdbObjectDetail.js +0 -2
  20. package/dist/cjs/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  21. package/dist/cjs/data-providers/fetchCmdbObjectList.js +0 -2
  22. package/dist/cjs/data-providers/fetchCmdbObjectList.js.map +1 -1
  23. package/dist/cjs/data-providers/fetchCmdbObjectRef.js +0 -2
  24. package/dist/cjs/data-providers/fetchCmdbObjectRef.js.map +1 -1
  25. package/dist/cjs/data-providers/index.js +0 -10
  26. package/dist/cjs/data-providers/index.js.map +1 -1
  27. package/dist/cjs/float-display-brick/FloatDisplayBrick.js +0 -7
  28. package/dist/cjs/float-display-brick/FloatDisplayBrick.js.map +1 -1
  29. package/dist/cjs/i18n/constants.js +0 -1
  30. package/dist/cjs/i18n/constants.js.map +1 -1
  31. package/dist/cjs/i18n/index.js +0 -7
  32. package/dist/cjs/i18n/index.js.map +1 -1
  33. package/dist/cjs/i18n/locales/en.js +0 -2
  34. package/dist/cjs/i18n/locales/en.js.map +1 -1
  35. package/dist/cjs/i18n/locales/zh.js +0 -2
  36. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  37. package/dist/cjs/index.js +0 -29
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js +4 -25
  40. package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  41. package/dist/cjs/instance-detail/InstanceDetail.js +42 -124
  42. package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
  43. package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  44. package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js +4 -19
  45. package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  46. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +4 -11
  47. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  48. package/dist/cjs/instance-detail/constants/index.js.map +1 -1
  49. package/dist/cjs/instance-list/IconButton.js +0 -18
  50. package/dist/cjs/instance-list/IconButton.js.map +1 -1
  51. package/dist/cjs/instance-list/InstanceList.js +60 -210
  52. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  53. package/dist/cjs/instance-list/constants.js +0 -7
  54. package/dist/cjs/instance-list/constants.js.map +1 -1
  55. package/dist/cjs/instance-list-modal/InstanceListModal.js +8 -32
  56. package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
  57. package/dist/cjs/instance-list-table/AdvancedSearch.js +12 -133
  58. package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
  59. package/dist/cjs/instance-list-table/AdvancedSearchCondition.js +3 -45
  60. package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  61. package/dist/cjs/instance-list-table/DisplaySettings.js +0 -24
  62. package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
  63. package/dist/cjs/instance-list-table/DisplaySettingsModal.js +0 -10
  64. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  65. package/dist/cjs/instance-list-table/DynamicSearch.js +4 -44
  66. package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
  67. package/dist/cjs/instance-list-table/InstanceListTable.js +30 -151
  68. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  69. package/dist/cjs/instance-list-table/MoreButtonsContainer.js +0 -15
  70. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  71. package/dist/cjs/instance-list-table/constants.js +0 -2
  72. package/dist/cjs/instance-list-table/constants.js.map +1 -1
  73. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js +0 -2
  74. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  75. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js +0 -2
  76. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  77. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js +0 -2
  78. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  79. package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js +0 -2
  80. package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  81. package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js +0 -2
  82. package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  83. package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js +0 -2
  84. package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  85. package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js +1 -2
  86. package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  87. package/dist/cjs/instance-list-table/data-providers/index.js +0 -16
  88. package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
  89. package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js +0 -2
  90. package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  91. package/dist/cjs/instance-list-table/index.js +0 -12
  92. package/dist/cjs/instance-list-table/index.js.map +1 -1
  93. package/dist/cjs/instance-list-table/utils.js +0 -24
  94. package/dist/cjs/instance-list-table/utils.js.map +1 -1
  95. package/dist/cjs/model-attribute-form/ModelAttributeForm.js +27 -99
  96. package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
  97. package/dist/cjs/model-attribute-form/constants.js.map +1 -1
  98. package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js +13 -94
  99. package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  100. package/dist/cjs/model-relation-form/ModelRelationForm.js +0 -18
  101. package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
  102. package/dist/cjs/processors.js +2 -21
  103. package/dist/cjs/processors.js.map +1 -1
  104. package/dist/cjs/struct-components/AddStruct.js +4 -15
  105. package/dist/cjs/struct-components/AddStruct.js.map +1 -1
  106. package/dist/cjs/struct-components/AddStructModal.js +0 -48
  107. package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
  108. package/dist/cjs/struct-components/StructTable.js +2 -32
  109. package/dist/cjs/struct-components/StructTable.js.map +1 -1
  110. package/dist/cjs/struct-components/index.js +0 -8
  111. package/dist/cjs/struct-components/index.js.map +1 -1
  112. package/dist/cjs/struct-components/interfaces.js +0 -1
  113. package/dist/cjs/struct-components/interfaces.js.map +1 -1
  114. package/dist/cjs/struct-components/mockData.js.map +1 -1
  115. package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js +8 -18
  116. package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  117. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +3 -35
  118. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  119. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +4 -32
  120. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  121. package/dist/esm/cmdb-url-link/CmdbUrlLink.js +0 -3
  122. package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  123. package/dist/esm/components/index.js.map +1 -1
  124. package/dist/esm/components/instance-format/index.js +0 -5
  125. package/dist/esm/components/instance-format/index.js.map +1 -1
  126. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js +19 -74
  127. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  128. package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  129. package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  130. package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  131. package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
  132. package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
  133. package/dist/esm/data-providers/index.js.map +1 -1
  134. package/dist/esm/float-display-brick/FloatDisplayBrick.js +0 -1
  135. package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
  136. package/dist/esm/i18n/constants.js +0 -1
  137. package/dist/esm/i18n/constants.js.map +1 -1
  138. package/dist/esm/i18n/index.js +2 -1
  139. package/dist/esm/i18n/index.js.map +1 -1
  140. package/dist/esm/i18n/locales/en.js.map +1 -1
  141. package/dist/esm/i18n/locales/zh.js.map +1 -1
  142. package/dist/esm/index.js +2 -2
  143. package/dist/esm/index.js.map +1 -1
  144. package/dist/esm/instance-attribute-form/InstanceAttributeForm.js +4 -10
  145. package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  146. package/dist/esm/instance-detail/InstanceDetail.js +36 -111
  147. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  148. package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  149. package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js +4 -10
  150. package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  151. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
  152. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  153. package/dist/esm/instance-detail/constants/index.js.map +1 -1
  154. package/dist/esm/instance-list/IconButton.js +0 -8
  155. package/dist/esm/instance-list/IconButton.js.map +1 -1
  156. package/dist/esm/instance-list/InstanceList.js +54 -180
  157. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  158. package/dist/esm/instance-list/constants.js +0 -2
  159. package/dist/esm/instance-list/constants.js.map +1 -1
  160. package/dist/esm/instance-list-modal/InstanceListModal.js +8 -20
  161. package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
  162. package/dist/esm/instance-list-table/AdvancedSearch.js +10 -119
  163. package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
  164. package/dist/esm/instance-list-table/AdvancedSearchCondition.js +1 -31
  165. package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  166. package/dist/esm/instance-list-table/DisplaySettings.js +0 -16
  167. package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
  168. package/dist/esm/instance-list-table/DisplaySettingsModal.js +0 -3
  169. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  170. package/dist/esm/instance-list-table/DynamicSearch.js +0 -34
  171. package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
  172. package/dist/esm/instance-list-table/InstanceListTable.js +23 -138
  173. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  174. package/dist/esm/instance-list-table/MoreButtonsContainer.js +0 -7
  175. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  176. package/dist/esm/instance-list-table/constants.js +0 -2
  177. package/dist/esm/instance-list-table/constants.js.map +1 -1
  178. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  179. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  180. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  181. package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  182. package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  183. package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  184. package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js +1 -1
  185. package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  186. package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
  187. package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  188. package/dist/esm/instance-list-table/index.js.map +1 -1
  189. package/dist/esm/instance-list-table/utils.js +0 -15
  190. package/dist/esm/instance-list-table/utils.js.map +1 -1
  191. package/dist/esm/model-attribute-form/ModelAttributeForm.js +19 -92
  192. package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
  193. package/dist/esm/model-attribute-form/constants.js.map +1 -1
  194. package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js +27 -102
  195. package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  196. package/dist/esm/model-relation-form/ModelRelationForm.js +0 -10
  197. package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
  198. package/dist/esm/processors.js +2 -7
  199. package/dist/esm/processors.js.map +1 -1
  200. package/dist/esm/struct-components/AddStruct.js +4 -9
  201. package/dist/esm/struct-components/AddStruct.js.map +1 -1
  202. package/dist/esm/struct-components/AddStructModal.js +0 -36
  203. package/dist/esm/struct-components/AddStructModal.js.map +1 -1
  204. package/dist/esm/struct-components/StructTable.js +2 -26
  205. package/dist/esm/struct-components/StructTable.js.map +1 -1
  206. package/dist/esm/struct-components/index.js.map +1 -1
  207. package/dist/esm/struct-components/interfaces.js +0 -1
  208. package/dist/esm/struct-components/interfaces.js.map +1 -1
  209. package/dist/esm/struct-components/mockData.js.map +1 -1
  210. package/dist/types/instance-list/InstanceList.d.ts +10 -0
  211. package/package.json +9 -9
  212. package/CHANGELOG.md +0 -3676
@@ -1,7 +1,7 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
-
4
3
  /* eslint-disable react-hooks/exhaustive-deps */
4
+
5
5
  import React, { forwardRef, useState, useEffect, useMemo } from "react";
6
6
  import { Input, Button, Modal } from "antd";
7
7
  import { groupBy } from "lodash";
@@ -22,17 +22,14 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
22
22
  } = useMemo(() => {
23
23
  var presetQuery = {};
24
24
  var permission = [];
25
-
26
25
  if (props.objectId === "HOST") {
27
26
  if (props.checkAgentStatus) {
28
27
  presetQuery._agentStatus = "正常";
29
28
  }
30
-
31
29
  if (props.checkPermission) {
32
30
  permission.push("operate");
33
31
  }
34
32
  }
35
-
36
33
  return {
37
34
  presetQuery,
38
35
  permission
@@ -40,7 +37,6 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
40
37
  }, [props.objectId, props.checkAgentStatus, props.checkPermission]);
41
38
  var fields = useMemo(() => {
42
39
  var _props$fields;
43
-
44
40
  var fields = {};
45
41
  (_props$fields = props.fields) === null || _props$fields === void 0 ? void 0 : _props$fields.forEach(field => {
46
42
  fields[field] = true;
@@ -48,9 +44,7 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
48
44
  return fields;
49
45
  }, [props.fields]);
50
46
  var objectData = modifyModelData(props.objectMap[props.objectId]);
51
-
52
47
  var fieldData = objectData.__fieldList.find(field => field.__id === props.fieldId);
53
-
54
48
  var [visible, setVisible] = useState(false);
55
49
  var [selectedInstances, setSelectedInstances] = useState({
56
50
  valid: [],
@@ -64,7 +58,6 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
64
58
  $in: selectedInstances.valid.map(instance => instance.instanceId)
65
59
  }
66
60
  }, presetQuery), ...(props.query ? props.query : [])] : undefined, [selectedInstances.valid, presetQuery, props.query]);
67
-
68
61
  var checkSelectedInstances = /*#__PURE__*/function () {
69
62
  var _ref = _asyncToGenerator(function* (selectedInstances) {
70
63
  if (selectedInstances) {
@@ -89,16 +82,13 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
89
82
  return selectedInstancesMap.true ? selectedInstancesMap.true : [];
90
83
  }
91
84
  });
92
-
93
85
  return function checkSelectedInstances(_x) {
94
86
  return _ref.apply(this, arguments);
95
87
  };
96
88
  }();
97
-
98
89
  var updateSelected = /*#__PURE__*/function () {
99
90
  var _ref2 = _asyncToGenerator(function* (instanceIds) {
100
91
  var selectedInstances = [];
101
-
102
92
  if (instanceIds.length) {
103
93
  selectedInstances = (yield InstanceApi_postSearch(props.objectId, {
104
94
  page: 1,
@@ -114,10 +104,8 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
114
104
  }
115
105
  })).list;
116
106
  }
117
-
118
107
  setInputValue(selectedInstances.map(instanceData => instanceData[props.fieldId]).join(separator));
119
108
  var instances = selectedInstances;
120
-
121
109
  if (selectedInstances.length) {
122
110
  if (!props.checkDisabled) {
123
111
  instances = yield checkSelectedInstances(selectedInstances);
@@ -128,33 +116,26 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
128
116
  invalid: []
129
117
  });
130
118
  }
131
-
132
119
  return instances;
133
120
  });
134
-
135
121
  return function updateSelected(_x2) {
136
122
  return _ref2.apply(this, arguments);
137
123
  };
138
124
  }();
139
-
140
125
  useEffect(() => {
141
126
  if (props.value) {
142
127
  updateSelected(props.value);
143
- } // todo(ice): how formItem to change its value??????
144
-
128
+ }
129
+ // todo(ice): how formItem to change its value??????
145
130
  }, []);
146
-
147
131
  var handleChange = instances => {
148
132
  var _props$onChange, _props$onChangeV;
149
-
150
133
  (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances.map(instance => instance.instanceId));
151
134
  (_props$onChangeV = props.onChangeV2) === null || _props$onChangeV === void 0 ? void 0 : _props$onChangeV.call(props, instances);
152
135
  };
153
-
154
136
  var checkInputValue = /*#__PURE__*/function () {
155
137
  var _ref3 = _asyncToGenerator(function* (inputValue) {
156
138
  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);
157
-
158
139
  if (fieldValues) {
159
140
  var instances = (yield InstanceApi_postSearch(props.objectId, {
160
141
  query: {
@@ -180,40 +161,32 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
180
161
  handleChange(validSelectedInstances);
181
162
  }
182
163
  });
183
-
184
164
  return function checkInputValue(_x3) {
185
165
  return _ref3.apply(this, arguments);
186
166
  };
187
167
  }();
188
-
189
168
  var openSelectInstancesModal = () => {
190
169
  setVisible(true);
191
170
  };
192
-
193
171
  var closeSelectInstancesModal = () => {
194
172
  setVisible(false);
195
173
  };
196
-
197
174
  var handleInstancesSelected = /*#__PURE__*/function () {
198
175
  var _ref4 = _asyncToGenerator(function* (selectedKeys) {
199
176
  closeSelectInstancesModal();
200
177
  var instances = yield updateSelected(selectedKeys);
201
178
  handleChange(instances);
202
179
  });
203
-
204
180
  return function handleInstancesSelected(_x4) {
205
181
  return _ref4.apply(this, arguments);
206
182
  };
207
183
  }();
208
-
209
184
  var handleInputChanged = event => {
210
185
  setInputValue(event.target.value);
211
186
  };
212
-
213
187
  var handleInputBlur = /*#__PURE__*/function () {
214
188
  var _ref5 = _asyncToGenerator(function* (event) {
215
189
  var inputValue = event.target.value;
216
-
217
190
  if (inputValue) {
218
191
  if (!props.checkDisabled) {
219
192
  yield checkInputValue(inputValue);
@@ -245,18 +218,14 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
245
218
  });
246
219
  handleChange([]);
247
220
  }
248
-
249
221
  setInputFocused(false);
250
222
  });
251
-
252
223
  return function handleInputBlur(_x5) {
253
224
  return _ref5.apply(this, arguments);
254
225
  };
255
226
  }();
256
-
257
227
  var closeInvalidFieldValuesModal = () => {
258
228
  var _props$onChange2;
259
-
260
229
  setSelectedInstances({
261
230
  valid: selectedInstances.valid,
262
231
  invalid: []
@@ -264,7 +233,6 @@ export var LegacyCmdbInstancesInputFormItem = (props, ref) => {
264
233
  setInputValue(selectedInstances.valid.map(instance => instance[props.fieldId]).join(separator));
265
234
  (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, selectedInstances.valid.map(instance => instance.instanceId));
266
235
  };
267
-
268
236
  var text = props.selectFromText ? props.selectFromText : t(K.SELECT_FROM_CMDB);
269
237
  return /*#__PURE__*/React.createElement("div", {
270
238
  ref: ref
@@ -1 +1 @@
1
- {"version":3,"file":"CmdbInstancesInputFormItem.js","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","allowClear","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"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 allowClear?: boolean;\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 } else {\n setSelectedInstances({\n valid: [],\n invalid: [],\n });\n\n handleChange([]);\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 allowClear={props.allowClear}\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"],"mappings":"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"}
1
+ {"version":3,"file":"CmdbInstancesInputFormItem.js","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","allowClear","inputDisabled","modalButton","addButtonDisabled","VIEW_SPECIFIC_INSTANCES","CmdbInstancesInputFormItem"],"sources":["../../../src/cmdb-instances-input-form/CmdbInstancesInputFormItem.tsx"],"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 allowClear?: boolean;\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 } else {\n setSelectedInstances({\n valid: [],\n invalid: [],\n });\n\n handleChange([]);\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 allowClear={props.allowClear}\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"],"mappings":"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"}
@@ -17,18 +17,14 @@ export function isCmdbInstancesSelectPanelPropsWithObjectMap(props) {
17
17
  }
18
18
  export function CmdbInstancesSelectPanel(props, ref) {
19
19
  var _props$previewMaxNumb, _props$value, _props$instanceQuery, _props$modalTitle, _props$addTitle;
20
-
21
20
  var modelData;
22
-
23
21
  if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {
24
22
  modelData = props.objectMap[props.objectId];
25
23
  } else {
26
24
  modelData = props.modelData;
27
25
  }
28
-
29
26
  if (props.isFilterView) {
30
27
  var _modelData, _modelData$view;
31
-
32
28
  //过滤掉视图不可见字段
33
29
  var hideModelData = ((_modelData = modelData) === null || _modelData === void 0 ? void 0 : (_modelData$view = _modelData.view) === null || _modelData$view === void 0 ? void 0 : _modelData$view.hide_columns) || [];
34
30
  modelData = _objectSpread(_objectSpread({}, modelData), {}, {
@@ -36,11 +32,10 @@ export function CmdbInstancesSelectPanel(props, ref) {
36
32
  relation_list: modelData.relation_list.filter(item => !(hideModelData.includes(item.left_id) && item.left_object_id === props.objectId || hideModelData.includes(item.right_id) && item.right_object_id === props.objectId))
37
33
  });
38
34
  }
39
-
40
35
  var displayedSelectedInstancesMaxNumber = (_props$previewMaxNumb = props.previewMaxNumber) !== null && _props$previewMaxNumb !== void 0 ? _props$previewMaxNumb : 5;
41
36
  var [selectedInstanceList, setSelectedInstanceList] = useState([]);
42
- var [partialSelectedInstances, setPartialSelectedInstances] = useState([]); // const [instanceTableData, setInstanceTableData] = useState({list: []})
43
-
37
+ var [partialSelectedInstances, setPartialSelectedInstances] = useState([]);
38
+ // const [instanceTableData, setInstanceTableData] = useState({list: []})
44
39
  var [addInstancesModal, setAddInstancesModal] = useState({
45
40
  visible: false
46
41
  });
@@ -48,11 +43,9 @@ export function CmdbInstancesSelectPanel(props, ref) {
48
43
  visible: false
49
44
  });
50
45
  var [modelMap, setModelMap] = useState({});
51
-
52
46
  var fetchInstances = /*#__PURE__*/function () {
53
47
  var _ref = _asyncToGenerator(function* (instanceIdList) {
54
48
  var instances = [];
55
-
56
49
  if (instanceIdList !== null && instanceIdList !== void 0 && instanceIdList.length) {
57
50
  instances = (yield InstanceApi_postSearch(props.objectId, {
58
51
  query: {
@@ -68,21 +61,17 @@ export function CmdbInstancesSelectPanel(props, ref) {
68
61
  }
69
62
  })).list;
70
63
  }
71
-
72
64
  return instances;
73
65
  });
74
-
75
66
  return function fetchInstances(_x) {
76
67
  return _ref.apply(this, arguments);
77
68
  };
78
69
  }();
79
-
80
70
  var toLoadInstanceIds = ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.map(i => isObject(i) ? i.instanceId : i)) || [];
81
71
  useEffect(() => {
82
72
  var getModelMap = /*#__PURE__*/function () {
83
73
  var _ref2 = _asyncToGenerator(function* () {
84
74
  var modelMap;
85
-
86
75
  if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {
87
76
  modelMap = props.objectMap;
88
77
  } else {
@@ -93,35 +82,28 @@ export function CmdbInstancesSelectPanel(props, ref) {
93
82
  });
94
83
  modelMap = keyBy(data, "objectId");
95
84
  }
96
-
97
85
  setModelMap(modelMap);
98
86
  });
99
-
100
87
  return function getModelMap() {
101
88
  return _ref2.apply(this, arguments);
102
89
  };
103
90
  }();
104
-
105
91
  getModelMap();
106
92
  }, [props.objectId]);
107
93
  useEffect(() => {
108
94
  var instances = [];
109
-
110
95
  var initInstances = /*#__PURE__*/function () {
111
96
  var _ref3 = _asyncToGenerator(function* () {
112
97
  var _props$onFetchedInsta;
113
-
114
98
  instances = yield fetchInstances(toLoadInstanceIds);
115
99
  setSelectedInstanceList(instances);
116
100
  setPartialSelectedInstances(props !== null && props !== void 0 && props.isOperate ? instances : instances.slice(0, displayedSelectedInstancesMaxNumber));
117
101
  (_props$onFetchedInsta = props.onFetchedInstances) === null || _props$onFetchedInsta === void 0 ? void 0 : _props$onFetchedInsta.call(props, instances);
118
102
  });
119
-
120
103
  return function initInstances() {
121
104
  return _ref3.apply(this, arguments);
122
105
  };
123
106
  }();
124
-
125
107
  if (!isEmpty(toLoadInstanceIds)) {
126
108
  initInstances();
127
109
  } else {
@@ -129,47 +111,39 @@ export function CmdbInstancesSelectPanel(props, ref) {
129
111
  setPartialSelectedInstances([]);
130
112
  }
131
113
  }, [toLoadInstanceIds.sort().join()]);
132
-
133
114
  var openAddInstancesModal = () => {
134
115
  setAddInstancesModal({
135
116
  visible: true
136
117
  });
137
118
  };
138
-
139
119
  var closeAddInstancesModal = () => {
140
120
  setAddInstancesModal({
141
121
  visible: false
142
122
  });
143
123
  };
144
-
145
124
  var openAllSelectedInstancesModal = () => {
146
125
  setAllSelectedInstancesModal({
147
126
  visible: true
148
127
  });
149
128
  };
150
-
151
129
  var closeAllSelectedInstancesModal = () => {
152
130
  setAllSelectedInstancesModal({
153
131
  visible: false
154
132
  });
155
133
  };
156
-
157
134
  var handleInstancesSelected = /*#__PURE__*/function () {
158
135
  var _ref4 = _asyncToGenerator(function* (selectedKeys) {
159
136
  var _props$onChange;
160
-
161
137
  closeAddInstancesModal();
162
138
  var instances = yield fetchInstances(selectedKeys);
163
139
  setSelectedInstanceList(instances);
164
140
  setPartialSelectedInstances(props !== null && props !== void 0 && props.isOperate ? instances : instances.slice(0, displayedSelectedInstancesMaxNumber));
165
141
  (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, instances);
166
142
  });
167
-
168
143
  return function handleInstancesSelected(_x2) {
169
144
  return _ref4.apply(this, arguments);
170
145
  };
171
146
  }();
172
-
173
147
  var fieldIds = modifyModelData(modelData).attrList.map(attr => attr.id);
174
148
  var showPreview = selectedInstanceList.length > displayedSelectedInstancesMaxNumber;
175
149
  var cs = classnames({
@@ -180,7 +154,6 @@ export function CmdbInstancesSelectPanel(props, ref) {
180
154
  relation
181
155
  } = props;
182
156
  var relationLimit;
183
-
184
157
  if ((relation === null || relation === void 0 ? void 0 : relation.right_max) === 1) {
185
158
  relationLimit = {
186
159
  [relation.right_id]: {
@@ -190,7 +163,6 @@ export function CmdbInstancesSelectPanel(props, ref) {
190
163
  }
191
164
  };
192
165
  }
193
-
194
166
  var query = (_props$instanceQuery = props.instanceQuery) !== null && _props$instanceQuery !== void 0 ? _props$instanceQuery : relationLimit;
195
167
  return /*#__PURE__*/React.createElement("div", {
196
168
  className: style.wrapper,
@@ -268,12 +240,12 @@ export function CmdbInstancesSelectPanel(props, ref) {
268
240
  }
269
241
  } : {
270
242
  pagination: false
271
- } //
243
+ }
244
+ //
272
245
  ,
273
246
  isOperate: props.isOperate,
274
247
  handleDeleteFunction: v => {
275
248
  var _props$onChange2;
276
-
277
249
  setSelectedInstanceList(v);
278
250
  setPartialSelectedInstances(v);
279
251
  (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, v);
@@ -1 +1 @@
1
- {"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","toLoadInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n relation?: Partial<ModifiedModelObjectRelation>;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n showPagination?: boolean;\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n pageSize={props.addInstancesModalPageSize}\n searchDisabled={props.searchDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CmdbInstancesSelectPanel.js","names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","toLoadInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","showPagination","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n relation?: Partial<ModifiedModelObjectRelation>;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n showPagination?: boolean;\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n // const [instanceTableData, setInstanceTableData] = useState({list: []})\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n pageSize={props.addInstancesModalPageSize}\n searchDisabled={props.searchDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{ list: partialSelectedInstances }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={\n props.showPagination && partialSelectedInstances.length > 10\n ? { pagination: { showSizeChanger: true } }\n : { pagination: false }\n }\n //\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -3,17 +3,14 @@ import React from "react";
3
3
  export var checkUrl = urlStr => {
4
4
  var patternSchema = /^[a-zA-Z]+:\/\/.*$/;
5
5
  var preSlashPatty = /^\//;
6
-
7
6
  if (urlStr) {
8
7
  return patternSchema.test(urlStr) || preSlashPatty.test(urlStr) ? urlStr : "http://" + urlStr;
9
8
  }
10
-
11
9
  return "";
12
10
  };
13
11
  export var generateUrlLink = linkStr => {
14
12
  var patty = /^\[(.*)\]\((.*)\)$/;
15
13
  var arr = linkStr.match(patty);
16
-
17
14
  if (isArray(arr) && arr.length > 0) {
18
15
  return {
19
16
  url: checkUrl(arr[2]),
@@ -1 +1 @@
1
- {"version":3,"file":"CmdbUrlLink.js","names":["isArray","isString","React","checkUrl","urlStr","patternSchema","preSlashPatty","test","generateUrlLink","linkStr","patty","arr","match","length","url","title","link","CmdbUrlLink","props","collection"],"sources":["../../../src/cmdb-url-link/CmdbUrlLink.tsx"],"sourcesContent":["import { isArray, isString } from \"lodash\";\nimport React from \"react\";\n\ninterface CmdbUrlLinkProps {\n linkStr: string;\n}\n\nexport const checkUrl = (urlStr: string) => {\n const patternSchema = /^[a-zA-Z]+:\\/\\/.*$/;\n const preSlashPatty = /^\\//;\n if (urlStr) {\n return patternSchema.test(urlStr) || preSlashPatty.test(urlStr)\n ? urlStr\n : \"http://\" + urlStr;\n }\n return \"\";\n};\nexport const generateUrlLink = (linkStr: string) => {\n const patty = /^\\[(.*)\\]\\((.*)\\)$/;\n const arr = linkStr.match(patty);\n\n if (isArray(arr) && arr.length > 0) {\n return {\n url: checkUrl(arr[2]),\n title: arr[1] || arr[2],\n };\n } else {\n const link = checkUrl(linkStr);\n return {\n url: link,\n title: link,\n };\n }\n};\nexport function CmdbUrlLink(props: CmdbUrlLinkProps): React.ReactElement {\n const collection = props.linkStr && generateUrlLink(props.linkStr);\n return props.linkStr && isString(props.linkStr) ? (\n <span>\n <a href={collection.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {collection.title}\n </a>\n </span>\n ) : null;\n}\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,QAAlB,QAAkC,QAAlC;AACA,OAAOC,KAAP,MAAkB,OAAlB;AAMA,OAAO,IAAMC,QAAQ,GAAIC,MAAD,IAAoB;EAC1C,IAAMC,aAAa,GAAG,oBAAtB;EACA,IAAMC,aAAa,GAAG,KAAtB;;EACA,IAAIF,MAAJ,EAAY;IACV,OAAOC,aAAa,CAACE,IAAd,CAAmBH,MAAnB,KAA8BE,aAAa,CAACC,IAAd,CAAmBH,MAAnB,CAA9B,GACHA,MADG,GAEH,YAAYA,MAFhB;EAGD;;EACD,OAAO,EAAP;AACD,CATM;AAUP,OAAO,IAAMI,eAAe,GAAIC,OAAD,IAAqB;EAClD,IAAMC,KAAK,GAAG,oBAAd;EACA,IAAMC,GAAG,GAAGF,OAAO,CAACG,KAAR,CAAcF,KAAd,CAAZ;;EAEA,IAAIV,OAAO,CAACW,GAAD,CAAP,IAAgBA,GAAG,CAACE,MAAJ,GAAa,CAAjC,EAAoC;IAClC,OAAO;MACLC,GAAG,EAAEX,QAAQ,CAACQ,GAAG,CAAC,CAAD,CAAJ,CADR;MAELI,KAAK,EAAEJ,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAG,CAAC,CAAD;IAFf,CAAP;EAID,CALD,MAKO;IACL,IAAMK,IAAI,GAAGb,QAAQ,CAACM,OAAD,CAArB;IACA,OAAO;MACLK,GAAG,EAAEE,IADA;MAELD,KAAK,EAAEC;IAFF,CAAP;EAID;AACF,CAhBM;AAiBP,OAAO,SAASC,WAAT,CAAqBC,KAArB,EAAkE;EACvE,IAAMC,UAAU,GAAGD,KAAK,CAACT,OAAN,IAAiBD,eAAe,CAACU,KAAK,CAACT,OAAP,CAAnD;EACA,OAAOS,KAAK,CAACT,OAAN,IAAiBR,QAAQ,CAACiB,KAAK,CAACT,OAAP,CAAzB,gBACL,+CACE;IAAG,IAAI,EAAEU,UAAU,CAACL,GAApB;IAAyB,MAAM,EAAC,QAAhC;IAAyC,GAAG,EAAC;EAA7C,GACGK,UAAU,CAACJ,KADd,CADF,CADK,GAMH,IANJ;AAOD"}
1
+ {"version":3,"file":"CmdbUrlLink.js","names":["isArray","isString","React","checkUrl","urlStr","patternSchema","preSlashPatty","test","generateUrlLink","linkStr","patty","arr","match","length","url","title","link","CmdbUrlLink","props","collection"],"sources":["../../../src/cmdb-url-link/CmdbUrlLink.tsx"],"sourcesContent":["import { isArray, isString } from \"lodash\";\nimport React from \"react\";\n\ninterface CmdbUrlLinkProps {\n linkStr: string;\n}\n\nexport const checkUrl = (urlStr: string) => {\n const patternSchema = /^[a-zA-Z]+:\\/\\/.*$/;\n const preSlashPatty = /^\\//;\n if (urlStr) {\n return patternSchema.test(urlStr) || preSlashPatty.test(urlStr)\n ? urlStr\n : \"http://\" + urlStr;\n }\n return \"\";\n};\nexport const generateUrlLink = (linkStr: string) => {\n const patty = /^\\[(.*)\\]\\((.*)\\)$/;\n const arr = linkStr.match(patty);\n\n if (isArray(arr) && arr.length > 0) {\n return {\n url: checkUrl(arr[2]),\n title: arr[1] || arr[2],\n };\n } else {\n const link = checkUrl(linkStr);\n return {\n url: link,\n title: link,\n };\n }\n};\nexport function CmdbUrlLink(props: CmdbUrlLinkProps): React.ReactElement {\n const collection = props.linkStr && generateUrlLink(props.linkStr);\n return props.linkStr && isString(props.linkStr) ? (\n <span>\n <a href={collection.url} target=\"_blank\" rel=\"noopener noreferrer\">\n {collection.title}\n </a>\n </span>\n ) : null;\n}\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAC1C,OAAOC,KAAK,MAAM,OAAO;AAMzB,OAAO,IAAMC,QAAQ,GAAIC,MAAc,IAAK;EAC1C,IAAMC,aAAa,GAAG,oBAAoB;EAC1C,IAAMC,aAAa,GAAG,KAAK;EAC3B,IAAIF,MAAM,EAAE;IACV,OAAOC,aAAa,CAACE,IAAI,CAACH,MAAM,CAAC,IAAIE,aAAa,CAACC,IAAI,CAACH,MAAM,CAAC,GAC3DA,MAAM,GACN,SAAS,GAAGA,MAAM;EACxB;EACA,OAAO,EAAE;AACX,CAAC;AACD,OAAO,IAAMI,eAAe,GAAIC,OAAe,IAAK;EAClD,IAAMC,KAAK,GAAG,oBAAoB;EAClC,IAAMC,GAAG,GAAGF,OAAO,CAACG,KAAK,CAACF,KAAK,CAAC;EAEhC,IAAIV,OAAO,CAACW,GAAG,CAAC,IAAIA,GAAG,CAACE,MAAM,GAAG,CAAC,EAAE;IAClC,OAAO;MACLC,GAAG,EAAEX,QAAQ,CAACQ,GAAG,CAAC,CAAC,CAAC,CAAC;MACrBI,KAAK,EAAEJ,GAAG,CAAC,CAAC,CAAC,IAAIA,GAAG,CAAC,CAAC;IACxB,CAAC;EACH,CAAC,MAAM;IACL,IAAMK,IAAI,GAAGb,QAAQ,CAACM,OAAO,CAAC;IAC9B,OAAO;MACLK,GAAG,EAAEE,IAAI;MACTD,KAAK,EAAEC;IACT,CAAC;EACH;AACF,CAAC;AACD,OAAO,SAASC,WAAW,CAACC,KAAuB,EAAsB;EACvE,IAAMC,UAAU,GAAGD,KAAK,CAACT,OAAO,IAAID,eAAe,CAACU,KAAK,CAACT,OAAO,CAAC;EAClE,OAAOS,KAAK,CAACT,OAAO,IAAIR,QAAQ,CAACiB,KAAK,CAACT,OAAO,CAAC,gBAC7C,+CACE;IAAG,IAAI,EAAEU,UAAU,CAACL,GAAI;IAAC,MAAM,EAAC,QAAQ;IAAC,GAAG,EAAC;EAAqB,GAC/DK,UAAU,CAACJ,KAAK,CACf,CACC,GACL,IAAI;AACV"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.tsx"],"sourcesContent":["export * from \"./instance-format\";\nexport * from \"./user-or-user-group-select/UserOrUserGroupSelect\";\n"],"mappings":"AAAA,cAAc,mBAAd;AACA,cAAc,mDAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.tsx"],"sourcesContent":["export * from \"./instance-format\";\nexport * from \"./user-or-user-group-select/UserOrUserGroupSelect\";\n"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,mDAAmD"}