@next-libs/cmdb-instances 6.42.2 → 6.42.5

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 (128) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  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/index.js.map +1 -1
  7. package/dist/cjs/components/instance-format/index.js.map +1 -1
  8. package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  9. package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  10. package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  11. package/dist/cjs/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  12. package/dist/cjs/data-providers/fetchCmdbObjectList.js.map +1 -1
  13. package/dist/cjs/data-providers/fetchCmdbObjectRef.js.map +1 -1
  14. package/dist/cjs/data-providers/index.js.map +1 -1
  15. package/dist/cjs/float-display-brick/FloatDisplayBrick.js.map +1 -1
  16. package/dist/cjs/i18n/constants.js.map +1 -1
  17. package/dist/cjs/i18n/index.js.map +1 -1
  18. package/dist/cjs/i18n/locales/en.js.map +1 -1
  19. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  22. package/dist/cjs/instance-detail/InstanceDetail.js +3 -1
  23. package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
  24. package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  25. package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  26. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  27. package/dist/cjs/instance-detail/constants/index.js.map +1 -1
  28. package/dist/cjs/instance-list/IconButton.js.map +1 -1
  29. package/dist/cjs/instance-list/InstanceList.js +7 -1
  30. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  31. package/dist/cjs/instance-list/constants.js.map +1 -1
  32. package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
  33. package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
  34. package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  35. package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
  36. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  37. package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
  38. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  39. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  40. package/dist/cjs/instance-list-table/constants.js.map +1 -1
  41. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  42. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  43. package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  44. package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  45. package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  46. package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  47. package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  48. package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
  49. package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  50. package/dist/cjs/instance-list-table/index.js.map +1 -1
  51. package/dist/cjs/instance-list-table/interfaces.js.map +1 -1
  52. package/dist/cjs/instance-list-table/utils.js.map +1 -1
  53. package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
  54. package/dist/cjs/model-attribute-form/constants.js.map +1 -1
  55. package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  56. package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
  57. package/dist/cjs/processors.js.map +1 -1
  58. package/dist/cjs/struct-components/AddStruct.js.map +1 -1
  59. package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
  60. package/dist/cjs/struct-components/StructTable.js.map +1 -1
  61. package/dist/cjs/struct-components/index.js.map +1 -1
  62. package/dist/cjs/struct-components/interfaces.js.map +1 -1
  63. package/dist/cjs/struct-components/mockData.js.map +1 -1
  64. package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
  65. package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
  66. package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
  67. package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
  68. package/dist/esm/components/index.js.map +1 -1
  69. package/dist/esm/components/instance-format/index.js.map +1 -1
  70. package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
  71. package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  72. package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
  73. package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  74. package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
  75. package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
  76. package/dist/esm/data-providers/index.js.map +1 -1
  77. package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
  78. package/dist/esm/i18n/constants.js.map +1 -1
  79. package/dist/esm/i18n/index.js.map +1 -1
  80. package/dist/esm/i18n/locales/en.js.map +1 -1
  81. package/dist/esm/i18n/locales/zh.js.map +1 -1
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
  84. package/dist/esm/instance-detail/InstanceDetail.js +3 -1
  85. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  86. package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
  87. package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
  88. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  89. package/dist/esm/instance-detail/constants/index.js.map +1 -1
  90. package/dist/esm/instance-list/IconButton.js.map +1 -1
  91. package/dist/esm/instance-list/InstanceList.js +7 -1
  92. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  93. package/dist/esm/instance-list/constants.js.map +1 -1
  94. package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
  95. package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
  96. package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
  97. package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
  98. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  99. package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
  100. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  101. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  102. package/dist/esm/instance-list-table/constants.js.map +1 -1
  103. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
  104. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
  105. package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
  106. package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
  107. package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
  108. package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
  109. package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
  110. package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
  111. package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
  112. package/dist/esm/instance-list-table/index.js.map +1 -1
  113. package/dist/esm/instance-list-table/interfaces.js.map +1 -1
  114. package/dist/esm/instance-list-table/utils.js.map +1 -1
  115. package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
  116. package/dist/esm/model-attribute-form/constants.js.map +1 -1
  117. package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
  118. package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
  119. package/dist/esm/processors.js.map +1 -1
  120. package/dist/esm/struct-components/AddStruct.js.map +1 -1
  121. package/dist/esm/struct-components/AddStructModal.js.map +1 -1
  122. package/dist/esm/struct-components/StructTable.js.map +1 -1
  123. package/dist/esm/struct-components/index.js.map +1 -1
  124. package/dist/esm/struct-components/interfaces.js.map +1 -1
  125. package/dist/esm/struct-components/mockData.js.map +1 -1
  126. package/dist/types/instance-detail/InstanceDetail.d.ts +1 -1
  127. package/dist/types/instance-list-table/InstanceListTable.d.ts +1 -1
  128. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list-table/AdvancedSearch.tsx"],"names":["ConditionType","FieldTypeConditionTypesMap","ModelAttributeValueType","STRING","Contain","NotContain","Equal","NotEqual","Empty","NotEmpty","INTEGER","Between","FLOAT","DATE","DATETIME","ENUM","ENUMS","ARR","STRUCT","IP","BOOLEAN","JSON","multiValueSearchOperators","comparisonOperator","ComparisonOperators","Like","logicalOperator","LogicalOperators","Or","NotLike","And","STRUCT_LIST","getCondition","conditionType","fieldType","label","operations","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_EQUAL_DEFINE","operator","In","OPERATOR_NOT_EQUAL_DEFINE","NotIn","OPERATOR_CONTAIN_DEFINE","prefix","suffix","OPERATOR_NOT_CONTAIN_DEFINE","OPERATOR_IS_EMPTY_DEFINE","ElementOperators","Exists","fixedValue","OPERATOR_IS_NOT_EMPTY_DEFINE","True","False","GreaterThanOrEqual","LessThanOrEqual","OPERATOR_BETWEEN_DEFINE_TEXT_INT","OPERATOR_BETWEEN_DEFINE_TEXT_TIME","OPERATOR_BETWEEN_DEFINE_TEXT","OPERATOR_BETWEEN_DEFINE_TEXT_THE","type","convertValue","valueType","value","parseInt","parseFloat","getFieldConditionsAndValues","fieldQueryOperatorExpressionsMap","id","isRelation","relationSideId","objectId","attrId","isRelationWithNoExpression","expressions","expressionsKeys","relatedKey","v","k","relatedExpressions","Object","keys","currentCondition","availableConditions","map","condition","length","operatorsStr","isFixedValueEqual","every","operation","push","undefined","toString","includes","queryValuesStr","values","i","find","multiValueSearchOperator","trim","split","clusterMap","join","startsWith","slice","endsWith","disabled","AdvancedSearchForm","React","Component","constructor","props","valueIndex","field","fieldIndex","setState","fields","state","$set","hasFixedValues","some","newValues","newFields","relatedFieldIndex","findIndex","f","relatedField","relatedCondition","setFormFieldValues","e","preventDefault","autoSearch","onSearch","queries","queriesToShow","fieldToShow","forEach","fieldQuery","fieldQueryToShow","hasValue","structQueryId","isStruct","attrValue","struct_define","struct_item","index","fieldId","fieldIdToShow","Array","isArray","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","structId","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","query","entries","key","firstSubQuery","compareOperators","compareOperator","subQueryValue","targetField","fieldItem","item","targetValue","modelData","attr","regex","name","relation","sides","relationObject","idObjectMap","that","showKeys","showKey","nameOfShowKey","attrList","this","fieldIds","reduce","acc","setFieldsValue","getFields","getFieldDecorator","hasBetween","style","multiSelect","FormControlTypeEnum","SELECT","minWidth","styles","conditionInputGroup","onConditionChange","separatorInput","initialValue","onValueChange","conditionInput","render","advancedSearch","advancedSearchForm","handleSearch","textAlign","SEARCH","marginLeft","handleReset","RESET","AdvancedSearch","Form","create"],"mappings":"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","sourcesContent":["import React, { ChangeEvent, FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport {\n isEqual,\n find,\n startsWith,\n findKey,\n isNil,\n flatten,\n isString,\n isArray,\n} from \"lodash\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Col, Input, Row, Select } from \"antd\";\nimport { FormComponentProps } from \"@ant-design/compatible/lib/form\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport {\n ComparisonOperators,\n ElementOperators,\n forEachAvailableFields,\n getInstanceNameKeys,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n} from \"@next-libs/cmdb-utils\";\nimport { clusterMap } from \"./constants\";\nimport styles from \"./AdvancedSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n} from \"../processors\";\n\nexport enum ConditionType {\n Equal = \"equal\",\n NotEqual = \"notEqual\",\n Contain = \"contain\",\n NotContain = \"notContain\",\n Empty = \"empty\",\n NotEmpty = \"notEmpty\",\n Between = \"between\",\n True = \"true\",\n False = \"false\",\n}\n\ninterface ConditionOperation {\n operator: ComparisonOperators | ElementOperators;\n fixedValue?: any;\n prefix?: string;\n suffix?: string;\n}\n\ninterface Condition {\n type: ConditionType;\n label: string;\n operations: ConditionOperation[];\n}\n\nconst FieldTypeConditionTypesMap: Record<string, ConditionType[]> = {\n [ModelAttributeValueType.STRING]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.INTEGER]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.FLOAT]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATE]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATETIME]: [\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUM]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUMS]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ARR]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.STRUCT]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.IP]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.BOOLEAN]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.JSON]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n};\n\nconst multiValueSearchOperators = [\n {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotLike,\n logicalOperator: LogicalOperators.And,\n },\n {\n comparisonOperator: ComparisonOperators.Equal,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotEqual,\n logicalOperator: LogicalOperators.And,\n },\n];\nFieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT_LIST] =\n FieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT];\n\nexport function getCondition(\n conditionType: ConditionType,\n fieldType: ModelAttributeValueType\n): Condition {\n let label: string;\n let operations: ConditionOperation[];\n\n switch (conditionType) {\n case ConditionType.Equal:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_EQUAL_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Equal,\n },\n ];\n }\n break;\n case ConditionType.NotEqual:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_EQUAL_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotEqual,\n },\n ];\n }\n break;\n case ConditionType.Contain:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Like,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.NotContain:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_CONTAIN_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotLike,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.Empty:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_EMPTY_DEFINE}`);\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.NotEmpty:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_NOT_EMPTY_DEFINE}`\n );\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.True:\n label = \"true\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.False:\n label = \"false\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.Between:\n operations = [\n {\n operator: ComparisonOperators.GreaterThanOrEqual,\n },\n {\n operator: ComparisonOperators.LessThanOrEqual,\n },\n ];\n switch (fieldType) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n // label = \"在此区间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_INT}`\n );\n break;\n case ModelAttributeValueType.DATE:\n case ModelAttributeValueType.DATETIME:\n // label = \"在此期间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_TIME}`\n );\n break;\n case ModelAttributeValueType.IP:\n // label = \"范围\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT}`\n );\n break;\n default:\n // label = \"在此之间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_THE}`\n );\n }\n break;\n }\n\n return {\n type: conditionType,\n label,\n operations,\n };\n}\n\nexport function convertValue(valueType: string, value: any): any {\n if (typeof value !== \"boolean\") {\n switch (valueType) {\n case ModelAttributeValueType.INTEGER:\n return parseInt(value);\n case ModelAttributeValueType.FLOAT:\n return parseFloat(value);\n case ModelAttributeValueType.BOOLEAN:\n return value === \"true\";\n }\n }\n return value;\n}\n\nexport function getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap: Record<string, QueryOperatorExpressions>,\n id: string,\n valueType: ModelAttributeValueType,\n isRelation?: boolean,\n relationSideId?: string,\n objectId?: string,\n attrId?: string\n) {\n let isRelationWithNoExpression = false;\n let expressions = fieldQueryOperatorExpressionsMap[id];\n let expressionsKeys: string[];\n if (!expressions && isRelation) {\n isRelationWithNoExpression = true;\n const relatedKey = findKey(\n fieldQueryOperatorExpressionsMap,\n (v, k) => startsWith(k, `${relationSideId}.`) || k === relationSideId\n );\n const relatedExpressions = fieldQueryOperatorExpressionsMap[relatedKey];\n if (\n relatedExpressions &&\n !isNil(relatedExpressions[ElementOperators.Exists])\n ) {\n expressions = fieldQueryOperatorExpressionsMap[relatedKey];\n }\n }\n\n if (expressions) {\n expressionsKeys = Object.keys(expressions);\n }\n let currentCondition: Condition;\n const availableConditions = FieldTypeConditionTypesMap[valueType].map(\n (conditionType) => {\n const condition = getCondition(conditionType, valueType);\n\n if (expressionsKeys?.length) {\n const operatorsStr: string[] = [];\n // 由于当 ConditionType.Between ,operations 有两个,当用户只填选一个时,currentCondition会默认第一个选择器。与实际不符\n const isFixedValueEqual = condition.operations.every((operation) => {\n operatorsStr.push(operation.operator);\n\n if (operation.fixedValue !== undefined) {\n return (\n operation.fixedValue?.toString() ===\n expressions[operation?.operator]?.toString()\n );\n } else {\n return true;\n }\n });\n if (\n isFixedValueEqual &&\n expressionsKeys.every((operator) => operatorsStr.includes(operator))\n ) {\n currentCondition = condition;\n }\n }\n\n return condition;\n }\n );\n if (!currentCondition) {\n currentCondition = availableConditions[0];\n }\n let queryValuesStr = \"\";\n const values = currentCondition.operations.map((operation) => {\n let value: any;\n // istanbul ignore else ElementOperators.Exists时直接返回fixedValue\n if (\n expressions?.[operation.operator] !== undefined &&\n operation.operator !== ElementOperators.Exists\n ) {\n value = expressions[operation.operator];\n let values = [expressions[operation.operator]];\n const i = multiValueSearchOperators.find(\n (multiValueSearchOperator) =>\n multiValueSearchOperator.comparisonOperator === operation.operator\n );\n if (i) {\n if (\n valueType === ModelAttributeValueType.ENUM ||\n typeof expressions[operation.operator] === \"string\"\n ) {\n values = expressions[operation.operator]\n .trim()\n .split(/\\s+/)\n .map((value: string) => convertValue(valueType, value));\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n values = values.map((value) => clusterMap[value]);\n }\n }\n }\n if (\n typeof values[0] === \"string\" ||\n typeof values[0] === \"number\" ||\n typeof values[0] === \"boolean\"\n ) {\n queryValuesStr = values.join(\" \");\n values = values.map((value: string) => {\n if (operation.prefix && value.startsWith(operation.prefix)) {\n value = value.slice(operation.prefix.length);\n }\n if (operation.suffix && value.endsWith(operation.suffix)) {\n value = value.slice(0, value.length - operation.suffix.length);\n }\n return value;\n });\n value = [\n ModelAttributeValueType.ENUM,\n ModelAttributeValueType.ARR,\n ].includes(valueType)\n ? values\n : values.join(\" \");\n }\n } else {\n value = operation.fixedValue !== undefined ? operation.fixedValue : null;\n }\n\n return value;\n });\n const disabled = false;\n return {\n availableConditions,\n currentCondition,\n values,\n queryValuesStr,\n disabled,\n };\n}\n\nexport interface Field {\n id: string;\n name: string;\n attrValue: Partial<CmdbModels.ModelObjectAttrValue>;\n values: any[];\n availableConditions: Condition[];\n currentCondition: Condition;\n isRelation: boolean;\n relationSideId?: string;\n disabled?: boolean;\n}\n\nexport interface AdvancedSearchFormProps extends FormComponentProps {\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n q?: Query[];\n placeholder?: string;\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n autoSearch?: (fields: Field[]) => void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n onChange?(e: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport interface AdvancedSearchFormState {\n fields: Field[];\n}\n\nexport class AdvancedSearchForm extends React.Component<\n AdvancedSearchFormProps,\n AdvancedSearchFormState\n> {\n constructor(props: AdvancedSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<AdvancedSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n const fields: Field[] = [];\n if (this.props.q) {\n this.props.q.forEach((query) => {\n Object.entries(query).forEach(([key, expressions]) => {\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n // 由于 ConditionType.Between 这边的 operator 是两个,由于需要支持选择一个的时候也要显示出来,这边不能将选择器合并成str吐出去\n const compareOperators = Object.keys(firstSubQuery[fieldId]);\n const compareOperator =\n compareOperators.length > 1\n ? compareOperators\n : compareOperators.join(\"\");\n let subQueryValue = \"\";\n let targetField;\n if (ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE) {\n targetField = this.props.fieldToShow?.find(\n (fieldItem) => Object.keys(fieldItem)[0] === fieldId\n );\n }\n if (!isNil(targetField)) {\n // 二维数组会有问题,\n subQueryValue = isArray(targetField[fieldId])\n ? targetField[fieldId]\n .map((item) => (isArray(item) ? item.join(\" \") : item))\n .join(\"\")\n : (targetField[fieldId] as any);\n } else {\n subQueryValue = (expressions as Query[])\n .map((query) => {\n const targetValue = (\n query[fieldId] as Record<ComparisonOperators, any>\n )[compareOperator as ComparisonOperators];\n if (\n compareOperator === ComparisonOperators.Like ||\n compareOperator === ComparisonOperators.NotLike\n ) {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `${targetValue[0]}\"${targetValue.slice(\n 1,\n targetValue.length - 1\n )}\"${targetValue[targetValue.length - 1]}`\n : targetValue;\n }\n // 对于时间选择器有两个的,不用特意将值转换成str,因为不需要这里的值\n else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = Array.isArray(compareOperator)\n ? firstSubQuery[fieldId]\n : {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n forEachAvailableFields(\n this.props.modelData,\n (attr) => {\n const attrValue: Partial<CmdbModels.ModelObjectAttrValue> & {\n isStruct?: boolean;\n } & { isClusterType?: boolean } = {};\n\n switch (attr.value.type) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.STRUCT_LIST:\n attrValue.type = ModelAttributeValueType.STRING;\n attrValue.struct_define = attr.value.struct_define;\n attrValue.isStruct = true;\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n attrValue.type = attr.value.type;\n attrValue.regex = attr.value.regex;\n break;\n default:\n attrValue.type = attr.value.type;\n }\n\n fields.push({\n id: attr.id,\n name: attr.name,\n attrValue,\n isRelation: false,\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n attr.id,\n attr.value.type as ModelAttributeValueType\n ),\n });\n },\n (relation, sides) => {\n const relationObject =\n this.props.idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const showKeys = getInstanceNameKeys(relationObject);\n showKeys.forEach((showKey, index) => {\n const nameOfShowKey =\n find(relationObject?.attrList, [\"id\", showKey])?.name ?? showKey;\n const id = `${\n relation[`${sides.this}_id` as RelationIdKeys]\n }.${showKey}`;\n const type = ModelAttributeValueType.STRING;\n\n fields.push({\n id,\n name: `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfShowKey})`,\n attrValue: { type },\n isRelation: true,\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n id,\n type,\n true,\n relation[`${sides.this}_id` as RelationNameKeys]\n ),\n });\n });\n },\n this.props.fieldIds\n );\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n acc[`${field.id}[${valueIndex}]`] =\n operation.fixedValue === undefined ? value : \"\";\n });\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (\n value: any,\n valueIndex: number,\n field: Field,\n fieldIndex: number\n ) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n onConditionChange = (\n value: ConditionType,\n field: Field,\n fieldIndex: number\n ) => {\n const hasFixedValues = field.currentCondition.operations.some(\n (operation) => operation.fixedValue !== undefined\n );\n\n const condition = field.availableConditions.find(\n (condition) => condition.type === value\n );\n let newValues = condition.operations.map((operation) =>\n operation.fixedValue !== undefined ? operation.fixedValue : null\n );\n if (\n newValues.every((value) => value === null) &&\n !hasFixedValues &&\n this.state.fields[fieldIndex].values.length === newValues.length\n ) {\n newValues = this.state.fields[fieldIndex].values;\n }\n\n let newFields = update(this.state.fields, {\n [fieldIndex]: {\n currentCondition: { $set: condition },\n values: {\n $set: newValues,\n },\n },\n });\n\n const relatedFieldIndex = newFields.findIndex(\n (f) =>\n f.isRelation &&\n f.relationSideId === field.relationSideId &&\n f.id !== field.id\n );\n if (relatedFieldIndex !== -1) {\n const relatedField = newFields[relatedFieldIndex];\n const relatedCondition = relatedField.availableConditions.find(\n (condition) => condition.type === value\n );\n if (condition.operations[0].operator === ElementOperators.Exists) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedCondition },\n values: {\n $set: [null],\n },\n },\n });\n } else if (\n relatedField.currentCondition.operations[0].operator ===\n ElementOperators.Exists\n ) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedField.availableConditions[0] },\n values: {\n $set: [null],\n },\n },\n });\n }\n }\n\n this.setState({\n fields: newFields,\n });\n\n this.setFormFieldValues(newFields);\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n const hasBetween = this.state.fields.some((field) =>\n [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.DATE,\n ModelAttributeValueType.DATETIME,\n ].includes(field.attrValue.type as ModelAttributeValueType)\n );\n return this.state.fields.map((field, fieldIndex) => {\n let type: string;\n let style: React.CSSProperties;\n let attrValue: any = field.attrValue;\n let multiSelect = false;\n switch (field.attrValue.type) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n attrValue = {\n type: ModelAttributeValueType.STRING,\n };\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n type = FormControlTypeEnum.SELECT;\n multiSelect = true;\n break;\n case ModelAttributeValueType.DATETIME:\n style = { minWidth: \"auto\" };\n break;\n }\n //高级搜索这里即使是json格式,也用input输入框进行搜索\n if ((attrValue as any).type === \"json\") {\n attrValue = { ...attrValue, type: \"str\" };\n }\n return (\n <Col span={hasBetween ? 12 : 8} key={field.id}>\n <Form.Item label={field.name}>\n <Input.Group className={styles.conditionInputGroup} compact>\n <Select\n dropdownMatchSelectWidth={false}\n value={field.currentCondition.type}\n onChange={(value: ConditionType) =>\n this.onConditionChange(value, field, fieldIndex)\n }\n disabled={field.disabled}\n >\n {field.availableConditions.map((condition) => (\n <Select.Option value={condition.type} key={condition.type}>\n {condition.label}\n </Select.Option>\n ))}\n </Select>\n {field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n\n return (\n <React.Fragment\n key={`${field.currentCondition.type}-${operation.operator}`}\n >\n {valueIndex > 0 && (\n <Input\n className={styles.separatorInput}\n placeholder=\"~\"\n disabled\n />\n )}\n {getFieldDecorator(`${field.id}[${valueIndex}]`, {\n initialValue:\n operation.fixedValue === undefined ? value : \"\",\n })(\n operation.fixedValue === undefined && !field.disabled ? (\n <ModelAttributeFormControl\n type={type}\n attribute={{\n id: field.id,\n name: field.name,\n value: attrValue,\n }}\n objectId={this.props.modelData.objectId}\n multiSelect={multiSelect}\n onChange={(value: any) =>\n this.onValueChange(\n value,\n valueIndex,\n field,\n fieldIndex\n )\n }\n className={styles.conditionInput}\n style={style}\n />\n ) : (\n <Input disabled />\n )\n )}\n </React.Fragment>\n );\n })}\n </Input.Group>\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n if (this.props?.autoSearch) this.props.autoSearch(this.state.fields);\n if (this.props.onSearch) {\n // 当过滤字段为relation并且过滤条件为ElementOperators.Exists的时候,发起后台请求的搜索queries与负责前端展示的query不同。需要额外处理。\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n this.state.fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n let fieldQuery: Query = { [field.id]: expressions };\n let fieldQueryToShow: Query = { [field.id]: expressions };\n let hasValue = false;\n let structQueryId: string[];\n const isStruct = !!(field.attrValue as any).isStruct;\n if (isStruct) {\n structQueryId = field.attrValue.struct_define.map(\n (struct_item) => `${field.id}.${struct_item.id}`\n );\n }\n field.values.forEach((value, index) => {\n const operation = field.currentCondition.operations[index];\n const fieldId =\n field.isRelation && ElementOperators.Exists === operation.operator\n ? field.relationSideId\n : field.id;\n fieldQuery = { [fieldId]: expressions };\n\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n const multiValueSearchOperator = multiValueSearchOperators.find(\n (operator) => operator.comparisonOperator === operation.operator\n );\n if (multiValueSearchOperator) {\n let values: any[];\n if (\n field.attrValue.type === ModelAttributeValueType.ENUM ||\n field.attrValue.type === ModelAttributeValueType.ARR\n ) {\n values = value;\n } else if (typeof value === \"string\") {\n if (\n !ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE ||\n !value.includes('\"')\n ) {\n values = value\n .trim()\n .split(/\\s+/)\n .map((value) => convertValue(field.attrValue.type, value));\n } else {\n values = processAttrValueWithQuote(value, []);\n }\n } else {\n values = [value];\n }\n if (values.length) {\n if (isStruct) {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: flatten(\n values.map((value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n\n return structQueryId.map(\n (structId: string | number) => ({\n [structId]: {\n [operation.operator]: value,\n },\n })\n );\n })\n ),\n };\n } else {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldId]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n }\n fieldQueryToShow = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldIdToShow]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n } else {\n value = convertValue(field.attrValue.type, value);\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n expressions[operation.operator] = value;\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n }\n });\n if (hasValue) {\n queries.push(fieldQuery);\n queriesToShow.push(fieldQueryToShow);\n }\n });\n if (queries.length === 0) {\n queries = undefined;\n queriesToShow = undefined;\n }\n if (!isEqual(this.props.q, queries)) {\n this.props.onSearch(queries, queriesToShow, fieldToShow);\n }\n }\n };\n\n handleReset = () => {\n if (this.props.autoSearch) this.props.autoSearch([]);\n this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.advancedSearch}>\n <Form\n layout=\"vertical\"\n className={styles.advancedSearchForm}\n onSubmit={this.handleSearch}\n >\n <Row gutter={50}>{this.getFields()}</Row>\n <Row>\n <Col span={24} style={{ textAlign: \"right\" }}>\n <Button\n type=\"primary\"\n htmlType=\"submit\"\n data-testid=\"submit-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH}`)}\n </Button>\n <Button\n style={{ marginLeft: 8 }}\n onClick={this.handleReset}\n data-testid=\"reset-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n </Col>\n </Row>\n </Form>\n </div>\n );\n }\n}\n\nexport const AdvancedSearch = Form.create<AdvancedSearchFormProps>({\n name: \"advanced_search\",\n})(AdvancedSearchForm);\n"],"file":"AdvancedSearch.js"}
1
+ {"version":3,"file":"AdvancedSearch.js","names":["ConditionType","FieldTypeConditionTypesMap","ModelAttributeValueType","STRING","Contain","NotContain","Equal","NotEqual","Empty","NotEmpty","INTEGER","Between","FLOAT","DATE","DATETIME","ENUM","ENUMS","ARR","STRUCT","IP","BOOLEAN","JSON","multiValueSearchOperators","comparisonOperator","ComparisonOperators","Like","logicalOperator","LogicalOperators","Or","NotLike","And","STRUCT_LIST","getCondition","conditionType","fieldType","label","operations","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_EQUAL_DEFINE","operator","In","OPERATOR_NOT_EQUAL_DEFINE","NotIn","OPERATOR_CONTAIN_DEFINE","prefix","suffix","OPERATOR_NOT_CONTAIN_DEFINE","OPERATOR_IS_EMPTY_DEFINE","ElementOperators","Exists","fixedValue","OPERATOR_IS_NOT_EMPTY_DEFINE","True","False","GreaterThanOrEqual","LessThanOrEqual","OPERATOR_BETWEEN_DEFINE_TEXT_INT","OPERATOR_BETWEEN_DEFINE_TEXT_TIME","OPERATOR_BETWEEN_DEFINE_TEXT","OPERATOR_BETWEEN_DEFINE_TEXT_THE","type","convertValue","valueType","value","parseInt","parseFloat","getFieldConditionsAndValues","fieldQueryOperatorExpressionsMap","id","isRelation","relationSideId","objectId","attrId","isRelationWithNoExpression","expressions","expressionsKeys","relatedKey","findKey","v","k","startsWith","relatedExpressions","isNil","Object","keys","currentCondition","availableConditions","map","condition","length","operatorsStr","isFixedValueEqual","every","operation","push","undefined","toString","includes","queryValuesStr","values","i","find","multiValueSearchOperator","trim","split","clusterMap","join","slice","endsWith","disabled","AdvancedSearchForm","React","Component","constructor","props","valueIndex","field","fieldIndex","setState","fields","update","state","$set","hasFixedValues","some","newValues","newFields","relatedFieldIndex","findIndex","f","relatedField","relatedCondition","setFormFieldValues","e","preventDefault","autoSearch","onSearch","queries","queriesToShow","fieldToShow","forEach","fieldQuery","fieldQueryToShow","hasValue","structQueryId","isStruct","attrValue","struct_define","struct_item","index","fieldId","fieldIdToShow","Array","isArray","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","processAttrValueWithQuote","flatten","structId","isEqual","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","query","entries","key","firstSubQuery","compareOperators","compareOperator","subQueryValue","targetField","fieldItem","item","targetValue","isString","forEachAvailableFields","modelData","attr","regex","name","relation","sides","relationObject","idObjectMap","that","showKeys","getInstanceNameKeys","showKey","nameOfShowKey","attrList","this","fieldIds","reduce","acc","setFieldsValue","getFields","getFieldDecorator","hasBetween","style","multiSelect","FormControlTypeEnum","SELECT","minWidth","styles","conditionInputGroup","onConditionChange","separatorInput","initialValue","onValueChange","conditionInput","render","advancedSearch","advancedSearchForm","handleSearch","textAlign","SEARCH","marginLeft","handleReset","RESET","AdvancedSearch","Form","create"],"sources":["../../../src/instance-list-table/AdvancedSearch.tsx"],"sourcesContent":["import React, { ChangeEvent, FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport {\n isEqual,\n find,\n startsWith,\n findKey,\n isNil,\n flatten,\n isString,\n isArray,\n} from \"lodash\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Col, Input, Row, Select } from \"antd\";\nimport { FormComponentProps } from \"@ant-design/compatible/lib/form\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport {\n ComparisonOperators,\n ElementOperators,\n forEachAvailableFields,\n getInstanceNameKeys,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n} from \"@next-libs/cmdb-utils\";\nimport { clusterMap } from \"./constants\";\nimport styles from \"./AdvancedSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n} from \"../processors\";\n\nexport enum ConditionType {\n Equal = \"equal\",\n NotEqual = \"notEqual\",\n Contain = \"contain\",\n NotContain = \"notContain\",\n Empty = \"empty\",\n NotEmpty = \"notEmpty\",\n Between = \"between\",\n True = \"true\",\n False = \"false\",\n}\n\ninterface ConditionOperation {\n operator: ComparisonOperators | ElementOperators;\n fixedValue?: any;\n prefix?: string;\n suffix?: string;\n}\n\ninterface Condition {\n type: ConditionType;\n label: string;\n operations: ConditionOperation[];\n}\n\nconst FieldTypeConditionTypesMap: Record<string, ConditionType[]> = {\n [ModelAttributeValueType.STRING]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.INTEGER]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.FLOAT]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATE]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATETIME]: [\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUM]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUMS]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ARR]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.STRUCT]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.IP]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.BOOLEAN]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.JSON]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n};\n\nconst multiValueSearchOperators = [\n {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotLike,\n logicalOperator: LogicalOperators.And,\n },\n {\n comparisonOperator: ComparisonOperators.Equal,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotEqual,\n logicalOperator: LogicalOperators.And,\n },\n];\nFieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT_LIST] =\n FieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT];\n\nexport function getCondition(\n conditionType: ConditionType,\n fieldType: ModelAttributeValueType\n): Condition {\n let label: string;\n let operations: ConditionOperation[];\n\n switch (conditionType) {\n case ConditionType.Equal:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_EQUAL_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Equal,\n },\n ];\n }\n break;\n case ConditionType.NotEqual:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_EQUAL_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotEqual,\n },\n ];\n }\n break;\n case ConditionType.Contain:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Like,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.NotContain:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_CONTAIN_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotLike,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.Empty:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_EMPTY_DEFINE}`);\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.NotEmpty:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_NOT_EMPTY_DEFINE}`\n );\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.True:\n label = \"true\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.False:\n label = \"false\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.Between:\n operations = [\n {\n operator: ComparisonOperators.GreaterThanOrEqual,\n },\n {\n operator: ComparisonOperators.LessThanOrEqual,\n },\n ];\n switch (fieldType) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n // label = \"在此区间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_INT}`\n );\n break;\n case ModelAttributeValueType.DATE:\n case ModelAttributeValueType.DATETIME:\n // label = \"在此期间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_TIME}`\n );\n break;\n case ModelAttributeValueType.IP:\n // label = \"范围\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT}`\n );\n break;\n default:\n // label = \"在此之间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_THE}`\n );\n }\n break;\n }\n\n return {\n type: conditionType,\n label,\n operations,\n };\n}\n\nexport function convertValue(valueType: string, value: any): any {\n if (typeof value !== \"boolean\") {\n switch (valueType) {\n case ModelAttributeValueType.INTEGER:\n return parseInt(value);\n case ModelAttributeValueType.FLOAT:\n return parseFloat(value);\n case ModelAttributeValueType.BOOLEAN:\n return value === \"true\";\n }\n }\n return value;\n}\n\nexport function getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap: Record<string, QueryOperatorExpressions>,\n id: string,\n valueType: ModelAttributeValueType,\n isRelation?: boolean,\n relationSideId?: string,\n objectId?: string,\n attrId?: string\n) {\n let isRelationWithNoExpression = false;\n let expressions = fieldQueryOperatorExpressionsMap[id];\n let expressionsKeys: string[];\n if (!expressions && isRelation) {\n isRelationWithNoExpression = true;\n const relatedKey = findKey(\n fieldQueryOperatorExpressionsMap,\n (v, k) => startsWith(k, `${relationSideId}.`) || k === relationSideId\n );\n const relatedExpressions = fieldQueryOperatorExpressionsMap[relatedKey];\n if (\n relatedExpressions &&\n !isNil(relatedExpressions[ElementOperators.Exists])\n ) {\n expressions = fieldQueryOperatorExpressionsMap[relatedKey];\n }\n }\n\n if (expressions) {\n expressionsKeys = Object.keys(expressions);\n }\n let currentCondition: Condition;\n const availableConditions = FieldTypeConditionTypesMap[valueType].map(\n (conditionType) => {\n const condition = getCondition(conditionType, valueType);\n\n if (expressionsKeys?.length) {\n const operatorsStr: string[] = [];\n // 由于当 ConditionType.Between ,operations 有两个,当用户只填选一个时,currentCondition会默认第一个选择器。与实际不符\n const isFixedValueEqual = condition.operations.every((operation) => {\n operatorsStr.push(operation.operator);\n\n if (operation.fixedValue !== undefined) {\n return (\n operation.fixedValue?.toString() ===\n expressions[operation?.operator]?.toString()\n );\n } else {\n return true;\n }\n });\n if (\n isFixedValueEqual &&\n expressionsKeys.every((operator) => operatorsStr.includes(operator))\n ) {\n currentCondition = condition;\n }\n }\n\n return condition;\n }\n );\n if (!currentCondition) {\n currentCondition = availableConditions[0];\n }\n let queryValuesStr = \"\";\n const values = currentCondition.operations.map((operation) => {\n let value: any;\n // istanbul ignore else ElementOperators.Exists时直接返回fixedValue\n if (\n expressions?.[operation.operator] !== undefined &&\n operation.operator !== ElementOperators.Exists\n ) {\n value = expressions[operation.operator];\n let values = [expressions[operation.operator]];\n const i = multiValueSearchOperators.find(\n (multiValueSearchOperator) =>\n multiValueSearchOperator.comparisonOperator === operation.operator\n );\n if (i) {\n if (\n valueType === ModelAttributeValueType.ENUM ||\n typeof expressions[operation.operator] === \"string\"\n ) {\n values = expressions[operation.operator]\n .trim()\n .split(/\\s+/)\n .map((value: string) => convertValue(valueType, value));\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n values = values.map((value) => clusterMap[value]);\n }\n }\n }\n if (\n typeof values[0] === \"string\" ||\n typeof values[0] === \"number\" ||\n typeof values[0] === \"boolean\"\n ) {\n queryValuesStr = values.join(\" \");\n values = values.map((value: string) => {\n if (operation.prefix && value.startsWith(operation.prefix)) {\n value = value.slice(operation.prefix.length);\n }\n if (operation.suffix && value.endsWith(operation.suffix)) {\n value = value.slice(0, value.length - operation.suffix.length);\n }\n return value;\n });\n value = [\n ModelAttributeValueType.ENUM,\n ModelAttributeValueType.ARR,\n ].includes(valueType)\n ? values\n : values.join(\" \");\n }\n } else {\n value = operation.fixedValue !== undefined ? operation.fixedValue : null;\n }\n\n return value;\n });\n const disabled = false;\n return {\n availableConditions,\n currentCondition,\n values,\n queryValuesStr,\n disabled,\n };\n}\n\nexport interface Field {\n id: string;\n name: string;\n attrValue: Partial<CmdbModels.ModelObjectAttrValue>;\n values: any[];\n availableConditions: Condition[];\n currentCondition: Condition;\n isRelation: boolean;\n relationSideId?: string;\n disabled?: boolean;\n}\n\nexport interface AdvancedSearchFormProps extends FormComponentProps {\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n q?: Query[];\n placeholder?: string;\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n autoSearch?: (fields: Field[]) => void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n onChange?(e: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport interface AdvancedSearchFormState {\n fields: Field[];\n}\n\nexport class AdvancedSearchForm extends React.Component<\n AdvancedSearchFormProps,\n AdvancedSearchFormState\n> {\n constructor(props: AdvancedSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<AdvancedSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n const fields: Field[] = [];\n if (this.props.q) {\n this.props.q.forEach((query) => {\n Object.entries(query).forEach(([key, expressions]) => {\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n // 由于 ConditionType.Between 这边的 operator 是两个,由于需要支持选择一个的时候也要显示出来,这边不能将选择器合并成str吐出去\n const compareOperators = Object.keys(firstSubQuery[fieldId]);\n const compareOperator =\n compareOperators.length > 1\n ? compareOperators\n : compareOperators.join(\"\");\n let subQueryValue = \"\";\n let targetField;\n if (ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE) {\n targetField = this.props.fieldToShow?.find(\n (fieldItem) => Object.keys(fieldItem)[0] === fieldId\n );\n }\n if (!isNil(targetField)) {\n // 二维数组会有问题,\n subQueryValue = isArray(targetField[fieldId])\n ? targetField[fieldId]\n .map((item) => (isArray(item) ? item.join(\" \") : item))\n .join(\"\")\n : (targetField[fieldId] as any);\n } else {\n subQueryValue = (expressions as Query[])\n .map((query) => {\n const targetValue = (\n query[fieldId] as Record<ComparisonOperators, any>\n )[compareOperator as ComparisonOperators];\n if (\n compareOperator === ComparisonOperators.Like ||\n compareOperator === ComparisonOperators.NotLike\n ) {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `${targetValue[0]}\"${targetValue.slice(\n 1,\n targetValue.length - 1\n )}\"${targetValue[targetValue.length - 1]}`\n : targetValue;\n }\n // 对于时间选择器有两个的,不用特意将值转换成str,因为不需要这里的值\n else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = Array.isArray(compareOperator)\n ? firstSubQuery[fieldId]\n : {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n forEachAvailableFields(\n this.props.modelData,\n (attr) => {\n const attrValue: Partial<CmdbModels.ModelObjectAttrValue> & {\n isStruct?: boolean;\n } & { isClusterType?: boolean } = {};\n\n switch (attr.value.type) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.STRUCT_LIST:\n attrValue.type = ModelAttributeValueType.STRING;\n attrValue.struct_define = attr.value.struct_define;\n attrValue.isStruct = true;\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n attrValue.type = attr.value.type;\n attrValue.regex = attr.value.regex;\n break;\n default:\n attrValue.type = attr.value.type;\n }\n\n fields.push({\n id: attr.id,\n name: attr.name,\n attrValue,\n isRelation: false,\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n attr.id,\n attr.value.type as ModelAttributeValueType\n ),\n });\n },\n (relation, sides) => {\n const relationObject =\n this.props.idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const showKeys = getInstanceNameKeys(relationObject);\n showKeys.forEach((showKey, index) => {\n const nameOfShowKey =\n find(relationObject?.attrList, [\"id\", showKey])?.name ?? showKey;\n const id = `${\n relation[`${sides.this}_id` as RelationIdKeys]\n }.${showKey}`;\n const type = ModelAttributeValueType.STRING;\n\n fields.push({\n id,\n name: `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfShowKey})`,\n attrValue: { type },\n isRelation: true,\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n id,\n type,\n true,\n relation[`${sides.this}_id` as RelationNameKeys]\n ),\n });\n });\n },\n this.props.fieldIds\n );\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n acc[`${field.id}[${valueIndex}]`] =\n operation.fixedValue === undefined ? value : \"\";\n });\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (\n value: any,\n valueIndex: number,\n field: Field,\n fieldIndex: number\n ) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n onConditionChange = (\n value: ConditionType,\n field: Field,\n fieldIndex: number\n ) => {\n const hasFixedValues = field.currentCondition.operations.some(\n (operation) => operation.fixedValue !== undefined\n );\n\n const condition = field.availableConditions.find(\n (condition) => condition.type === value\n );\n let newValues = condition.operations.map((operation) =>\n operation.fixedValue !== undefined ? operation.fixedValue : null\n );\n if (\n newValues.every((value) => value === null) &&\n !hasFixedValues &&\n this.state.fields[fieldIndex].values.length === newValues.length\n ) {\n newValues = this.state.fields[fieldIndex].values;\n }\n\n let newFields = update(this.state.fields, {\n [fieldIndex]: {\n currentCondition: { $set: condition },\n values: {\n $set: newValues,\n },\n },\n });\n\n const relatedFieldIndex = newFields.findIndex(\n (f) =>\n f.isRelation &&\n f.relationSideId === field.relationSideId &&\n f.id !== field.id\n );\n if (relatedFieldIndex !== -1) {\n const relatedField = newFields[relatedFieldIndex];\n const relatedCondition = relatedField.availableConditions.find(\n (condition) => condition.type === value\n );\n if (condition.operations[0].operator === ElementOperators.Exists) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedCondition },\n values: {\n $set: [null],\n },\n },\n });\n } else if (\n relatedField.currentCondition.operations[0].operator ===\n ElementOperators.Exists\n ) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedField.availableConditions[0] },\n values: {\n $set: [null],\n },\n },\n });\n }\n }\n\n this.setState({\n fields: newFields,\n });\n\n this.setFormFieldValues(newFields);\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n const hasBetween = this.state.fields.some((field) =>\n [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.DATE,\n ModelAttributeValueType.DATETIME,\n ].includes(field.attrValue.type as ModelAttributeValueType)\n );\n return this.state.fields.map((field, fieldIndex) => {\n let type: string;\n let style: React.CSSProperties;\n let attrValue: any = field.attrValue;\n let multiSelect = false;\n switch (field.attrValue.type) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n attrValue = {\n type: ModelAttributeValueType.STRING,\n };\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n type = FormControlTypeEnum.SELECT;\n multiSelect = true;\n break;\n case ModelAttributeValueType.DATETIME:\n style = { minWidth: \"auto\" };\n break;\n }\n //高级搜索这里即使是json格式,也用input输入框进行搜索\n if ((attrValue as any).type === \"json\") {\n attrValue = { ...attrValue, type: \"str\" };\n }\n return (\n <Col span={hasBetween ? 12 : 8} key={field.id}>\n <Form.Item label={field.name}>\n <Input.Group className={styles.conditionInputGroup} compact>\n <Select\n dropdownMatchSelectWidth={false}\n value={field.currentCondition.type}\n onChange={(value: ConditionType) =>\n this.onConditionChange(value, field, fieldIndex)\n }\n disabled={field.disabled}\n >\n {field.availableConditions.map((condition) => (\n <Select.Option value={condition.type} key={condition.type}>\n {condition.label}\n </Select.Option>\n ))}\n </Select>\n {field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n\n return (\n <React.Fragment\n key={`${field.currentCondition.type}-${operation.operator}`}\n >\n {valueIndex > 0 && (\n <Input\n className={styles.separatorInput}\n placeholder=\"~\"\n disabled\n />\n )}\n {getFieldDecorator(`${field.id}[${valueIndex}]`, {\n initialValue:\n operation.fixedValue === undefined ? value : \"\",\n })(\n operation.fixedValue === undefined && !field.disabled ? (\n <ModelAttributeFormControl\n type={type}\n attribute={{\n id: field.id,\n name: field.name,\n value: attrValue,\n }}\n objectId={this.props.modelData.objectId}\n multiSelect={multiSelect}\n onChange={(value: any) =>\n this.onValueChange(\n value,\n valueIndex,\n field,\n fieldIndex\n )\n }\n className={styles.conditionInput}\n style={style}\n />\n ) : (\n <Input disabled />\n )\n )}\n </React.Fragment>\n );\n })}\n </Input.Group>\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n if (this.props?.autoSearch) this.props.autoSearch(this.state.fields);\n if (this.props.onSearch) {\n // 当过滤字段为relation并且过滤条件为ElementOperators.Exists的时候,发起后台请求的搜索queries与负责前端展示的query不同。需要额外处理。\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n this.state.fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n let fieldQuery: Query = { [field.id]: expressions };\n let fieldQueryToShow: Query = { [field.id]: expressions };\n let hasValue = false;\n let structQueryId: string[];\n const isStruct = !!(field.attrValue as any).isStruct;\n if (isStruct) {\n structQueryId = field.attrValue.struct_define.map(\n (struct_item) => `${field.id}.${struct_item.id}`\n );\n }\n field.values.forEach((value, index) => {\n const operation = field.currentCondition.operations[index];\n const fieldId =\n field.isRelation && ElementOperators.Exists === operation.operator\n ? field.relationSideId\n : field.id;\n fieldQuery = { [fieldId]: expressions };\n\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n const multiValueSearchOperator = multiValueSearchOperators.find(\n (operator) => operator.comparisonOperator === operation.operator\n );\n if (multiValueSearchOperator) {\n let values: any[];\n if (\n field.attrValue.type === ModelAttributeValueType.ENUM ||\n field.attrValue.type === ModelAttributeValueType.ARR\n ) {\n values = value;\n } else if (typeof value === \"string\") {\n if (\n !ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE ||\n !value.includes('\"')\n ) {\n values = value\n .trim()\n .split(/\\s+/)\n .map((value) => convertValue(field.attrValue.type, value));\n } else {\n values = processAttrValueWithQuote(value, []);\n }\n } else {\n values = [value];\n }\n if (values.length) {\n if (isStruct) {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: flatten(\n values.map((value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n\n return structQueryId.map(\n (structId: string | number) => ({\n [structId]: {\n [operation.operator]: value,\n },\n })\n );\n })\n ),\n };\n } else {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldId]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n }\n fieldQueryToShow = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldIdToShow]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n } else {\n value = convertValue(field.attrValue.type, value);\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n expressions[operation.operator] = value;\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n }\n });\n if (hasValue) {\n queries.push(fieldQuery);\n queriesToShow.push(fieldQueryToShow);\n }\n });\n if (queries.length === 0) {\n queries = undefined;\n queriesToShow = undefined;\n }\n if (!isEqual(this.props.q, queries)) {\n this.props.onSearch(queries, queriesToShow, fieldToShow);\n }\n }\n };\n\n handleReset = () => {\n if (this.props.autoSearch) this.props.autoSearch([]);\n this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.advancedSearch}>\n <Form\n layout=\"vertical\"\n className={styles.advancedSearchForm}\n onSubmit={this.handleSearch}\n >\n <Row gutter={50}>{this.getFields()}</Row>\n <Row>\n <Col span={24} style={{ textAlign: \"right\" }}>\n <Button\n type=\"primary\"\n htmlType=\"submit\"\n data-testid=\"submit-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH}`)}\n </Button>\n <Button\n style={{ marginLeft: 8 }}\n onClick={this.handleReset}\n data-testid=\"reset-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n </Col>\n </Row>\n </Form>\n </div>\n );\n }\n}\n\nexport const AdvancedSearch = Form.create<AdvancedSearchFormProps>({\n name: \"advanced_search\",\n})(AdvancedSearchForm);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list-table/AdvancedSearchCondition.tsx"],"names":["newKey","fieldIds","aq","key","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","undefined","onAdvancedSearch","queriesToShow","fieldToShow","onAdvancedSearchCloseGen","isValueEqual","filterAq","filter","specialQueryHandler","isSpecial","some","formatAqQuery","querys","isAq","isKey","isStart","filteredSubQueries","isInstanceFilterForm","styles","advancedSearchWrapper","marginBottom","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS"],"mappings":";;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAkBA;AACA,SAASA,MAAT,CAAgBC,QAAhB,EAAoCC,EAApC,EAAyD;AACvD,MAAIC,GAAG,GAAG,EAAV;;AACA,MAAI,CAAC,qBAAQF,QAAR,CAAL,EAAwB;AACtBE,IAAAA,GAAG,IAAIF,QAAQ,CAACG,IAAT,CAAc,GAAd,CAAP;AACD;;AACD,MAAI,CAAC,qBAAQF,EAAR,CAAL,EAAkB;AAChBC,IAAAA,GAAG,IAAK,IAAGD,EAAE,CAACG,MAAO,EAArB;AACD;;AACD,SAAOF,GAAP;AACD;AACD;;;AACA,MAAMG,OAAO,GAAG,CACdC,SADc,EAEdC,eAFc,KAGmB;AACjC,SAAO,EACL,GAAGD,SADE;AAEL,OAAGC;AAFE,GAAP;AAID,CARD;;AAUO,MAAMC,cAAc,GAAIP,EAAD,IAAiB;AAC7C,MAAIQ,WAAkB,GAAG,EAAzB;;AACA,MAAIR,EAAJ,EAAQ;AACNA,IAAAA,EAAE,CAACS,OAAH,CAAYC,KAAD,IAAW;AACpB,YAAMC,QAAQ,GAAGC,MAAM,CAACC,OAAP,CAAeH,KAAf,EAAsBI,GAAtB,CAA0B,CAAC,CAACb,GAAD,EAAMc,WAAN,CAAD,KAAwB;AACjE,YAAIC,cAAqB,GAAG,EAA5B;;AACA,YAAIf,GAAG,KAAKgB,4BAAiBC,EAAzB,IAA+BjB,GAAG,KAAKgB,4BAAiBE,GAA5D,EAAiE;AAC/DH,UAAAA,cAAc,GAAG,CAAC,GAAGA,cAAJ,EAAoB,GAAID,WAAxB,CAAjB;AAEA,iBAAO;AAAE,aAACd,GAAD,GAAOe;AAAT,WAAP;AACD,SAJD,MAIO;AACL,iBAAON,KAAP;AACD;AACF,OATgB,CAAjB;AAUAF,MAAAA,WAAW,GAAG,CAAC,GAAGA,WAAJ,EAAiB,GAAGG,QAApB,CAAd;AACD,KAZD;AAaA,WAAOH,WAAP;AACD;;AACD,SAAOA,WAAP;AACD,CAnBM;;;;AAqBP,SAASY,qBAAT,CACEpB,EADF,EAEEqB,MAFF,EAG8D;AAC5D,QAAMC,UAIH,GAAG,EAJN;;AAKA,MAAI,CAAC,qBAAQtB,EAAR,CAAL,EAAkB;AAChB,SAAK,MAAMU,KAAX,IAAoBV,EAApB,EAAwB;AACtB,UAAIuB,OAAgB,GAAG,CAACb,KAAD,CAAvB;;AACA,UACEE,MAAM,CAACY,IAAP,CAAYd,KAAZ,EAAmB,CAAnB,MAA0BO,4BAAiBC,EAA3C,IACAN,MAAM,CAACY,IAAP,CAAYd,KAAZ,EAAmB,CAAnB,MAA0BO,4BAAiBE,GAF7C,EAGE;AACAI,QAAAA,OAAO,GAAGb,KAAK,CAACE,MAAM,CAACY,IAAP,CAAYd,KAAZ,EAAmB,CAAnB,CAAD,CAAf;AACD;;AACDa,MAAAA,OAAO,CAACd,OAAR,CAAiBC,KAAD,IAAW;AACzB,cAAMT,GAAG,GAAGW,MAAM,CAACY,IAAP,CAAYd,KAAZ,EAAmB,CAAnB,CAAZ;AACA,cAAMe,KAAK,GAAGb,MAAM,CAACc,MAAP,CAAchB,KAAd,EAAqB,CAArB,CAAd;AACA,cAAMiB,IAAI,GAAGN,MAAM,CAACO,IAAP,CAAaC,CAAD,IAAOA,CAAC,CAACC,EAAF,KAAS7B,GAA5B,CAAb;;AACA,cAAM8B,OAAO,GAAGC,iBAAKC,CAAL,CACb,GAAEC,iCAAuB,IAAGC,aAAEC,uBAAwB,EADzC,CAAhB;;AAGA,cAAMC,SAAS,GAAI,GAAEV,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEW,IAAK,IAAGP,OAAQ,IAAGnB,MAAM,CAACc,MAAP,CAC5CD,KAD4C,EAE5C,CAF4C,EAEzCc,OAFyC,CAEjC,IAFiC,EAE3B,EAF2B,CAEvB,GAFvB;AAGA,cAAMC,YAAY,GAAG;AACnBC,UAAAA,MAAM,EAAExC,GADW;AAEnBoC,UAAAA,SAFmB;AAGnBK,UAAAA,SAAS,EAAE9B,MAAM,CAACc,MAAP,CAAcD,KAAd,EAAqB,CAArB;AAHQ,SAArB;AAKAH,QAAAA,UAAU,CAACqB,IAAX,CAAgBH,YAAhB;AACD,OAhBD;AAiBD;AACF;;AACD,SAAOlB,UAAP;AACD;;AAEM,SAASsB,uBAAT,CACLC,KADK,EAEe;AACpB,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,uBAAW3C,OAAX,EAAoB4C,SAApB,EAA+B,OAAO;AAC9DhD,IAAAA,EAAE,EAAEO,cAAc,CAACsC,KAAK,CAAC7C,EAAP,CAD4C;AAE9DW,IAAAA,QAAQ,EAAEkC,KAAK,CAAClC,QAAN,IAAkBJ,cAAc,CAACsC,KAAK,CAAC7C,EAAP,CAFoB;AAG9DD,IAAAA,QAAQ,EAAE,CAAC8C,KAAK,CAACxB,MAAN,IAAgB,EAAjB,EAAqBP,GAArB,CAA0Be,CAAD,IAAOA,CAAC,CAACC,EAAlC,CAHoD;AAI9DT,IAAAA,MAAM,EAAEwB,KAAK,CAACxB,MAAN,IAAgB;AAJsC,GAAP,CAA/B,CAA1B;;AAOA,QAAM4B,gBAAgB,GAAG,CACvB1B,OADuB,EAEvB2B,aAFuB,EAGvBC,WAHuB,KAIpB;AAAA;;AACHJ,IAAAA,QAAQ,CAAC;AACP/C,MAAAA,EAAE,EAAEuB,OADG;AAEP4B,MAAAA,WAFO;AAGPxC,MAAAA,QAAQ,EAAEuC;AAHH,KAAD,CAAR;AAKA,6BAAAL,KAAK,CAACI,gBAAN,qFAAAJ,KAAK,EAAoBtB,OAApB,CAAL;AACD,GAXD;AAaA;;;AACA,QAAM6B,wBAAwB,GAAG,CAACX,MAAD,EAAiBC,SAAjB,KAAuC;AACtE,WAAO,MAAM;AAAA;;AACX,YAAMnB,OAAgB,GAAG,EAAzB;AACA,YAAM2B,aAAsB,GAAG,EAA/B;;AACA,YAAMG,YAAY,GAAI3C,KAAD,IACnBA,KAAK,CAAC+B,MAAD,CAAL,GACI7B,MAAM,CAACc,MAAP,CAAchB,KAAK,CAAC+B,MAAD,CAAnB,EAA6BvC,IAA7B,CAAkC,GAAlC,MAA2CwC,SAD/C,GAEI,KAHN;;AAIA,YAAMY,QAAQ,GAAI/B,OAAD,IACfA,OAAO,CAACgC,MAAR,CAAgB1B,CAAD,IAAYwB,YAAY,CAACxB,CAAD,CAAvC,CADF;;AAEA,YAAM2B,mBAAmB,GAAG,CAAC9C,KAAD,EAAaT,GAAb,EAAuBsB,OAAvB,KAA4C;AACtE;AACA,cAAMkC,SAAS,GAAG7C,MAAM,CAACY,IAAP,CAAYd,KAAK,CAACT,GAAD,CAAjB,EAAmCyD,IAAnC,CACf7B,CAAD,IAAOA,CAAC,KAAK,SAAN,IAAmBA,CAAC,KAAK,MAAzB,IAAmCA,CAAC,KAAK,MADhC,CAAlB;;AAGA,YAAI4B,SAAJ,EAAe;AACb;AACD;;AACDlC,QAAAA,OAAO,CAACoB,IAAR,CAAajC,KAAb;AACD,OATD;;AAUA,YAAMiD,aAAa,GAAG,CACpBC,MADoB,EAEpBrC,OAFoB,EAGpBsC,IAHoB,KAIjB;AACHD,QAAAA,MAAM,CAACnD,OAAP,CAAgBC,KAAD,IAAW;AACxB,gBAAMT,GAAG,GAAGW,MAAM,CAACY,IAAP,CAAYd,KAAZ,EAAmB,CAAnB,CAAZ;AACA,gBAAMoD,KAAK,GAAG7D,GAAG,KAAKwC,MAAtB;AACA,gBAAMsB,OAAO,GAAGF,IAAI,GAChBC,KAAK,IAAI,CAAC,wBAAWrB,MAAX,EAAoB,GAAExC,GAAI,GAA1B,CADM,GAEhB6D,KAFJ;;AAGA,cACE,CAAC7D,GAAG,KAAK,KAAR,IAAiBA,GAAG,KAAK,MAA1B,KACAW,MAAM,CAACY,IAAP,CAAad,KAAK,CAACT,GAAD,CAAN,CAAwB,CAAxB,CAAZ,EAAwC,CAAxC,MAA+CwC,MAFjD,EAGE;AACA,kBAAMuB,kBAAkB,GAAGV,QAAQ,CAAC5C,KAAK,CAACT,GAAD,CAAN,CAAnC;;AACA,gBAAI+D,kBAAkB,CAAC7D,MAAnB,GAA4B,CAAhC,EAAmC;AACjCoB,cAAAA,OAAO,CAACoB,IAAR,CAAa;AACX,iBAAC1C,GAAD,GAAO+D;AADI,eAAb;AAGD;AACF,WAVD,MAUO,IAAID,OAAJ,EAAa;AAClBxC,YAAAA,OAAO,CAACoB,IAAR,CAAajC,KAAb;AACD,WAFM,MAEA,IACLmC,KAAK,CAACoB,oBAAN,IACAhE,GAAG,KAAKwC,MADR,IAEAY,YAAY,CAAC3C,KAAD,CAHP,EAIL;AACA8C,YAAAA,mBAAmB,CAAC9C,KAAD,EAAQT,GAAR,EAAasB,OAAb,CAAnB;AACD;AACF,SAzBD;AA0BD,OA/BD;;AAgCAoC,MAAAA,aAAa,CAACb,KAAK,CAAC9C,EAAP,EAAWuB,OAAX,EAAoB,IAApB,CAAb;AACAoC,MAAAA,aAAa,CAACb,KAAK,CAACnC,QAAP,EAAiBuC,aAAjB,EAAgC,KAAhC,CAAb;AACAH,MAAAA,QAAQ,CAAC;AACP/C,QAAAA,EAAE,EAAEuB,OADG;AAEPZ,QAAAA,QAAQ,EAAEuC;AAFH,OAAD,CAAR;AAIA,gCAAAL,KAAK,CAACI,gBAAN,uFAAAJ,KAAK,EAAoBtB,OAApB,CAAL;AACD,KA1DD;AA2DD,GA5DD;;AA8DA,QAAMD,UAAU,GAAGF,qBAAqB,CAAC0B,KAAK,CAACnC,QAAP,EAAiBmC,KAAK,CAACzB,MAAvB,CAAxC;AAEA,sBACE;AAAK,IAAA,SAAS,EAAE6C,uCAAOC;AAAvB,kBACE;AAAK,IAAA,KAAK,EAAE;AAAEC,MAAAA,YAAY,EAAE;AAAhB;AAAZ,kBACE,6BAAC,4BAAD;AACE,IAAA,MAAM,EAAEtB,KAAK,CAACzB,MADhB;AAEE,IAAA,QAAQ,EAAE4B,gBAFZ;AAGE,IAAA,GAAG,EAAEnD,MAAM,CAACgD,KAAK,CAAC/C,QAAP,EAAiB+C,KAAK,CAAC9C,EAAvB,CAHb;AAIE,IAAA,CAAC,EAAE8C,KAAK,CAACnC,QAJX;AAKE,IAAA,WAAW,EAAEmC,KAAK,CAACK;AALrB,IADF,CADF,EAUG,CAACN,KAAK,CAACwB,oBAAP,IAA+B,CAAC,qBAAQ/C,UAAR,CAAhC,iBACC;AAAK,IAAA,SAAS,EAAE4C,uCAAOI;AAAvB,kBACE,2CACGtC,iBAAKC,CAAL,CACE,GAAEC,iCAAuB,IAAGC,aAAEoC,2BAA4B,EAD5D,CADH,CADF,EAMGjD,UAAU,CAACR,GAAX,CAAgBuB,SAAD,iBACd,6BAAC,SAAD;AACE,IAAA,GAAG,EAAG,GAAEA,SAAS,CAACI,MAAO,GAAEJ,SAAS,CAACK,SAAU,IAAG,uBAAW,EAD/D;AAEE,IAAA,QAAQ,MAFV;AAGE,IAAA,OAAO,EAAEU,wBAAwB,CAC/Bf,SAAS,CAACI,MADqB,EAE/BJ,SAAS,CAACK,SAFqB;AAHnC,KAQGL,SAAS,CAACA,SARb,CADD,CANH,CAXJ,CADF;AAkCD","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 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\n return (\n <div className={styles.advancedSearchWrapper}>\n <div style={{ marginBottom: \"18px\" }}>\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 {!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"],"file":"AdvancedSearchCondition.js"}
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","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 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\n return (\n <div className={styles.advancedSearchWrapper}>\n <div style={{ marginBottom: \"18px\" }}>\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 {!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 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"names":["DisplaySettings","React","Component","constructor","props","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","setState","event","value","target","debounceHandleSearch","modelData","hideColumns","view","hide_columns","ignoredFields","CMDB_RESOURCE_FIELDS_SETTINGS","objectId","forEach","hideColumn","id","map","attribute","nextFields","currentFields","slice","extraDisabledFieldSet","Set","extraDisabledFields","filterColTag","componentDidUpdate","prevProps","handleChecked","fieldsKey","fields","checked","concat","onChange","renderCheckbox","field","disabled","extraDisabledField","has","padding","stopPropagation","width","wordBreak","render","extraAttrIds","extraFieldAttrs","extraFieldAttr","attrs","extraAttrs","marginTop","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FIELD_SETTINGS","SEARCH_BY_FIELD_NAME","handleSearchChange","minHeight","maxHeight","overflow","length"],"mappings":"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","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}\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 this.state = {\n nextFields: props.currentFields ? props.currentFields.slice() : [],\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\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({ [fieldsKey]: fields });\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 </div>\n <div\n style={{\n marginTop: 15,\n minHeight: 200,\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"],"file":"DisplaySettings.js"}
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","nextFields","currentFields","slice","extraDisabledFieldSet","Set","extraDisabledFields","debounce","filterColTag","componentDidUpdate","prevProps","handleChecked","fieldsKey","fields","checked","concat","without","onChange","renderCheckbox","field","disabled","extraDisabledField","has","padding","stopPropagation","width","wordBreak","render","extraAttrIds","extraFieldAttrs","extraFieldAttr","attrs","extraAttrs","marginTop","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FIELD_SETTINGS","SEARCH_BY_FIELD_NAME","handleSearchChange","minHeight","maxHeight","overflow","length"],"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}\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 this.state = {\n nextFields: props.currentFields ? props.currentFields.slice() : [],\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\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({ [fieldsKey]: fields });\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 </div>\n <div\n style={{\n marginTop: 15,\n minHeight: 200,\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 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"names":["DisplaySettingsModal","props","visible","objectId","modelData","currentFields","defaultFields","extraDisabledFields","onOk","onCancel","t","NS_LIBS_CMDB_INSTANCES","nextFields","setNextFields","count","filter","v","length","handleReset","fields","slice","isReset","handleCancel","K","DISPLAY_SETTINGS","display","RESTORE_DEFAULT","marginLeft","marginRight","CANCEL","CONFIRM"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAcO,SAASA,oBAAT,CACLC,KADK,EAEe;AACpB,QAAM;AACJC,IAAAA,OADI;AAEJC,IAAAA,QAFI;AAGJC,IAAAA,SAHI;AAIJC,IAAAA,aAJI;AAKJC,IAAAA,aALI;AAMJC,IAAAA,mBANI;AAOJC,IAAAA,IAPI;AAQJC,IAAAA;AARI,MASFR,KATJ;AAUA,QAAM;AAAES,IAAAA;AAAF,MAAQ,kCAAeC,iCAAf,CAAd;AACA,QAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,qBAAmBR,aAAnB,CAApC;AACA,QAAMS,KAAK,GAAG,oBACZ,MAAMF,UAAN,aAAMA,UAAN,uBAAMA,UAAU,CAAEG,MAAZ,CAAoBC,CAAD,IAAOA,CAAC,KAAK,YAAhC,EAA8CC,MADxC,EAEZ,CAACL,UAAD,CAFY,CAAd;;AAKA,QAAMM,WAAW,GAAG,MAAY;AAC9B,UAAMC,MAAM,GAAGb,aAAa,GAAGA,aAAa,CAACc,KAAd,EAAH,GAA2B,EAAvD;AAEAP,IAAAA,aAAa,CAACM,MAAD,CAAb;AACAX,IAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAG;AAAEW,MAAAA,MAAF;AAAUE,MAAAA,OAAO,EAAE;AAAnB,KAAH,CAAJ;AACD,GALD;;AAOA,QAAMC,YAAY,GAAG,MAAY;AAC/BT,IAAAA,aAAa,CAACR,aAAa,GAAG,CAAC,GAAGA,aAAJ,CAAH,GAAwB,EAAtC,CAAb;AACAI,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ;AACT,GAHD;;AAKA,sBACE,6BAAC,WAAD;AACE,IAAA,KAAK,EAAEC,CAAC,CAACa,aAAEC,gBAAH,CADV;AAEE,IAAA,OAAO,EAAEtB,OAFX;AAGE,IAAA,MAAM,eACJ;AAAK,MAAA,KAAK,EAAE;AAAEuB,QAAAA,OAAO,EAAE;AAAX;AAAZ,oBACE,uDACE,6BAAC,YAAD;AACE,MAAA,IAAI,EAAC,SADP;AAEE,MAAA,OAAO,EAAEP,WAFX;AAGE,qBAAY;AAHd,OAKGR,CAAC,CAACa,aAAEG,eAAH,CALJ,CADF,CADF,eAUE;AAAK,MAAA,KAAK,EAAE;AAAEC,QAAAA,UAAU,EAAE;AAAd;AAAZ,oBACE,6BAAC,YAAD;AACE,MAAA,IAAI,EAAC,SADP;AAEE,MAAA,OAAO,EAAEL,YAFX;AAGE,MAAA,KAAK,EAAE;AAAEM,QAAAA,WAAW,EAAE;AAAf,OAHT;AAIE,qBAAY;AAJd,OAMGlB,CAAC,CAACa,aAAEM,MAAH,CANJ,CADF,eASE,6BAAC,YAAD;AACE,MAAA,IAAI,EAAC,SADP;AAEE,MAAA,OAAO,EAAE,MAAM5B,KAAN,aAAMA,KAAN,uBAAMA,KAAK,CAAEO,IAAP,CAAY;AAAEW,QAAAA,MAAM,EAAEP;AAAV,OAAZ,CAFjB;AAGE,MAAA,QAAQ,EAAEE,KAAK,KAAK,CAHtB;AAIE,qBAAY;AAJd,OAMGJ,CAAC,CAACa,aAAEO,OAAH,CANJ,CATF,CAVF,CAJJ;AAkCE,IAAA,QAAQ,EAAER,YAlCZ;AAmCE,IAAA,cAAc,EAAE,IAnClB;AAoCE,IAAA,KAAK,EAAE,GApCT;AAqCE,IAAA,QAAQ,EAAE;AArCZ,kBAuCE,6BAAC,gCAAD;AACE,IAAA,QAAQ,EAAEnB,QADZ;AAEE,IAAA,SAAS,EAAEC,SAFb;AAGE,IAAA,aAAa,EAAEQ,UAHjB;AAIE,IAAA,mBAAmB,EAAEL,mBAJvB;AAKE,IAAA,QAAQ,EAAGY,MAAD,IAAYN,aAAa,CAACM,MAAD;AALrC,IAvCF,CADF;AAiDD","sourcesContent":["import { Button, Modal } 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\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\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 currentFields,\n defaultFields,\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 return (\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\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 <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"default\"\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 extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n );\n}\n"],"file":"DisplaySettingsModal.js"}
1
+ {"version":3,"file":"DisplaySettingsModal.js","names":["DisplaySettingsModal","props","visible","objectId","modelData","currentFields","defaultFields","extraDisabledFields","onOk","onCancel","t","useTranslation","NS_LIBS_CMDB_INSTANCES","nextFields","setNextFields","useState","count","useMemo","filter","v","length","handleReset","fields","slice","isReset","handleCancel","K","DISPLAY_SETTINGS","display","RESTORE_DEFAULT","marginLeft","marginRight","CANCEL","CONFIRM"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["import { Button, Modal } 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\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\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 currentFields,\n defaultFields,\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 return (\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\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 <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"default\"\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 extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n );\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAcO,SAASA,oBAAT,CACLC,KADK,EAEe;EACpB,MAAM;IACJC,OADI;IAEJC,QAFI;IAGJC,SAHI;IAIJC,aAJI;IAKJC,aALI;IAMJC,mBANI;IAOJC,IAPI;IAQJC;EARI,IASFR,KATJ;EAUA,MAAM;IAAES;EAAF,IAAQ,IAAAC,4BAAA,EAAeC,iCAAf,CAAd;EACA,MAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,IAAAC,eAAA,EAAmBV,aAAnB,CAApC;EACA,MAAMW,KAAK,GAAG,IAAAC,cAAA,EACZ,MAAMJ,UAAN,aAAMA,UAAN,uBAAMA,UAAU,CAAEK,MAAZ,CAAoBC,CAAD,IAAOA,CAAC,KAAK,YAAhC,EAA8CC,MADxC,EAEZ,CAACP,UAAD,CAFY,CAAd;;EAKA,MAAMQ,WAAW,GAAG,MAAY;IAC9B,MAAMC,MAAM,GAAGhB,aAAa,GAAGA,aAAa,CAACiB,KAAd,EAAH,GAA2B,EAAvD;IAEAT,aAAa,CAACQ,MAAD,CAAb;IACAd,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAG;MAAEc,MAAF;MAAUE,OAAO,EAAE;IAAnB,CAAH,CAAJ;EACD,CALD;;EAOA,MAAMC,YAAY,GAAG,MAAY;IAC/BX,aAAa,CAACT,aAAa,GAAG,CAAC,GAAGA,aAAJ,CAAH,GAAwB,EAAtC,CAAb;IACAI,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ;EACT,CAHD;;EAKA,oBACE,6BAAC,WAAD;IACE,KAAK,EAAEC,CAAC,CAACgB,YAAA,CAAEC,gBAAH,CADV;IAEE,OAAO,EAAEzB,OAFX;IAGE,MAAM,eACJ;MAAK,KAAK,EAAE;QAAE0B,OAAO,EAAE;MAAX;IAAZ,gBACE,uDACE,6BAAC,YAAD;MACE,IAAI,EAAC,SADP;MAEE,OAAO,EAAEP,WAFX;MAGE,eAAY;IAHd,GAKGX,CAAC,CAACgB,YAAA,CAAEG,eAAH,CALJ,CADF,CADF,eAUE;MAAK,KAAK,EAAE;QAAEC,UAAU,EAAE;MAAd;IAAZ,gBACE,6BAAC,YAAD;MACE,IAAI,EAAC,SADP;MAEE,OAAO,EAAEL,YAFX;MAGE,KAAK,EAAE;QAAEM,WAAW,EAAE;MAAf,CAHT;MAIE,eAAY;IAJd,GAMGrB,CAAC,CAACgB,YAAA,CAAEM,MAAH,CANJ,CADF,eASE,6BAAC,YAAD;MACE,IAAI,EAAC,SADP;MAEE,OAAO,EAAE,MAAM/B,KAAN,aAAMA,KAAN,uBAAMA,KAAK,CAAEO,IAAP,CAAY;QAAEc,MAAM,EAAET;MAAV,CAAZ,CAFjB;MAGE,QAAQ,EAAEG,KAAK,KAAK,CAHtB;MAIE,eAAY;IAJd,GAMGN,CAAC,CAACgB,YAAA,CAAEO,OAAH,CANJ,CATF,CAVF,CAJJ;IAkCE,QAAQ,EAAER,YAlCZ;IAmCE,cAAc,EAAE,IAnClB;IAoCE,KAAK,EAAE,GApCT;IAqCE,QAAQ,EAAE;EArCZ,gBAuCE,6BAAC,gCAAD;IACE,QAAQ,EAAEtB,QADZ;IAEE,SAAS,EAAEC,SAFb;IAGE,aAAa,EAAES,UAHjB;IAIE,mBAAmB,EAAEN,mBAJvB;IAKE,QAAQ,EAAGe,MAAD,IAAYR,aAAa,CAACQ,MAAD;EALrC,EAvCF,CADF;AAiDD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance-list-table/DynamicSearch.tsx"],"names":["DynamicSearchForm","React","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","ComparisonOperators","Like","logicalOperator","LogicalOperators","Or","fieldIdToShow","Array","isArray","length","map","push","undefined","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","item","join","targetValue","NotLike","includes","slice","v","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"],"mappings":"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","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"],"file":"DynamicSearch.js"}
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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"}