@next-libs/cmdb-instances 7.24.2 → 7.24.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ModelAttributeFormControl.js","names":["_react","_interopRequireWildcard","require","_i18next","_interopRequireDefault","_constants","_antd","_structComponents","_AttributeFormControlUrl","_processors","_constants2","_codeEditorComponents","_brickKit","_lodash","_cmdbUtils","_cmdbUpload","ModelAttributeValueType","exports","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","Component","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","isClusterType","objectId","constructor","_defineProperty2","default","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","_this$props$jsonValid","_this$props","error","some","jsonValidateCollection","call","showError","_this$props$xmlValida","_this$props2","xmlValidateCollection","_attribute$value","_attribute$value2","restProps","errorMessage","state","jsonSchema","regex","_attribute$value3","JSON","parse","TEXT","placeholder","createElement","Input","_extends2","e","className","style","URL","AttributeFormControlUrl","NUMBER","InputNumber","CODE_EDITOR","Fragment","CodeEditor","mode","maxLines","highlightActiveLine","minLines","showLineNumbers","showPrintMargin","validateJsonSchemaMode","theme","onValidate","validateJson","display","color","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","XML_EDITOR","validateXML","NOT_MEET_XML","TEXTAREA","MARKDOWN","TextArea","rows","LEGACY_STRUCT","AddStruct","isLegacy","structData","handleStoreFunction","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","Radio","Group","disabled","map","item","key","String","TAGS","Select","allowClear","width","DATE","DATETIME","dateConfig","showTime","formater","computeDateFormat","DatePicker","format","handleDateChange","SELECT","newValue","multiSelect","showSearch","Option","TREESELECT","treeData","treeEnumFormat","TreeSelect","treeCheckable","ATTACHMENT","CmdbUpload","autoUpload","uploadConfig","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","_attribute$value$rege","enumValue","clusterMap","attrValueType","STRING","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","getRuntime","getFeatureFlags","CASCADE","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n DatePicker,\n Input,\n InputNumber,\n Radio,\n Select,\n TreeSelect,\n Upload,\n} from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { some } from \"lodash\";\nimport { treeEnumFormat } from \"@next-libs/cmdb-utils\";\nimport { CmdbUpload, UploadConfig } from \"../components/cmdb-upload\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n // 附件\n ATTACHMENT = \"attachment\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\n CASCADE = \"cascade\",\n}\n\nexport enum FormControlTypeEnum {\n TEXT = \"text\",\n NUMBER = \"number\",\n SELECT = \"select\",\n RADIO = \"radio\",\n TEXTAREA = \"textarea\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n TAGS = \"tags\",\n STRUCT = \"struct\",\n /**\n * @deprecated supported for compatibility only\n * @type {string}\n */\n LEGACY_STRUCT = \"legacy-struct\",\n // fallback to show a plain text span\n _PLAIN_TEXT = \"_plain_text\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n CODE_EDITOR = \"code_editor\",\n XML_EDITOR = \"xml_editor\",\n TREESELECT = \"tree_select\",\n ATTACHMENT = \"attachment\",\n}\n\nexport interface FormControl {\n id: string;\n type: FormControlTypeEnum;\n items?: FormControlSelectItem[];\n name: string;\n label?: string;\n required?: boolean;\n readOnly?: boolean;\n unique?: boolean;\n pattern?: RegExp;\n placeholder?: string;\n maxlength?: number; // 结构体数组的最大长度,如果是结构体,就是1,\n}\n\nexport interface ModelAttributeFormControlProps {\n // ant-design initialValue\n id?: string;\n value?: any;\n isCreate?: boolean;\n onChange?: (value: any) => void;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n type?: string;\n multiSelect?: boolean;\n className?: string;\n style?: React.CSSProperties;\n objectId?: string;\n jsonValidateCollection?: (err: boolean) => void;\n xmlValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n uploadConfig?: UploadConfig;\n}\n\nexport interface ModelAttributeFormControlState {\n value?: any;\n formControl: FormControl;\n errorMessage: string;\n showError?: boolean;\n}\n\nexport const boolOptions: FormControlSelectItem[] = [\n {\n id: true,\n text: \"true\",\n },\n {\n id: false,\n text: \"false\",\n },\n];\n\nexport class ModelAttributeFormControl extends Component<\n ModelAttributeFormControlProps,\n ModelAttributeFormControlState\n> {\n componentDidUpdate(\n prevProps: Readonly<ModelAttributeFormControlProps>,\n prevState: Readonly<ModelAttributeFormControlState>,\n snapshot?: any\n ): void {\n if (\n this.props.value !== prevProps.value ||\n this.props.type !== prevProps.type ||\n this.props.attribute.id !== prevProps.attribute.id ||\n this.props.attribute.name !== prevProps.attribute.name ||\n this.props.attribute.value.type !== prevProps.attribute.value.type\n ) {\n this.setState({\n value: this.props.value,\n formControl: this.computeFormControl(\n this.props.attribute,\n this.props.id,\n this.props.type,\n isClusterType(this.props.objectId, this.props.attribute.id)\n ),\n });\n }\n }\n\n constructor(props: ModelAttributeFormControlProps) {\n super(props);\n const { attribute, id, value, type, objectId } = props;\n const is = objectId;\n try {\n this.state = {\n value,\n errorMessage: null,\n formControl: this.computeFormControl(\n attribute,\n id,\n type,\n isClusterType(objectId, attribute.id)\n ),\n };\n } catch (error) {\n this.state = {\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\",\n },\n };\n }\n }\n\n static computePattern(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): RegExp | undefined {\n try {\n if (\n attribute.value.type !== ModelAttributeValueType.ENUM &&\n attribute.value.type !== ModelAttributeValueType.ENUMS &&\n attribute.value.regex !== undefined &&\n attribute.value.regex !== null\n ) {\n // todo(jhuang): use `u` flag for compliance until https://github.com/angular/angular/pull/20819 is resolved\n return new RegExp(attribute.value.regex as string, \"u\");\n }\n return undefined;\n } catch (error) {\n return undefined;\n }\n }\n\n computeFormControlItems(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n isClusterType?: boolean\n ): FormControlSelectItem[] {\n if (\n attribute.value.type === ModelAttributeValueType.ENUM ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n // The backend guys are notorious to use `regex` as enum candidates. 😢\n return (attribute.value.regex as string[])?.map((enumValue) => ({\n id: enumValue,\n text: isClusterType ? clusterMap[enumValue] : enumValue,\n }));\n }\n }\n\n static computeFormControlType(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n type?: string,\n isSupportMultiStringValue?: boolean\n ): FormControlTypeEnum {\n const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRING: {\n if ((attribute.value.mode as any) === ModelAttributeValueModeType.XML) {\n return FormControlTypeEnum.XML_EDITOR;\n }\n if (\n attribute.value.mode === ModelAttributeValueModeType.MULTIPLE_LINES\n ) {\n return FormControlTypeEnum.TEXTAREA;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.MARKDOWN) {\n return FormControlTypeEnum.MARKDOWN;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.URL) {\n return FormControlTypeEnum.URL;\n }\n }\n /* falls through */\n case ModelAttributeValueType.IP:\n if (isSupportMultiStringValue) {\n return FormControlTypeEnum.TAGS;\n }\n return FormControlTypeEnum.TEXT;\n case ModelAttributeValueType.JSON:\n // return FormControlTypeEnum.TEXTAREA;\n return FormControlTypeEnum.CODE_EDITOR;\n case ModelAttributeValueType.ENUM:\n if (\n !attribute.value.regex ||\n (attribute.value.regex as string[]).length === 0\n ) {\n throw new Error(\n // \"请在资源模型管理中添加枚举值, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ENUM_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n if (\n attribute.value.regex &&\n (attribute.value.regex as string[]).length <= 5 &&\n (!type || type === FormControlTypeEnum.RADIO)\n ) {\n return FormControlTypeEnum.RADIO;\n }\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n return FormControlTypeEnum.NUMBER;\n case ModelAttributeValueType.DATE:\n return FormControlTypeEnum.DATE;\n case ModelAttributeValueType.DATETIME:\n return FormControlTypeEnum.DATETIME;\n case ModelAttributeValueType.ARR:\n return FormControlTypeEnum.TAGS;\n case ModelAttributeValueType.STRUCT:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.LEGACY_STRUCT;\n case ModelAttributeValueType.STRUCT_LIST:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n // 附件类型\n if ((attribute.value.mode as any) === \"attachment\") {\n return FormControlTypeEnum.ATTACHMENT;\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (attribute.value.mode as any) === ModelAttributeValueModeType.CASCADE\n ) {\n return FormControlTypeEnum.TREESELECT;\n }\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n validateXML = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.xmlValidateCollection?.(error);\n this.setState({ showError: error });\n };\n\n FormControlTypeMap = (): ReactNode => {\n const { attribute } = this.props;\n const {\n value,\n formControl: { type, ...restProps },\n errorMessage,\n } = this.state;\n // const unsupportText = `\"${type}\"类型暂时不支持编辑`;\n // const unsupportText = i18n.t(\n // `${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`,\n // { type }\n // );\n let jsonSchema: any;\n if (attribute?.value?.type === \"json\" && attribute?.value?.regex) {\n jsonSchema = JSON.parse(attribute?.value?.regex);\n }\n\n switch (type) {\n case FormControlTypeEnum.TEXT: {\n const { pattern, placeholder, ...props } = restProps;\n return (\n <Input\n value={value}\n type=\"text\"\n {...props}\n placeholder={placeholder}\n onChange={(e) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.URL: {\n const { readOnly, required, placeholder } = restProps;\n\n return (\n <AttributeFormControlUrl\n readOnly={readOnly}\n required={required}\n placeholder={placeholder}\n value={value}\n onChange={(e) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.NUMBER: {\n const { pattern, ...props } = restProps;\n return (\n <InputNumber\n value={value}\n {...props}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n case FormControlTypeEnum.CODE_EDITOR:\n return (\n <>\n <CodeEditor\n value={value}\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n onChange={(e: any) => this.onChange(e)}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n {...(jsonSchema ? { jsonSchema: jsonSchema } : {})}\n theme=\"tomorrow\"\n onValidate={(err: any) => this.validateJson(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.XML_EDITOR:\n return (\n <>\n <CodeEditor\n theme=\"monokai\"\n mode={\"xml\"}\n minLines={5}\n maxLines={20}\n showLineNumbers={true}\n showPrintMargin={false}\n highlightActiveLine={true}\n value={value ?? \"\"}\n onChange={(e: any) => this.onChange(e)}\n onValidate={(err: any) => this.validateXML(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_XML}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.TEXTAREA:\n case FormControlTypeEnum.MARKDOWN: {\n return (\n <Input.TextArea\n value={value}\n {...restProps}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n rows={5}\n />\n );\n }\n\n case FormControlTypeEnum.STRUCT:\n case FormControlTypeEnum.LEGACY_STRUCT:\n return (\n <AddStruct\n isLegacy={type === FormControlTypeEnum.LEGACY_STRUCT}\n attribute={attribute}\n structData={value}\n handleStoreFunction={(formData: any) => this.onChange(formData)}\n className={this.props.className}\n style={this.props.style}\n isCreate={this.props.isCreate}\n />\n );\n\n case FormControlTypeEnum.RADIO: {\n let { items, required, readOnly } = restProps;\n\n // NODE: 对非必填单选为空的特殊处理 BY @robertman\n const unselected = {\n id: null as string,\n // text: \"暂不选择\",\n text: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TEMPORARILY_NOT_CHOOSE}`),\n };\n\n if (!required) {\n items = [...items, unselected];\n }\n\n return (\n <Radio.Group\n onChange={(e: any) => this.onChange(e)}\n value={value !== undefined ? value : unselected.id}\n className={this.props.className}\n style={this.props.style}\n disabled={readOnly}\n >\n {items.map((item) => (\n <Radio value={item.id} key={String(item.id)}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n\n case FormControlTypeEnum.TAGS: {\n const { placeholder, readOnly } = restProps;\n return (\n <Select\n allowClear={true}\n mode=\"tags\"\n style={{ ...this.props.style, width: \"100%\" }}\n disabled={readOnly}\n placeholder={placeholder}\n value={value || []}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n />\n );\n }\n\n case FormControlTypeEnum.DATE:\n case FormControlTypeEnum.DATETIME: {\n let dateConfig = {};\n if (type === FormControlTypeEnum.DATETIME) {\n dateConfig = {\n showTime: true,\n };\n }\n const { readOnly, placeholder } = restProps;\n const formater = computeDateFormat(type, value);\n return (\n <DatePicker\n value={formater.value}\n placeholder={placeholder}\n disabled={readOnly}\n format={formater.format}\n {...dateConfig}\n onChange={(date, dateString) =>\n this.handleDateChange(date, dateString)\n }\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.SELECT: {\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n return (\n <Select\n placeholder={placeholder}\n mode={this.props.multiSelect ? \"multiple\" : undefined}\n value={newValue}\n onChange={(e: any) => this.onChange(e)}\n disabled={readOnly}\n className={this.props.className}\n style={this.props.style}\n showSearch\n allowClear={true}\n >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n case FormControlTypeEnum.TREESELECT: {\n // istanbul ignore next\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n const treeData: any = treeEnumFormat(attribute.value.regex || []);\n return (\n <TreeSelect\n value={newValue}\n allowClear\n treeData={treeData}\n disabled={readOnly}\n placeholder={placeholder}\n className={this.props.className}\n style={this.props.style}\n treeCheckable\n onChange={(e: any) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.ATTACHMENT: {\n const { readOnly } = restProps;\n return (\n <CmdbUpload\n disabled={readOnly}\n value={value}\n className={this.props.className}\n style={this.props.style}\n autoUpload\n uploadConfig={this.props.uploadConfig}\n onChange={(e: any) => this.onChange(e)}\n ></CmdbUpload>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModelAttributeFormControl.js","names":["_react","_interopRequireWildcard","require","_i18next","_interopRequireDefault","_constants","_antd","_structComponents","_AttributeFormControlUrl","_processors","_constants2","_codeEditorComponents","_brickKit","_lodash","_cmdbUtils","_cmdbUpload","ModelAttributeValueType","exports","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","Component","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","isClusterType","objectId","constructor","_defineProperty2","default","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","_this$props$jsonValid","_this$props","error","some","jsonValidateCollection","call","showError","_this$props$xmlValida","_this$props2","xmlValidateCollection","_attribute$value","_attribute$value2","restProps","errorMessage","state","jsonSchema","regex","_attribute$value3","JSON","parse","TEXT","placeholder","createElement","Input","_extends2","e","className","style","URL","AttributeFormControlUrl","NUMBER","InputNumber","CODE_EDITOR","Fragment","CodeEditor","mode","maxLines","highlightActiveLine","minLines","showLineNumbers","showPrintMargin","validateJsonSchemaMode","theme","onValidate","validateJson","display","color","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","XML_EDITOR","validateXML","NOT_MEET_XML","TEXTAREA","MARKDOWN","TextArea","rows","LEGACY_STRUCT","AddStruct","isLegacy","structData","handleStoreFunction","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","Radio","Group","disabled","map","item","key","String","TAGS","Select","allowClear","width","DATE","DATETIME","dateConfig","showTime","formater","computeDateFormat","DatePicker","format","handleDateChange","SELECT","newValue","multiSelect","showSearch","Option","TREESELECT","isMultiple","treeData","treeEnumFormat","TreeSelect","treeCheckable","ATTACHMENT","CmdbUpload","autoUpload","uploadConfig","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","_attribute$value$rege","enumValue","clusterMap","attrValueType","STRING","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","getRuntime","getFeatureFlags","CASCADE","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n DatePicker,\n Input,\n InputNumber,\n Radio,\n Select,\n TreeSelect,\n Upload,\n} from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { some } from \"lodash\";\nimport { treeEnumFormat } from \"@next-libs/cmdb-utils\";\nimport { CmdbUpload, UploadConfig } from \"../components/cmdb-upload\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n // 附件\n ATTACHMENT = \"attachment\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\n CASCADE = \"cascade\",\n}\n\nexport enum FormControlTypeEnum {\n TEXT = \"text\",\n NUMBER = \"number\",\n SELECT = \"select\",\n RADIO = \"radio\",\n TEXTAREA = \"textarea\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n TAGS = \"tags\",\n STRUCT = \"struct\",\n /**\n * @deprecated supported for compatibility only\n * @type {string}\n */\n LEGACY_STRUCT = \"legacy-struct\",\n // fallback to show a plain text span\n _PLAIN_TEXT = \"_plain_text\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n CODE_EDITOR = \"code_editor\",\n XML_EDITOR = \"xml_editor\",\n TREESELECT = \"tree_select\",\n ATTACHMENT = \"attachment\",\n}\n\nexport interface FormControl {\n id: string;\n type: FormControlTypeEnum;\n items?: FormControlSelectItem[];\n name: string;\n label?: string;\n required?: boolean;\n readOnly?: boolean;\n unique?: boolean;\n pattern?: RegExp;\n placeholder?: string;\n maxlength?: number; // 结构体数组的最大长度,如果是结构体,就是1,\n}\n\nexport interface ModelAttributeFormControlProps {\n // ant-design initialValue\n id?: string;\n value?: any;\n isCreate?: boolean;\n onChange?: (value: any) => void;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n type?: string;\n multiSelect?: boolean;\n className?: string;\n style?: React.CSSProperties;\n objectId?: string;\n jsonValidateCollection?: (err: boolean) => void;\n xmlValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n uploadConfig?: UploadConfig;\n}\n\nexport interface ModelAttributeFormControlState {\n value?: any;\n formControl: FormControl;\n errorMessage: string;\n showError?: boolean;\n}\n\nexport const boolOptions: FormControlSelectItem[] = [\n {\n id: true,\n text: \"true\",\n },\n {\n id: false,\n text: \"false\",\n },\n];\n\nexport class ModelAttributeFormControl extends Component<\n ModelAttributeFormControlProps,\n ModelAttributeFormControlState\n> {\n componentDidUpdate(\n prevProps: Readonly<ModelAttributeFormControlProps>,\n prevState: Readonly<ModelAttributeFormControlState>,\n snapshot?: any\n ): void {\n if (\n this.props.value !== prevProps.value ||\n this.props.type !== prevProps.type ||\n this.props.attribute.id !== prevProps.attribute.id ||\n this.props.attribute.name !== prevProps.attribute.name ||\n this.props.attribute.value.type !== prevProps.attribute.value.type\n ) {\n this.setState({\n value: this.props.value,\n formControl: this.computeFormControl(\n this.props.attribute,\n this.props.id,\n this.props.type,\n isClusterType(this.props.objectId, this.props.attribute.id)\n ),\n });\n }\n }\n\n constructor(props: ModelAttributeFormControlProps) {\n super(props);\n const { attribute, id, value, type, objectId } = props;\n const is = objectId;\n try {\n this.state = {\n value,\n errorMessage: null,\n formControl: this.computeFormControl(\n attribute,\n id,\n type,\n isClusterType(objectId, attribute.id)\n ),\n };\n } catch (error) {\n this.state = {\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\",\n },\n };\n }\n }\n\n static computePattern(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): RegExp | undefined {\n try {\n if (\n attribute.value.type !== ModelAttributeValueType.ENUM &&\n attribute.value.type !== ModelAttributeValueType.ENUMS &&\n attribute.value.regex !== undefined &&\n attribute.value.regex !== null\n ) {\n // todo(jhuang): use `u` flag for compliance until https://github.com/angular/angular/pull/20819 is resolved\n return new RegExp(attribute.value.regex as string, \"u\");\n }\n return undefined;\n } catch (error) {\n return undefined;\n }\n }\n\n computeFormControlItems(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n isClusterType?: boolean\n ): FormControlSelectItem[] {\n if (\n attribute.value.type === ModelAttributeValueType.ENUM ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n // The backend guys are notorious to use `regex` as enum candidates. 😢\n return (attribute.value.regex as string[])?.map((enumValue) => ({\n id: enumValue,\n text: isClusterType ? clusterMap[enumValue] : enumValue,\n }));\n }\n }\n\n static computeFormControlType(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n type?: string,\n isSupportMultiStringValue?: boolean\n ): FormControlTypeEnum {\n const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRING: {\n if ((attribute.value.mode as any) === ModelAttributeValueModeType.XML) {\n return FormControlTypeEnum.XML_EDITOR;\n }\n if (\n attribute.value.mode === ModelAttributeValueModeType.MULTIPLE_LINES\n ) {\n return FormControlTypeEnum.TEXTAREA;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.MARKDOWN) {\n return FormControlTypeEnum.MARKDOWN;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.URL) {\n return FormControlTypeEnum.URL;\n }\n }\n /* falls through */\n case ModelAttributeValueType.IP:\n if (isSupportMultiStringValue) {\n return FormControlTypeEnum.TAGS;\n }\n return FormControlTypeEnum.TEXT;\n case ModelAttributeValueType.JSON:\n // return FormControlTypeEnum.TEXTAREA;\n return FormControlTypeEnum.CODE_EDITOR;\n case ModelAttributeValueType.ENUM:\n if (\n !attribute.value.regex ||\n (attribute.value.regex as string[]).length === 0\n ) {\n throw new Error(\n // \"请在资源模型管理中添加枚举值, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ENUM_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n if (\n attribute.value.regex &&\n (attribute.value.regex as string[]).length <= 5 &&\n (!type || type === FormControlTypeEnum.RADIO)\n ) {\n return FormControlTypeEnum.RADIO;\n }\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (attribute.value.mode as any) === ModelAttributeValueModeType.CASCADE\n ) {\n return FormControlTypeEnum.TREESELECT;\n }\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n return FormControlTypeEnum.NUMBER;\n case ModelAttributeValueType.DATE:\n return FormControlTypeEnum.DATE;\n case ModelAttributeValueType.DATETIME:\n return FormControlTypeEnum.DATETIME;\n case ModelAttributeValueType.ARR:\n return FormControlTypeEnum.TAGS;\n case ModelAttributeValueType.STRUCT:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.LEGACY_STRUCT;\n case ModelAttributeValueType.STRUCT_LIST:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n // 附件类型\n if ((attribute.value.mode as any) === \"attachment\") {\n return FormControlTypeEnum.ATTACHMENT;\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (attribute.value.mode as any) === ModelAttributeValueModeType.CASCADE\n ) {\n return FormControlTypeEnum.TREESELECT;\n }\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n validateXML = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.xmlValidateCollection?.(error);\n this.setState({ showError: error });\n };\n\n FormControlTypeMap = (): ReactNode => {\n const { attribute } = this.props;\n const {\n value,\n formControl: { type, ...restProps },\n errorMessage,\n } = this.state;\n // const unsupportText = `\"${type}\"类型暂时不支持编辑`;\n // const unsupportText = i18n.t(\n // `${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`,\n // { type }\n // );\n let jsonSchema: any;\n if (attribute?.value?.type === \"json\" && attribute?.value?.regex) {\n jsonSchema = JSON.parse(attribute?.value?.regex);\n }\n\n switch (type) {\n case FormControlTypeEnum.TEXT: {\n const { pattern, placeholder, ...props } = restProps;\n return (\n <Input\n value={value}\n type=\"text\"\n {...props}\n placeholder={placeholder}\n onChange={(e) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.URL: {\n const { readOnly, required, placeholder } = restProps;\n\n return (\n <AttributeFormControlUrl\n readOnly={readOnly}\n required={required}\n placeholder={placeholder}\n value={value}\n onChange={(e) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.NUMBER: {\n const { pattern, ...props } = restProps;\n return (\n <InputNumber\n value={value}\n {...props}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n case FormControlTypeEnum.CODE_EDITOR:\n return (\n <>\n <CodeEditor\n value={value}\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n onChange={(e: any) => this.onChange(e)}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n {...(jsonSchema ? { jsonSchema: jsonSchema } : {})}\n theme=\"tomorrow\"\n onValidate={(err: any) => this.validateJson(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.XML_EDITOR:\n return (\n <>\n <CodeEditor\n theme=\"monokai\"\n mode={\"xml\"}\n minLines={5}\n maxLines={20}\n showLineNumbers={true}\n showPrintMargin={false}\n highlightActiveLine={true}\n value={value ?? \"\"}\n onChange={(e: any) => this.onChange(e)}\n onValidate={(err: any) => this.validateXML(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_XML}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.TEXTAREA:\n case FormControlTypeEnum.MARKDOWN: {\n return (\n <Input.TextArea\n value={value}\n {...restProps}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n rows={5}\n />\n );\n }\n\n case FormControlTypeEnum.STRUCT:\n case FormControlTypeEnum.LEGACY_STRUCT:\n return (\n <AddStruct\n isLegacy={type === FormControlTypeEnum.LEGACY_STRUCT}\n attribute={attribute}\n structData={value}\n handleStoreFunction={(formData: any) => this.onChange(formData)}\n className={this.props.className}\n style={this.props.style}\n isCreate={this.props.isCreate}\n />\n );\n\n case FormControlTypeEnum.RADIO: {\n let { items, required, readOnly } = restProps;\n\n // NODE: 对非必填单选为空的特殊处理 BY @robertman\n const unselected = {\n id: null as string,\n // text: \"暂不选择\",\n text: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TEMPORARILY_NOT_CHOOSE}`),\n };\n\n if (!required) {\n items = [...items, unselected];\n }\n\n return (\n <Radio.Group\n onChange={(e: any) => this.onChange(e)}\n value={value !== undefined ? value : unselected.id}\n className={this.props.className}\n style={this.props.style}\n disabled={readOnly}\n >\n {items.map((item) => (\n <Radio value={item.id} key={String(item.id)}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n\n case FormControlTypeEnum.TAGS: {\n const { placeholder, readOnly } = restProps;\n return (\n <Select\n allowClear={true}\n mode=\"tags\"\n style={{ ...this.props.style, width: \"100%\" }}\n disabled={readOnly}\n placeholder={placeholder}\n value={value || []}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n />\n );\n }\n\n case FormControlTypeEnum.DATE:\n case FormControlTypeEnum.DATETIME: {\n let dateConfig = {};\n if (type === FormControlTypeEnum.DATETIME) {\n dateConfig = {\n showTime: true,\n };\n }\n const { readOnly, placeholder } = restProps;\n const formater = computeDateFormat(type, value);\n return (\n <DatePicker\n value={formater.value}\n placeholder={placeholder}\n disabled={readOnly}\n format={formater.format}\n {...dateConfig}\n onChange={(date, dateString) =>\n this.handleDateChange(date, dateString)\n }\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.SELECT: {\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n return (\n <Select\n placeholder={placeholder}\n mode={this.props.multiSelect ? \"multiple\" : undefined}\n value={newValue}\n onChange={(e: any) => this.onChange(e)}\n disabled={readOnly}\n className={this.props.className}\n style={this.props.style}\n showSearch\n allowClear={true}\n >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n case FormControlTypeEnum.TREESELECT: {\n // istanbul ignore next\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n const isMultiple =\n attribute.value.type === \"enums\" &&\n (attribute.value.mode as any) === \"cascade\";\n const treeData: any = treeEnumFormat(\n attribute.value.regex || [],\n isMultiple\n );\n return (\n <TreeSelect\n value={newValue}\n allowClear\n showSearch\n treeData={treeData}\n disabled={readOnly}\n placeholder={placeholder}\n className={this.props.className}\n style={this.props.style}\n treeCheckable={attribute.value.type === \"enums\"}\n onChange={(e: any) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.ATTACHMENT: {\n const { readOnly } = restProps;\n return (\n <CmdbUpload\n disabled={readOnly}\n value={value}\n className={this.props.className}\n style={this.props.style}\n autoUpload\n uploadConfig={this.props.uploadConfig}\n onChange={(e: any) => this.onChange(e)}\n ></CmdbUpload>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -385,7 +385,7 @@ export class AdvancedSearchForm extends React.Component {
385
385
  var multiValueSearchOperator = multiValueSearchOperators.find(operator => operator.comparisonOperator === operation.operator);
386
386
  if (multiValueSearchOperator) {
387
387
  var values;
388
- if (field.attrValue.type === ModelAttributeValueType.ENUM || field.attrValue.type === ModelAttributeValueType.ARR) {
388
+ if (field.attrValue.type === ModelAttributeValueType.ENUM && field.attrValue.mode !== "cascade" || field.attrValue.type === ModelAttributeValueType.ARR) {
389
389
  values = value;
390
390
  } else if (typeof value === "string") {
391
391
  if (!ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE || !value.includes('"')) {
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedSearch.js","names":["React","update","isEqual","find","startsWith","findKey","isNil","flatten","isString","isArray","Form","Button","Col","Input","Row","Select","getRuntime","ComparisonOperators","ElementOperators","forEachAvailableFields","getInstanceNameKeys","LogicalOperators","clusterMap","styles","i18n","NS_LIBS_CMDB_INSTANCES","K","FormControlTypeEnum","ModelAttributeFormControl","ModelAttributeValueType","ModelAttributeValueModeType","processAttrValueWithQuote","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","isAgentStatus","ConditionType","FieldTypeConditionTypesMap","STRING","Contain","NotContain","Equal","NotEqual","Empty","NotEmpty","INTEGER","Between","FLOAT","DATE","DATETIME","ENUM","ENUMS","ARR","STRUCT","IP","BOOLEAN","JSON","AgentStatusConditionType","multiValueSearchOperators","comparisonOperator","Like","logicalOperator","Or","NotLike","And","STRUCT_LIST","getCondition","conditionType","fieldType","label","operations","t","concat","OPERATOR_EQUAL_DEFINE","operator","In","OPERATOR_NOT_EQUAL_DEFINE","NotIn","OPERATOR_CONTAIN_DEFINE","prefix","suffix","OPERATOR_NOT_CONTAIN_DEFINE","OPERATOR_IS_EMPTY_DEFINE","Exists","fixedValue","OPERATOR_IS_NOT_EMPTY_DEFINE","True","False","GreaterThanOrEqual","LessThanOrEqual","OPERATOR_BETWEEN_DEFINE_TEXT_INT","OPERATOR_BETWEEN_DEFINE_TEXT_TIME","OPERATOR_BETWEEN_DEFINE_TEXT","OPERATOR_BETWEEN_DEFINE_TEXT_THE","type","convertValue","valueType","value","isNaN","parseInt","undefined","parseFloat","getFieldConditionsAndValues","fieldQueryOperatorExpressionsMap","id","isRelation","relationSideId","objectId","attrId","expressions","expressionsKeys","relatedKey","v","k","relatedExpressions","Object","keys","currentCondition","fieldConditionType","availableConditions","map","_expressionsKeys","condition","length","operatorsStr","isFixedValueEqual","every","operation","push","_operation$fixedValue","_expressions$operatio","toString","includes","queryValuesStr","values","_expressions","i","multiValueSearchOperator","trim","split","filter","join","slice","endsWith","disabled","AdvancedSearchForm","Component","constructor","props","_defineProperty","valueIndex","field","fieldIndex","setState","fields","state","$set","hasFixedValues","some","newValues","newFields","relatedFieldIndex","findIndex","f","relatedField","relatedCondition","setFormFieldValues","e","_this$props","preventDefault","_objectSpread","autoSearch","onSearch","queries","queriesToShow","fieldToShow","forEach","fieldQuery","fieldQueryToShow","hasValue","structQueryId","isStruct","attrValue","struct_define","struct_item","index","fieldId","fieldIdToShow","Array","structId","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","query","entries","_ref","key","firstSubQuery","compareOperators","compareOperator","subQueryValue","targetField","_this$props$fieldToSh","fieldItem","item","targetValue","modelData","attr","attrValueType","regex","mode","name","relation","sides","relationObject","idObjectMap","that","showKeys","showKey","_find$name","_find","nameOfShowKey","attrList","this","fieldIds","reduce","acc","setFieldsValue","getFields","getFieldDecorator","hasBetween","style","multiSelect","isBetween","getFeatureFlags","CASCADE","TREESELECT","SELECT","minWidth","createElement","span","Item","Group","className","conditionInputGroup","compact","dropdownMatchSelectWidth","onChange","onConditionChange","Option","Fragment","separatorInput","placeholder","initialValue","attribute","onValueChange","conditionInput","render","advancedSearch","layout","advancedSearchForm","onSubmit","handleSearch","gutter","textAlign","htmlType","SEARCH","marginLeft","onClick","handleReset","RESET","AdvancedSearch","create"],"sources":["../../../src/instance-list-table/AdvancedSearch.tsx"],"sourcesContent":["import React, { ChangeEvent, FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport {\n isEqual,\n find,\n startsWith,\n findKey,\n isNil,\n flatten,\n isString,\n isArray,\n} from \"lodash\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Col, Input, Row, Select } from \"antd\";\nimport { FormComponentProps } from \"@ant-design/compatible/lib/form\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport {\n ComparisonOperators,\n ElementOperators,\n forEachAvailableFields,\n getInstanceNameKeys,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n} from \"@next-libs/cmdb-utils\";\nimport { clusterMap } from \"./constants\";\nimport styles from \"./AdvancedSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n ModelAttributeValueModeType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n isAgentStatus,\n} from \"../processors\";\n\nexport enum ConditionType {\n Equal = \"equal\",\n NotEqual = \"notEqual\",\n Contain = \"contain\",\n NotContain = \"notContain\",\n Empty = \"empty\",\n NotEmpty = \"notEmpty\",\n Between = \"between\",\n True = \"true\",\n False = \"false\",\n}\n\ninterface ConditionOperation {\n operator: ComparisonOperators | ElementOperators;\n fixedValue?: any;\n prefix?: string;\n suffix?: string;\n}\n\ninterface Condition {\n type: ConditionType;\n label: string;\n operations: ConditionOperation[];\n}\n\nconst FieldTypeConditionTypesMap: Record<string, ConditionType[]> = {\n [ModelAttributeValueType.STRING]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.INTEGER]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.FLOAT]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATE]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATETIME]: [\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUM]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUMS]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ARR]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.STRUCT]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.IP]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.BOOLEAN]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.JSON]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n};\n\nconst AgentStatusConditionType: ConditionType[] = [\n ConditionType.Equal,\n ConditionType.NotEqual,\n];\nconst multiValueSearchOperators = [\n {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotLike,\n logicalOperator: LogicalOperators.And,\n },\n {\n comparisonOperator: ComparisonOperators.Equal,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotEqual,\n logicalOperator: LogicalOperators.And,\n },\n];\nFieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT_LIST] =\n FieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT];\n\nexport function getCondition(\n conditionType: ConditionType,\n fieldType: ModelAttributeValueType\n): Condition {\n let label: string;\n let operations: ConditionOperation[];\n\n switch (conditionType) {\n case ConditionType.Equal:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_EQUAL_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Equal,\n },\n ];\n }\n break;\n case ConditionType.NotEqual:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_EQUAL_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotEqual,\n },\n ];\n }\n break;\n case ConditionType.Contain:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Like,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.NotContain:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_CONTAIN_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotLike,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.Empty:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_EMPTY_DEFINE}`);\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.NotEmpty:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_NOT_EMPTY_DEFINE}`\n );\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.True:\n label = \"true\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.False:\n label = \"false\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.Between:\n operations = [\n {\n operator: ComparisonOperators.GreaterThanOrEqual,\n },\n {\n operator: ComparisonOperators.LessThanOrEqual,\n },\n ];\n switch (fieldType) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n // label = \"在此区间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_INT}`\n );\n break;\n case ModelAttributeValueType.DATE:\n case ModelAttributeValueType.DATETIME:\n // label = \"在此期间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_TIME}`\n );\n break;\n case ModelAttributeValueType.IP:\n // label = \"范围\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT}`\n );\n break;\n default:\n // label = \"在此之间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_THE}`\n );\n }\n break;\n }\n\n return {\n type: conditionType,\n label,\n operations,\n };\n}\n\nexport function convertValue(valueType: string, value: any): any {\n if (typeof value !== \"boolean\") {\n switch (valueType) {\n case ModelAttributeValueType.INTEGER:\n // undefined 后台可剔除\n return isNaN(parseInt(value)) ? undefined : parseInt(value);\n case ModelAttributeValueType.FLOAT:\n return isNaN(parseFloat(value)) ? undefined : parseFloat(value);\n case ModelAttributeValueType.BOOLEAN:\n return value === \"true\";\n }\n }\n return value;\n}\n\nexport function getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap: Record<string, QueryOperatorExpressions>,\n id: string,\n valueType: ModelAttributeValueType,\n isRelation?: boolean,\n relationSideId?: string,\n objectId?: string,\n attrId?: string\n) {\n // let isRelationWithNoExpression = false;\n // 针对主机的 agent状态,暂不支持 为空/不为空的筛选,将特殊处理\n let expressions = fieldQueryOperatorExpressionsMap[id];\n let expressionsKeys: string[];\n if (!expressions && isRelation) {\n // isRelationWithNoExpression = true;\n const relatedKey = findKey(\n fieldQueryOperatorExpressionsMap,\n (v, k) => startsWith(k, `${relationSideId}.`) || k === relationSideId\n );\n const relatedExpressions = fieldQueryOperatorExpressionsMap[relatedKey];\n if (\n relatedExpressions &&\n !isNil(relatedExpressions[ElementOperators.Exists])\n ) {\n expressions = fieldQueryOperatorExpressionsMap[relatedKey];\n }\n }\n\n if (expressions) {\n expressionsKeys = Object.keys(expressions);\n }\n let currentCondition: Condition;\n const fieldConditionType =\n isAgentStatus(objectId, id) && valueType === ModelAttributeValueType.ENUM\n ? AgentStatusConditionType\n : FieldTypeConditionTypesMap[valueType];\n const availableConditions = fieldConditionType.map((conditionType) => {\n const condition = getCondition(conditionType, valueType);\n\n if (expressionsKeys?.length) {\n const operatorsStr: string[] = [];\n // 由于当 ConditionType.Between ,operations 有两个,当用户只填选一个时,currentCondition会默认第一个选择器。与实际不符\n const isFixedValueEqual = condition.operations.every((operation) => {\n operatorsStr.push(operation.operator);\n\n if (operation.fixedValue !== undefined) {\n return (\n operation.fixedValue?.toString() ===\n expressions[operation?.operator]?.toString()\n );\n } else {\n return true;\n }\n });\n if (\n isFixedValueEqual &&\n expressionsKeys.every((operator) => operatorsStr.includes(operator))\n ) {\n currentCondition = condition;\n }\n }\n\n return condition;\n });\n if (!currentCondition) {\n currentCondition = availableConditions[0];\n }\n let queryValuesStr = \"\";\n const values = currentCondition.operations.map((operation) => {\n let value: any;\n // istanbul ignore else ElementOperators.Exists时直接返回fixedValue\n if (\n expressions?.[operation.operator] !== undefined &&\n operation.operator !== ElementOperators.Exists\n ) {\n value = expressions[operation.operator];\n let values = [expressions[operation.operator]];\n const i = multiValueSearchOperators.find(\n (multiValueSearchOperator) =>\n multiValueSearchOperator.comparisonOperator === operation.operator\n );\n if (i) {\n if (\n valueType === ModelAttributeValueType.ENUM ||\n typeof expressions[operation.operator] === \"string\"\n ) {\n values = expressions[operation.operator]\n .trim()\n .split(/\\s+/)\n .map((value: string) => convertValue(valueType, value))\n .filter((value: any) => !isNil(value));\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n values = values.map((value) => clusterMap[value]);\n }\n }\n }\n if (\n typeof values[0] === \"string\" ||\n typeof values[0] === \"number\" ||\n typeof values[0] === \"boolean\"\n ) {\n queryValuesStr = values.join(\" \");\n values = values.map((value: string) => {\n if (operation.prefix && value.startsWith(operation.prefix)) {\n value = value.slice(operation.prefix.length);\n }\n if (operation.suffix && value.endsWith(operation.suffix)) {\n value = value.slice(0, value.length - operation.suffix.length);\n }\n return value;\n });\n value = [\n ModelAttributeValueType.ENUM,\n ModelAttributeValueType.ARR,\n ].includes(valueType)\n ? values\n : values.join(\" \");\n }\n } else {\n value = operation.fixedValue !== undefined ? operation.fixedValue : null;\n }\n\n return value;\n });\n const disabled = false;\n return {\n availableConditions,\n currentCondition,\n values,\n queryValuesStr,\n disabled,\n };\n}\n\nexport interface Field {\n id: string;\n name: string;\n attrValue: Partial<CmdbModels.ModelObjectAttrValue>;\n values: any[];\n availableConditions: Condition[];\n currentCondition: Condition;\n isRelation: boolean;\n relationSideId?: string;\n disabled?: boolean;\n}\n\nexport interface AdvancedSearchFormProps extends FormComponentProps {\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n q?: Query[];\n placeholder?: string;\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n autoSearch?: (fields: Field[]) => void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n onChange?(e: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport interface AdvancedSearchFormState {\n fields: Field[];\n}\n\nexport class AdvancedSearchForm extends React.Component<\n AdvancedSearchFormProps,\n AdvancedSearchFormState\n> {\n constructor(props: AdvancedSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<AdvancedSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n const fields: Field[] = [];\n if (this.props.q) {\n this.props.q.forEach((query) => {\n Object.entries(query).forEach(([key, expressions]) => {\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n // 由于 ConditionType.Between 这边的 operator 是两个,由于需要支持选择一个的时候也要显示出来,这边不能将选择器合并成str吐出去\n const compareOperators = Object.keys(firstSubQuery[fieldId]);\n const compareOperator =\n compareOperators.length > 1\n ? compareOperators\n : compareOperators.join(\"\");\n let subQueryValue = \"\";\n let targetField;\n if (ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE) {\n targetField = this.props.fieldToShow?.find(\n (fieldItem) => Object.keys(fieldItem)[0] === fieldId\n );\n }\n if (!isNil(targetField)) {\n // 二维数组会有问题,\n subQueryValue = isArray(targetField[fieldId])\n ? targetField[fieldId]\n .map((item) => (isArray(item) ? item.join(\" \") : item))\n .join(\"\")\n : (targetField[fieldId] as any);\n } else {\n subQueryValue = (expressions as Query[])\n .map((query) => {\n const targetValue = (\n query[fieldId] as Record<ComparisonOperators, any>\n )[compareOperator as ComparisonOperators];\n if (\n compareOperator === ComparisonOperators.Like ||\n compareOperator === ComparisonOperators.NotLike\n ) {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `${targetValue[0]}\"${targetValue.slice(\n 1,\n targetValue.length - 1\n )}\"${targetValue[targetValue.length - 1]}`\n : targetValue;\n }\n // 对于时间选择器有两个的,不用特意将值转换成str,因为不需要这里的值\n else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = Array.isArray(compareOperator)\n ? firstSubQuery[fieldId]\n : {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n forEachAvailableFields(\n this.props.modelData,\n (attr) => {\n const attrValue: Partial<CmdbModels.ModelObjectAttrValue> & {\n isStruct?: boolean;\n } & { isClusterType?: boolean } = {};\n const attrValueType: any = attr.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.STRUCT_LIST:\n attrValue.type = ModelAttributeValueType.STRING;\n attrValue.struct_define = attr.value.struct_define;\n attrValue.isStruct = true;\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n attrValue.type = attr.value.type;\n attrValue.regex = attr.value.regex;\n attrValue.mode = attr.value.mode;\n break;\n default:\n attrValue.type = attr.value.type;\n }\n\n fields.push({\n id: `_${attr.id}`,\n name: attr.name,\n attrValue,\n isRelation: false,\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n attr.id,\n attr.value.type as ModelAttributeValueType,\n false,\n \"\",\n this.props.modelData.objectId\n ),\n });\n },\n (relation, sides) => {\n const relationObject =\n this.props.idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const showKeys = getInstanceNameKeys(relationObject);\n showKeys.forEach((showKey, index) => {\n const nameOfShowKey =\n find(relationObject?.attrList, [\"id\", showKey])?.name ?? showKey;\n const id = `${\n relation[`${sides.this}_id` as RelationIdKeys]\n }.${showKey}`;\n const type = ModelAttributeValueType.STRING;\n\n fields.push({\n id: `_${id}`,\n name: `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfShowKey})`,\n attrValue: { type },\n isRelation: true,\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n id,\n type,\n true,\n relation[`${sides.this}_id` as RelationNameKeys],\n this.props.modelData.objectId\n ),\n });\n });\n },\n this.props.fieldIds\n );\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n acc[`${field.id}[${valueIndex}]`] =\n operation.fixedValue === undefined ? value : \"\";\n });\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (\n value: any,\n valueIndex: number,\n field: Field,\n fieldIndex: number\n ) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n onConditionChange = (\n value: ConditionType,\n field: Field,\n fieldIndex: number\n ) => {\n const hasFixedValues = field.currentCondition.operations.some(\n (operation) => operation.fixedValue !== undefined\n );\n\n const condition = field.availableConditions.find(\n (condition) => condition.type === value\n );\n let newValues = condition.operations.map((operation) =>\n operation.fixedValue !== undefined ? operation.fixedValue : null\n );\n if (\n newValues.every((value) => value === null) &&\n !hasFixedValues &&\n this.state.fields[fieldIndex].values.length === newValues.length\n ) {\n newValues = this.state.fields[fieldIndex].values;\n }\n\n let newFields = update(this.state.fields, {\n [fieldIndex]: {\n currentCondition: { $set: condition },\n values: {\n $set: newValues,\n },\n },\n });\n\n const relatedFieldIndex = newFields.findIndex(\n (f) =>\n f.isRelation &&\n f.relationSideId === field.relationSideId &&\n f.id !== field.id\n );\n if (relatedFieldIndex !== -1) {\n const relatedField = newFields[relatedFieldIndex];\n const relatedCondition = relatedField.availableConditions.find(\n (condition) => condition.type === value\n );\n if (condition.operations[0].operator === ElementOperators.Exists) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedCondition },\n values: {\n $set: [null],\n },\n },\n });\n } else if (\n relatedField.currentCondition.operations[0].operator ===\n ElementOperators.Exists\n ) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedField.availableConditions[0] },\n values: {\n $set: [null],\n },\n },\n });\n }\n }\n\n this.setState({\n fields: newFields,\n });\n\n this.setFormFieldValues(newFields);\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n const hasBetween = this.state.fields.some((field) =>\n [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.DATE,\n ModelAttributeValueType.DATETIME,\n ].includes(field.attrValue.type as ModelAttributeValueType)\n );\n return this.state.fields.map((field, fieldIndex) => {\n let type: string;\n let style: React.CSSProperties;\n let attrValue: any = field.attrValue;\n let multiSelect = false;\n const isBetween: boolean =\n field.currentCondition.type === ConditionType.Between;\n switch (field.attrValue.type) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n attrValue = {\n type: isBetween\n ? ModelAttributeValueType.INTEGER\n : ModelAttributeValueType.STRING,\n };\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (field.attrValue.mode as any) ===\n ModelAttributeValueModeType.CASCADE\n ) {\n // istanbul ignore next\n type = FormControlTypeEnum.TREESELECT;\n } else {\n type = FormControlTypeEnum.SELECT;\n }\n multiSelect = true;\n break;\n case ModelAttributeValueType.DATETIME:\n style = { minWidth: \"auto\" };\n break;\n }\n //高级搜索这里即使是json格式,也用input输入框进行搜索\n if ((attrValue as any).type === \"json\") {\n attrValue = { ...attrValue, type: \"str\" };\n }\n return (\n <Col span={hasBetween ? 12 : 8} key={field.id}>\n <Form.Item label={field.name}>\n <Input.Group className={styles.conditionInputGroup} compact>\n <Select\n dropdownMatchSelectWidth={false}\n value={field.currentCondition.type}\n onChange={(value: ConditionType) =>\n this.onConditionChange(value, field, fieldIndex)\n }\n disabled={field.disabled}\n >\n {field.availableConditions.map((condition) => (\n <Select.Option value={condition.type} key={condition.type}>\n {condition.label}\n </Select.Option>\n ))}\n </Select>\n {field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n\n return (\n <React.Fragment\n key={`${field.currentCondition.type}-${operation.operator}`}\n >\n {valueIndex > 0 && (\n <Input\n className={styles.separatorInput}\n placeholder=\"~\"\n disabled\n />\n )}\n {getFieldDecorator(`${field.id}[${valueIndex}]`, {\n initialValue:\n operation.fixedValue === undefined ? value : \"\",\n })(\n operation.fixedValue === undefined && !field.disabled ? (\n <ModelAttributeFormControl\n type={type}\n attribute={{\n id: field.id,\n name: field.name,\n value: attrValue,\n }}\n objectId={this.props.modelData.objectId}\n multiSelect={multiSelect}\n onChange={(value: any) =>\n this.onValueChange(\n value,\n valueIndex,\n field,\n fieldIndex\n )\n }\n className={styles.conditionInput}\n style={style}\n />\n ) : (\n <Input disabled />\n )\n )}\n </React.Fragment>\n );\n })}\n </Input.Group>\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n const fields = this.state.fields.map((v) => ({ ...v, id: v.id.slice(1) }));\n if (this.props?.autoSearch) this.props.autoSearch(fields);\n if (this.props.onSearch) {\n // 当过滤字段为relation并且过滤条件为ElementOperators.Exists的时候,发起后台请求的搜索queries与负责前端展示的query不同。需要额外处理。\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n let fieldQuery: Query = { [field.id]: expressions };\n let fieldQueryToShow: Query = { [field.id]: expressions };\n let hasValue = false;\n let structQueryId: string[];\n const isStruct = !!(field.attrValue as any).isStruct;\n if (isStruct) {\n structQueryId = field.attrValue.struct_define.map(\n (struct_item) => `${field.id}.${struct_item.id}`\n );\n }\n field.values.forEach((value, index) => {\n const operation = field.currentCondition.operations[index];\n const fieldId =\n field.isRelation && ElementOperators.Exists === operation.operator\n ? field.relationSideId\n : field.id;\n fieldQuery = { [fieldId]: expressions };\n\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n const multiValueSearchOperator = multiValueSearchOperators.find(\n (operator) => operator.comparisonOperator === operation.operator\n );\n if (multiValueSearchOperator) {\n let values: any[];\n if (\n field.attrValue.type === ModelAttributeValueType.ENUM ||\n field.attrValue.type === ModelAttributeValueType.ARR\n ) {\n values = value;\n } else if (typeof value === \"string\") {\n if (\n !ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE ||\n !value.includes('\"')\n ) {\n values = value\n .trim()\n .split(/\\s+/)\n .map((value) => convertValue(field.attrValue.type, value))\n .filter((value) => !isNil(value));\n } else {\n values = processAttrValueWithQuote(value, []);\n }\n } else {\n values = [value];\n }\n if (values.length) {\n if (isStruct) {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: flatten(\n values.map((value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n\n return structQueryId.map(\n (structId: string | number) => ({\n [structId]: {\n [operation.operator]: value,\n },\n })\n );\n })\n ),\n };\n } else {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldId]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n }\n fieldQueryToShow = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldIdToShow]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n } else {\n value = convertValue(field.attrValue.type, value);\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n expressions[operation.operator] = value;\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n }\n });\n if (hasValue) {\n queries.push(fieldQuery);\n queriesToShow.push(fieldQueryToShow);\n }\n });\n if (queries.length === 0) {\n queries = undefined;\n queriesToShow = undefined;\n }\n if (!isEqual(this.props.q, queries)) {\n this.props.onSearch(queries, queriesToShow, fieldToShow);\n }\n }\n };\n\n handleReset = () => {\n if (this.props.autoSearch) this.props.autoSearch([]);\n this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.advancedSearch}>\n <Form\n layout=\"vertical\"\n className={styles.advancedSearchForm}\n onSubmit={this.handleSearch}\n >\n <Row gutter={50}>{this.getFields()}</Row>\n <Row>\n <Col span={24} style={{ textAlign: \"right\" }}>\n <Button\n type=\"primary\"\n htmlType=\"submit\"\n data-testid=\"submit-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH}`)}\n </Button>\n <Button\n style={{ marginLeft: 8 }}\n onClick={this.handleReset}\n data-testid=\"reset-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n </Col>\n </Row>\n </Form>\n </div>\n );\n }\n}\n\nexport const AdvancedSearch = Form.create<AdvancedSearchFormProps>({\n name: \"advanced_search\",\n})(AdvancedSearchForm);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AdvancedSearch.js","names":["React","update","isEqual","find","startsWith","findKey","isNil","flatten","isString","isArray","Form","Button","Col","Input","Row","Select","getRuntime","ComparisonOperators","ElementOperators","forEachAvailableFields","getInstanceNameKeys","LogicalOperators","clusterMap","styles","i18n","NS_LIBS_CMDB_INSTANCES","K","FormControlTypeEnum","ModelAttributeFormControl","ModelAttributeValueType","ModelAttributeValueModeType","processAttrValueWithQuote","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","isAgentStatus","ConditionType","FieldTypeConditionTypesMap","STRING","Contain","NotContain","Equal","NotEqual","Empty","NotEmpty","INTEGER","Between","FLOAT","DATE","DATETIME","ENUM","ENUMS","ARR","STRUCT","IP","BOOLEAN","JSON","AgentStatusConditionType","multiValueSearchOperators","comparisonOperator","Like","logicalOperator","Or","NotLike","And","STRUCT_LIST","getCondition","conditionType","fieldType","label","operations","t","concat","OPERATOR_EQUAL_DEFINE","operator","In","OPERATOR_NOT_EQUAL_DEFINE","NotIn","OPERATOR_CONTAIN_DEFINE","prefix","suffix","OPERATOR_NOT_CONTAIN_DEFINE","OPERATOR_IS_EMPTY_DEFINE","Exists","fixedValue","OPERATOR_IS_NOT_EMPTY_DEFINE","True","False","GreaterThanOrEqual","LessThanOrEqual","OPERATOR_BETWEEN_DEFINE_TEXT_INT","OPERATOR_BETWEEN_DEFINE_TEXT_TIME","OPERATOR_BETWEEN_DEFINE_TEXT","OPERATOR_BETWEEN_DEFINE_TEXT_THE","type","convertValue","valueType","value","isNaN","parseInt","undefined","parseFloat","getFieldConditionsAndValues","fieldQueryOperatorExpressionsMap","id","isRelation","relationSideId","objectId","attrId","expressions","expressionsKeys","relatedKey","v","k","relatedExpressions","Object","keys","currentCondition","fieldConditionType","availableConditions","map","_expressionsKeys","condition","length","operatorsStr","isFixedValueEqual","every","operation","push","_operation$fixedValue","_expressions$operatio","toString","includes","queryValuesStr","values","_expressions","i","multiValueSearchOperator","trim","split","filter","join","slice","endsWith","disabled","AdvancedSearchForm","Component","constructor","props","_defineProperty","valueIndex","field","fieldIndex","setState","fields","state","$set","hasFixedValues","some","newValues","newFields","relatedFieldIndex","findIndex","f","relatedField","relatedCondition","setFormFieldValues","e","_this$props","preventDefault","_objectSpread","autoSearch","onSearch","queries","queriesToShow","fieldToShow","forEach","fieldQuery","fieldQueryToShow","hasValue","structQueryId","isStruct","attrValue","struct_define","struct_item","index","fieldId","fieldIdToShow","Array","mode","structId","q","form","resetFields","computeState","componentDidUpdate","prevProps","newState","query","entries","_ref","key","firstSubQuery","compareOperators","compareOperator","subQueryValue","targetField","_this$props$fieldToSh","fieldItem","item","targetValue","modelData","attr","attrValueType","regex","name","relation","sides","relationObject","idObjectMap","that","showKeys","showKey","_find$name","_find","nameOfShowKey","attrList","this","fieldIds","reduce","acc","setFieldsValue","getFields","getFieldDecorator","hasBetween","style","multiSelect","isBetween","getFeatureFlags","CASCADE","TREESELECT","SELECT","minWidth","createElement","span","Item","Group","className","conditionInputGroup","compact","dropdownMatchSelectWidth","onChange","onConditionChange","Option","Fragment","separatorInput","placeholder","initialValue","attribute","onValueChange","conditionInput","render","advancedSearch","layout","advancedSearchForm","onSubmit","handleSearch","gutter","textAlign","htmlType","SEARCH","marginLeft","onClick","handleReset","RESET","AdvancedSearch","create"],"sources":["../../../src/instance-list-table/AdvancedSearch.tsx"],"sourcesContent":["import React, { ChangeEvent, FormEvent } from \"react\";\nimport update from \"immutability-helper\";\nimport {\n isEqual,\n find,\n startsWith,\n findKey,\n isNil,\n flatten,\n isString,\n isArray,\n} from \"lodash\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Col, Input, Row, Select } from \"antd\";\nimport { FormComponentProps } from \"@ant-design/compatible/lib/form\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport {\n ComparisonOperators,\n ElementOperators,\n forEachAvailableFields,\n getInstanceNameKeys,\n LogicalOperators,\n Query,\n QueryOperatorExpressions,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n} from \"@next-libs/cmdb-utils\";\nimport { clusterMap } from \"./constants\";\nimport styles from \"./AdvancedSearch.module.css\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n ModelAttributeValueModeType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport {\n processAttrValueWithQuote,\n ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE,\n isAgentStatus,\n} from \"../processors\";\n\nexport enum ConditionType {\n Equal = \"equal\",\n NotEqual = \"notEqual\",\n Contain = \"contain\",\n NotContain = \"notContain\",\n Empty = \"empty\",\n NotEmpty = \"notEmpty\",\n Between = \"between\",\n True = \"true\",\n False = \"false\",\n}\n\ninterface ConditionOperation {\n operator: ComparisonOperators | ElementOperators;\n fixedValue?: any;\n prefix?: string;\n suffix?: string;\n}\n\ninterface Condition {\n type: ConditionType;\n label: string;\n operations: ConditionOperation[];\n}\n\nconst FieldTypeConditionTypesMap: Record<string, ConditionType[]> = {\n [ModelAttributeValueType.STRING]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.INTEGER]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.FLOAT]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATE]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.DATETIME]: [\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUM]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ENUMS]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.ARR]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.STRUCT]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.IP]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.BOOLEAN]: [\n ConditionType.Equal,\n ConditionType.NotEqual,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n [ModelAttributeValueType.JSON]: [\n ConditionType.Contain,\n ConditionType.NotContain,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ],\n};\n\nconst AgentStatusConditionType: ConditionType[] = [\n ConditionType.Equal,\n ConditionType.NotEqual,\n];\nconst multiValueSearchOperators = [\n {\n comparisonOperator: ComparisonOperators.Like,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotLike,\n logicalOperator: LogicalOperators.And,\n },\n {\n comparisonOperator: ComparisonOperators.Equal,\n logicalOperator: LogicalOperators.Or,\n },\n {\n comparisonOperator: ComparisonOperators.NotEqual,\n logicalOperator: LogicalOperators.And,\n },\n];\nFieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT_LIST] =\n FieldTypeConditionTypesMap[ModelAttributeValueType.STRUCT];\n\nexport function getCondition(\n conditionType: ConditionType,\n fieldType: ModelAttributeValueType\n): Condition {\n let label: string;\n let operations: ConditionOperation[];\n\n switch (conditionType) {\n case ConditionType.Equal:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_EQUAL_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Equal,\n },\n ];\n }\n break;\n case ConditionType.NotEqual:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_EQUAL_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ARR:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotEqual,\n },\n ];\n }\n break;\n case ConditionType.Contain:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_CONTAIN_DEFINE}`);\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.In,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.Like,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.NotContain:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_NOT_CONTAIN_DEFINE}`\n );\n switch (fieldType) {\n case ModelAttributeValueType.ENUMS:\n operations = [\n {\n operator: ComparisonOperators.NotIn,\n },\n ];\n break;\n default:\n operations = [\n {\n operator: ComparisonOperators.NotLike,\n prefix: \"%\",\n suffix: \"%\",\n },\n ];\n }\n break;\n case ConditionType.Empty:\n label = i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_EMPTY_DEFINE}`);\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.NotEmpty:\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_IS_NOT_EMPTY_DEFINE}`\n );\n operations = [\n {\n operator: ElementOperators.Exists,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.True:\n label = \"true\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: true,\n },\n ];\n break;\n case ConditionType.False:\n label = \"false\";\n operations = [\n {\n operator: ComparisonOperators.Equal,\n fixedValue: false,\n },\n ];\n break;\n case ConditionType.Between:\n operations = [\n {\n operator: ComparisonOperators.GreaterThanOrEqual,\n },\n {\n operator: ComparisonOperators.LessThanOrEqual,\n },\n ];\n switch (fieldType) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n // label = \"在此区间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_INT}`\n );\n break;\n case ModelAttributeValueType.DATE:\n case ModelAttributeValueType.DATETIME:\n // label = \"在此期间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_TIME}`\n );\n break;\n case ModelAttributeValueType.IP:\n // label = \"范围\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT}`\n );\n break;\n default:\n // label = \"在此之间\";\n label = i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.OPERATOR_BETWEEN_DEFINE_TEXT_THE}`\n );\n }\n break;\n }\n\n return {\n type: conditionType,\n label,\n operations,\n };\n}\n\nexport function convertValue(valueType: string, value: any): any {\n if (typeof value !== \"boolean\") {\n switch (valueType) {\n case ModelAttributeValueType.INTEGER:\n // undefined 后台可剔除\n return isNaN(parseInt(value)) ? undefined : parseInt(value);\n case ModelAttributeValueType.FLOAT:\n return isNaN(parseFloat(value)) ? undefined : parseFloat(value);\n case ModelAttributeValueType.BOOLEAN:\n return value === \"true\";\n }\n }\n return value;\n}\n\nexport function getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap: Record<string, QueryOperatorExpressions>,\n id: string,\n valueType: ModelAttributeValueType,\n isRelation?: boolean,\n relationSideId?: string,\n objectId?: string,\n attrId?: string\n) {\n // let isRelationWithNoExpression = false;\n // 针对主机的 agent状态,暂不支持 为空/不为空的筛选,将特殊处理\n let expressions = fieldQueryOperatorExpressionsMap[id];\n let expressionsKeys: string[];\n if (!expressions && isRelation) {\n // isRelationWithNoExpression = true;\n const relatedKey = findKey(\n fieldQueryOperatorExpressionsMap,\n (v, k) => startsWith(k, `${relationSideId}.`) || k === relationSideId\n );\n const relatedExpressions = fieldQueryOperatorExpressionsMap[relatedKey];\n if (\n relatedExpressions &&\n !isNil(relatedExpressions[ElementOperators.Exists])\n ) {\n expressions = fieldQueryOperatorExpressionsMap[relatedKey];\n }\n }\n\n if (expressions) {\n expressionsKeys = Object.keys(expressions);\n }\n let currentCondition: Condition;\n const fieldConditionType =\n isAgentStatus(objectId, id) && valueType === ModelAttributeValueType.ENUM\n ? AgentStatusConditionType\n : FieldTypeConditionTypesMap[valueType];\n const availableConditions = fieldConditionType.map((conditionType) => {\n const condition = getCondition(conditionType, valueType);\n\n if (expressionsKeys?.length) {\n const operatorsStr: string[] = [];\n // 由于当 ConditionType.Between ,operations 有两个,当用户只填选一个时,currentCondition会默认第一个选择器。与实际不符\n const isFixedValueEqual = condition.operations.every((operation) => {\n operatorsStr.push(operation.operator);\n\n if (operation.fixedValue !== undefined) {\n return (\n operation.fixedValue?.toString() ===\n expressions[operation?.operator]?.toString()\n );\n } else {\n return true;\n }\n });\n if (\n isFixedValueEqual &&\n expressionsKeys.every((operator) => operatorsStr.includes(operator))\n ) {\n currentCondition = condition;\n }\n }\n\n return condition;\n });\n if (!currentCondition) {\n currentCondition = availableConditions[0];\n }\n let queryValuesStr = \"\";\n const values = currentCondition.operations.map((operation) => {\n let value: any;\n // istanbul ignore else ElementOperators.Exists时直接返回fixedValue\n if (\n expressions?.[operation.operator] !== undefined &&\n operation.operator !== ElementOperators.Exists\n ) {\n value = expressions[operation.operator];\n let values = [expressions[operation.operator]];\n const i = multiValueSearchOperators.find(\n (multiValueSearchOperator) =>\n multiValueSearchOperator.comparisonOperator === operation.operator\n );\n if (i) {\n if (\n valueType === ModelAttributeValueType.ENUM ||\n typeof expressions[operation.operator] === \"string\"\n ) {\n values = expressions[operation.operator]\n .trim()\n .split(/\\s+/)\n .map((value: string) => convertValue(valueType, value))\n .filter((value: any) => !isNil(value));\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n values = values.map((value) => clusterMap[value]);\n }\n }\n }\n if (\n typeof values[0] === \"string\" ||\n typeof values[0] === \"number\" ||\n typeof values[0] === \"boolean\"\n ) {\n queryValuesStr = values.join(\" \");\n values = values.map((value: string) => {\n if (operation.prefix && value.startsWith(operation.prefix)) {\n value = value.slice(operation.prefix.length);\n }\n if (operation.suffix && value.endsWith(operation.suffix)) {\n value = value.slice(0, value.length - operation.suffix.length);\n }\n return value;\n });\n value = [\n ModelAttributeValueType.ENUM,\n ModelAttributeValueType.ARR,\n ].includes(valueType)\n ? values\n : values.join(\" \");\n }\n } else {\n value = operation.fixedValue !== undefined ? operation.fixedValue : null;\n }\n\n return value;\n });\n const disabled = false;\n return {\n availableConditions,\n currentCondition,\n values,\n queryValuesStr,\n disabled,\n };\n}\n\nexport interface Field {\n id: string;\n name: string;\n attrValue: Partial<CmdbModels.ModelObjectAttrValue>;\n values: any[];\n availableConditions: Condition[];\n currentCondition: Condition;\n isRelation: boolean;\n relationSideId?: string;\n disabled?: boolean;\n}\n\nexport interface AdvancedSearchFormProps extends FormComponentProps {\n fieldIds?: string[];\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n q?: Query[];\n placeholder?: string;\n onSearch?(\n queries: Query[],\n queriesToShow?: Query[],\n fieldToShow?: Record<string, any[]>[]\n ): void;\n autoSearch?: (fields: Field[]) => void;\n fieldToShow?: Record<string, any[]>[]; // 回填高级搜索的field值(根据query回填丢失了引号信息)\n onChange?(e: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport interface AdvancedSearchFormState {\n fields: Field[];\n}\n\nexport class AdvancedSearchForm extends React.Component<\n AdvancedSearchFormProps,\n AdvancedSearchFormState\n> {\n constructor(props: AdvancedSearchFormProps) {\n super(props);\n\n this.state = this.computeState();\n }\n\n componentDidUpdate(prevProps: Readonly<AdvancedSearchFormProps>): void {\n if (!isEqual(this.props.q, prevProps.q)) {\n const newState = this.computeState();\n this.setState(newState);\n\n this.setFormFieldValues(newState.fields);\n }\n }\n\n computeState(): { fields: Field[] } {\n const fieldQueryOperatorExpressionsMap: Record<\n string,\n QueryOperatorExpressions\n > = {};\n const fields: Field[] = [];\n if (this.props.q) {\n this.props.q.forEach((query) => {\n Object.entries(query).forEach(([key, expressions]) => {\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n // 由于 ConditionType.Between 这边的 operator 是两个,由于需要支持选择一个的时候也要显示出来,这边不能将选择器合并成str吐出去\n const compareOperators = Object.keys(firstSubQuery[fieldId]);\n const compareOperator =\n compareOperators.length > 1\n ? compareOperators\n : compareOperators.join(\"\");\n let subQueryValue = \"\";\n let targetField;\n if (ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE) {\n targetField = this.props.fieldToShow?.find(\n (fieldItem) => Object.keys(fieldItem)[0] === fieldId\n );\n }\n if (!isNil(targetField)) {\n // 二维数组会有问题,\n subQueryValue = isArray(targetField[fieldId])\n ? targetField[fieldId]\n .map((item) => (isArray(item) ? item.join(\" \") : item))\n .join(\"\")\n : (targetField[fieldId] as any);\n } else {\n subQueryValue = (expressions as Query[])\n .map((query) => {\n const targetValue = (\n query[fieldId] as Record<ComparisonOperators, any>\n )[compareOperator as ComparisonOperators];\n if (\n compareOperator === ComparisonOperators.Like ||\n compareOperator === ComparisonOperators.NotLike\n ) {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `${targetValue[0]}\"${targetValue.slice(\n 1,\n targetValue.length - 1\n )}\"${targetValue[targetValue.length - 1]}`\n : targetValue;\n }\n // 对于时间选择器有两个的,不用特意将值转换成str,因为不需要这里的值\n else {\n return isString(targetValue) && targetValue.includes(\" \")\n ? `\"${targetValue}\"`\n : targetValue;\n }\n })\n .join(\" \");\n }\n key = fieldId;\n expressions = Array.isArray(compareOperator)\n ? firstSubQuery[fieldId]\n : {\n [compareOperator]: subQueryValue,\n };\n }\n\n fieldQueryOperatorExpressionsMap[key] =\n expressions as QueryOperatorExpressions;\n });\n });\n }\n forEachAvailableFields(\n this.props.modelData,\n (attr) => {\n const attrValue: Partial<CmdbModels.ModelObjectAttrValue> & {\n isStruct?: boolean;\n } & { isClusterType?: boolean } = {};\n const attrValueType: any = attr.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRUCT:\n case ModelAttributeValueType.STRUCT_LIST:\n attrValue.type = ModelAttributeValueType.STRING;\n attrValue.struct_define = attr.value.struct_define;\n attrValue.isStruct = true;\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n attrValue.type = attr.value.type;\n attrValue.regex = attr.value.regex;\n attrValue.mode = attr.value.mode;\n break;\n default:\n attrValue.type = attr.value.type;\n }\n\n fields.push({\n id: `_${attr.id}`,\n name: attr.name,\n attrValue,\n isRelation: false,\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n attr.id,\n attr.value.type as ModelAttributeValueType,\n false,\n \"\",\n this.props.modelData.objectId\n ),\n });\n },\n (relation, sides) => {\n const relationObject =\n this.props.idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const showKeys = getInstanceNameKeys(relationObject);\n showKeys.forEach((showKey, index) => {\n const nameOfShowKey =\n find(relationObject?.attrList, [\"id\", showKey])?.name ?? showKey;\n const id = `${\n relation[`${sides.this}_id` as RelationIdKeys]\n }.${showKey}`;\n const type = ModelAttributeValueType.STRING;\n\n fields.push({\n id: `_${id}`,\n name: `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfShowKey})`,\n attrValue: { type },\n isRelation: true,\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n ...getFieldConditionsAndValues(\n fieldQueryOperatorExpressionsMap,\n id,\n type,\n true,\n relation[`${sides.this}_id` as RelationNameKeys],\n this.props.modelData.objectId\n ),\n });\n });\n },\n this.props.fieldIds\n );\n return { fields };\n }\n\n setFormFieldValues(fields: Field[]): void {\n const values = fields.reduce<{ [key: string]: any }>((acc, field) => {\n field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n acc[`${field.id}[${valueIndex}]`] =\n operation.fixedValue === undefined ? value : \"\";\n });\n return acc;\n }, {});\n this.props.form.setFieldsValue(values);\n }\n\n onValueChange = (\n value: any,\n valueIndex: number,\n field: Field,\n fieldIndex: number\n ) => {\n this.setState({\n fields: update(this.state.fields, {\n [fieldIndex]: { values: { [valueIndex]: { $set: value } } },\n }),\n });\n };\n\n onConditionChange = (\n value: ConditionType,\n field: Field,\n fieldIndex: number\n ) => {\n const hasFixedValues = field.currentCondition.operations.some(\n (operation) => operation.fixedValue !== undefined\n );\n\n const condition = field.availableConditions.find(\n (condition) => condition.type === value\n );\n let newValues = condition.operations.map((operation) =>\n operation.fixedValue !== undefined ? operation.fixedValue : null\n );\n if (\n newValues.every((value) => value === null) &&\n !hasFixedValues &&\n this.state.fields[fieldIndex].values.length === newValues.length\n ) {\n newValues = this.state.fields[fieldIndex].values;\n }\n\n let newFields = update(this.state.fields, {\n [fieldIndex]: {\n currentCondition: { $set: condition },\n values: {\n $set: newValues,\n },\n },\n });\n\n const relatedFieldIndex = newFields.findIndex(\n (f) =>\n f.isRelation &&\n f.relationSideId === field.relationSideId &&\n f.id !== field.id\n );\n if (relatedFieldIndex !== -1) {\n const relatedField = newFields[relatedFieldIndex];\n const relatedCondition = relatedField.availableConditions.find(\n (condition) => condition.type === value\n );\n if (condition.operations[0].operator === ElementOperators.Exists) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedCondition },\n values: {\n $set: [null],\n },\n },\n });\n } else if (\n relatedField.currentCondition.operations[0].operator ===\n ElementOperators.Exists\n ) {\n newFields = update(newFields, {\n [relatedFieldIndex]: {\n currentCondition: { $set: relatedField.availableConditions[0] },\n values: {\n $set: [null],\n },\n },\n });\n }\n }\n\n this.setState({\n fields: newFields,\n });\n\n this.setFormFieldValues(newFields);\n };\n\n getFields() {\n const { getFieldDecorator } = this.props.form;\n const hasBetween = this.state.fields.some((field) =>\n [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.DATE,\n ModelAttributeValueType.DATETIME,\n ].includes(field.attrValue.type as ModelAttributeValueType)\n );\n return this.state.fields.map((field, fieldIndex) => {\n let type: string;\n let style: React.CSSProperties;\n let attrValue: any = field.attrValue;\n let multiSelect = false;\n const isBetween: boolean =\n field.currentCondition.type === ConditionType.Between;\n switch (field.attrValue.type) {\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n attrValue = {\n type: isBetween\n ? ModelAttributeValueType.INTEGER\n : ModelAttributeValueType.STRING,\n };\n break;\n case ModelAttributeValueType.ENUM:\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (field.attrValue.mode as any) ===\n ModelAttributeValueModeType.CASCADE\n ) {\n // istanbul ignore next\n type = FormControlTypeEnum.TREESELECT;\n } else {\n type = FormControlTypeEnum.SELECT;\n }\n multiSelect = true;\n break;\n case ModelAttributeValueType.DATETIME:\n style = { minWidth: \"auto\" };\n break;\n }\n //高级搜索这里即使是json格式,也用input输入框进行搜索\n if ((attrValue as any).type === \"json\") {\n attrValue = { ...attrValue, type: \"str\" };\n }\n return (\n <Col span={hasBetween ? 12 : 8} key={field.id}>\n <Form.Item label={field.name}>\n <Input.Group className={styles.conditionInputGroup} compact>\n <Select\n dropdownMatchSelectWidth={false}\n value={field.currentCondition.type}\n onChange={(value: ConditionType) =>\n this.onConditionChange(value, field, fieldIndex)\n }\n disabled={field.disabled}\n >\n {field.availableConditions.map((condition) => (\n <Select.Option value={condition.type} key={condition.type}>\n {condition.label}\n </Select.Option>\n ))}\n </Select>\n {field.values.map((value, valueIndex) => {\n const operation = field.currentCondition.operations[valueIndex];\n\n return (\n <React.Fragment\n key={`${field.currentCondition.type}-${operation.operator}`}\n >\n {valueIndex > 0 && (\n <Input\n className={styles.separatorInput}\n placeholder=\"~\"\n disabled\n />\n )}\n {getFieldDecorator(`${field.id}[${valueIndex}]`, {\n initialValue:\n operation.fixedValue === undefined ? value : \"\",\n })(\n operation.fixedValue === undefined && !field.disabled ? (\n <ModelAttributeFormControl\n type={type}\n attribute={{\n id: field.id,\n name: field.name,\n value: attrValue,\n }}\n objectId={this.props.modelData.objectId}\n multiSelect={multiSelect}\n onChange={(value: any) =>\n this.onValueChange(\n value,\n valueIndex,\n field,\n fieldIndex\n )\n }\n className={styles.conditionInput}\n style={style}\n />\n ) : (\n <Input disabled />\n )\n )}\n </React.Fragment>\n );\n })}\n </Input.Group>\n </Form.Item>\n </Col>\n );\n });\n }\n\n handleSearch = (e: FormEvent<any>): void => {\n e.preventDefault();\n const fields = this.state.fields.map((v) => ({ ...v, id: v.id.slice(1) }));\n if (this.props?.autoSearch) this.props.autoSearch(fields);\n if (this.props.onSearch) {\n // 当过滤字段为relation并且过滤条件为ElementOperators.Exists的时候,发起后台请求的搜索queries与负责前端展示的query不同。需要额外处理。\n let queries: Query[] = [];\n let queriesToShow: Query[] = [];\n const fieldToShow: Record<string, any[]>[] = [];\n fields.forEach((field) => {\n const expressions: QueryOperatorExpressions = {};\n let fieldQuery: Query = { [field.id]: expressions };\n let fieldQueryToShow: Query = { [field.id]: expressions };\n let hasValue = false;\n let structQueryId: string[];\n const isStruct = !!(field.attrValue as any).isStruct;\n if (isStruct) {\n structQueryId = field.attrValue.struct_define.map(\n (struct_item) => `${field.id}.${struct_item.id}`\n );\n }\n field.values.forEach((value, index) => {\n const operation = field.currentCondition.operations[index];\n const fieldId =\n field.isRelation && ElementOperators.Exists === operation.operator\n ? field.relationSideId\n : field.id;\n fieldQuery = { [fieldId]: expressions };\n\n const fieldIdToShow = field.id;\n fieldQueryToShow = { [fieldIdToShow]: expressions };\n\n if (\n value !== null &&\n value !== \"\" &&\n !(Array.isArray(value) && value.length === 0)\n ) {\n const multiValueSearchOperator = multiValueSearchOperators.find(\n (operator) => operator.comparisonOperator === operation.operator\n );\n if (multiValueSearchOperator) {\n let values: any[];\n if (\n (field.attrValue.type === ModelAttributeValueType.ENUM &&\n (field.attrValue.mode as any) !== \"cascade\") ||\n field.attrValue.type === ModelAttributeValueType.ARR\n ) {\n values = value;\n } else if (typeof value === \"string\") {\n if (\n !ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE ||\n !value.includes('\"')\n ) {\n values = value\n .trim()\n .split(/\\s+/)\n .map((value) => convertValue(field.attrValue.type, value))\n .filter((value) => !isNil(value));\n } else {\n values = processAttrValueWithQuote(value, []);\n }\n } else {\n values = [value];\n }\n if (values.length) {\n if (isStruct) {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: flatten(\n values.map((value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n\n return structQueryId.map(\n (structId: string | number) => ({\n [structId]: {\n [operation.operator]: value,\n },\n })\n );\n })\n ),\n };\n } else {\n fieldQuery = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldId]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n }\n fieldQueryToShow = {\n [multiValueSearchOperator.logicalOperator]: values.map(\n (value) => {\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n return {\n [fieldIdToShow]: {\n [operation.operator]: value,\n },\n };\n }\n ),\n };\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n } else {\n value = convertValue(field.attrValue.type, value);\n if (operation.prefix) {\n value = operation.prefix + value;\n }\n if (operation.suffix) {\n value += operation.suffix;\n }\n expressions[operation.operator] = value;\n hasValue = true;\n fieldToShow.push({ [field.id]: field.values });\n }\n }\n });\n if (hasValue) {\n queries.push(fieldQuery);\n queriesToShow.push(fieldQueryToShow);\n }\n });\n if (queries.length === 0) {\n queries = undefined;\n queriesToShow = undefined;\n }\n if (!isEqual(this.props.q, queries)) {\n this.props.onSearch(queries, queriesToShow, fieldToShow);\n }\n }\n };\n\n handleReset = () => {\n if (this.props.autoSearch) this.props.autoSearch([]);\n this.props.onSearch([], [], []);\n this.props.form.resetFields();\n };\n\n render(): React.ReactNode {\n return (\n <div className={styles.advancedSearch}>\n <Form\n layout=\"vertical\"\n className={styles.advancedSearchForm}\n onSubmit={this.handleSearch}\n >\n <Row gutter={50}>{this.getFields()}</Row>\n <Row>\n <Col span={24} style={{ textAlign: \"right\" }}>\n <Button\n type=\"primary\"\n htmlType=\"submit\"\n data-testid=\"submit-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH}`)}\n </Button>\n <Button\n style={{ marginLeft: 8 }}\n onClick={this.handleReset}\n data-testid=\"reset-button\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n </Col>\n </Row>\n </Form>\n </div>\n );\n }\n}\n\nexport const AdvancedSearch = Form.create<AdvancedSearchFormProps>({\n name: \"advanced_search\",\n})(AdvancedSearchForm);\n"],"mappings":"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","ignoreList":[]}