@next-libs/cmdb-instances 7.28.8 → 7.28.9

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.
@@ -15,6 +15,8 @@ var _DynamicSearch = require("./DynamicSearch");
15
15
  var _lodash = require("lodash");
16
16
  var _antd = require("antd");
17
17
  var _AdvancedSearchConditionModule = _interopRequireDefault(require("./AdvancedSearchCondition.module.css"));
18
+ var _i18n = require("../i18n");
19
+ (0, _i18n.addResourceBundle)();
18
20
  /* istanbul ignore next */
19
21
  function newKey(fieldIds, aq) {
20
22
  let key = "";
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedSearchCondition.js","names":["_react","_interopRequireWildcard","require","_i18next","_interopRequireDefault","_constants","_cmdbUtils","_DynamicSearch","_lodash","_antd","_AdvancedSearchConditionModule","newKey","fieldIds","aq","key","isEmpty","join","length","reducer","prevState","updatedProperty","formatAqToShow","newAqToShow","forEach","query","aqToShow","Object","entries","map","expressions","newExpressions","LogicalOperators","Or","And","exports","translateAqConditions","fields","conditions","queries","keys","value","values","attr","find","v","id","contain","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_CONTAIN_DEFINE","condition","name","replace","curCondition","attrId","valuesStr","push","AdvancedSearchCondition","props","state","setState","useReducer","undefined","onAdvancedSearch","queriesToShow","fieldToShow","_props$onAdvancedSear","call","onAdvancedSearchCloseGen","_props$onAdvancedSear2","isValueEqual","filterAq","filter","specialQueryHandler","isSpecial","some","formatAqQuery","querys","isAq","isKey","isStart","startsWith","filteredSubQueries","isInstanceFilterForm","default","createElement","className","styles","advancedSearchWrapper","hideDynamicSearch","style","marginBottom","DynamicSearch","onSearch","q","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","Tag","uniqueId","closable","onClose"],"sources":["../../../src/instance-list-table/AdvancedSearchCondition.tsx"],"sourcesContent":["import React, { useReducer } from \"react\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Query, LogicalOperators } from \"@next-libs/cmdb-utils\";\nimport { DynamicSearch } from \"./DynamicSearch\";\nimport { isEmpty, uniqueId, startsWith } from \"lodash\";\nimport { Tag } from \"antd\";\nimport styles from \"./AdvancedSearchCondition.module.css\";\nexport interface AdvancedSearchConditionProps {\n fields: Record<string, any>[];\n onAdvancedSearch?(queries: Query[]): void;\n isInstanceFilterForm?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n hideDynamicSearch?: boolean;\n hideSearchConditions?: boolean;\n}\n\ninterface AdvancedSearchConditionState {\n aq: Query[];\n aqToShow?: Query[];\n fieldIds: string[];\n fieldToShow?: Record<string, any[]>[];\n fields?: Record<string, any>[];\n}\n\n/* istanbul ignore next */\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\n/* istanbul ignore next */\nconst reducer = (\n prevState: AdvancedSearchConditionState,\n updatedProperty: Partial<AdvancedSearchConditionState>\n): AdvancedSearchConditionState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n};\n\nexport const formatAqToShow = (aq: Query[]) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return newAqToShow;\n};\n\nfunction translateAqConditions(\n aq: Query[],\n fields: any[]\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (\n Object.keys(query)[0] === LogicalOperators.Or ||\n Object.keys(query)[0] === LogicalOperators.And\n ) {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n const attr = fields.find((v) => v.id === key);\n const contain = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n );\n const condition = `${attr?.name}:${contain}\"${Object.values(\n value\n )[0].replace(/%/g, \"\")}\"`;\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: Object.values(value)[0],\n };\n conditions.push(curCondition);\n });\n }\n }\n return conditions;\n}\n\nexport function AdvancedSearchCondition(\n props: AdvancedSearchConditionProps\n): React.ReactElement {\n const [state, setState] = useReducer(reducer, undefined, () => ({\n aq: formatAqToShow(props.aq),\n aqToShow: props.aqToShow || formatAqToShow(props.aq),\n fieldIds: (props.fields || []).map((v) => v.id),\n fields: props.fields || [],\n }));\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n /* istanbul ignore next */\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const isValueEqual = (query: any) =>\n query[attrId]\n ? Object.values(query[attrId]).join(\" \") !== valuesStr\n : false;\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqual(v));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = Object.keys(query[key] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n const formatAqQuery = (\n querys: any[],\n queries: Query[],\n isAq: boolean\n ) => {\n querys.forEach((query) => {\n const key = Object.keys(query)[0];\n const isKey = key !== attrId;\n const isStart = isAq\n ? isKey && !startsWith(attrId, `${key}.`)\n : isKey;\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (isStart) {\n queries.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqual(query)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n };\n formatAqQuery(state.aq, queries, true);\n formatAqQuery(state.aqToShow, queriesToShow, false);\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const conditions = translateAqConditions(state.aqToShow, state.fields);\n return (\n <div className={styles.advancedSearchWrapper}>\n {!props?.hideDynamicSearch && (\n <div style={{ marginBottom: \"var(--page-padding-top)\" }}>\n <DynamicSearch\n fields={state.fields}\n onSearch={onAdvancedSearch}\n key={newKey(state.fieldIds, state.aq)}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n />\n </div>\n )}\n {!props.hideSearchConditions && !isEmpty(conditions) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${condition.valuesStr}-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AdvancedSearchCondition.js","names":["_react","_interopRequireWildcard","require","_i18next","_interopRequireDefault","_constants","_cmdbUtils","_DynamicSearch","_lodash","_antd","_AdvancedSearchConditionModule","_i18n","addResourceBundle","newKey","fieldIds","aq","key","isEmpty","join","length","reducer","prevState","updatedProperty","formatAqToShow","newAqToShow","forEach","query","aqToShow","Object","entries","map","expressions","newExpressions","LogicalOperators","Or","And","exports","translateAqConditions","fields","conditions","queries","keys","value","values","attr","find","v","id","contain","i18n","t","NS_LIBS_CMDB_INSTANCES","K","OPERATOR_CONTAIN_DEFINE","condition","name","replace","curCondition","attrId","valuesStr","push","AdvancedSearchCondition","props","state","setState","useReducer","undefined","onAdvancedSearch","queriesToShow","fieldToShow","_props$onAdvancedSear","call","onAdvancedSearchCloseGen","_props$onAdvancedSear2","isValueEqual","filterAq","filter","specialQueryHandler","isSpecial","some","formatAqQuery","querys","isAq","isKey","isStart","startsWith","filteredSubQueries","isInstanceFilterForm","default","createElement","className","styles","advancedSearchWrapper","hideDynamicSearch","style","marginBottom","DynamicSearch","onSearch","q","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","Tag","uniqueId","closable","onClose"],"sources":["../../../src/instance-list-table/AdvancedSearchCondition.tsx"],"sourcesContent":["import React, { useReducer } from \"react\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Query, LogicalOperators } from \"@next-libs/cmdb-utils\";\nimport { DynamicSearch } from \"./DynamicSearch\";\nimport { isEmpty, uniqueId, startsWith } from \"lodash\";\nimport { Tag } from \"antd\";\nimport styles from \"./AdvancedSearchCondition.module.css\";\nimport { addResourceBundle } from \"../i18n\";\naddResourceBundle();\n\nexport interface AdvancedSearchConditionProps {\n fields: Record<string, any>[];\n onAdvancedSearch?(queries: Query[]): void;\n isInstanceFilterForm?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n hideDynamicSearch?: boolean;\n hideSearchConditions?: boolean;\n}\n\ninterface AdvancedSearchConditionState {\n aq: Query[];\n aqToShow?: Query[];\n fieldIds: string[];\n fieldToShow?: Record<string, any[]>[];\n fields?: Record<string, any>[];\n}\n\n/* istanbul ignore next */\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\n/* istanbul ignore next */\nconst reducer = (\n prevState: AdvancedSearchConditionState,\n updatedProperty: Partial<AdvancedSearchConditionState>\n): AdvancedSearchConditionState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n};\n\nexport const formatAqToShow = (aq: Query[]) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return newAqToShow;\n};\n\nfunction translateAqConditions(\n aq: Query[],\n fields: any[]\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (\n Object.keys(query)[0] === LogicalOperators.Or ||\n Object.keys(query)[0] === LogicalOperators.And\n ) {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n const attr = fields.find((v) => v.id === key);\n const contain = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n );\n const condition = `${attr?.name}:${contain}\"${Object.values(\n value\n )[0].replace(/%/g, \"\")}\"`;\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: Object.values(value)[0],\n };\n conditions.push(curCondition);\n });\n }\n }\n return conditions;\n}\n\nexport function AdvancedSearchCondition(\n props: AdvancedSearchConditionProps\n): React.ReactElement {\n const [state, setState] = useReducer(reducer, undefined, () => ({\n aq: formatAqToShow(props.aq),\n aqToShow: props.aqToShow || formatAqToShow(props.aq),\n fieldIds: (props.fields || []).map((v) => v.id),\n fields: props.fields || [],\n }));\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n /* istanbul ignore next */\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const isValueEqual = (query: any) =>\n query[attrId]\n ? Object.values(query[attrId]).join(\" \") !== valuesStr\n : false;\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqual(v));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = Object.keys(query[key] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n const formatAqQuery = (\n querys: any[],\n queries: Query[],\n isAq: boolean\n ) => {\n querys.forEach((query) => {\n const key = Object.keys(query)[0];\n const isKey = key !== attrId;\n const isStart = isAq\n ? isKey && !startsWith(attrId, `${key}.`)\n : isKey;\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (isStart) {\n queries.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqual(query)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n };\n formatAqQuery(state.aq, queries, true);\n formatAqQuery(state.aqToShow, queriesToShow, false);\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const conditions = translateAqConditions(state.aqToShow, state.fields);\n return (\n <div className={styles.advancedSearchWrapper}>\n {!props?.hideDynamicSearch && (\n <div style={{ marginBottom: \"var(--page-padding-top)\" }}>\n <DynamicSearch\n fields={state.fields}\n onSearch={onAdvancedSearch}\n key={newKey(state.fieldIds, state.aq)}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n />\n </div>\n )}\n {!props.hideSearchConditions && !isEmpty(conditions) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${condition.valuesStr}-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,8 @@ import { DynamicSearch } from "./DynamicSearch";
7
7
  import { isEmpty, uniqueId, startsWith } from "lodash";
8
8
  import { Tag } from "antd";
9
9
  import styles from "./AdvancedSearchCondition.module.css";
10
+ import { addResourceBundle } from "../i18n";
11
+ addResourceBundle();
10
12
  /* istanbul ignore next */
11
13
  function newKey(fieldIds, aq) {
12
14
  var key = "";
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedSearchCondition.js","names":["React","useReducer","i18n","K","NS_LIBS_CMDB_INSTANCES","LogicalOperators","DynamicSearch","isEmpty","uniqueId","startsWith","Tag","styles","newKey","fieldIds","aq","key","join","concat","length","reducer","prevState","updatedProperty","_objectSpread","formatAqToShow","newAqToShow","forEach","query","aqToShow","Object","entries","map","_ref","expressions","newExpressions","Or","And","translateAqConditions","fields","conditions","queries","keys","value","values","attr","find","v","id","contain","t","OPERATOR_CONTAIN_DEFINE","condition","name","replace","curCondition","attrId","valuesStr","push","AdvancedSearchCondition","props","state","setState","undefined","onAdvancedSearch","queriesToShow","fieldToShow","_props$onAdvancedSear","call","onAdvancedSearchCloseGen","_props$onAdvancedSear2","isValueEqual","filterAq","filter","specialQueryHandler","isSpecial","some","formatAqQuery","querys","isAq","isKey","isStart","filteredSubQueries","isInstanceFilterForm","createElement","className","advancedSearchWrapper","hideDynamicSearch","style","marginBottom","onSearch","q","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","closable","onClose"],"sources":["../../../src/instance-list-table/AdvancedSearchCondition.tsx"],"sourcesContent":["import React, { useReducer } from \"react\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Query, LogicalOperators } from \"@next-libs/cmdb-utils\";\nimport { DynamicSearch } from \"./DynamicSearch\";\nimport { isEmpty, uniqueId, startsWith } from \"lodash\";\nimport { Tag } from \"antd\";\nimport styles from \"./AdvancedSearchCondition.module.css\";\nexport interface AdvancedSearchConditionProps {\n fields: Record<string, any>[];\n onAdvancedSearch?(queries: Query[]): void;\n isInstanceFilterForm?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n hideDynamicSearch?: boolean;\n hideSearchConditions?: boolean;\n}\n\ninterface AdvancedSearchConditionState {\n aq: Query[];\n aqToShow?: Query[];\n fieldIds: string[];\n fieldToShow?: Record<string, any[]>[];\n fields?: Record<string, any>[];\n}\n\n/* istanbul ignore next */\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\n/* istanbul ignore next */\nconst reducer = (\n prevState: AdvancedSearchConditionState,\n updatedProperty: Partial<AdvancedSearchConditionState>\n): AdvancedSearchConditionState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n};\n\nexport const formatAqToShow = (aq: Query[]) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return newAqToShow;\n};\n\nfunction translateAqConditions(\n aq: Query[],\n fields: any[]\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (\n Object.keys(query)[0] === LogicalOperators.Or ||\n Object.keys(query)[0] === LogicalOperators.And\n ) {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n const attr = fields.find((v) => v.id === key);\n const contain = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n );\n const condition = `${attr?.name}:${contain}\"${Object.values(\n value\n )[0].replace(/%/g, \"\")}\"`;\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: Object.values(value)[0],\n };\n conditions.push(curCondition);\n });\n }\n }\n return conditions;\n}\n\nexport function AdvancedSearchCondition(\n props: AdvancedSearchConditionProps\n): React.ReactElement {\n const [state, setState] = useReducer(reducer, undefined, () => ({\n aq: formatAqToShow(props.aq),\n aqToShow: props.aqToShow || formatAqToShow(props.aq),\n fieldIds: (props.fields || []).map((v) => v.id),\n fields: props.fields || [],\n }));\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n /* istanbul ignore next */\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const isValueEqual = (query: any) =>\n query[attrId]\n ? Object.values(query[attrId]).join(\" \") !== valuesStr\n : false;\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqual(v));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = Object.keys(query[key] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n const formatAqQuery = (\n querys: any[],\n queries: Query[],\n isAq: boolean\n ) => {\n querys.forEach((query) => {\n const key = Object.keys(query)[0];\n const isKey = key !== attrId;\n const isStart = isAq\n ? isKey && !startsWith(attrId, `${key}.`)\n : isKey;\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (isStart) {\n queries.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqual(query)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n };\n formatAqQuery(state.aq, queries, true);\n formatAqQuery(state.aqToShow, queriesToShow, false);\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const conditions = translateAqConditions(state.aqToShow, state.fields);\n return (\n <div className={styles.advancedSearchWrapper}>\n {!props?.hideDynamicSearch && (\n <div style={{ marginBottom: \"var(--page-padding-top)\" }}>\n <DynamicSearch\n fields={state.fields}\n onSearch={onAdvancedSearch}\n key={newKey(state.fieldIds, state.aq)}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n />\n </div>\n )}\n {!props.hideSearchConditions && !isEmpty(conditions) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${condition.valuesStr}-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AdvancedSearchCondition.js","names":["React","useReducer","i18n","K","NS_LIBS_CMDB_INSTANCES","LogicalOperators","DynamicSearch","isEmpty","uniqueId","startsWith","Tag","styles","addResourceBundle","newKey","fieldIds","aq","key","join","concat","length","reducer","prevState","updatedProperty","_objectSpread","formatAqToShow","newAqToShow","forEach","query","aqToShow","Object","entries","map","_ref","expressions","newExpressions","Or","And","translateAqConditions","fields","conditions","queries","keys","value","values","attr","find","v","id","contain","t","OPERATOR_CONTAIN_DEFINE","condition","name","replace","curCondition","attrId","valuesStr","push","AdvancedSearchCondition","props","state","setState","undefined","onAdvancedSearch","queriesToShow","fieldToShow","_props$onAdvancedSear","call","onAdvancedSearchCloseGen","_props$onAdvancedSear2","isValueEqual","filterAq","filter","specialQueryHandler","isSpecial","some","formatAqQuery","querys","isAq","isKey","isStart","filteredSubQueries","isInstanceFilterForm","createElement","className","advancedSearchWrapper","hideDynamicSearch","style","marginBottom","onSearch","q","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","closable","onClose"],"sources":["../../../src/instance-list-table/AdvancedSearchCondition.tsx"],"sourcesContent":["import React, { useReducer } from \"react\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { Query, LogicalOperators } from \"@next-libs/cmdb-utils\";\nimport { DynamicSearch } from \"./DynamicSearch\";\nimport { isEmpty, uniqueId, startsWith } from \"lodash\";\nimport { Tag } from \"antd\";\nimport styles from \"./AdvancedSearchCondition.module.css\";\nimport { addResourceBundle } from \"../i18n\";\naddResourceBundle();\n\nexport interface AdvancedSearchConditionProps {\n fields: Record<string, any>[];\n onAdvancedSearch?(queries: Query[]): void;\n isInstanceFilterForm?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n hideDynamicSearch?: boolean;\n hideSearchConditions?: boolean;\n}\n\ninterface AdvancedSearchConditionState {\n aq: Query[];\n aqToShow?: Query[];\n fieldIds: string[];\n fieldToShow?: Record<string, any[]>[];\n fields?: Record<string, any>[];\n}\n\n/* istanbul ignore next */\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\n/* istanbul ignore next */\nconst reducer = (\n prevState: AdvancedSearchConditionState,\n updatedProperty: Partial<AdvancedSearchConditionState>\n): AdvancedSearchConditionState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n};\n\nexport const formatAqToShow = (aq: Query[]) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return newAqToShow;\n};\n\nfunction translateAqConditions(\n aq: Query[],\n fields: any[]\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (\n Object.keys(query)[0] === LogicalOperators.Or ||\n Object.keys(query)[0] === LogicalOperators.And\n ) {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n const attr = fields.find((v) => v.id === key);\n const contain = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`\n );\n const condition = `${attr?.name}:${contain}\"${Object.values(\n value\n )[0].replace(/%/g, \"\")}\"`;\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: Object.values(value)[0],\n };\n conditions.push(curCondition);\n });\n }\n }\n return conditions;\n}\n\nexport function AdvancedSearchCondition(\n props: AdvancedSearchConditionProps\n): React.ReactElement {\n const [state, setState] = useReducer(reducer, undefined, () => ({\n aq: formatAqToShow(props.aq),\n aqToShow: props.aqToShow || formatAqToShow(props.aq),\n fieldIds: (props.fields || []).map((v) => v.id),\n fields: props.fields || [],\n }));\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n /* istanbul ignore next */\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const isValueEqual = (query: any) =>\n query[attrId]\n ? Object.values(query[attrId]).join(\" \") !== valuesStr\n : false;\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqual(v));\n const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = Object.keys(query[key] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n if (isSpecial) {\n return;\n }\n queries.push(query);\n };\n const formatAqQuery = (\n querys: any[],\n queries: Query[],\n isAq: boolean\n ) => {\n querys.forEach((query) => {\n const key = Object.keys(query)[0];\n const isKey = key !== attrId;\n const isStart = isAq\n ? isKey && !startsWith(attrId, `${key}.`)\n : isKey;\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (isStart) {\n queries.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqual(query)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n };\n formatAqQuery(state.aq, queries, true);\n formatAqQuery(state.aqToShow, queriesToShow, false);\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const conditions = translateAqConditions(state.aqToShow, state.fields);\n return (\n <div className={styles.advancedSearchWrapper}>\n {!props?.hideDynamicSearch && (\n <div style={{ marginBottom: \"var(--page-padding-top)\" }}>\n <DynamicSearch\n fields={state.fields}\n onSearch={onAdvancedSearch}\n key={newKey(state.fieldIds, state.aq)}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n />\n </div>\n )}\n {!props.hideSearchConditions && !isEmpty(conditions) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${condition.valuesStr}-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.28.8",
3
+ "version": "7.28.9",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
6
6
  "license": "GPL-3.0",
@@ -52,5 +52,5 @@
52
52
  "js-base64": "^3.7.7",
53
53
  "marked": "^2.1.3"
54
54
  },
55
- "gitHead": "025f7e833d5a917dcc30cd9bfb1aaa41f7d0cf08"
55
+ "gitHead": "36e7f8ca50cfef1adb5a6de047d6de62e31f6196"
56
56
  }