@next-libs/cmdb-instances 6.26.3 → 6.26.6
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.
- package/CHANGELOG.md +30 -0
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +4 -4
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js +2 -3
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js +5 -5
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +4 -4
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js +5 -5
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"names":["React","Component","i18n","NS_LIBS_CMDB_INSTANCES","K","DatePicker","Input","InputNumber","Radio","Select","AddStruct","AttributeFormControlUrl","computeDateFormat","clusterMap","CodeEditor","some","ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","objectId","constructor","isClusterType","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","error","jsonValidateCollection","showError","state","errorMessage","restProps","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","t","NOT_MEET_JSON","TEXTAREA","MARKDOWN","LEGACY_STRUCT","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","map","item","String","TAGS","width","DATE","DATETIME","dateConfig","showTime","formater","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","STRING","mode","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","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","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"mappings":"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","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 { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\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\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\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}\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 isSupportMultiStringValue?: boolean;\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 this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\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 this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\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 switch (attribute.value.type) {\n case ModelAttributeValueType.STRING: {\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 if (isSupportMultiStringValue) {\n return FormControlTypeEnum.TAGS;\n }\n }\n /* falls through */\n case ModelAttributeValueType.IP:\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 return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\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 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\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.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 defaultValue={newValue}\n onChange={(e: any) => this.onChange(e)}\n disabled={readOnly}\n className={this.props.className}\n style={this.props.style}\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 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"],"file":"ModelAttributeFormControl.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"names":["React","Component","i18n","NS_LIBS_CMDB_INSTANCES","K","DatePicker","Input","InputNumber","Radio","Select","AddStruct","AttributeFormControlUrl","computeDateFormat","clusterMap","CodeEditor","some","ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","objectId","constructor","isClusterType","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","error","jsonValidateCollection","showError","state","errorMessage","restProps","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","t","NOT_MEET_JSON","TEXTAREA","MARKDOWN","LEGACY_STRUCT","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","map","item","String","TAGS","width","DATE","DATETIME","dateConfig","showTime","formater","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","STRING","mode","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","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","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"mappings":"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","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 { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\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\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\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}\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 isSupportMultiStringValue?: boolean;\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 this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\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 this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\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 switch (attribute.value.type) {\n case ModelAttributeValueType.STRING: {\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 return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\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 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\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.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 >\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 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"],"file":"ModelAttributeFormControl.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/cmdb-instances",
|
|
3
|
-
"version": "6.26.
|
|
3
|
+
"version": "6.26.6",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"immutability-helper": "^3.1.1",
|
|
51
51
|
"marked": "^2.1.3"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "3b476e142581c8de38d350be42c73bb15483de17"
|
|
54
54
|
}
|