@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
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedSearchCondition.js","names":["newKey","fieldIds","aq","key","isEmpty","join","length","reducer","prevState","updatedProperty","formatAqToShow","newAqToShow","forEach","query","aqToShow","Object","entries","map","expressions","newExpressions","LogicalOperators","Or","And","translateAqConditions","fields","conditions","queries","keys","value","values","attr","find","v","id","contain","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_CONTAIN_DEFINE","condition","name","replace","curCondition","attrId","valuesStr","push","AdvancedSearchCondition","props","state","setState","useReducer","undefined","onAdvancedSearch","queriesToShow","fieldToShow","onAdvancedSearchCloseGen","isValueEqual","filterAq","filter","specialQueryHandler","isSpecial","some","formatAqQuery","querys","isAq","isKey","isStart","startsWith","filteredSubQueries","isInstanceFilterForm","styles","advancedSearchWrapper","hideDynamicSearch","marginBottom","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","uniqueId"],"sources":["../../../src/instance-list-table/AdvancedSearchCondition.tsx"],"sourcesContent":["import React, { useReducer } from \"react\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Query, LogicalOperators } from \"@next-libs/cmdb-utils\";\nimport { DynamicSearch } from \"./DynamicSearch\";\nimport { isEmpty, uniqueId, startsWith } from \"lodash\";\nimport { Tag } from \"antd\";\nimport styles from \"./AdvancedSearchCondition.module.css\";\nexport interface AdvancedSearchConditionProps {\n fields: Record<string, any>[];\n onAdvancedSearch?(queries: Query[]): void;\n isInstanceFilterForm?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n hideDynamicSearch?: boolean;\n hideSearchConditions?: boolean;\n}\n\ninterface AdvancedSearchConditionState {\n aq: Query[];\n aqToShow?: Query[];\n fieldIds: string[];\n fieldToShow?: Record<string, any[]>[];\n fields?: Record<string, any>[];\n}\n\n/* istanbul ignore next */\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\n/* istanbul ignore next */\nconst reducer = (\n prevState: AdvancedSearchConditionState,\n updatedProperty: Partial<AdvancedSearchConditionState>\n): AdvancedSearchConditionState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n};\n\nexport const formatAqToShow = (aq: Query[]) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return newAqToShow;\n};\n\nfunction translateAqConditions(\n aq: Query[],\n fields: any[]\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (\n Object.keys(query)[0] === LogicalOperators.Or ||\n Object.keys(query)[0] === LogicalOperators.And\n ) {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n const attr = fields.find((v) => v.id === key);\n const contain = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n );\n const condition = `${attr?.name}:${contain}\"${Object.values(\n value\n )[0].replace(/%/g, \"\")}\"`;\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: Object.values(value)[0],\n };\n conditions.push(curCondition);\n });\n }\n }\n return conditions;\n}\n\nexport function AdvancedSearchCondition(\n props: AdvancedSearchConditionProps\n): React.ReactElement {\n const [state, setState] = useReducer(reducer, undefined, () => ({\n aq: formatAqToShow(props.aq),\n aqToShow: props.aqToShow || formatAqToShow(props.aq),\n fieldIds: (props.fields || []).map((v) => v.id),\n fields: props.fields || [],\n }));\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n /* istanbul ignore next */\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const isValueEqual = (query: any) =>\n query[attrId]\n ? Object.values(query[attrId]).join(\" \") !== valuesStr\n : false;\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqual(v));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = Object.keys(query[key] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n const formatAqQuery = (\n querys: any[],\n queries: Query[],\n isAq: boolean\n ) => {\n querys.forEach((query) => {\n const key = Object.keys(query)[0];\n const isKey = key !== attrId;\n const isStart = isAq\n ? isKey && !startsWith(attrId, `${key}.`)\n : isKey;\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (isStart) {\n queries.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqual(query)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n };\n formatAqQuery(state.aq, queries, true);\n formatAqQuery(state.aqToShow, queriesToShow, false);\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const conditions = translateAqConditions(state.aqToShow, state.fields);\n return (\n <div className={styles.advancedSearchWrapper}>\n {!props?.hideDynamicSearch && (\n <div style={{ marginBottom: \"var(--page-padding-top)\" }}>\n <DynamicSearch\n fields={state.fields}\n onSearch={onAdvancedSearch}\n key={newKey(state.fieldIds, state.aq)}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n />\n </div>\n )}\n {!props.hideSearchConditions && !isEmpty(conditions) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${condition.valuesStr}-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AdvancedSearchCondition.js","names":["_react","_interopRequireWildcard","require","_i18next","_interopRequireDefault","_constants","_cmdbUtils","_DynamicSearch","_lodash","_antd","_AdvancedSearchConditionModule","newKey","fieldIds","aq","key","isEmpty","join","length","reducer","prevState","updatedProperty","formatAqToShow","newAqToShow","forEach","query","aqToShow","Object","entries","map","expressions","newExpressions","LogicalOperators","Or","And","exports","translateAqConditions","fields","conditions","queries","keys","value","values","attr","find","v","id","contain","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_CONTAIN_DEFINE","condition","name","replace","curCondition","attrId","valuesStr","push","AdvancedSearchCondition","props","state","setState","useReducer","undefined","onAdvancedSearch","queriesToShow","fieldToShow","_props$onAdvancedSear","call","onAdvancedSearchCloseGen","_props$onAdvancedSear2","isValueEqual","filterAq","filter","specialQueryHandler","isSpecial","some","formatAqQuery","querys","isAq","isKey","isStart","startsWith","filteredSubQueries","isInstanceFilterForm","default","createElement","className","styles","advancedSearchWrapper","hideDynamicSearch","style","marginBottom","DynamicSearch","onSearch","q","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","Tag","uniqueId","closable","onClose"],"sources":["../../../src/instance-list-table/AdvancedSearchCondition.tsx"],"sourcesContent":["import React, { useReducer } from \"react\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Query, LogicalOperators } from \"@next-libs/cmdb-utils\";\nimport { DynamicSearch } from \"./DynamicSearch\";\nimport { isEmpty, uniqueId, startsWith } from \"lodash\";\nimport { Tag } from \"antd\";\nimport styles from \"./AdvancedSearchCondition.module.css\";\nexport interface AdvancedSearchConditionProps {\n fields: Record<string, any>[];\n onAdvancedSearch?(queries: Query[]): void;\n isInstanceFilterForm?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n hideDynamicSearch?: boolean;\n hideSearchConditions?: boolean;\n}\n\ninterface AdvancedSearchConditionState {\n aq: Query[];\n aqToShow?: Query[];\n fieldIds: string[];\n fieldToShow?: Record<string, any[]>[];\n fields?: Record<string, any>[];\n}\n\n/* istanbul ignore next */\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\n/* istanbul ignore next */\nconst reducer = (\n prevState: AdvancedSearchConditionState,\n updatedProperty: Partial<AdvancedSearchConditionState>\n): AdvancedSearchConditionState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n};\n\nexport const formatAqToShow = (aq: Query[]) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return newAqToShow;\n};\n\nfunction translateAqConditions(\n aq: Query[],\n fields: any[]\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (\n Object.keys(query)[0] === LogicalOperators.Or ||\n Object.keys(query)[0] === LogicalOperators.And\n ) {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n const attr = fields.find((v) => v.id === key);\n const contain = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n );\n const condition = `${attr?.name}:${contain}\"${Object.values(\n value\n )[0].replace(/%/g, \"\")}\"`;\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: Object.values(value)[0],\n };\n conditions.push(curCondition);\n });\n }\n }\n return conditions;\n}\n\nexport function AdvancedSearchCondition(\n props: AdvancedSearchConditionProps\n): React.ReactElement {\n const [state, setState] = useReducer(reducer, undefined, () => ({\n aq: formatAqToShow(props.aq),\n aqToShow: props.aqToShow || formatAqToShow(props.aq),\n fieldIds: (props.fields || []).map((v) => v.id),\n fields: props.fields || [],\n }));\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n /* istanbul ignore next */\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const isValueEqual = (query: any) =>\n query[attrId]\n ? Object.values(query[attrId]).join(\" \") !== valuesStr\n : false;\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqual(v));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = Object.keys(query[key] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n const formatAqQuery = (\n querys: any[],\n queries: Query[],\n isAq: boolean\n ) => {\n querys.forEach((query) => {\n const key = Object.keys(query)[0];\n const isKey = key !== attrId;\n const isStart = isAq\n ? isKey && !startsWith(attrId, `${key}.`)\n : isKey;\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (isStart) {\n queries.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqual(query)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n };\n formatAqQuery(state.aq, queries, true);\n formatAqQuery(state.aqToShow, queriesToShow, false);\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const conditions = translateAqConditions(state.aqToShow, state.fields);\n return (\n <div className={styles.advancedSearchWrapper}>\n {!props?.hideDynamicSearch && (\n <div style={{ marginBottom: \"var(--page-padding-top)\" }}>\n <DynamicSearch\n fields={state.fields}\n onSearch={onAdvancedSearch}\n key={newKey(state.fieldIds, state.aq)}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n />\n </div>\n )}\n {!props.hideSearchConditions && !isEmpty(conditions) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${condition.valuesStr}-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DisplaySettings.js","names":["DisplaySettings","React","Component","constructor","props","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","setState","event","value","target","debounceHandleSearch","getBatchEditableFields","modelData","hideColumns","view","hide_columns","ignoredFields","get","CMDB_RESOURCE_FIELDS_SETTINGS","objectId","isEmpty","forEach","hideColumn","remove","id","map","attribute","extraAttrIds","extraFieldAttrs","extraFieldAttr","attrs","extraAttrs","nextFields","currentFields","slice","allFieldsLength","length","extraDisabledFieldSet","Set","extraDisabledFields","selectAllFields","debounce","filterColTag","componentDidUpdate","prevProps","handleChecked","fieldsKey","fields","checked","concat","without","onChange","handleSelectAllFields","allFields","renderCheckbox","field","disabled","extraDisabledField","has","padding","stopPropagation","width","wordBreak","render","marginTop","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FIELD_SETTINGS","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { debounce, remove, without, get, isEmpty } from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n allFieldsLength: number;\n}\n\nexport class DisplaySettings extends React.Component<\n DisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string }[] = [];\n\n constructor(props: DisplaySettingsProps) {\n super(props);\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n }));\n\n const filteredList = this.attrAndRelationList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n\n const nextFields = props.currentFields ? props.currentFields.slice() : [];\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields: [...new Set([...nextFields])].length === allFieldsLength,\n allFieldsLength,\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: DisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any) {\n const fieldsKey = \"nextFields\";\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const fields = event.target.checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(attr: any, field: \"nextFields\" | \"otherFields\") {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n if (q) {\n filteredList = filteredList.filter((attr) => {\n return attr.name.toLowerCase().includes(q);\n });\n }\n this.setState({\n filteredList,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n\n render() {\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIELD_SETTINGS}`)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_BY_FIELD_NAME}`\n )}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SELECT_ALL}`)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n <Row>\n {attrs.map((attr: any) => this.renderCheckbox(attr, \"nextFields\"))}\n {extraAttrs.length > 0 ? (\n <>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </>\n ) : null}\n </Row>\n </div>\n </>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DisplaySettings.js","names":["_react","_interopRequireDefault","require","_lodash","_constants","_antd","_cmdbUtils","_i18next","_constants2","DisplaySettings","React","Component","constructor","props","_defineProperty2","default","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","setState","event","value","target","debounceHandleSearch","getBatchEditableFields","modelData","hideColumns","view","hide_columns","ignoredFields","get","CMDB_RESOURCE_FIELDS_SETTINGS","objectId","isEmpty","forEach","hideColumn","remove","id","map","attribute","extraAttrIds","extraFieldAttrs","extraFieldAttr","attrs","extraAttrs","nextFields","currentFields","slice","allFieldsLength","length","extraDisabledFieldSet","Set","extraDisabledFields","selectAllFields","debounce","filterColTag","componentDidUpdate","prevProps","handleChecked","_this$props$onChange","_this$props","fieldsKey","fields","checked","concat","without","onChange","call","handleSelectAllFields","allFields","_this$props$onChange2","_this$props2","renderCheckbox","field","disabled","extraDisabledField","has","createElement","Col","key","span","style","padding","onClick","stopPropagation","Checkbox","width","wordBreak","render","Fragment","Divider","orientation","plain","marginTop","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FIELD_SETTINGS","Input","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","className","Row","exports"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { debounce, remove, without, get, isEmpty } from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n allFieldsLength: number;\n}\n\nexport class DisplaySettings extends React.Component<\n DisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string }[] = [];\n\n constructor(props: DisplaySettingsProps) {\n super(props);\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n }));\n\n const filteredList = this.attrAndRelationList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n\n const nextFields = props.currentFields ? props.currentFields.slice() : [];\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields: [...new Set([...nextFields])].length === allFieldsLength,\n allFieldsLength,\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: DisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any) {\n const fieldsKey = \"nextFields\";\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const fields = event.target.checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(attr: any, field: \"nextFields\" | \"otherFields\") {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n if (q) {\n filteredList = filteredList.filter((attr) => {\n return attr.name.toLowerCase().includes(q);\n });\n }\n this.setState({\n filteredList,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n\n render() {\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIELD_SETTINGS}`)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_BY_FIELD_NAME}`\n )}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SELECT_ALL}`)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n <Row>\n {attrs.map((attr: any) => this.renderCheckbox(attr, \"nextFields\"))}\n {extraAttrs.length > 0 ? (\n <>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </>\n ) : null}\n </Row>\n </div>\n </>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DisplaySettingsModal.js","names":["DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","onOk","onCancel","t","useTranslation","NS_LIBS_CMDB_INSTANCES","nextFields","setNextFields","useState","count","useMemo","filter","v","length","handleReset","fields","slice","isReset","handleCancel","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","getAuth","isAdmin","dropdownMenuItems","K","DEFAULT_DISPLAY","RESTORE_DEFAULT","DISPLAY_SETTINGS","display","marginLeft","marginRight","CANCEL","CONFIRM"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["import { Button, Modal, Dropdown, Menu } from \"antd\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { DisplaySettings, DisplaySettingsProps } from \"./DisplaySettings\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { EllipsisOutlined } from \"@ant-design/icons\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n isAdminSetDisplay?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nexport function DisplaySettingsModal(\n props: DisplaySettingsModalProps\n): React.ReactElement {\n const {\n visible,\n objectId,\n modelData,\n saveFieldsBackend,\n useExternalCmdbApi,\n currentFields,\n defaultFields,\n extraDisabledField,\n extraDisabledFields,\n onOk,\n onCancel,\n } = props;\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const [nextFields, setNextFields] = useState<string[]>(currentFields);\n const count = useMemo(\n () => nextFields?.filter((v) => v !== \"_object_id\").length,\n [nextFields]\n );\n\n const handleReset = (): void => {\n const fields = defaultFields ? defaultFields.slice() : [];\n\n setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(currentFields ? [...currentFields] : []);\n onCancel?.();\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n // istanbul ignore next\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // istanbul ignore next\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(currentFields ? [...currentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item\n key=\"set-default-display\"\n disabled={count === 0}\n onClick={handleDropdownMenuClick}\n >\n {t(K.DEFAULT_DISPLAY)}\n </Menu.Item>\n <Menu.Item key=\"restore-default\" onClick={handleDropdownMenuClick}>\n {t(K.RESTORE_DEFAULT)}\n </Menu.Item>\n </Menu>\n );\n return (\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault && saveFieldsBackend && !useExternalCmdbApi ? (\n <Dropdown\n overlay={dropdownMenuItems}\n placement=\"topLeft\"\n trigger={[\"click\"]}\n data-testid=\"admin-set-display-dropdown\"\n >\n <Button type=\"default\" icon={<EllipsisOutlined />}></Button>\n </Dropdown>\n ) : (\n <div>\n <Button\n type=\"default\"\n onClick={handleReset}\n data-testid=\"reset-button\"\n >\n {t(K.RESTORE_DEFAULT)}\n </Button>\n </div>\n )}\n <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"text\"\n onClick={handleCancel}\n style={{ marginRight: 10 }}\n data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n type=\"primary\"\n onClick={() => props?.onOk({ fields: nextFields })}\n disabled={count === 0}\n data-testid=\"ok-button\"\n >\n {t(K.CONFIRM)}\n </Button>\n </div>\n </div>\n }\n onCancel={handleCancel}\n destroyOnClose={true}\n width={780}\n centered={true}\n >\n <DisplaySettings\n objectId={objectId}\n modelData={modelData}\n currentFields={nextFields}\n extraDisabledField={extraDisabledField}\n extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DisplaySettingsModal.js","names":["_antd","require","_react","_interopRequireWildcard","_reactI18next","_constants","_DisplaySettings","_brickKit","_icons","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","onOk","onCancel","t","useTranslation","NS_LIBS_CMDB_INSTANCES","nextFields","setNextFields","useState","count","useMemo","filter","v","length","handleReset","fields","slice","isReset","handleCancel","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","getAuth","isAdmin","dropdownMenuItems","default","createElement","Menu","Item","disabled","onClick","K","DEFAULT_DISPLAY","RESTORE_DEFAULT","Modal","title","DISPLAY_SETTINGS","footer","style","display","Dropdown","overlay","placement","trigger","Button","type","icon","EllipsisOutlined","marginLeft","marginRight","CANCEL","CONFIRM","destroyOnClose","width","centered","DisplaySettings","onChange"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["import { Button, Modal, Dropdown, Menu } from \"antd\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { DisplaySettings, DisplaySettingsProps } from \"./DisplaySettings\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { EllipsisOutlined } from \"@ant-design/icons\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n isAdminSetDisplay?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nexport function DisplaySettingsModal(\n props: DisplaySettingsModalProps\n): React.ReactElement {\n const {\n visible,\n objectId,\n modelData,\n saveFieldsBackend,\n useExternalCmdbApi,\n currentFields,\n defaultFields,\n extraDisabledField,\n extraDisabledFields,\n onOk,\n onCancel,\n } = props;\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const [nextFields, setNextFields] = useState<string[]>(currentFields);\n const count = useMemo(\n () => nextFields?.filter((v) => v !== \"_object_id\").length,\n [nextFields]\n );\n\n const handleReset = (): void => {\n const fields = defaultFields ? defaultFields.slice() : [];\n\n setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(currentFields ? [...currentFields] : []);\n onCancel?.();\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n // istanbul ignore next\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // istanbul ignore next\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(currentFields ? [...currentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item\n key=\"set-default-display\"\n disabled={count === 0}\n onClick={handleDropdownMenuClick}\n >\n {t(K.DEFAULT_DISPLAY)}\n </Menu.Item>\n <Menu.Item key=\"restore-default\" onClick={handleDropdownMenuClick}>\n {t(K.RESTORE_DEFAULT)}\n </Menu.Item>\n </Menu>\n );\n return (\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault && saveFieldsBackend && !useExternalCmdbApi ? (\n <Dropdown\n overlay={dropdownMenuItems}\n placement=\"topLeft\"\n trigger={[\"click\"]}\n data-testid=\"admin-set-display-dropdown\"\n >\n <Button type=\"default\" icon={<EllipsisOutlined />}></Button>\n </Dropdown>\n ) : (\n <div>\n <Button\n type=\"default\"\n onClick={handleReset}\n data-testid=\"reset-button\"\n >\n {t(K.RESTORE_DEFAULT)}\n </Button>\n </div>\n )}\n <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"text\"\n onClick={handleCancel}\n style={{ marginRight: 10 }}\n data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n type=\"primary\"\n onClick={() => props?.onOk({ fields: nextFields })}\n disabled={count === 0}\n data-testid=\"ok-button\"\n >\n {t(K.CONFIRM)}\n </Button>\n </div>\n </div>\n }\n onCancel={handleCancel}\n destroyOnClose={true}\n width={780}\n centered={true}\n >\n <DisplaySettings\n objectId={objectId}\n modelData={modelData}\n currentFields={nextFields}\n extraDisabledField={extraDisabledField}\n extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -237,8 +237,7 @@ class DynamicSearchForm extends _react.default.Component {
237
237
  }
238
238
  }
239
239
  exports.DynamicSearchForm = DynamicSearchForm;
240
- const DynamicSearch = _compatible.Form.create({
240
+ const DynamicSearch = exports.DynamicSearch = _compatible.Form.create({
241
241
  name: "dynamic_search"
242
242
  })(DynamicSearchForm);
243
- exports.DynamicSearch = DynamicSearch;
244
243
  //# sourceMappingURL=DynamicSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicSearch.js","names":["DynamicSearchForm","React","Component","constructor","props","value","fieldIndex","valueIndex","setState","fields","update","state","values","$set","e","onValueChange","target","preventDefault","onSearch","queries","queriesToShow","fieldToShow","forEach","field","expressions","fieldId","id","fieldQuery","fieldQueryToShow","hasValue","operator","comparisonOperator","ComparisonOperators","Like","logicalOperator","LogicalOperators","Or","fieldIdToShow","Array","isArray","length","processAttrValueWithQuote","map","push","undefined","isEqual","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","setFormFieldValues","fieldQueryOperatorExpressionsMap","query","Object","entries","key","And","firstSubQuery","keys","compareOperator","subQueryValue","targetField","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","find","fieldItem","isNil","item","join","targetValue","NotLike","isString","includes","slice","v","isEmpty","str","replace","reduce","acc","setFieldsValue","getFields","getFieldDecorator","name","initialValue","styles","conditionInput","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_CONTAIN_DEFINE","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","handleValueChange","render","dynamicSearch","dynamicSearchForm","handleSearch","textAlign","SEARCH","marginLeft","handleReset","RESET","DynamicSearch","Form","create"],"sources":["../../../src/instance-list-table/DynamicSearch.tsx"],"sourcesContent":["import React, { FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport { isEqual, isNil, isString, isArray, isEmpty } 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 {\n ComparisonOperators,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n} from \"@next-libs/cmdb-utils\";\nimport styles from \"./DynamicSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n} from \"../processors\";\n\nexport interface Field {\n id: string;\n name: string;\n values?: any[];\n}\n\nexport interface DynamicSearchFormProps extends FormComponentProps {\n fields: Record<string, any>[];\n q?: Query[];\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n}\n\nexport interface DynamicSearchFormState {\n fields: Field[];\n}\n\nexport class DynamicSearchForm extends React.Component<\n DynamicSearchFormProps,\n DynamicSearchFormState\n> {\n constructor(props: DynamicSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<DynamicSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n let 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 const compareOperator = Object.keys(firstSubQuery[fieldId])[0];\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 } else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n if (this.props.fields) {\n fields = this.props.fields.map(\n (v) => ({ ...v, values: [null] } as Field)\n );\n if (!isEmpty(fieldQueryOperatorExpressionsMap)) {\n fields = this.props.fields.map((v) => {\n let str: any = null;\n if (fieldQueryOperatorExpressionsMap[v.id]) {\n const expressions = fieldQueryOperatorExpressionsMap[v.id][\"$like\"];\n str = expressions.replace(/%/g, \"\");\n }\n return {\n ...v,\n values: [str],\n } as Field;\n });\n }\n }\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n acc[`${field.id}`] = field.values.join(\"\");\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (value: any, fieldIndex: number, valueIndex: number) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n return this.state.fields.map((field, fieldIndex) => {\n return (\n <Col span={12} key={field.id}>\n <Form.Item label={field.name}>\n {getFieldDecorator(`${field.id}`, {\n initialValue: field.values || \"\",\n })(\n <Input\n className={styles.conditionInput}\n addonBefore={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n )}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )}\n onChange={(e) => this.handleValueChange(e, fieldIndex)}\n />\n )}\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleValueChange = (e: any, fieldIndex: number) => {\n this.onValueChange(e.target.value, fieldIndex, 0);\n };\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n if (this.props.onSearch) {\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n this.state.fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n const fieldId = field.id;\n let fieldQuery: Query = { [fieldId]: expressions };\n let fieldQueryToShow: Query = { [fieldId]: expressions };\n let hasValue = false;\n const operator = {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n };\n field.values.forEach((value) => {\n fieldQuery = { [field.id]: expressions };\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n let values: any[];\n if (typeof value === \"string\") {\n values = processAttrValueWithQuote(value, []);\n }\n if (values.length) {\n fieldQuery = {\n [operator.logicalOperator]: values.map((value) => {\n return {\n [fieldId]: {\n [operator.comparisonOperator]: `%${value}%`,\n },\n };\n }),\n };\n }\n fieldQueryToShow = {\n [operator.logicalOperator]: values.map((value) => {\n return {\n [fieldIdToShow]: {\n [operator.comparisonOperator]: `%${value}%`,\n },\n };\n }),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\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 this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.dynamicSearch}>\n <Form\n layout=\"vertical\"\n className={styles.dynamicSearchForm}\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 DynamicSearch = Form.create<DynamicSearchFormProps>({\n name: \"dynamic_search\",\n})(DynamicSearchForm);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicSearch.js","names":["_react","_interopRequireDefault","require","_immutabilityHelper","_lodash","_compatible","_antd","_cmdbUtils","_DynamicSearchModule","_i18next","_constants","_processors","DynamicSearchForm","React","Component","constructor","props","_defineProperty2","default","value","fieldIndex","valueIndex","setState","fields","update","state","values","$set","e","onValueChange","target","preventDefault","onSearch","queries","queriesToShow","fieldToShow","forEach","field","expressions","fieldId","id","fieldQuery","fieldQueryToShow","hasValue","operator","comparisonOperator","ComparisonOperators","Like","logicalOperator","LogicalOperators","Or","fieldIdToShow","Array","isArray","length","processAttrValueWithQuote","map","push","undefined","isEqual","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","setFormFieldValues","fieldQueryOperatorExpressionsMap","query","Object","entries","key","And","firstSubQuery","keys","compareOperator","subQueryValue","targetField","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","_this$props$fieldToSh","find","fieldItem","isNil","item","join","targetValue","NotLike","isString","includes","slice","v","isEmpty","str","replace","reduce","acc","setFieldsValue","getFields","getFieldDecorator","createElement","Col","span","Form","Item","label","name","initialValue","Input","className","styles","conditionInput","addonBefore","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_CONTAIN_DEFINE","placeholder","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","onChange","handleValueChange","render","dynamicSearch","layout","dynamicSearchForm","onSubmit","handleSearch","Row","gutter","style","textAlign","Button","type","htmlType","SEARCH","marginLeft","onClick","handleReset","RESET","exports","DynamicSearch","create"],"sources":["../../../src/instance-list-table/DynamicSearch.tsx"],"sourcesContent":["import React, { FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport { isEqual, isNil, isString, isArray, isEmpty } 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 {\n ComparisonOperators,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n} from \"@next-libs/cmdb-utils\";\nimport styles from \"./DynamicSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n} from \"../processors\";\n\nexport interface Field {\n id: string;\n name: string;\n values?: any[];\n}\n\nexport interface DynamicSearchFormProps extends FormComponentProps {\n fields: Record<string, any>[];\n q?: Query[];\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n}\n\nexport interface DynamicSearchFormState {\n fields: Field[];\n}\n\nexport class DynamicSearchForm extends React.Component<\n DynamicSearchFormProps,\n DynamicSearchFormState\n> {\n constructor(props: DynamicSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<DynamicSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n let 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 const compareOperator = Object.keys(firstSubQuery[fieldId])[0];\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 } else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n if (this.props.fields) {\n fields = this.props.fields.map(\n (v) => ({ ...v, values: [null] } as Field)\n );\n if (!isEmpty(fieldQueryOperatorExpressionsMap)) {\n fields = this.props.fields.map((v) => {\n let str: any = null;\n if (fieldQueryOperatorExpressionsMap[v.id]) {\n const expressions = fieldQueryOperatorExpressionsMap[v.id][\"$like\"];\n str = expressions.replace(/%/g, \"\");\n }\n return {\n ...v,\n values: [str],\n } as Field;\n });\n }\n }\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n acc[`${field.id}`] = field.values.join(\"\");\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (value: any, fieldIndex: number, valueIndex: number) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n return this.state.fields.map((field, fieldIndex) => {\n return (\n <Col span={12} key={field.id}>\n <Form.Item label={field.name}>\n {getFieldDecorator(`${field.id}`, {\n initialValue: field.values || \"\",\n })(\n <Input\n className={styles.conditionInput}\n addonBefore={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n )}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )}\n onChange={(e) => this.handleValueChange(e, fieldIndex)}\n />\n )}\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleValueChange = (e: any, fieldIndex: number) => {\n this.onValueChange(e.target.value, fieldIndex, 0);\n };\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n if (this.props.onSearch) {\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n this.state.fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n const fieldId = field.id;\n let fieldQuery: Query = { [fieldId]: expressions };\n let fieldQueryToShow: Query = { [fieldId]: expressions };\n let hasValue = false;\n const operator = {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n };\n field.values.forEach((value) => {\n fieldQuery = { [field.id]: expressions };\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n let values: any[];\n if (typeof value === \"string\") {\n values = processAttrValueWithQuote(value, []);\n }\n if (values.length) {\n fieldQuery = {\n [operator.logicalOperator]: values.map((value) => {\n return {\n [fieldId]: {\n [operator.comparisonOperator]: `%${value}%`,\n },\n };\n }),\n };\n }\n fieldQueryToShow = {\n [operator.logicalOperator]: values.map((value) => {\n return {\n [fieldIdToShow]: {\n [operator.comparisonOperator]: `%${value}%`,\n },\n };\n }),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\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 this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.dynamicSearch}>\n <Form\n layout=\"vertical\"\n className={styles.dynamicSearchForm}\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 DynamicSearch = Form.create<DynamicSearchFormProps>({\n name: \"dynamic_search\",\n})(DynamicSearchForm);\n"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,7 @@ var _CmdbUrlLink = require("../cmdb-url-link/CmdbUrlLink");
29
29
  var _FloatDisplayBrick = require("../float-display-brick/FloatDisplayBrick");
30
30
  var _JsonDisplayBrick = require("../json-display-brick/JsonDisplayBrick");
31
31
  var _XmlDisplayBrick = require("../xml-display-brick/XmlDisplayBrick");
32
+ // const { Paragraph } = Typography;
32
33
  var SortOrder;
33
34
  (function (SortOrder) {
34
35
  SortOrder["Ascend"] = "ascend";
@@ -872,6 +873,5 @@ const withProviderDeclare = Component => {
872
873
  };
873
874
  };
874
875
  exports.withProviderDeclare = withProviderDeclare;
875
- const InstanceListTable = /*#__PURE__*/_react.default.memo((0, _reactI18next.withTranslation)(_constants.NS_LIBS_CMDB_INSTANCES)(withProviderDeclare(LegacyInstanceListTable)));
876
- exports.InstanceListTable = InstanceListTable;
876
+ const InstanceListTable = exports.InstanceListTable = /*#__PURE__*/_react.default.memo((0, _reactI18next.withTranslation)(_constants.NS_LIBS_CMDB_INSTANCES)(withProviderDeclare(LegacyInstanceListTable)));
877
877
  //# sourceMappingURL=InstanceListTable.js.map