@next-libs/cmdb-instances 7.21.2 → 7.21.3

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 (176) hide show
  1. package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  2. package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +1 -3
  3. package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  4. package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  5. package/dist/cjs/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  6. package/dist/cjs/components/cmdb-upload/index.js.map +1 -1
  7. package/dist/cjs/components/index.js.map +1 -1
  8. package/dist/cjs/components/instance-format/index.js.map +1 -1
  9. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js +1 -2
  10. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  11. package/dist/cjs/constants.js +2 -4
  12. package/dist/cjs/constants.js.map +1 -1
  13. package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  14. package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  15. package/dist/cjs/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  16. package/dist/cjs/data-providers/fetchCmdbObjectList.js.map +1 -1
  17. package/dist/cjs/data-providers/fetchCmdbObjectRef.js.map +1 -1
  18. package/dist/cjs/data-providers/index.js.map +1 -1
  19. package/dist/cjs/float-display-brick/FloatDisplayBrick.js.map +1 -1
  20. package/dist/cjs/i18n/constants.js +2 -4
  21. package/dist/cjs/i18n/constants.js.map +1 -1
  22. package/dist/cjs/i18n/index.js.map +1 -1
  23. package/dist/cjs/i18n/locales/en.js +1 -2
  24. package/dist/cjs/i18n/locales/en.js.map +1 -1
  25. package/dist/cjs/i18n/locales/zh.js +1 -2
  26. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js +1 -2
  29. package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  30. package/dist/cjs/instance-detail/InstanceDetail.js +1 -2
  31. package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
  32. package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js +1 -2
  33. package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  34. package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  35. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  36. package/dist/cjs/instance-detail/components/instances-attachment-display/instances-attachment-display.js.map +1 -1
  37. package/dist/cjs/instance-detail/constants/index.js +4 -8
  38. package/dist/cjs/instance-detail/constants/index.js.map +1 -1
  39. package/dist/cjs/instance-list/FilterInstanceSource.js +1 -2
  40. package/dist/cjs/instance-list/FilterInstanceSource.js.map +1 -1
  41. package/dist/cjs/instance-list/IconButton.js.map +1 -1
  42. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  43. package/dist/cjs/instance-list/constants.js +7 -14
  44. package/dist/cjs/instance-list/constants.js.map +1 -1
  45. package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
  46. package/dist/cjs/instance-list-table/AdvancedSearch.js +2 -4
  47. package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
  48. package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  49. package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
  50. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  51. package/dist/cjs/instance-list-table/DynamicSearch.js +1 -2
  52. package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
  53. package/dist/cjs/instance-list-table/InstanceListTable.js +2 -2
  54. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  55. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  56. package/dist/cjs/instance-list-table/constants.js +7 -14
  57. package/dist/cjs/instance-list-table/constants.js.map +1 -1
  58. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  59. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  60. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  61. package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  62. package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  63. package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  64. package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  65. package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
  66. package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  67. package/dist/cjs/instance-list-table/index.js.map +1 -1
  68. package/dist/cjs/instance-list-table/interfaces.js.map +1 -1
  69. package/dist/cjs/instance-list-table/utils.js +1 -2
  70. package/dist/cjs/instance-list-table/utils.js.map +1 -1
  71. package/dist/cjs/json-display-brick/JsonDisplayBrick.js.map +1 -1
  72. package/dist/cjs/model-attribute-form/ModelAttributeForm.js +3 -2
  73. package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
  74. package/dist/cjs/model-attribute-form/constants.js +1 -2
  75. package/dist/cjs/model-attribute-form/constants.js.map +1 -1
  76. package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js +21 -27
  77. package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  78. package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
  79. package/dist/cjs/processors.js +3 -4
  80. package/dist/cjs/processors.js.map +1 -1
  81. package/dist/cjs/struct-components/AddStruct.js +4 -3
  82. package/dist/cjs/struct-components/AddStruct.js.map +1 -1
  83. package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
  84. package/dist/cjs/struct-components/StructTable.js +1 -0
  85. package/dist/cjs/struct-components/StructTable.js.map +1 -1
  86. package/dist/cjs/struct-components/index.js.map +1 -1
  87. package/dist/cjs/struct-components/interfaces.js +1 -2
  88. package/dist/cjs/struct-components/interfaces.js.map +1 -1
  89. package/dist/cjs/struct-components/mockData.js +5 -10
  90. package/dist/cjs/struct-components/mockData.js.map +1 -1
  91. package/dist/cjs/xml-display-brick/XmlDisplayBrick.js.map +1 -1
  92. package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  93. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +0 -1
  94. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  95. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  96. package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  97. package/dist/esm/components/cmdb-upload/index.js.map +1 -1
  98. package/dist/esm/components/index.js.map +1 -1
  99. package/dist/esm/components/instance-format/index.js.map +1 -1
  100. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  101. package/dist/esm/constants.js.map +1 -1
  102. package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  103. package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  104. package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  105. package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
  106. package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
  107. package/dist/esm/data-providers/index.js.map +1 -1
  108. package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
  109. package/dist/esm/i18n/constants.js.map +1 -1
  110. package/dist/esm/i18n/index.js.map +1 -1
  111. package/dist/esm/i18n/locales/en.js.map +1 -1
  112. package/dist/esm/i18n/locales/zh.js.map +1 -1
  113. package/dist/esm/index.js.map +1 -1
  114. package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  115. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  116. package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  117. package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  118. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  119. package/dist/esm/instance-detail/components/instances-attachment-display/instances-attachment-display.js +0 -1
  120. package/dist/esm/instance-detail/components/instances-attachment-display/instances-attachment-display.js.map +1 -1
  121. package/dist/esm/instance-detail/constants/index.js.map +1 -1
  122. package/dist/esm/instance-list/FilterInstanceSource.js.map +1 -1
  123. package/dist/esm/instance-list/IconButton.js.map +1 -1
  124. package/dist/esm/instance-list/InstanceList.js +10 -10
  125. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  126. package/dist/esm/instance-list/constants.js.map +1 -1
  127. package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
  128. package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
  129. package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  130. package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
  131. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  132. package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
  133. package/dist/esm/instance-list-table/InstanceListTable.js +4 -4
  134. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  135. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  136. package/dist/esm/instance-list-table/constants.js.map +1 -1
  137. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  138. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  139. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  140. package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  141. package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  142. package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  143. package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  144. package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
  145. package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  146. package/dist/esm/instance-list-table/index.js.map +1 -1
  147. package/dist/esm/instance-list-table/interfaces.js.map +1 -1
  148. package/dist/esm/instance-list-table/utils.js.map +1 -1
  149. package/dist/esm/json-display-brick/JsonDisplayBrick.js.map +1 -1
  150. package/dist/esm/model-attribute-form/ModelAttributeForm.js +2 -0
  151. package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
  152. package/dist/esm/model-attribute-form/constants.js.map +1 -1
  153. package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js +17 -19
  154. package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  155. package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
  156. package/dist/esm/processors.js.map +1 -1
  157. package/dist/esm/struct-components/AddStruct.js +4 -3
  158. package/dist/esm/struct-components/AddStruct.js.map +1 -1
  159. package/dist/esm/struct-components/AddStructModal.js.map +1 -1
  160. package/dist/esm/struct-components/StructTable.js +1 -0
  161. package/dist/esm/struct-components/StructTable.js.map +1 -1
  162. package/dist/esm/struct-components/index.js.map +1 -1
  163. package/dist/esm/struct-components/interfaces.js.map +1 -1
  164. package/dist/esm/struct-components/mockData.js.map +1 -1
  165. package/dist/esm/xml-display-brick/XmlDisplayBrick.js.map +1 -1
  166. package/dist/types/instance-attribute-form/InstanceAttributeForm.d.ts +1 -1
  167. package/dist/types/instance-detail/InstanceDetail.d.ts +1 -1
  168. package/dist/types/instance-list/IconButton.d.ts +2 -2
  169. package/dist/types/instance-list-table/AdvancedSearch.d.ts +1 -1
  170. package/dist/types/instance-list-table/DisplaySettings.d.ts +2 -2
  171. package/dist/types/instance-list-table/DynamicSearch.d.ts +1 -1
  172. package/dist/types/instance-list-table/InstanceListTable.d.ts +6 -6
  173. package/dist/types/model-attribute-form/ModelAttributeForm.d.ts +1 -1
  174. package/dist/types/struct-components/AddStruct.d.ts +1 -1
  175. package/dist/types/struct-components/StructTable.d.ts +2 -2
  176. package/package.json +7 -7
@@ -9,7 +9,7 @@ var _i18next = _interopRequireDefault(require("i18next"));
9
9
  var _constants = require("../i18n/constants");
10
10
  var _i18n = require("../i18n");
11
11
  (0, _i18n.addResourceBundle)();
12
- const CMDB_RESOURCE_FIELDS_SETTINGS = {
12
+ const CMDB_RESOURCE_FIELDS_SETTINGS = exports.CMDB_RESOURCE_FIELDS_SETTINGS = {
13
13
  defaultFields: {
14
14
  APP: ["name", "businesses", "owner", "developer", "tester"],
15
15
  USER: ["name", "nickname", "user_email", "user_tel"],
@@ -36,8 +36,7 @@ const CMDB_RESOURCE_FIELDS_SETTINGS = {
36
36
  HOST: ["deviceId"]
37
37
  }
38
38
  };
39
- exports.CMDB_RESOURCE_FIELDS_SETTINGS = CMDB_RESOURCE_FIELDS_SETTINGS;
40
- const CMDB_MODAL_FIELDS_SETTINGS = {
39
+ const CMDB_MODAL_FIELDS_SETTINGS = exports.CMDB_MODAL_FIELDS_SETTINGS = {
41
40
  defaultFields: {
42
41
  HOST: ["ip", "hostname", "status", "owner", "_agentStatus"]
43
42
  },
@@ -46,17 +45,13 @@ const CMDB_MODAL_FIELDS_SETTINGS = {
46
45
  },
47
46
  ignoredFields: CMDB_RESOURCE_FIELDS_SETTINGS.ignoredFields
48
47
  };
49
- exports.CMDB_MODAL_FIELDS_SETTINGS = CMDB_MODAL_FIELDS_SETTINGS;
50
- const MAX_DEFAULT_FIELDS_COUNT = 8;
51
- exports.MAX_DEFAULT_FIELDS_COUNT = MAX_DEFAULT_FIELDS_COUNT;
52
- const MAX_DEFAULT_MODAL_FIELDS_COUNT = 4;
53
- exports.MAX_DEFAULT_MODAL_FIELDS_COUNT = MAX_DEFAULT_MODAL_FIELDS_COUNT;
54
- let otherFieldIds;
55
- exports.otherFieldIds = otherFieldIds;
48
+ const MAX_DEFAULT_FIELDS_COUNT = exports.MAX_DEFAULT_FIELDS_COUNT = 8;
49
+ const MAX_DEFAULT_MODAL_FIELDS_COUNT = exports.MAX_DEFAULT_MODAL_FIELDS_COUNT = 4;
50
+ let otherFieldIds = exports.otherFieldIds = void 0;
56
51
  (function (otherFieldIds) {
57
52
  otherFieldIds["autoBreakLine"] = "_autoBreakLine_";
58
53
  })(otherFieldIds || (exports.otherFieldIds = otherFieldIds = {}));
59
- const extraFieldAttrs = [{
54
+ const extraFieldAttrs = exports.extraFieldAttrs = [{
60
55
  id: "creator",
61
56
  name: _i18next.default.t(`${_constants.NS_LIBS_CMDB_INSTANCES}:${_constants.K.CREATOR}`),
62
57
  isRelation: false,
@@ -85,7 +80,5 @@ const extraFieldAttrs = [{
85
80
  type: "datetime"
86
81
  }
87
82
  }];
88
- exports.extraFieldAttrs = extraFieldAttrs;
89
- const objectListCache = new Map();
90
- exports.objectListCache = objectListCache;
83
+ const objectListCache = exports.objectListCache = new Map();
91
84
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["addResourceBundle","CMDB_RESOURCE_FIELDS_SETTINGS","defaultFields","APP","USER","USER_GROUP","HOST","fixedFields","ignoredFields","BUSINESS","CLUSTER","CMDB_MODAL_FIELDS_SETTINGS","MAX_DEFAULT_FIELDS_COUNT","MAX_DEFAULT_MODAL_FIELDS_COUNT","otherFieldIds","extraFieldAttrs","id","name","i18n","t","NS_LIBS_CMDB_INSTANCES","K","CREATOR","isRelation","value","type","CREATION_TIME","MODIFIER","LAST_MODIFICATION_TIME","objectListCache","Map"],"sources":["../../../src/instance-list/constants.ts"],"sourcesContent":["import { ModelObjectAttrValue } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { addResourceBundle } from \"../i18n\";\naddResourceBundle();\n\nexport const CMDB_RESOURCE_FIELDS_SETTINGS = {\n defaultFields: {\n APP: [\"name\", \"businesses\", \"owner\", \"developer\", \"tester\"],\n USER: [\"name\", \"nickname\", \"user_email\", \"user_tel\"],\n USER_GROUP: [\"name\", \"_members\"],\n \"APP-HOST\": [\"ip\", \"hostname\", \"status\"],\n HOST: [\n \"hostname\",\n \"_agentStatus\",\n \"ip\",\n \"memSize\",\n \"osDistro\",\n \"cpuModel\",\n \"owner\",\n ],\n },\n fixedFields: {\n APP: [\"name\"],\n USER: [\"name\"],\n USER_GROUP: [\"name\"],\n \"APP-HOST\": [\"ip\"],\n HOST: [\"hostname\", \"ip\"],\n },\n ignoredFields: {\n APP: [\n /* !start: only community edition\n 'businesses',\n !end: only community edition */\n \"_packageList\",\n \"appId\",\n \"packageId\",\n \"installPath\",\n \"runUser\",\n \"businessId\",\n ],\n \"APP-HOST\": [\"deviceId\"],\n BUSINESS: [\"businessId\"],\n CLUSTER: [\"_packageList\", \"clusterId\", \"packageId\"],\n HOST: [\"deviceId\"],\n },\n};\n\nexport const CMDB_MODAL_FIELDS_SETTINGS = {\n defaultFields: {\n HOST: [\"ip\", \"hostname\", \"status\", \"owner\", \"_agentStatus\"],\n },\n fixedFields: {\n HOST: [\"ip\"],\n },\n ignoredFields: CMDB_RESOURCE_FIELDS_SETTINGS.ignoredFields,\n};\nexport const MAX_DEFAULT_FIELDS_COUNT = 8;\nexport const MAX_DEFAULT_MODAL_FIELDS_COUNT = 4;\n\nexport enum otherFieldIds {\n autoBreakLine = \"_autoBreakLine_\",\n}\n\nexport interface extraFieldAttrType {\n id?: string;\n name?: string;\n isRelation?: boolean;\n value?: Partial<ModelObjectAttrValue>;\n}\n\nexport const extraFieldAttrs: extraFieldAttrType[] = [\n {\n id: \"creator\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATOR}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"ctime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n {\n id: \"modifier\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFIER}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"mtime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.LAST_MODIFICATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n];\n\nexport const objectListCache = new Map<string, any>();\n"],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","names":["_i18next","_interopRequireDefault","require","_constants","_i18n","addResourceBundle","CMDB_RESOURCE_FIELDS_SETTINGS","exports","defaultFields","APP","USER","USER_GROUP","HOST","fixedFields","ignoredFields","BUSINESS","CLUSTER","CMDB_MODAL_FIELDS_SETTINGS","MAX_DEFAULT_FIELDS_COUNT","MAX_DEFAULT_MODAL_FIELDS_COUNT","otherFieldIds","extraFieldAttrs","id","name","i18n","t","NS_LIBS_CMDB_INSTANCES","K","CREATOR","isRelation","value","type","CREATION_TIME","MODIFIER","LAST_MODIFICATION_TIME","objectListCache","Map"],"sources":["../../../src/instance-list/constants.ts"],"sourcesContent":["import { ModelObjectAttrValue } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { addResourceBundle } from \"../i18n\";\naddResourceBundle();\n\nexport const CMDB_RESOURCE_FIELDS_SETTINGS = {\n defaultFields: {\n APP: [\"name\", \"businesses\", \"owner\", \"developer\", \"tester\"],\n USER: [\"name\", \"nickname\", \"user_email\", \"user_tel\"],\n USER_GROUP: [\"name\", \"_members\"],\n \"APP-HOST\": [\"ip\", \"hostname\", \"status\"],\n HOST: [\n \"hostname\",\n \"_agentStatus\",\n \"ip\",\n \"memSize\",\n \"osDistro\",\n \"cpuModel\",\n \"owner\",\n ],\n },\n fixedFields: {\n APP: [\"name\"],\n USER: [\"name\"],\n USER_GROUP: [\"name\"],\n \"APP-HOST\": [\"ip\"],\n HOST: [\"hostname\", \"ip\"],\n },\n ignoredFields: {\n APP: [\n /* !start: only community edition\n 'businesses',\n !end: only community edition */\n \"_packageList\",\n \"appId\",\n \"packageId\",\n \"installPath\",\n \"runUser\",\n \"businessId\",\n ],\n \"APP-HOST\": [\"deviceId\"],\n BUSINESS: [\"businessId\"],\n CLUSTER: [\"_packageList\", \"clusterId\", \"packageId\"],\n HOST: [\"deviceId\"],\n },\n};\n\nexport const CMDB_MODAL_FIELDS_SETTINGS = {\n defaultFields: {\n HOST: [\"ip\", \"hostname\", \"status\", \"owner\", \"_agentStatus\"],\n },\n fixedFields: {\n HOST: [\"ip\"],\n },\n ignoredFields: CMDB_RESOURCE_FIELDS_SETTINGS.ignoredFields,\n};\nexport const MAX_DEFAULT_FIELDS_COUNT = 8;\nexport const MAX_DEFAULT_MODAL_FIELDS_COUNT = 4;\n\nexport enum otherFieldIds {\n autoBreakLine = \"_autoBreakLine_\",\n}\n\nexport interface extraFieldAttrType {\n id?: string;\n name?: string;\n isRelation?: boolean;\n value?: Partial<ModelObjectAttrValue>;\n}\n\nexport const extraFieldAttrs: extraFieldAttrType[] = [\n {\n id: \"creator\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATOR}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"ctime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n {\n id: \"modifier\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFIER}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"mtime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.LAST_MODIFICATION_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n];\n\nexport const objectListCache = new Map<string, any>();\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceListModal.js","names":["addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","externalPostSearchV3","useProvider","cache","handleOk","length","every","i","resp","requestParams","query","instanceId","$in","page","page_size","useExternalCmdbApi","objectId","sourceId","externalSourceId","ignore_missing_field_error","InstanceApi_postSearch","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","position","left","CREATE_AND_BIND","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalWidth","modalZIndex","maxHeight","overflow","aq","q","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission","saveFieldsBackend","showHiddenInfoDisabled","propertyDisplayConfigs"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n InstanceList,\n filterObjectIdQuery,\n} from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { UseBrickAndPropertyDisplayConfig } from \"../instance-list-table\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport { useProvider } from \"@next-core/brick-kit\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n q?: string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n disabledTooltip?: string;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(value: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n showHiddenInfoDisabled?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n modalWidth?: number;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n let resp: any;\n const requestParams = {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page: 1,\n page_size: selectedInstanceListTemp.length,\n };\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...requestParams,\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n },\n ]);\n } else {\n resp = await InstanceApi_postSearch(props.objectId, requestParams);\n }\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n const {\n showBindButton,\n bindButtonDisabled,\n disabledTooltip,\n bindButtonText,\n } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={props.modalWidth || 900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n q={props.q}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n showFilterInstanceSource={props.showFilterInstanceSource}\n filterInstanceSource={props.filterInstanceSource}\n onFilterInstanceSourceChange={props.onFilterInstanceSourceChange}\n objectIdQuery={props.objectIdQuery}\n onFilterObjectIdChange={props.onFilterObjectIdChange}\n ignorePermission={props.ignorePermission}\n saveFieldsBackend={props.saveFieldsBackend}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n showHiddenInfoDisabled={props.showHiddenInfoDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InstanceListModal.js","names":["_react","_interopRequireWildcard","require","_icons","_antd","_i18next","_interopRequireDefault","_cmdbSdk","_constants","_InstanceList","_i18n","_brickKit","addResourceBundle","InstanceListModal","props","_props$presetConfigs","_presetConfigs$query","_props$modalZIndex","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","externalPostSearchV3","useProvider","cache","handleOk","_props$onSelected2","_props$onSelectedV2","length","every","i","_props$onSelected","_props$onSelectedV","resp","requestParams","query","instanceId","$in","page","page_size","useExternalCmdbApi","objectId","sourceId","externalSourceId","ignore_missing_field_error","InstanceApi_postSearch","onSelected","call","onSelectedV2","list","map","selectedInstance","handleCancel","_props$selectedRowKey","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","_props$getPaginationD","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","default","createElement","Fragment","Tooltip","title","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","Button","style","position","left","disabled","CREATE_AND_BIND","onClick","bindEvent","singleSelect","color","marginRight","WarningOutlined","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","key","CLOSE","type","CANCEL","CONFIRM","Modal","visible","width","modalWidth","onOk","destroyOnClose","footer","zIndex","modalZIndex","maxHeight","overflow","InstanceList","aq","q","objectList","Object","values","objectMap","extraFilterBricks","permission","aliveHosts","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","onSelectionChange","showSizeChanger","pageSizeOptions","pageSize","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","onPaginationChange","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission","saveFieldsBackend","showHiddenInfoDisabled","propertyDisplayConfigs"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n InstanceList,\n filterObjectIdQuery,\n} from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { UseBrickAndPropertyDisplayConfig } from \"../instance-list-table\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport { useProvider } from \"@next-core/brick-kit\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n q?: string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n disabledTooltip?: string;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(value: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n showHiddenInfoDisabled?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n modalWidth?: number;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n let resp: any;\n const requestParams = {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page: 1,\n page_size: selectedInstanceListTemp.length,\n };\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...requestParams,\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n },\n ]);\n } else {\n resp = await InstanceApi_postSearch(props.objectId, requestParams);\n }\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n const {\n showBindButton,\n bindButtonDisabled,\n disabledTooltip,\n bindButtonText,\n } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={props.modalWidth || 900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n q={props.q}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n showFilterInstanceSource={props.showFilterInstanceSource}\n filterInstanceSource={props.filterInstanceSource}\n onFilterInstanceSourceChange={props.onFilterInstanceSourceChange}\n objectIdQuery={props.objectIdQuery}\n onFilterObjectIdChange={props.onFilterObjectIdChange}\n ignorePermission={props.ignorePermission}\n saveFieldsBackend={props.saveFieldsBackend}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n showHiddenInfoDisabled={props.showHiddenInfoDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,8 +22,7 @@ var _i18next = _interopRequireDefault(require("i18next"));
22
22
  var _constants2 = require("../i18n/constants");
23
23
  var _ModelAttributeFormControl = require("../model-attribute-form-control/ModelAttributeFormControl");
24
24
  var _processors = require("../processors");
25
- let ConditionType;
26
- exports.ConditionType = ConditionType;
25
+ let ConditionType = exports.ConditionType = void 0;
27
26
  (function (ConditionType) {
28
27
  ConditionType["Equal"] = "equal";
29
28
  ConditionType["NotEqual"] = "notEqual";
@@ -720,8 +719,7 @@ class AdvancedSearchForm extends _react.default.Component {
720
719
  }
721
720
  }
722
721
  exports.AdvancedSearchForm = AdvancedSearchForm;
723
- const AdvancedSearch = _compatible.Form.create({
722
+ const AdvancedSearch = exports.AdvancedSearch = _compatible.Form.create({
724
723
  name: "advanced_search"
725
724
  })(AdvancedSearchForm);
726
- exports.AdvancedSearch = AdvancedSearch;
727
725
  //# sourceMappingURL=AdvancedSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedSearch.js","names":["ConditionType","FieldTypeConditionTypesMap","ModelAttributeValueType","STRING","Contain","NotContain","Equal","NotEqual","Empty","NotEmpty","INTEGER","Between","FLOAT","DATE","DATETIME","ENUM","ENUMS","ARR","STRUCT","IP","BOOLEAN","JSON","AgentStatusConditionType","multiValueSearchOperators","comparisonOperator","ComparisonOperators","Like","logicalOperator","LogicalOperators","Or","NotLike","And","STRUCT_LIST","getCondition","conditionType","fieldType","label","operations","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_EQUAL_DEFINE","operator","In","OPERATOR_NOT_EQUAL_DEFINE","NotIn","OPERATOR_CONTAIN_DEFINE","prefix","suffix","OPERATOR_NOT_CONTAIN_DEFINE","OPERATOR_IS_EMPTY_DEFINE","ElementOperators","Exists","fixedValue","OPERATOR_IS_NOT_EMPTY_DEFINE","True","False","GreaterThanOrEqual","LessThanOrEqual","OPERATOR_BETWEEN_DEFINE_TEXT_INT","OPERATOR_BETWEEN_DEFINE_TEXT_TIME","OPERATOR_BETWEEN_DEFINE_TEXT","OPERATOR_BETWEEN_DEFINE_TEXT_THE","type","convertValue","valueType","value","isNaN","parseInt","undefined","parseFloat","getFieldConditionsAndValues","fieldQueryOperatorExpressionsMap","id","isRelation","relationSideId","objectId","attrId","expressions","expressionsKeys","relatedKey","findKey","v","k","startsWith","relatedExpressions","isNil","Object","keys","currentCondition","fieldConditionType","isAgentStatus","availableConditions","map","condition","length","operatorsStr","isFixedValueEqual","every","operation","push","toString","includes","queryValuesStr","values","i","find","multiValueSearchOperator","trim","split","filter","clusterMap","join","slice","endsWith","disabled","AdvancedSearchForm","React","Component","constructor","props","valueIndex","field","fieldIndex","setState","fields","update","state","$set","hasFixedValues","some","newValues","newFields","relatedFieldIndex","findIndex","f","relatedField","relatedCondition","setFormFieldValues","e","preventDefault","autoSearch","onSearch","queries","queriesToShow","fieldToShow","forEach","fieldQuery","fieldQueryToShow","hasValue","structQueryId","isStruct","attrValue","struct_define","struct_item","index","fieldId","fieldIdToShow","Array","isArray","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","processAttrValueWithQuote","flatten","structId","isEqual","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","query","entries","key","firstSubQuery","compareOperators","compareOperator","subQueryValue","targetField","fieldItem","item","targetValue","isString","forEachAvailableFields","modelData","attr","attrValueType","regex","mode","name","relation","sides","relationObject","idObjectMap","that","showKeys","getInstanceNameKeys","showKey","nameOfShowKey","attrList","this","fieldIds","reduce","acc","setFieldsValue","getFields","getFieldDecorator","hasBetween","style","multiSelect","isBetween","getRuntime","getFeatureFlags","ModelAttributeValueModeType","CASCADE","FormControlTypeEnum","TREESELECT","SELECT","minWidth","styles","conditionInputGroup","onConditionChange","separatorInput","initialValue","onValueChange","conditionInput","render","advancedSearch","advancedSearchForm","handleSearch","textAlign","SEARCH","marginLeft","handleReset","RESET","AdvancedSearch","Form","create"],"sources":["../../../src/instance-list-table/AdvancedSearch.tsx"],"sourcesContent":["import React, { ChangeEvent, FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport {\n isEqual,\n find,\n startsWith,\n findKey,\n isNil,\n flatten,\n isString,\n isArray,\n} from \"lodash\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Col, Input, Row, Select } from \"antd\";\nimport { FormComponentProps } from \"@ant-design/compatible/lib/form\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport {\n ComparisonOperators,\n ElementOperators,\n forEachAvailableFields,\n getInstanceNameKeys,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n} from \"@next-libs/cmdb-utils\";\nimport { clusterMap } from \"./constants\";\nimport styles from \"./AdvancedSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n ModelAttributeValueModeType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n isAgentStatus,\n} from \"../processors\";\n\nexport enum ConditionType {\n Equal = \"equal\",\n NotEqual = \"notEqual\",\n Contain = \"contain\",\n NotContain = \"notContain\",\n Empty = \"empty\",\n NotEmpty = \"notEmpty\",\n Between = \"between\",\n True = \"true\",\n False = \"false\",\n}\n\ninterface ConditionOperation {\n operator: ComparisonOperators | ElementOperators;\n fixedValue?: any;\n prefix?: string;\n suffix?: string;\n}\n\ninterface Condition {\n type: ConditionType;\n label: string;\n operations: ConditionOperation[];\n}\n\nconst FieldTypeConditionTypesMap: Record<string, ConditionType[]> = {\n [ModelAttributeValueType.STRING]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.INTEGER]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.FLOAT]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATE]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATETIME]: [\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUM]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUMS]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ARR]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.STRUCT]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.IP]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.BOOLEAN]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.JSON]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n};\n\nconst AgentStatusConditionType: ConditionType[] = [\n ConditionType.Equal,\n ConditionType.NotEqual,\n];\nconst multiValueSearchOperators = [\n {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotLike,\n logicalOperator: LogicalOperators.And,\n },\n {\n comparisonOperator: ComparisonOperators.Equal,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotEqual,\n logicalOperator: LogicalOperators.And,\n },\n];\nFieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT_LIST] =\n FieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT];\n\nexport function getCondition(\n conditionType: ConditionType,\n fieldType: ModelAttributeValueType\n): Condition {\n let label: string;\n let operations: ConditionOperation[];\n\n switch (conditionType) {\n case ConditionType.Equal:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_EQUAL_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Equal,\n },\n ];\n }\n break;\n case ConditionType.NotEqual:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_EQUAL_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotEqual,\n },\n ];\n }\n break;\n case ConditionType.Contain:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Like,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.NotContain:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_CONTAIN_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotLike,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.Empty:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_EMPTY_DEFINE}`);\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.NotEmpty:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_NOT_EMPTY_DEFINE}`\n );\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.True:\n label = \"true\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.False:\n label = \"false\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.Between:\n operations = [\n {\n operator: ComparisonOperators.GreaterThanOrEqual,\n },\n {\n operator: ComparisonOperators.LessThanOrEqual,\n },\n ];\n switch (fieldType) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n // label = \"在此区间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_INT}`\n );\n break;\n case ModelAttributeValueType.DATE:\n case ModelAttributeValueType.DATETIME:\n // label = \"在此期间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_TIME}`\n );\n break;\n case ModelAttributeValueType.IP:\n // label = \"范围\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT}`\n );\n break;\n default:\n // label = \"在此之间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_THE}`\n );\n }\n break;\n }\n\n return {\n type: conditionType,\n label,\n operations,\n };\n}\n\nexport function convertValue(valueType: string, value: any): any {\n if (typeof value !== \"boolean\") {\n switch (valueType) {\n case ModelAttributeValueType.INTEGER:\n // undefined 后台可剔除\n return isNaN(parseInt(value)) ? undefined : parseInt(value);\n case ModelAttributeValueType.FLOAT:\n return isNaN(parseFloat(value)) ? undefined : parseFloat(value);\n case ModelAttributeValueType.BOOLEAN:\n return value === \"true\";\n }\n }\n return value;\n}\n\nexport function getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap: Record<string, QueryOperatorExpressions>,\n id: string,\n valueType: ModelAttributeValueType,\n isRelation?: boolean,\n relationSideId?: string,\n objectId?: string,\n attrId?: string\n) {\n // let isRelationWithNoExpression = false;\n // 针对主机的 agent状态,暂不支持 为空/不为空的筛选,将特殊处理\n let expressions = fieldQueryOperatorExpressionsMap[id];\n let expressionsKeys: string[];\n if (!expressions && isRelation) {\n // isRelationWithNoExpression = true;\n const relatedKey = findKey(\n fieldQueryOperatorExpressionsMap,\n (v, k) => startsWith(k, `${relationSideId}.`) || k === relationSideId\n );\n const relatedExpressions = fieldQueryOperatorExpressionsMap[relatedKey];\n if (\n relatedExpressions &&\n !isNil(relatedExpressions[ElementOperators.Exists])\n ) {\n expressions = fieldQueryOperatorExpressionsMap[relatedKey];\n }\n }\n\n if (expressions) {\n expressionsKeys = Object.keys(expressions);\n }\n let currentCondition: Condition;\n const fieldConditionType =\n isAgentStatus(objectId, id) && valueType === ModelAttributeValueType.ENUM\n ? AgentStatusConditionType\n : FieldTypeConditionTypesMap[valueType];\n const availableConditions = fieldConditionType.map((conditionType) => {\n const condition = getCondition(conditionType, valueType);\n\n if (expressionsKeys?.length) {\n const operatorsStr: string[] = [];\n // 由于当 ConditionType.Between ,operations 有两个,当用户只填选一个时,currentCondition会默认第一个选择器。与实际不符\n const isFixedValueEqual = condition.operations.every((operation) => {\n operatorsStr.push(operation.operator);\n\n if (operation.fixedValue !== undefined) {\n return (\n operation.fixedValue?.toString() ===\n expressions[operation?.operator]?.toString()\n );\n } else {\n return true;\n }\n });\n if (\n isFixedValueEqual &&\n expressionsKeys.every((operator) => operatorsStr.includes(operator))\n ) {\n currentCondition = condition;\n }\n }\n\n return condition;\n });\n if (!currentCondition) {\n currentCondition = availableConditions[0];\n }\n let queryValuesStr = \"\";\n const values = currentCondition.operations.map((operation) => {\n let value: any;\n // istanbul ignore else ElementOperators.Exists时直接返回fixedValue\n if (\n expressions?.[operation.operator] !== undefined &&\n operation.operator !== ElementOperators.Exists\n ) {\n value = expressions[operation.operator];\n let values = [expressions[operation.operator]];\n const i = multiValueSearchOperators.find(\n (multiValueSearchOperator) =>\n multiValueSearchOperator.comparisonOperator === operation.operator\n );\n if (i) {\n if (\n valueType === ModelAttributeValueType.ENUM ||\n typeof expressions[operation.operator] === \"string\"\n ) {\n values = expressions[operation.operator]\n .trim()\n .split(/\\s+/)\n .map((value: string) => convertValue(valueType, value))\n .filter((value: any) => !isNil(value));\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n values = values.map((value) => clusterMap[value]);\n }\n }\n }\n if (\n typeof values[0] === \"string\" ||\n typeof values[0] === \"number\" ||\n typeof values[0] === \"boolean\"\n ) {\n queryValuesStr = values.join(\" \");\n values = values.map((value: string) => {\n if (operation.prefix && value.startsWith(operation.prefix)) {\n value = value.slice(operation.prefix.length);\n }\n if (operation.suffix && value.endsWith(operation.suffix)) {\n value = value.slice(0, value.length - operation.suffix.length);\n }\n return value;\n });\n value = [\n ModelAttributeValueType.ENUM,\n ModelAttributeValueType.ARR,\n ].includes(valueType)\n ? values\n : values.join(\" \");\n }\n } else {\n value = operation.fixedValue !== undefined ? operation.fixedValue : null;\n }\n\n return value;\n });\n const disabled = false;\n return {\n availableConditions,\n currentCondition,\n values,\n queryValuesStr,\n disabled,\n };\n}\n\nexport interface Field {\n id: string;\n name: string;\n attrValue: Partial<CmdbModels.ModelObjectAttrValue>;\n values: any[];\n availableConditions: Condition[];\n currentCondition: Condition;\n isRelation: boolean;\n relationSideId?: string;\n disabled?: boolean;\n}\n\nexport interface AdvancedSearchFormProps extends FormComponentProps {\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n q?: Query[];\n placeholder?: string;\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n autoSearch?: (fields: Field[]) => void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n onChange?(e: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport interface AdvancedSearchFormState {\n fields: Field[];\n}\n\nexport class AdvancedSearchForm extends React.Component<\n AdvancedSearchFormProps,\n AdvancedSearchFormState\n> {\n constructor(props: AdvancedSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<AdvancedSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n const fields: Field[] = [];\n if (this.props.q) {\n this.props.q.forEach((query) => {\n Object.entries(query).forEach(([key, expressions]) => {\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n // 由于 ConditionType.Between 这边的 operator 是两个,由于需要支持选择一个的时候也要显示出来,这边不能将选择器合并成str吐出去\n const compareOperators = Object.keys(firstSubQuery[fieldId]);\n const compareOperator =\n compareOperators.length > 1\n ? compareOperators\n : compareOperators.join(\"\");\n let subQueryValue = \"\";\n let targetField;\n if (ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE) {\n targetField = this.props.fieldToShow?.find(\n (fieldItem) => Object.keys(fieldItem)[0] === fieldId\n );\n }\n if (!isNil(targetField)) {\n // 二维数组会有问题,\n subQueryValue = isArray(targetField[fieldId])\n ? targetField[fieldId]\n .map((item) => (isArray(item) ? item.join(\" \") : item))\n .join(\"\")\n : (targetField[fieldId] as any);\n } else {\n subQueryValue = (expressions as Query[])\n .map((query) => {\n const targetValue = (\n query[fieldId] as Record<ComparisonOperators, any>\n )[compareOperator as ComparisonOperators];\n if (\n compareOperator === ComparisonOperators.Like ||\n compareOperator === ComparisonOperators.NotLike\n ) {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `${targetValue[0]}\"${targetValue.slice(\n 1,\n targetValue.length - 1\n )}\"${targetValue[targetValue.length - 1]}`\n : targetValue;\n }\n // 对于时间选择器有两个的,不用特意将值转换成str,因为不需要这里的值\n else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = Array.isArray(compareOperator)\n ? firstSubQuery[fieldId]\n : {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n forEachAvailableFields(\n this.props.modelData,\n (attr) => {\n const attrValue: Partial<CmdbModels.ModelObjectAttrValue> & {\n isStruct?: boolean;\n } & { isClusterType?: boolean } = {};\n const attrValueType: any = attr.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.STRUCT_LIST:\n attrValue.type = ModelAttributeValueType.STRING;\n attrValue.struct_define = attr.value.struct_define;\n attrValue.isStruct = true;\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n attrValue.type = attr.value.type;\n attrValue.regex = attr.value.regex;\n attrValue.mode = attr.value.mode;\n break;\n default:\n attrValue.type = attr.value.type;\n }\n\n fields.push({\n id: `_${attr.id}`,\n name: attr.name,\n attrValue,\n isRelation: false,\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n attr.id,\n attr.value.type as ModelAttributeValueType,\n false,\n \"\",\n this.props.modelData.objectId\n ),\n });\n },\n (relation, sides) => {\n const relationObject =\n this.props.idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const showKeys = getInstanceNameKeys(relationObject);\n showKeys.forEach((showKey, index) => {\n const nameOfShowKey =\n find(relationObject?.attrList, [\"id\", showKey])?.name ?? showKey;\n const id = `${\n relation[`${sides.this}_id` as RelationIdKeys]\n }.${showKey}`;\n const type = ModelAttributeValueType.STRING;\n\n fields.push({\n id: `_${id}`,\n name: `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfShowKey})`,\n attrValue: { type },\n isRelation: true,\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n id,\n type,\n true,\n relation[`${sides.this}_id` as RelationNameKeys],\n this.props.modelData.objectId\n ),\n });\n });\n },\n this.props.fieldIds\n );\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n acc[`${field.id}[${valueIndex}]`] =\n operation.fixedValue === undefined ? value : \"\";\n });\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (\n value: any,\n valueIndex: number,\n field: Field,\n fieldIndex: number\n ) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n onConditionChange = (\n value: ConditionType,\n field: Field,\n fieldIndex: number\n ) => {\n const hasFixedValues = field.currentCondition.operations.some(\n (operation) => operation.fixedValue !== undefined\n );\n\n const condition = field.availableConditions.find(\n (condition) => condition.type === value\n );\n let newValues = condition.operations.map((operation) =>\n operation.fixedValue !== undefined ? operation.fixedValue : null\n );\n if (\n newValues.every((value) => value === null) &&\n !hasFixedValues &&\n this.state.fields[fieldIndex].values.length === newValues.length\n ) {\n newValues = this.state.fields[fieldIndex].values;\n }\n\n let newFields = update(this.state.fields, {\n [fieldIndex]: {\n currentCondition: { $set: condition },\n values: {\n $set: newValues,\n },\n },\n });\n\n const relatedFieldIndex = newFields.findIndex(\n (f) =>\n f.isRelation &&\n f.relationSideId === field.relationSideId &&\n f.id !== field.id\n );\n if (relatedFieldIndex !== -1) {\n const relatedField = newFields[relatedFieldIndex];\n const relatedCondition = relatedField.availableConditions.find(\n (condition) => condition.type === value\n );\n if (condition.operations[0].operator === ElementOperators.Exists) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedCondition },\n values: {\n $set: [null],\n },\n },\n });\n } else if (\n relatedField.currentCondition.operations[0].operator ===\n ElementOperators.Exists\n ) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedField.availableConditions[0] },\n values: {\n $set: [null],\n },\n },\n });\n }\n }\n\n this.setState({\n fields: newFields,\n });\n\n this.setFormFieldValues(newFields);\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n const hasBetween = this.state.fields.some((field) =>\n [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.DATE,\n ModelAttributeValueType.DATETIME,\n ].includes(field.attrValue.type as ModelAttributeValueType)\n );\n return this.state.fields.map((field, fieldIndex) => {\n let type: string;\n let style: React.CSSProperties;\n let attrValue: any = field.attrValue;\n let multiSelect = false;\n const isBetween: boolean =\n field.currentCondition.type === ConditionType.Between;\n switch (field.attrValue.type) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n attrValue = {\n type: isBetween\n ? ModelAttributeValueType.INTEGER\n : ModelAttributeValueType.STRING,\n };\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (field.attrValue.mode as any) ===\n ModelAttributeValueModeType.CASCADE\n ) {\n // istanbul ignore next\n type = FormControlTypeEnum.TREESELECT;\n } else {\n type = FormControlTypeEnum.SELECT;\n }\n multiSelect = true;\n break;\n case ModelAttributeValueType.DATETIME:\n style = { minWidth: \"auto\" };\n break;\n }\n //高级搜索这里即使是json格式,也用input输入框进行搜索\n if ((attrValue as any).type === \"json\") {\n attrValue = { ...attrValue, type: \"str\" };\n }\n return (\n <Col span={hasBetween ? 12 : 8} key={field.id}>\n <Form.Item label={field.name}>\n <Input.Group className={styles.conditionInputGroup} compact>\n <Select\n dropdownMatchSelectWidth={false}\n value={field.currentCondition.type}\n onChange={(value: ConditionType) =>\n this.onConditionChange(value, field, fieldIndex)\n }\n disabled={field.disabled}\n >\n {field.availableConditions.map((condition) => (\n <Select.Option value={condition.type} key={condition.type}>\n {condition.label}\n </Select.Option>\n ))}\n </Select>\n {field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n\n return (\n <React.Fragment\n key={`${field.currentCondition.type}-${operation.operator}`}\n >\n {valueIndex > 0 && (\n <Input\n className={styles.separatorInput}\n placeholder=\"~\"\n disabled\n />\n )}\n {getFieldDecorator(`${field.id}[${valueIndex}]`, {\n initialValue:\n operation.fixedValue === undefined ? value : \"\",\n })(\n operation.fixedValue === undefined && !field.disabled ? (\n <ModelAttributeFormControl\n type={type}\n attribute={{\n id: field.id,\n name: field.name,\n value: attrValue,\n }}\n objectId={this.props.modelData.objectId}\n multiSelect={multiSelect}\n onChange={(value: any) =>\n this.onValueChange(\n value,\n valueIndex,\n field,\n fieldIndex\n )\n }\n className={styles.conditionInput}\n style={style}\n />\n ) : (\n <Input disabled />\n )\n )}\n </React.Fragment>\n );\n })}\n </Input.Group>\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n const fields = this.state.fields.map((v) => ({ ...v, id: v.id.slice(1) }));\n if (this.props?.autoSearch) this.props.autoSearch(fields);\n if (this.props.onSearch) {\n // 当过滤字段为relation并且过滤条件为ElementOperators.Exists的时候,发起后台请求的搜索queries与负责前端展示的query不同。需要额外处理。\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n let fieldQuery: Query = { [field.id]: expressions };\n let fieldQueryToShow: Query = { [field.id]: expressions };\n let hasValue = false;\n let structQueryId: string[];\n const isStruct = !!(field.attrValue as any).isStruct;\n if (isStruct) {\n structQueryId = field.attrValue.struct_define.map(\n (struct_item) => `${field.id}.${struct_item.id}`\n );\n }\n field.values.forEach((value, index) => {\n const operation = field.currentCondition.operations[index];\n const fieldId =\n field.isRelation && ElementOperators.Exists === operation.operator\n ? field.relationSideId\n : field.id;\n fieldQuery = { [fieldId]: expressions };\n\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n const multiValueSearchOperator = multiValueSearchOperators.find(\n (operator) => operator.comparisonOperator === operation.operator\n );\n if (multiValueSearchOperator) {\n let values: any[];\n if (\n field.attrValue.type === ModelAttributeValueType.ENUM ||\n field.attrValue.type === ModelAttributeValueType.ARR\n ) {\n values = value;\n } else if (typeof value === \"string\") {\n if (\n !ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE ||\n !value.includes('\"')\n ) {\n values = value\n .trim()\n .split(/\\s+/)\n .map((value) => convertValue(field.attrValue.type, value))\n .filter((value) => !isNil(value));\n } else {\n values = processAttrValueWithQuote(value, []);\n }\n } else {\n values = [value];\n }\n if (values.length) {\n if (isStruct) {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: flatten(\n values.map((value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n\n return structQueryId.map(\n (structId: string | number) => ({\n [structId]: {\n [operation.operator]: value,\n },\n })\n );\n })\n ),\n };\n } else {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldId]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n }\n fieldQueryToShow = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldIdToShow]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n } else {\n value = convertValue(field.attrValue.type, value);\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n expressions[operation.operator] = value;\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n }\n });\n if (hasValue) {\n queries.push(fieldQuery);\n queriesToShow.push(fieldQueryToShow);\n }\n });\n if (queries.length === 0) {\n queries = undefined;\n queriesToShow = undefined;\n }\n if (!isEqual(this.props.q, queries)) {\n this.props.onSearch(queries, queriesToShow, fieldToShow);\n }\n }\n };\n\n handleReset = () => {\n if (this.props.autoSearch) this.props.autoSearch([]);\n this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.advancedSearch}>\n <Form\n layout=\"vertical\"\n className={styles.advancedSearchForm}\n onSubmit={this.handleSearch}\n >\n <Row gutter={50}>{this.getFields()}</Row>\n <Row>\n <Col span={24} style={{ textAlign: \"right\" }}>\n <Button\n type=\"primary\"\n htmlType=\"submit\"\n data-testid=\"submit-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH}`)}\n </Button>\n <Button\n style={{ marginLeft: 8 }}\n onClick={this.handleReset}\n data-testid=\"reset-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n </Col>\n </Row>\n </Form>\n </div>\n );\n }\n}\n\nexport const AdvancedSearch = Form.create<AdvancedSearchFormProps>({\n name: \"advanced_search\",\n})(AdvancedSearchForm);\n"],"mappings":"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"}
1
+ {"version":3,"file":"AdvancedSearch.js","names":["_react","_interopRequireDefault","require","_immutabilityHelper","_lodash","_compatible","_antd","_brickKit","_cmdbUtils","_constants","_AdvancedSearchModule","_i18next","_constants2","_ModelAttributeFormControl","_processors","ConditionType","exports","FieldTypeConditionTypesMap","ModelAttributeValueType","STRING","Contain","NotContain","Equal","NotEqual","Empty","NotEmpty","INTEGER","Between","FLOAT","DATE","DATETIME","ENUM","ENUMS","ARR","STRUCT","IP","BOOLEAN","JSON","AgentStatusConditionType","multiValueSearchOperators","comparisonOperator","ComparisonOperators","Like","logicalOperator","LogicalOperators","Or","NotLike","And","STRUCT_LIST","getCondition","conditionType","fieldType","label","operations","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_EQUAL_DEFINE","operator","In","OPERATOR_NOT_EQUAL_DEFINE","NotIn","OPERATOR_CONTAIN_DEFINE","prefix","suffix","OPERATOR_NOT_CONTAIN_DEFINE","OPERATOR_IS_EMPTY_DEFINE","ElementOperators","Exists","fixedValue","OPERATOR_IS_NOT_EMPTY_DEFINE","True","False","GreaterThanOrEqual","LessThanOrEqual","OPERATOR_BETWEEN_DEFINE_TEXT_INT","OPERATOR_BETWEEN_DEFINE_TEXT_TIME","OPERATOR_BETWEEN_DEFINE_TEXT","OPERATOR_BETWEEN_DEFINE_TEXT_THE","type","convertValue","valueType","value","isNaN","parseInt","undefined","parseFloat","getFieldConditionsAndValues","fieldQueryOperatorExpressionsMap","id","isRelation","relationSideId","objectId","attrId","expressions","expressionsKeys","relatedKey","findKey","v","k","startsWith","relatedExpressions","isNil","Object","keys","currentCondition","fieldConditionType","isAgentStatus","availableConditions","map","_expressionsKeys","condition","length","operatorsStr","isFixedValueEqual","every","operation","push","_operation$fixedValue","_expressions$operatio","toString","includes","queryValuesStr","values","_expressions","i","find","multiValueSearchOperator","trim","split","filter","clusterMap","join","slice","endsWith","disabled","AdvancedSearchForm","React","Component","constructor","props","_defineProperty2","default","valueIndex","field","fieldIndex","setState","fields","update","state","$set","hasFixedValues","some","newValues","newFields","relatedFieldIndex","findIndex","f","relatedField","relatedCondition","setFormFieldValues","e","_this$props","preventDefault","autoSearch","onSearch","queries","queriesToShow","fieldToShow","forEach","fieldQuery","fieldQueryToShow","hasValue","structQueryId","isStruct","attrValue","struct_define","struct_item","index","fieldId","fieldIdToShow","Array","isArray","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","processAttrValueWithQuote","flatten","structId","isEqual","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","query","entries","key","firstSubQuery","compareOperators","compareOperator","subQueryValue","targetField","_this$props$fieldToSh","fieldItem","item","targetValue","isString","forEachAvailableFields","modelData","attr","attrValueType","regex","mode","name","relation","sides","relationObject","idObjectMap","that","showKeys","getInstanceNameKeys","showKey","_find$name","_find","nameOfShowKey","attrList","this","fieldIds","reduce","acc","setFieldsValue","getFields","getFieldDecorator","hasBetween","style","multiSelect","isBetween","getRuntime","getFeatureFlags","ModelAttributeValueModeType","CASCADE","FormControlTypeEnum","TREESELECT","SELECT","minWidth","createElement","Col","span","Form","Item","Input","Group","className","styles","conditionInputGroup","compact","Select","dropdownMatchSelectWidth","onChange","onConditionChange","Option","Fragment","separatorInput","placeholder","initialValue","ModelAttributeFormControl","attribute","onValueChange","conditionInput","render","advancedSearch","layout","advancedSearchForm","onSubmit","handleSearch","Row","gutter","textAlign","Button","htmlType","SEARCH","marginLeft","onClick","handleReset","RESET","AdvancedSearch","create"],"sources":["../../../src/instance-list-table/AdvancedSearch.tsx"],"sourcesContent":["import React, { ChangeEvent, FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport {\n isEqual,\n find,\n startsWith,\n findKey,\n isNil,\n flatten,\n isString,\n isArray,\n} from \"lodash\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Col, Input, Row, Select } from \"antd\";\nimport { FormComponentProps } from \"@ant-design/compatible/lib/form\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport {\n ComparisonOperators,\n ElementOperators,\n forEachAvailableFields,\n getInstanceNameKeys,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n} from \"@next-libs/cmdb-utils\";\nimport { clusterMap } from \"./constants\";\nimport styles from \"./AdvancedSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n ModelAttributeValueModeType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n isAgentStatus,\n} from \"../processors\";\n\nexport enum ConditionType {\n Equal = \"equal\",\n NotEqual = \"notEqual\",\n Contain = \"contain\",\n NotContain = \"notContain\",\n Empty = \"empty\",\n NotEmpty = \"notEmpty\",\n Between = \"between\",\n True = \"true\",\n False = \"false\",\n}\n\ninterface ConditionOperation {\n operator: ComparisonOperators | ElementOperators;\n fixedValue?: any;\n prefix?: string;\n suffix?: string;\n}\n\ninterface Condition {\n type: ConditionType;\n label: string;\n operations: ConditionOperation[];\n}\n\nconst FieldTypeConditionTypesMap: Record<string, ConditionType[]> = {\n [ModelAttributeValueType.STRING]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.INTEGER]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.FLOAT]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATE]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATETIME]: [\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUM]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUMS]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ARR]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.STRUCT]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.IP]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.BOOLEAN]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.JSON]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n};\n\nconst AgentStatusConditionType: ConditionType[] = [\n ConditionType.Equal,\n ConditionType.NotEqual,\n];\nconst multiValueSearchOperators = [\n {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotLike,\n logicalOperator: LogicalOperators.And,\n },\n {\n comparisonOperator: ComparisonOperators.Equal,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotEqual,\n logicalOperator: LogicalOperators.And,\n },\n];\nFieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT_LIST] =\n FieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT];\n\nexport function getCondition(\n conditionType: ConditionType,\n fieldType: ModelAttributeValueType\n): Condition {\n let label: string;\n let operations: ConditionOperation[];\n\n switch (conditionType) {\n case ConditionType.Equal:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_EQUAL_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Equal,\n },\n ];\n }\n break;\n case ConditionType.NotEqual:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_EQUAL_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotEqual,\n },\n ];\n }\n break;\n case ConditionType.Contain:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Like,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.NotContain:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_CONTAIN_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotLike,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.Empty:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_EMPTY_DEFINE}`);\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.NotEmpty:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_NOT_EMPTY_DEFINE}`\n );\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.True:\n label = \"true\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.False:\n label = \"false\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.Between:\n operations = [\n {\n operator: ComparisonOperators.GreaterThanOrEqual,\n },\n {\n operator: ComparisonOperators.LessThanOrEqual,\n },\n ];\n switch (fieldType) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n // label = \"在此区间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_INT}`\n );\n break;\n case ModelAttributeValueType.DATE:\n case ModelAttributeValueType.DATETIME:\n // label = \"在此期间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_TIME}`\n );\n break;\n case ModelAttributeValueType.IP:\n // label = \"范围\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT}`\n );\n break;\n default:\n // label = \"在此之间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_THE}`\n );\n }\n break;\n }\n\n return {\n type: conditionType,\n label,\n operations,\n };\n}\n\nexport function convertValue(valueType: string, value: any): any {\n if (typeof value !== \"boolean\") {\n switch (valueType) {\n case ModelAttributeValueType.INTEGER:\n // undefined 后台可剔除\n return isNaN(parseInt(value)) ? undefined : parseInt(value);\n case ModelAttributeValueType.FLOAT:\n return isNaN(parseFloat(value)) ? undefined : parseFloat(value);\n case ModelAttributeValueType.BOOLEAN:\n return value === \"true\";\n }\n }\n return value;\n}\n\nexport function getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap: Record<string, QueryOperatorExpressions>,\n id: string,\n valueType: ModelAttributeValueType,\n isRelation?: boolean,\n relationSideId?: string,\n objectId?: string,\n attrId?: string\n) {\n // let isRelationWithNoExpression = false;\n // 针对主机的 agent状态,暂不支持 为空/不为空的筛选,将特殊处理\n let expressions = fieldQueryOperatorExpressionsMap[id];\n let expressionsKeys: string[];\n if (!expressions && isRelation) {\n // isRelationWithNoExpression = true;\n const relatedKey = findKey(\n fieldQueryOperatorExpressionsMap,\n (v, k) => startsWith(k, `${relationSideId}.`) || k === relationSideId\n );\n const relatedExpressions = fieldQueryOperatorExpressionsMap[relatedKey];\n if (\n relatedExpressions &&\n !isNil(relatedExpressions[ElementOperators.Exists])\n ) {\n expressions = fieldQueryOperatorExpressionsMap[relatedKey];\n }\n }\n\n if (expressions) {\n expressionsKeys = Object.keys(expressions);\n }\n let currentCondition: Condition;\n const fieldConditionType =\n isAgentStatus(objectId, id) && valueType === ModelAttributeValueType.ENUM\n ? AgentStatusConditionType\n : FieldTypeConditionTypesMap[valueType];\n const availableConditions = fieldConditionType.map((conditionType) => {\n const condition = getCondition(conditionType, valueType);\n\n if (expressionsKeys?.length) {\n const operatorsStr: string[] = [];\n // 由于当 ConditionType.Between ,operations 有两个,当用户只填选一个时,currentCondition会默认第一个选择器。与实际不符\n const isFixedValueEqual = condition.operations.every((operation) => {\n operatorsStr.push(operation.operator);\n\n if (operation.fixedValue !== undefined) {\n return (\n operation.fixedValue?.toString() ===\n expressions[operation?.operator]?.toString()\n );\n } else {\n return true;\n }\n });\n if (\n isFixedValueEqual &&\n expressionsKeys.every((operator) => operatorsStr.includes(operator))\n ) {\n currentCondition = condition;\n }\n }\n\n return condition;\n });\n if (!currentCondition) {\n currentCondition = availableConditions[0];\n }\n let queryValuesStr = \"\";\n const values = currentCondition.operations.map((operation) => {\n let value: any;\n // istanbul ignore else ElementOperators.Exists时直接返回fixedValue\n if (\n expressions?.[operation.operator] !== undefined &&\n operation.operator !== ElementOperators.Exists\n ) {\n value = expressions[operation.operator];\n let values = [expressions[operation.operator]];\n const i = multiValueSearchOperators.find(\n (multiValueSearchOperator) =>\n multiValueSearchOperator.comparisonOperator === operation.operator\n );\n if (i) {\n if (\n valueType === ModelAttributeValueType.ENUM ||\n typeof expressions[operation.operator] === \"string\"\n ) {\n values = expressions[operation.operator]\n .trim()\n .split(/\\s+/)\n .map((value: string) => convertValue(valueType, value))\n .filter((value: any) => !isNil(value));\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n values = values.map((value) => clusterMap[value]);\n }\n }\n }\n if (\n typeof values[0] === \"string\" ||\n typeof values[0] === \"number\" ||\n typeof values[0] === \"boolean\"\n ) {\n queryValuesStr = values.join(\" \");\n values = values.map((value: string) => {\n if (operation.prefix && value.startsWith(operation.prefix)) {\n value = value.slice(operation.prefix.length);\n }\n if (operation.suffix && value.endsWith(operation.suffix)) {\n value = value.slice(0, value.length - operation.suffix.length);\n }\n return value;\n });\n value = [\n ModelAttributeValueType.ENUM,\n ModelAttributeValueType.ARR,\n ].includes(valueType)\n ? values\n : values.join(\" \");\n }\n } else {\n value = operation.fixedValue !== undefined ? operation.fixedValue : null;\n }\n\n return value;\n });\n const disabled = false;\n return {\n availableConditions,\n currentCondition,\n values,\n queryValuesStr,\n disabled,\n };\n}\n\nexport interface Field {\n id: string;\n name: string;\n attrValue: Partial<CmdbModels.ModelObjectAttrValue>;\n values: any[];\n availableConditions: Condition[];\n currentCondition: Condition;\n isRelation: boolean;\n relationSideId?: string;\n disabled?: boolean;\n}\n\nexport interface AdvancedSearchFormProps extends FormComponentProps {\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n q?: Query[];\n placeholder?: string;\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n autoSearch?: (fields: Field[]) => void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n onChange?(e: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport interface AdvancedSearchFormState {\n fields: Field[];\n}\n\nexport class AdvancedSearchForm extends React.Component<\n AdvancedSearchFormProps,\n AdvancedSearchFormState\n> {\n constructor(props: AdvancedSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<AdvancedSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n const fields: Field[] = [];\n if (this.props.q) {\n this.props.q.forEach((query) => {\n Object.entries(query).forEach(([key, expressions]) => {\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n // 由于 ConditionType.Between 这边的 operator 是两个,由于需要支持选择一个的时候也要显示出来,这边不能将选择器合并成str吐出去\n const compareOperators = Object.keys(firstSubQuery[fieldId]);\n const compareOperator =\n compareOperators.length > 1\n ? compareOperators\n : compareOperators.join(\"\");\n let subQueryValue = \"\";\n let targetField;\n if (ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE) {\n targetField = this.props.fieldToShow?.find(\n (fieldItem) => Object.keys(fieldItem)[0] === fieldId\n );\n }\n if (!isNil(targetField)) {\n // 二维数组会有问题,\n subQueryValue = isArray(targetField[fieldId])\n ? targetField[fieldId]\n .map((item) => (isArray(item) ? item.join(\" \") : item))\n .join(\"\")\n : (targetField[fieldId] as any);\n } else {\n subQueryValue = (expressions as Query[])\n .map((query) => {\n const targetValue = (\n query[fieldId] as Record<ComparisonOperators, any>\n )[compareOperator as ComparisonOperators];\n if (\n compareOperator === ComparisonOperators.Like ||\n compareOperator === ComparisonOperators.NotLike\n ) {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `${targetValue[0]}\"${targetValue.slice(\n 1,\n targetValue.length - 1\n )}\"${targetValue[targetValue.length - 1]}`\n : targetValue;\n }\n // 对于时间选择器有两个的,不用特意将值转换成str,因为不需要这里的值\n else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = Array.isArray(compareOperator)\n ? firstSubQuery[fieldId]\n : {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n forEachAvailableFields(\n this.props.modelData,\n (attr) => {\n const attrValue: Partial<CmdbModels.ModelObjectAttrValue> & {\n isStruct?: boolean;\n } & { isClusterType?: boolean } = {};\n const attrValueType: any = attr.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.STRUCT_LIST:\n attrValue.type = ModelAttributeValueType.STRING;\n attrValue.struct_define = attr.value.struct_define;\n attrValue.isStruct = true;\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n attrValue.type = attr.value.type;\n attrValue.regex = attr.value.regex;\n attrValue.mode = attr.value.mode;\n break;\n default:\n attrValue.type = attr.value.type;\n }\n\n fields.push({\n id: `_${attr.id}`,\n name: attr.name,\n attrValue,\n isRelation: false,\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n attr.id,\n attr.value.type as ModelAttributeValueType,\n false,\n \"\",\n this.props.modelData.objectId\n ),\n });\n },\n (relation, sides) => {\n const relationObject =\n this.props.idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const showKeys = getInstanceNameKeys(relationObject);\n showKeys.forEach((showKey, index) => {\n const nameOfShowKey =\n find(relationObject?.attrList, [\"id\", showKey])?.name ?? showKey;\n const id = `${\n relation[`${sides.this}_id` as RelationIdKeys]\n }.${showKey}`;\n const type = ModelAttributeValueType.STRING;\n\n fields.push({\n id: `_${id}`,\n name: `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfShowKey})`,\n attrValue: { type },\n isRelation: true,\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n id,\n type,\n true,\n relation[`${sides.this}_id` as RelationNameKeys],\n this.props.modelData.objectId\n ),\n });\n });\n },\n this.props.fieldIds\n );\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n acc[`${field.id}[${valueIndex}]`] =\n operation.fixedValue === undefined ? value : \"\";\n });\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (\n value: any,\n valueIndex: number,\n field: Field,\n fieldIndex: number\n ) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n onConditionChange = (\n value: ConditionType,\n field: Field,\n fieldIndex: number\n ) => {\n const hasFixedValues = field.currentCondition.operations.some(\n (operation) => operation.fixedValue !== undefined\n );\n\n const condition = field.availableConditions.find(\n (condition) => condition.type === value\n );\n let newValues = condition.operations.map((operation) =>\n operation.fixedValue !== undefined ? operation.fixedValue : null\n );\n if (\n newValues.every((value) => value === null) &&\n !hasFixedValues &&\n this.state.fields[fieldIndex].values.length === newValues.length\n ) {\n newValues = this.state.fields[fieldIndex].values;\n }\n\n let newFields = update(this.state.fields, {\n [fieldIndex]: {\n currentCondition: { $set: condition },\n values: {\n $set: newValues,\n },\n },\n });\n\n const relatedFieldIndex = newFields.findIndex(\n (f) =>\n f.isRelation &&\n f.relationSideId === field.relationSideId &&\n f.id !== field.id\n );\n if (relatedFieldIndex !== -1) {\n const relatedField = newFields[relatedFieldIndex];\n const relatedCondition = relatedField.availableConditions.find(\n (condition) => condition.type === value\n );\n if (condition.operations[0].operator === ElementOperators.Exists) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedCondition },\n values: {\n $set: [null],\n },\n },\n });\n } else if (\n relatedField.currentCondition.operations[0].operator ===\n ElementOperators.Exists\n ) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedField.availableConditions[0] },\n values: {\n $set: [null],\n },\n },\n });\n }\n }\n\n this.setState({\n fields: newFields,\n });\n\n this.setFormFieldValues(newFields);\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n const hasBetween = this.state.fields.some((field) =>\n [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.DATE,\n ModelAttributeValueType.DATETIME,\n ].includes(field.attrValue.type as ModelAttributeValueType)\n );\n return this.state.fields.map((field, fieldIndex) => {\n let type: string;\n let style: React.CSSProperties;\n let attrValue: any = field.attrValue;\n let multiSelect = false;\n const isBetween: boolean =\n field.currentCondition.type === ConditionType.Between;\n switch (field.attrValue.type) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n attrValue = {\n type: isBetween\n ? ModelAttributeValueType.INTEGER\n : ModelAttributeValueType.STRING,\n };\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (field.attrValue.mode as any) ===\n ModelAttributeValueModeType.CASCADE\n ) {\n // istanbul ignore next\n type = FormControlTypeEnum.TREESELECT;\n } else {\n type = FormControlTypeEnum.SELECT;\n }\n multiSelect = true;\n break;\n case ModelAttributeValueType.DATETIME:\n style = { minWidth: \"auto\" };\n break;\n }\n //高级搜索这里即使是json格式,也用input输入框进行搜索\n if ((attrValue as any).type === \"json\") {\n attrValue = { ...attrValue, type: \"str\" };\n }\n return (\n <Col span={hasBetween ? 12 : 8} key={field.id}>\n <Form.Item label={field.name}>\n <Input.Group className={styles.conditionInputGroup} compact>\n <Select\n dropdownMatchSelectWidth={false}\n value={field.currentCondition.type}\n onChange={(value: ConditionType) =>\n this.onConditionChange(value, field, fieldIndex)\n }\n disabled={field.disabled}\n >\n {field.availableConditions.map((condition) => (\n <Select.Option value={condition.type} key={condition.type}>\n {condition.label}\n </Select.Option>\n ))}\n </Select>\n {field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n\n return (\n <React.Fragment\n key={`${field.currentCondition.type}-${operation.operator}`}\n >\n {valueIndex > 0 && (\n <Input\n className={styles.separatorInput}\n placeholder=\"~\"\n disabled\n />\n )}\n {getFieldDecorator(`${field.id}[${valueIndex}]`, {\n initialValue:\n operation.fixedValue === undefined ? value : \"\",\n })(\n operation.fixedValue === undefined && !field.disabled ? (\n <ModelAttributeFormControl\n type={type}\n attribute={{\n id: field.id,\n name: field.name,\n value: attrValue,\n }}\n objectId={this.props.modelData.objectId}\n multiSelect={multiSelect}\n onChange={(value: any) =>\n this.onValueChange(\n value,\n valueIndex,\n field,\n fieldIndex\n )\n }\n className={styles.conditionInput}\n style={style}\n />\n ) : (\n <Input disabled />\n )\n )}\n </React.Fragment>\n );\n })}\n </Input.Group>\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n const fields = this.state.fields.map((v) => ({ ...v, id: v.id.slice(1) }));\n if (this.props?.autoSearch) this.props.autoSearch(fields);\n if (this.props.onSearch) {\n // 当过滤字段为relation并且过滤条件为ElementOperators.Exists的时候,发起后台请求的搜索queries与负责前端展示的query不同。需要额外处理。\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n let fieldQuery: Query = { [field.id]: expressions };\n let fieldQueryToShow: Query = { [field.id]: expressions };\n let hasValue = false;\n let structQueryId: string[];\n const isStruct = !!(field.attrValue as any).isStruct;\n if (isStruct) {\n structQueryId = field.attrValue.struct_define.map(\n (struct_item) => `${field.id}.${struct_item.id}`\n );\n }\n field.values.forEach((value, index) => {\n const operation = field.currentCondition.operations[index];\n const fieldId =\n field.isRelation && ElementOperators.Exists === operation.operator\n ? field.relationSideId\n : field.id;\n fieldQuery = { [fieldId]: expressions };\n\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n const multiValueSearchOperator = multiValueSearchOperators.find(\n (operator) => operator.comparisonOperator === operation.operator\n );\n if (multiValueSearchOperator) {\n let values: any[];\n if (\n field.attrValue.type === ModelAttributeValueType.ENUM ||\n field.attrValue.type === ModelAttributeValueType.ARR\n ) {\n values = value;\n } else if (typeof value === \"string\") {\n if (\n !ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE ||\n !value.includes('\"')\n ) {\n values = value\n .trim()\n .split(/\\s+/)\n .map((value) => convertValue(field.attrValue.type, value))\n .filter((value) => !isNil(value));\n } else {\n values = processAttrValueWithQuote(value, []);\n }\n } else {\n values = [value];\n }\n if (values.length) {\n if (isStruct) {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: flatten(\n values.map((value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n\n return structQueryId.map(\n (structId: string | number) => ({\n [structId]: {\n [operation.operator]: value,\n },\n })\n );\n })\n ),\n };\n } else {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldId]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n }\n fieldQueryToShow = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldIdToShow]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n } else {\n value = convertValue(field.attrValue.type, value);\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n expressions[operation.operator] = value;\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n }\n });\n if (hasValue) {\n queries.push(fieldQuery);\n queriesToShow.push(fieldQueryToShow);\n }\n });\n if (queries.length === 0) {\n queries = undefined;\n queriesToShow = undefined;\n }\n if (!isEqual(this.props.q, queries)) {\n this.props.onSearch(queries, queriesToShow, fieldToShow);\n }\n }\n };\n\n handleReset = () => {\n if (this.props.autoSearch) this.props.autoSearch([]);\n this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.advancedSearch}>\n <Form\n layout=\"vertical\"\n className={styles.advancedSearchForm}\n onSubmit={this.handleSearch}\n >\n <Row gutter={50}>{this.getFields()}</Row>\n <Row>\n <Col span={24} style={{ textAlign: \"right\" }}>\n <Button\n type=\"primary\"\n htmlType=\"submit\"\n data-testid=\"submit-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH}`)}\n </Button>\n <Button\n style={{ marginLeft: 8 }}\n onClick={this.handleReset}\n data-testid=\"reset-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n </Col>\n </Row>\n </Form>\n </div>\n );\n }\n}\n\nexport const AdvancedSearch = Form.create<AdvancedSearchFormProps>({\n name: \"advanced_search\",\n})(AdvancedSearchForm);\n"],"mappings":"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","ignoreList":[]}