@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":"DisplaySettings.js","names":["React","debounce","remove","without","get","isEmpty","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","i18n","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","Component","constructor","props","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","setState","event","value","target","debounceHandleSearch","modelData","hideColumns","view","hide_columns","ignoredFields","objectId","forEach","hideColumn","id","map","attribute","extraAttrIds","extraFieldAttr","attrs","extraAttrs","nextFields","currentFields","slice","allFieldsLength","length","extraDisabledFieldSet","Set","extraDisabledFields","selectAllFields","filterColTag","componentDidUpdate","prevProps","handleChecked","fieldsKey","fields","checked","concat","onChange","handleSelectAllFields","allFields","renderCheckbox","field","disabled","extraDisabledField","has","padding","stopPropagation","width","wordBreak","render","marginTop","t","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","debounce","remove","without","get","isEmpty","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","i18n","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","Component","constructor","props","_defineProperty","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","setState","event","value","target","debounceHandleSearch","modelData","hideColumns","view","hide_columns","ignoredFields","concat","objectId","forEach","hideColumn","id","map","attribute","extraAttrIds","extraFieldAttr","attrs","extraAttrs","nextFields","currentFields","slice","allFieldsLength","length","extraDisabledFieldSet","Set","extraDisabledFields","selectAllFields","filterColTag","componentDidUpdate","prevProps","handleChecked","_this$props$onChange","_this$props","fieldsKey","fields","checked","onChange","call","handleSelectAllFields","allFields","_this$props$onChange2","_this$props2","renderCheckbox","field","disabled","extraDisabledField","has","createElement","key","span","style","padding","onClick","stopPropagation","width","wordBreak","render","Fragment","orientation","plain","marginTop","t","FIELD_SETTINGS","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","className"],"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":["Button","Modal","Dropdown","Menu","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","getAuth","EllipsisOutlined","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","onOk","onCancel","t","nextFields","setNextFields","count","filter","v","length","handleReset","fields","slice","isReset","handleCancel","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","isAdmin","dropdownMenuItems","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":["Button","Modal","Dropdown","Menu","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","getAuth","EllipsisOutlined","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","onOk","onCancel","t","nextFields","setNextFields","count","filter","v","length","handleReset","fields","slice","isReset","handleCancel","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","isAdmin","dropdownMenuItems","createElement","Item","disabled","onClick","DEFAULT_DISPLAY","RESTORE_DEFAULT","title","DISPLAY_SETTINGS","footer","style","display","overlay","placement","trigger","type","icon","marginLeft","marginRight","CANCEL","CONFIRM","destroyOnClose","width","centered","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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicSearch.js","names":["React","update","isEqual","isNil","isString","isArray","isEmpty","Form","Button","Col","Input","Row","ComparisonOperators","LogicalOperators","styles","i18n","NS_LIBS_CMDB_INSTANCES","K","processAttrValueWithQuote","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","DynamicSearchForm","Component","constructor","props","value","fieldIndex","valueIndex","setState","fields","state","values","$set","e","onValueChange","target","preventDefault","onSearch","queries","queriesToShow","fieldToShow","forEach","field","expressions","fieldId","id","fieldQuery","fieldQueryToShow","hasValue","operator","comparisonOperator","Like","logicalOperator","Or","fieldIdToShow","Array","length","map","push","undefined","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","setFormFieldValues","fieldQueryOperatorExpressionsMap","query","Object","entries","key","And","firstSubQuery","keys","compareOperator","subQueryValue","targetField","find","fieldItem","item","join","targetValue","NotLike","includes","slice","v","str","replace","reduce","acc","setFieldsValue","getFields","getFieldDecorator","name","initialValue","conditionInput","t","OPERATOR_CONTAIN_DEFINE","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","handleValueChange","render","dynamicSearch","dynamicSearchForm","handleSearch","textAlign","SEARCH","marginLeft","handleReset","RESET","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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"}
1
+ {"version":3,"file":"DynamicSearch.js","names":["React","update","isEqual","isNil","isString","isArray","isEmpty","Form","Button","Col","Input","Row","ComparisonOperators","LogicalOperators","styles","i18n","NS_LIBS_CMDB_INSTANCES","K","processAttrValueWithQuote","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","DynamicSearchForm","Component","constructor","props","_defineProperty","value","fieldIndex","valueIndex","setState","fields","state","values","$set","e","onValueChange","target","preventDefault","onSearch","queries","queriesToShow","fieldToShow","forEach","field","expressions","fieldId","id","fieldQuery","fieldQueryToShow","hasValue","operator","comparisonOperator","Like","logicalOperator","Or","fieldIdToShow","Array","length","map","concat","push","undefined","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","setFormFieldValues","fieldQueryOperatorExpressionsMap","query","Object","entries","_ref","key","And","firstSubQuery","keys","compareOperator","subQueryValue","targetField","_this$props$fieldToSh","find","fieldItem","item","join","targetValue","NotLike","includes","slice","v","_objectSpread","str","replace","reduce","acc","setFieldsValue","getFields","getFieldDecorator","createElement","span","Item","label","name","initialValue","className","conditionInput","addonBefore","t","OPERATOR_CONTAIN_DEFINE","placeholder","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","onChange","handleValueChange","render","dynamicSearch","layout","dynamicSearchForm","onSubmit","handleSearch","gutter","style","textAlign","type","htmlType","SEARCH","marginLeft","onClick","handleReset","RESET","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":[]}
@@ -695,11 +695,11 @@ export class LegacyInstanceListTable extends React.Component {
695
695
  } else {
696
696
  tempColumns = (instances, record, index) => {
697
697
  if (instances && instances.length > 0) {
698
- var _objectId2 = relation["".concat(sides.that, "_object_id")];
699
- var nameKeys = getInstanceNameKeys(this.props.idObjectMap[_objectId2]);
698
+ var objectId = relation["".concat(sides.that, "_object_id")];
699
+ var nameKeys = getInstanceNameKeys(this.props.idObjectMap[objectId]);
700
700
  var detailUrlTemplate;
701
701
  if (this.props.detailUrlTemplates) {
702
- detailUrlTemplate = getTemplateFromMap(this.props.detailUrlTemplates, _objectId2);
702
+ detailUrlTemplate = getTemplateFromMap(this.props.detailUrlTemplates, objectId);
703
703
  }
704
704
  var instanceNodes = instances.map((instance, index) => {
705
705
  var subName;
@@ -710,7 +710,7 @@ export class LegacyInstanceListTable extends React.Component {
710
710
  if (detailUrlTemplate) {
711
711
  var _this$props$separator;
712
712
  var url = parseTemplate(detailUrlTemplate, _objectSpread(_objectSpread({}, instance), {}, {
713
- objectId: _objectId2
713
+ objectId
714
714
  }));
715
715
  return /*#__PURE__*/React.createElement(React.Fragment, {
716
716
  key: instance.instanceId