@next-libs/cmdb-instances 7.20.1 → 7.20.2

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.
@@ -34,14 +34,15 @@ function compareValues(value, fileList) {
34
34
  const result = (0, _lodash.isEqual)(value1, value2);
35
35
  return !result;
36
36
  }
37
- const defaultUploadConfig = {
38
- uploadButtonName: _i18next.default.t(`${_constants.NS_LIBS_CMDB_INSTANCES}:${_constants.K.UPLOAD}`),
39
- url: _constants2.UploadFileUrl,
40
- maxNumber: 5,
41
- method: "put"
42
- };
43
37
  function CmdbUpload(props) {
44
38
  var _uploadConfig$maxNumb;
39
+ // 默认上传配置
40
+ const defaultUploadConfig = {
41
+ uploadButtonName: _i18next.default.t(`${_constants.NS_LIBS_CMDB_INSTANCES}:${_constants.K.UPLOAD}`),
42
+ url: _constants2.UploadFileUrl,
43
+ maxNumber: 5,
44
+ method: "put"
45
+ };
45
46
  const {
46
47
  uploadButtonProps,
47
48
  uploadConfig = defaultUploadConfig
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["addUid","value","fileList","map","file","uid","uniqueId","compareValues","value1","value2","result","isEqual","defaultUploadConfig","uploadButtonName","i18n","t","NS_LIBS_CMDB_INSTANCES","K","UPLOAD","url","UploadFileUrl","maxNumber","method","CmdbUpload","props","uploadButtonProps","uploadConfig","setValue","React","useState","setFileList","disabled","setDisabled","useEffect","isDifferent","handleValueChange","v","onChange","handleBeforeUpload","FileUtils","sizeCompare","limitSize","onError","UPLOAD_SIZE_LARGE_TEXT","Promise","_resolve","reject","Error","autoUpload","resolve","handleFilesChange","newFile","newFileList","isDone","response","name","size","type","DownloadFileUrl","objectName","handleChange","data","_file","length","status","_fileList","some","index","findIndex","update","$splice","uploadNode","hideUploadButton","buttonType","buttonIcon","lib","icon","theme","buttonName","handleRemove","e","onRemove","uploadProps","className","uploadName","action","accept","multiple","listType","maxCount","beforeUpload","supportServerRender","progress","strokeColor","trailColor","strokeWidth","showInfo","showUploadList","removeIcon","category","iconRender","styles","uploadContainer"],"sources":["../../../../src/components/cmdb-upload/index.tsx"],"sourcesContent":["import React, { ReactNode, useState } from \"react\";\nimport { uniqueId, map, findIndex, some, isEqual } from \"lodash\";\nimport { LoadingOutlined } from \"@ant-design/icons\";\nimport { Upload, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport update from \"immutability-helper\";\nimport { ButtonType } from \"antd/lib/button\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { MenuIcon } from \"@next-core/brick-types\";\nimport { UploadFile, RcFile } from \"antd/lib/upload/interface\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../i18n/constants\";\nimport styles from \"./index.module.css\";\nimport { UploadFileUrl, DownloadFileUrl } from \"../../constants\";\n\ninterface UploadFileValueItem {\n name?: string;\n url?: string;\n response?: any;\n file?: any;\n uid?: string;\n size?: number;\n type?: string;\n}\ninterface FileItem {\n url?: string;\n uid?: string;\n response?: any;\n file?: any;\n size?: number;\n type?: string;\n [propName: string]: any;\n}\ninterface UploadButtonProps {\n buttonName: string;\n buttonType: ButtonType;\n buttonIcon: MenuIcon;\n}\n\nexport interface UploadConfig {\n url?: string;\n method?: any;\n uploadName?: string;\n accept?: string;\n data?: { [key: string]: string };\n maxNumber?: number;\n limitSize?: number;\n hideUploadButton?: boolean;\n uploadButtonName?: string;\n}\n\nexport interface CmdbUploadProps {\n uploadButtonProps?: UploadButtonProps;\n uploadConfig: UploadConfig;\n onChange?: any;\n onError?: (file: any) => void;\n onRemove?: (file: any) => void;\n disabled?: boolean;\n value?: UploadFileValueItem[];\n style?: React.CSSProperties;\n className?: string;\n autoUpload: boolean;\n}\n\nexport function addUid(value: UploadFileValueItem[]): FileItem[] {\n let fileList: FileItem[] = [];\n fileList = map(value, (file) => {\n file.uid = file.uid ?? uniqueId(\"-file\");\n return file;\n });\n return fileList;\n}\n\nexport function compareValues(\n value: UploadFileValueItem[],\n fileList: FileItem[]\n): boolean {\n const value1 = map(value, \"uid\");\n const value2 = map(fileList, \"uid\");\n const result = isEqual(value1, value2);\n return !result;\n}\n\nconst defaultUploadConfig: UploadConfig = {\n uploadButtonName: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD}`),\n url: UploadFileUrl,\n maxNumber: 5,\n method: \"put\",\n};\n\nexport function CmdbUpload(props: CmdbUploadProps): React.ReactElement {\n const { uploadButtonProps, uploadConfig = defaultUploadConfig } = props;\n const [value, setValue] = React.useState([]);\n const [fileList, setFileList] = useState([]);\n const [disabled, setDisabled] = useState(false);\n\n React.useEffect(() => {\n setValue(addUid(props.value));\n const isDifferent = compareValues(props.value, fileList);\n if (isDifferent) {\n setFileList(addUid(props.value));\n }\n }, [props.value]);\n\n const handleValueChange = (v: UploadFileValueItem[]): void => {\n setValue(v);\n props.onChange?.(v);\n };\n\n const handleBeforeUpload = (file: RcFile): Promise<RcFile> | boolean => {\n if (FileUtils.sizeCompare(file, uploadConfig.limitSize ?? 100)) {\n // 如果上传文件大小大于限定大小\n props.onError?.(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n );\n return new Promise((_resolve, reject) => {\n // 返回reject阻止文件添加\n reject(\n new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n )\n );\n });\n }\n if (props.autoUpload) {\n // 进行自动上传\n return new Promise((resolve) => resolve(file));\n } else {\n // 返回false阻止默认上传行为\n return false;\n }\n };\n\n const handleFilesChange = async (\n newFile: FileItem,\n newFileList: FileItem[],\n isDone: boolean\n ): Promise<void> => {\n if (isDone) {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n handleValueChange([\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n } else {\n setFileList(newFileList);\n handleValueChange([\n ...value,\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n }\n } else {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n if (!props.autoUpload) {\n handleValueChange([\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n } else {\n setFileList(newFileList);\n if (!props.autoUpload) {\n handleValueChange([\n ...value,\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n }\n }\n };\n const handleChange = (data: any) => {\n const _file = data.file;\n if (\n uploadConfig.maxNumber &&\n uploadConfig.maxNumber !== 1 &&\n value?.length >= uploadConfig.maxNumber &&\n _file.status !== \"removed\" &&\n _file.status !== \"error\"\n )\n return;\n const _fileList = data.fileList;\n if (some(_fileList, [\"status\", \"uploading\"])) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n if (_file.status === \"removed\") {\n const index = findIndex(value, [\"uid\", _file.uid]);\n if (index !== -1) {\n handleValueChange(update(value, { $splice: [[index, 1]] }));\n }\n setFileList(_fileList);\n } else if (_file.status === \"error\") {\n setDisabled(false);\n const index = findIndex(fileList, [\"uid\", _file.uid]);\n if (index !== -1) {\n setFileList(update(fileList, { $splice: [[index, 1]] }));\n }\n props.onError?.(_file);\n } else {\n handleFilesChange(_file, _fileList, false);\n // if (_fileList.every((v: any) => v.status === \"done\" && v.response)) {\n // _fileList.forEach((file: any) => {\n // file.response = file.response.data;\n // handleFilesChange(file, _fileList, true);\n // });\n // }\n if (_file.response && _file.status === \"done\") {\n _file.response = _file.response.data;\n handleFilesChange(_file, _fileList, true);\n }\n }\n };\n\n const uploadNode = () => {\n if (uploadConfig.hideUploadButton) {\n return null;\n }\n return (\n <Button\n disabled={\n (uploadConfig.maxNumber && value?.length >= uploadConfig.maxNumber) ||\n props.disabled\n }\n type={uploadButtonProps?.buttonType}\n >\n <GeneralIcon\n icon={\n uploadButtonProps?.buttonIcon ?? {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n }\n }\n />\n {uploadButtonProps?.buttonName ??\n uploadConfig.uploadButtonName ??\n \"Upload\"}\n </Button>\n );\n };\n\n const handleRemove = (e: any) => {\n props.onRemove?.(e);\n };\n\n const uploadProps: any = {\n className: props.className,\n method: uploadConfig?.method || \"post\",\n disabled: props.disabled || disabled,\n data: uploadConfig?.data,\n name: uploadConfig?.uploadName,\n action: uploadConfig?.url || UploadFileUrl,\n accept: uploadConfig?.accept,\n multiple: false,\n listType: \"text\",\n fileList,\n maxCount: uploadConfig?.maxNumber ?? 5,\n beforeUpload: handleBeforeUpload,\n onChange: handleChange,\n onRemove: handleRemove,\n supportServerRender: true,\n progress: {\n strokeColor: \"var(--color-success)\",\n trailColor: \"var(--color-fill-bg-base-1)\",\n strokeWidth: \"1px\",\n showInfo: false,\n },\n showUploadList: {\n // eslint-disable-next-line react/display-name\n removeIcon: (file: UploadFile): ReactNode =>\n file.status === \"error\" ? (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n }}\n />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n }}\n />\n ),\n },\n // eslint-disable-next-line react/display-name\n iconRender: (file: UploadFile): ReactNode =>\n file.status === \"uploading\" ? (\n <LoadingOutlined />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n }}\n />\n ),\n };\n return (\n <div className={styles.uploadContainer}>\n <Upload {...uploadProps}>{uploadNode()}</Upload>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["addUid","value","fileList","map","file","uid","uniqueId","compareValues","value1","value2","result","isEqual","CmdbUpload","props","defaultUploadConfig","uploadButtonName","i18n","t","NS_LIBS_CMDB_INSTANCES","K","UPLOAD","url","UploadFileUrl","maxNumber","method","uploadButtonProps","uploadConfig","setValue","React","useState","setFileList","disabled","setDisabled","useEffect","isDifferent","handleValueChange","v","onChange","handleBeforeUpload","FileUtils","sizeCompare","limitSize","onError","UPLOAD_SIZE_LARGE_TEXT","Promise","_resolve","reject","Error","autoUpload","resolve","handleFilesChange","newFile","newFileList","isDone","response","name","size","type","DownloadFileUrl","objectName","handleChange","data","_file","length","status","_fileList","some","index","findIndex","update","$splice","uploadNode","hideUploadButton","buttonType","buttonIcon","lib","icon","theme","buttonName","handleRemove","e","onRemove","uploadProps","className","uploadName","action","accept","multiple","listType","maxCount","beforeUpload","supportServerRender","progress","strokeColor","trailColor","strokeWidth","showInfo","showUploadList","removeIcon","category","iconRender","styles","uploadContainer"],"sources":["../../../../src/components/cmdb-upload/index.tsx"],"sourcesContent":["import React, { ReactNode, useState } from \"react\";\nimport { uniqueId, map, findIndex, some, isEqual } from \"lodash\";\nimport { LoadingOutlined } from \"@ant-design/icons\";\nimport { Upload, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport update from \"immutability-helper\";\nimport { ButtonType } from \"antd/lib/button\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { MenuIcon } from \"@next-core/brick-types\";\nimport { UploadFile, RcFile } from \"antd/lib/upload/interface\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../i18n/constants\";\nimport styles from \"./index.module.css\";\nimport { UploadFileUrl, DownloadFileUrl } from \"../../constants\";\n\ninterface UploadFileValueItem {\n name?: string;\n url?: string;\n response?: any;\n file?: any;\n uid?: string;\n size?: number;\n type?: string;\n}\ninterface FileItem {\n url?: string;\n uid?: string;\n response?: any;\n file?: any;\n size?: number;\n type?: string;\n [propName: string]: any;\n}\ninterface UploadButtonProps {\n buttonName: string;\n buttonType: ButtonType;\n buttonIcon: MenuIcon;\n}\n\nexport interface UploadConfig {\n url?: string;\n method?: any;\n uploadName?: string;\n accept?: string;\n data?: { [key: string]: string };\n maxNumber?: number;\n limitSize?: number;\n hideUploadButton?: boolean;\n uploadButtonName?: string;\n}\n\nexport interface CmdbUploadProps {\n uploadButtonProps?: UploadButtonProps;\n uploadConfig: UploadConfig;\n onChange?: any;\n onError?: (file: any) => void;\n onRemove?: (file: any) => void;\n disabled?: boolean;\n value?: UploadFileValueItem[];\n style?: React.CSSProperties;\n className?: string;\n autoUpload: boolean;\n}\n\nexport function addUid(value: UploadFileValueItem[]): FileItem[] {\n let fileList: FileItem[] = [];\n fileList = map(value, (file) => {\n file.uid = file.uid ?? uniqueId(\"-file\");\n return file;\n });\n return fileList;\n}\n\nexport function compareValues(\n value: UploadFileValueItem[],\n fileList: FileItem[]\n): boolean {\n const value1 = map(value, \"uid\");\n const value2 = map(fileList, \"uid\");\n const result = isEqual(value1, value2);\n return !result;\n}\n\nexport function CmdbUpload(props: CmdbUploadProps): React.ReactElement {\n // 默认上传配置\n const defaultUploadConfig: UploadConfig = {\n uploadButtonName: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD}`),\n url: UploadFileUrl,\n maxNumber: 5,\n method: \"put\",\n };\n const { uploadButtonProps, uploadConfig = defaultUploadConfig } = props;\n const [value, setValue] = React.useState([]);\n const [fileList, setFileList] = useState([]);\n const [disabled, setDisabled] = useState(false);\n\n React.useEffect(() => {\n setValue(addUid(props.value));\n const isDifferent = compareValues(props.value, fileList);\n if (isDifferent) {\n setFileList(addUid(props.value));\n }\n }, [props.value]);\n\n const handleValueChange = (v: UploadFileValueItem[]): void => {\n setValue(v);\n props.onChange?.(v);\n };\n\n const handleBeforeUpload = (file: RcFile): Promise<RcFile> | boolean => {\n if (FileUtils.sizeCompare(file, uploadConfig.limitSize ?? 100)) {\n // 如果上传文件大小大于限定大小\n props.onError?.(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n );\n return new Promise((_resolve, reject) => {\n // 返回reject阻止文件添加\n reject(\n new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n )\n );\n });\n }\n if (props.autoUpload) {\n // 进行自动上传\n return new Promise((resolve) => resolve(file));\n } else {\n // 返回false阻止默认上传行为\n return false;\n }\n };\n\n const handleFilesChange = async (\n newFile: FileItem,\n newFileList: FileItem[],\n isDone: boolean\n ): Promise<void> => {\n if (isDone) {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n handleValueChange([\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n } else {\n setFileList(newFileList);\n handleValueChange([\n ...value,\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n }\n } else {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n if (!props.autoUpload) {\n handleValueChange([\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n } else {\n setFileList(newFileList);\n if (!props.autoUpload) {\n handleValueChange([\n ...value,\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n }\n }\n };\n const handleChange = (data: any) => {\n const _file = data.file;\n if (\n uploadConfig.maxNumber &&\n uploadConfig.maxNumber !== 1 &&\n value?.length >= uploadConfig.maxNumber &&\n _file.status !== \"removed\" &&\n _file.status !== \"error\"\n )\n return;\n const _fileList = data.fileList;\n if (some(_fileList, [\"status\", \"uploading\"])) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n if (_file.status === \"removed\") {\n const index = findIndex(value, [\"uid\", _file.uid]);\n if (index !== -1) {\n handleValueChange(update(value, { $splice: [[index, 1]] }));\n }\n setFileList(_fileList);\n } else if (_file.status === \"error\") {\n setDisabled(false);\n const index = findIndex(fileList, [\"uid\", _file.uid]);\n if (index !== -1) {\n setFileList(update(fileList, { $splice: [[index, 1]] }));\n }\n props.onError?.(_file);\n } else {\n handleFilesChange(_file, _fileList, false);\n // if (_fileList.every((v: any) => v.status === \"done\" && v.response)) {\n // _fileList.forEach((file: any) => {\n // file.response = file.response.data;\n // handleFilesChange(file, _fileList, true);\n // });\n // }\n if (_file.response && _file.status === \"done\") {\n _file.response = _file.response.data;\n handleFilesChange(_file, _fileList, true);\n }\n }\n };\n\n const uploadNode = () => {\n if (uploadConfig.hideUploadButton) {\n return null;\n }\n return (\n <Button\n disabled={\n (uploadConfig.maxNumber && value?.length >= uploadConfig.maxNumber) ||\n props.disabled\n }\n type={uploadButtonProps?.buttonType}\n >\n <GeneralIcon\n icon={\n uploadButtonProps?.buttonIcon ?? {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n }\n }\n />\n {uploadButtonProps?.buttonName ??\n uploadConfig.uploadButtonName ??\n \"Upload\"}\n </Button>\n );\n };\n\n const handleRemove = (e: any) => {\n props.onRemove?.(e);\n };\n\n const uploadProps: any = {\n className: props.className,\n method: uploadConfig?.method || \"post\",\n disabled: props.disabled || disabled,\n data: uploadConfig?.data,\n name: uploadConfig?.uploadName,\n action: uploadConfig?.url || UploadFileUrl,\n accept: uploadConfig?.accept,\n multiple: false,\n listType: \"text\",\n fileList,\n maxCount: uploadConfig?.maxNumber ?? 5,\n beforeUpload: handleBeforeUpload,\n onChange: handleChange,\n onRemove: handleRemove,\n supportServerRender: true,\n progress: {\n strokeColor: \"var(--color-success)\",\n trailColor: \"var(--color-fill-bg-base-1)\",\n strokeWidth: \"1px\",\n showInfo: false,\n },\n showUploadList: {\n // eslint-disable-next-line react/display-name\n removeIcon: (file: UploadFile): ReactNode =>\n file.status === \"error\" ? (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n }}\n />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n }}\n />\n ),\n },\n // eslint-disable-next-line react/display-name\n iconRender: (file: UploadFile): ReactNode =>\n file.status === \"uploading\" ? (\n <LoadingOutlined />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n }}\n />\n ),\n };\n return (\n <div className={styles.uploadContainer}>\n <Upload {...uploadProps}>{uploadNode()}</Upload>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -25,14 +25,15 @@ export function compareValues(value, fileList) {
25
25
  var result = isEqual(value1, value2);
26
26
  return !result;
27
27
  }
28
- var defaultUploadConfig = {
29
- uploadButtonName: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.UPLOAD)),
30
- url: UploadFileUrl,
31
- maxNumber: 5,
32
- method: "put"
33
- };
34
28
  export function CmdbUpload(props) {
35
29
  var _uploadConfig$maxNumb;
30
+ // 默认上传配置
31
+ var defaultUploadConfig = {
32
+ uploadButtonName: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.UPLOAD)),
33
+ url: UploadFileUrl,
34
+ maxNumber: 5,
35
+ method: "put"
36
+ };
36
37
  var {
37
38
  uploadButtonProps,
38
39
  uploadConfig = defaultUploadConfig
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","uniqueId","map","findIndex","some","isEqual","LoadingOutlined","Upload","Button","i18n","update","FileUtils","GeneralIcon","NS_LIBS_CMDB_INSTANCES","K","styles","UploadFileUrl","DownloadFileUrl","addUid","value","fileList","file","uid","compareValues","value1","value2","result","defaultUploadConfig","uploadButtonName","t","UPLOAD","url","maxNumber","method","CmdbUpload","props","uploadButtonProps","uploadConfig","setValue","setFileList","disabled","setDisabled","useEffect","isDifferent","handleValueChange","v","onChange","handleBeforeUpload","sizeCompare","limitSize","onError","UPLOAD_SIZE_LARGE_TEXT","Promise","_resolve","reject","Error","autoUpload","resolve","handleFilesChange","newFile","newFileList","isDone","response","name","size","type","objectName","handleChange","data","_file","length","status","_fileList","index","$splice","uploadNode","hideUploadButton","buttonType","buttonIcon","lib","icon","theme","buttonName","handleRemove","e","onRemove","uploadProps","className","uploadName","action","accept","multiple","listType","maxCount","beforeUpload","supportServerRender","progress","strokeColor","trailColor","strokeWidth","showInfo","showUploadList","removeIcon","category","iconRender","uploadContainer"],"sources":["../../../../src/components/cmdb-upload/index.tsx"],"sourcesContent":["import React, { ReactNode, useState } from \"react\";\nimport { uniqueId, map, findIndex, some, isEqual } from \"lodash\";\nimport { LoadingOutlined } from \"@ant-design/icons\";\nimport { Upload, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport update from \"immutability-helper\";\nimport { ButtonType } from \"antd/lib/button\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { MenuIcon } from \"@next-core/brick-types\";\nimport { UploadFile, RcFile } from \"antd/lib/upload/interface\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../i18n/constants\";\nimport styles from \"./index.module.css\";\nimport { UploadFileUrl, DownloadFileUrl } from \"../../constants\";\n\ninterface UploadFileValueItem {\n name?: string;\n url?: string;\n response?: any;\n file?: any;\n uid?: string;\n size?: number;\n type?: string;\n}\ninterface FileItem {\n url?: string;\n uid?: string;\n response?: any;\n file?: any;\n size?: number;\n type?: string;\n [propName: string]: any;\n}\ninterface UploadButtonProps {\n buttonName: string;\n buttonType: ButtonType;\n buttonIcon: MenuIcon;\n}\n\nexport interface UploadConfig {\n url?: string;\n method?: any;\n uploadName?: string;\n accept?: string;\n data?: { [key: string]: string };\n maxNumber?: number;\n limitSize?: number;\n hideUploadButton?: boolean;\n uploadButtonName?: string;\n}\n\nexport interface CmdbUploadProps {\n uploadButtonProps?: UploadButtonProps;\n uploadConfig: UploadConfig;\n onChange?: any;\n onError?: (file: any) => void;\n onRemove?: (file: any) => void;\n disabled?: boolean;\n value?: UploadFileValueItem[];\n style?: React.CSSProperties;\n className?: string;\n autoUpload: boolean;\n}\n\nexport function addUid(value: UploadFileValueItem[]): FileItem[] {\n let fileList: FileItem[] = [];\n fileList = map(value, (file) => {\n file.uid = file.uid ?? uniqueId(\"-file\");\n return file;\n });\n return fileList;\n}\n\nexport function compareValues(\n value: UploadFileValueItem[],\n fileList: FileItem[]\n): boolean {\n const value1 = map(value, \"uid\");\n const value2 = map(fileList, \"uid\");\n const result = isEqual(value1, value2);\n return !result;\n}\n\nconst defaultUploadConfig: UploadConfig = {\n uploadButtonName: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD}`),\n url: UploadFileUrl,\n maxNumber: 5,\n method: \"put\",\n};\n\nexport function CmdbUpload(props: CmdbUploadProps): React.ReactElement {\n const { uploadButtonProps, uploadConfig = defaultUploadConfig } = props;\n const [value, setValue] = React.useState([]);\n const [fileList, setFileList] = useState([]);\n const [disabled, setDisabled] = useState(false);\n\n React.useEffect(() => {\n setValue(addUid(props.value));\n const isDifferent = compareValues(props.value, fileList);\n if (isDifferent) {\n setFileList(addUid(props.value));\n }\n }, [props.value]);\n\n const handleValueChange = (v: UploadFileValueItem[]): void => {\n setValue(v);\n props.onChange?.(v);\n };\n\n const handleBeforeUpload = (file: RcFile): Promise<RcFile> | boolean => {\n if (FileUtils.sizeCompare(file, uploadConfig.limitSize ?? 100)) {\n // 如果上传文件大小大于限定大小\n props.onError?.(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n );\n return new Promise((_resolve, reject) => {\n // 返回reject阻止文件添加\n reject(\n new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n )\n );\n });\n }\n if (props.autoUpload) {\n // 进行自动上传\n return new Promise((resolve) => resolve(file));\n } else {\n // 返回false阻止默认上传行为\n return false;\n }\n };\n\n const handleFilesChange = async (\n newFile: FileItem,\n newFileList: FileItem[],\n isDone: boolean\n ): Promise<void> => {\n if (isDone) {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n handleValueChange([\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n } else {\n setFileList(newFileList);\n handleValueChange([\n ...value,\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n }\n } else {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n if (!props.autoUpload) {\n handleValueChange([\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n } else {\n setFileList(newFileList);\n if (!props.autoUpload) {\n handleValueChange([\n ...value,\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n }\n }\n };\n const handleChange = (data: any) => {\n const _file = data.file;\n if (\n uploadConfig.maxNumber &&\n uploadConfig.maxNumber !== 1 &&\n value?.length >= uploadConfig.maxNumber &&\n _file.status !== \"removed\" &&\n _file.status !== \"error\"\n )\n return;\n const _fileList = data.fileList;\n if (some(_fileList, [\"status\", \"uploading\"])) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n if (_file.status === \"removed\") {\n const index = findIndex(value, [\"uid\", _file.uid]);\n if (index !== -1) {\n handleValueChange(update(value, { $splice: [[index, 1]] }));\n }\n setFileList(_fileList);\n } else if (_file.status === \"error\") {\n setDisabled(false);\n const index = findIndex(fileList, [\"uid\", _file.uid]);\n if (index !== -1) {\n setFileList(update(fileList, { $splice: [[index, 1]] }));\n }\n props.onError?.(_file);\n } else {\n handleFilesChange(_file, _fileList, false);\n // if (_fileList.every((v: any) => v.status === \"done\" && v.response)) {\n // _fileList.forEach((file: any) => {\n // file.response = file.response.data;\n // handleFilesChange(file, _fileList, true);\n // });\n // }\n if (_file.response && _file.status === \"done\") {\n _file.response = _file.response.data;\n handleFilesChange(_file, _fileList, true);\n }\n }\n };\n\n const uploadNode = () => {\n if (uploadConfig.hideUploadButton) {\n return null;\n }\n return (\n <Button\n disabled={\n (uploadConfig.maxNumber && value?.length >= uploadConfig.maxNumber) ||\n props.disabled\n }\n type={uploadButtonProps?.buttonType}\n >\n <GeneralIcon\n icon={\n uploadButtonProps?.buttonIcon ?? {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n }\n }\n />\n {uploadButtonProps?.buttonName ??\n uploadConfig.uploadButtonName ??\n \"Upload\"}\n </Button>\n );\n };\n\n const handleRemove = (e: any) => {\n props.onRemove?.(e);\n };\n\n const uploadProps: any = {\n className: props.className,\n method: uploadConfig?.method || \"post\",\n disabled: props.disabled || disabled,\n data: uploadConfig?.data,\n name: uploadConfig?.uploadName,\n action: uploadConfig?.url || UploadFileUrl,\n accept: uploadConfig?.accept,\n multiple: false,\n listType: \"text\",\n fileList,\n maxCount: uploadConfig?.maxNumber ?? 5,\n beforeUpload: handleBeforeUpload,\n onChange: handleChange,\n onRemove: handleRemove,\n supportServerRender: true,\n progress: {\n strokeColor: \"var(--color-success)\",\n trailColor: \"var(--color-fill-bg-base-1)\",\n strokeWidth: \"1px\",\n showInfo: false,\n },\n showUploadList: {\n // eslint-disable-next-line react/display-name\n removeIcon: (file: UploadFile): ReactNode =>\n file.status === \"error\" ? (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n }}\n />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n }}\n />\n ),\n },\n // eslint-disable-next-line react/display-name\n iconRender: (file: UploadFile): ReactNode =>\n file.status === \"uploading\" ? (\n <LoadingOutlined />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n }}\n />\n ),\n };\n return (\n <div className={styles.uploadContainer}>\n <Upload {...uploadProps}>{uploadNode()}</Upload>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","uniqueId","map","findIndex","some","isEqual","LoadingOutlined","Upload","Button","i18n","update","FileUtils","GeneralIcon","NS_LIBS_CMDB_INSTANCES","K","styles","UploadFileUrl","DownloadFileUrl","addUid","value","fileList","file","uid","compareValues","value1","value2","result","CmdbUpload","props","defaultUploadConfig","uploadButtonName","t","UPLOAD","url","maxNumber","method","uploadButtonProps","uploadConfig","setValue","setFileList","disabled","setDisabled","useEffect","isDifferent","handleValueChange","v","onChange","handleBeforeUpload","sizeCompare","limitSize","onError","UPLOAD_SIZE_LARGE_TEXT","Promise","_resolve","reject","Error","autoUpload","resolve","handleFilesChange","newFile","newFileList","isDone","response","name","size","type","objectName","handleChange","data","_file","length","status","_fileList","index","$splice","uploadNode","hideUploadButton","buttonType","buttonIcon","lib","icon","theme","buttonName","handleRemove","e","onRemove","uploadProps","className","uploadName","action","accept","multiple","listType","maxCount","beforeUpload","supportServerRender","progress","strokeColor","trailColor","strokeWidth","showInfo","showUploadList","removeIcon","category","iconRender","uploadContainer"],"sources":["../../../../src/components/cmdb-upload/index.tsx"],"sourcesContent":["import React, { ReactNode, useState } from \"react\";\nimport { uniqueId, map, findIndex, some, isEqual } from \"lodash\";\nimport { LoadingOutlined } from \"@ant-design/icons\";\nimport { Upload, Button } from \"antd\";\nimport i18n from \"i18next\";\nimport update from \"immutability-helper\";\nimport { ButtonType } from \"antd/lib/button\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { MenuIcon } from \"@next-core/brick-types\";\nimport { UploadFile, RcFile } from \"antd/lib/upload/interface\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../../i18n/constants\";\nimport styles from \"./index.module.css\";\nimport { UploadFileUrl, DownloadFileUrl } from \"../../constants\";\n\ninterface UploadFileValueItem {\n name?: string;\n url?: string;\n response?: any;\n file?: any;\n uid?: string;\n size?: number;\n type?: string;\n}\ninterface FileItem {\n url?: string;\n uid?: string;\n response?: any;\n file?: any;\n size?: number;\n type?: string;\n [propName: string]: any;\n}\ninterface UploadButtonProps {\n buttonName: string;\n buttonType: ButtonType;\n buttonIcon: MenuIcon;\n}\n\nexport interface UploadConfig {\n url?: string;\n method?: any;\n uploadName?: string;\n accept?: string;\n data?: { [key: string]: string };\n maxNumber?: number;\n limitSize?: number;\n hideUploadButton?: boolean;\n uploadButtonName?: string;\n}\n\nexport interface CmdbUploadProps {\n uploadButtonProps?: UploadButtonProps;\n uploadConfig: UploadConfig;\n onChange?: any;\n onError?: (file: any) => void;\n onRemove?: (file: any) => void;\n disabled?: boolean;\n value?: UploadFileValueItem[];\n style?: React.CSSProperties;\n className?: string;\n autoUpload: boolean;\n}\n\nexport function addUid(value: UploadFileValueItem[]): FileItem[] {\n let fileList: FileItem[] = [];\n fileList = map(value, (file) => {\n file.uid = file.uid ?? uniqueId(\"-file\");\n return file;\n });\n return fileList;\n}\n\nexport function compareValues(\n value: UploadFileValueItem[],\n fileList: FileItem[]\n): boolean {\n const value1 = map(value, \"uid\");\n const value2 = map(fileList, \"uid\");\n const result = isEqual(value1, value2);\n return !result;\n}\n\nexport function CmdbUpload(props: CmdbUploadProps): React.ReactElement {\n // 默认上传配置\n const defaultUploadConfig: UploadConfig = {\n uploadButtonName: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD}`),\n url: UploadFileUrl,\n maxNumber: 5,\n method: \"put\",\n };\n const { uploadButtonProps, uploadConfig = defaultUploadConfig } = props;\n const [value, setValue] = React.useState([]);\n const [fileList, setFileList] = useState([]);\n const [disabled, setDisabled] = useState(false);\n\n React.useEffect(() => {\n setValue(addUid(props.value));\n const isDifferent = compareValues(props.value, fileList);\n if (isDifferent) {\n setFileList(addUid(props.value));\n }\n }, [props.value]);\n\n const handleValueChange = (v: UploadFileValueItem[]): void => {\n setValue(v);\n props.onChange?.(v);\n };\n\n const handleBeforeUpload = (file: RcFile): Promise<RcFile> | boolean => {\n if (FileUtils.sizeCompare(file, uploadConfig.limitSize ?? 100)) {\n // 如果上传文件大小大于限定大小\n props.onError?.(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n );\n return new Promise((_resolve, reject) => {\n // 返回reject阻止文件添加\n reject(\n new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UPLOAD_SIZE_LARGE_TEXT}`)\n )\n );\n });\n }\n if (props.autoUpload) {\n // 进行自动上传\n return new Promise((resolve) => resolve(file));\n } else {\n // 返回false阻止默认上传行为\n return false;\n }\n };\n\n const handleFilesChange = async (\n newFile: FileItem,\n newFileList: FileItem[],\n isDone: boolean\n ): Promise<void> => {\n if (isDone) {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n handleValueChange([\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n } else {\n setFileList(newFileList);\n handleValueChange([\n ...value,\n {\n response: newFile.response,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n url: `${DownloadFileUrl}/${newFile.response?.objectName}`,\n },\n ]);\n }\n } else {\n if (uploadConfig.maxNumber === 1) {\n setFileList([newFile]);\n if (!props.autoUpload) {\n handleValueChange([\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n } else {\n setFileList(newFileList);\n if (!props.autoUpload) {\n handleValueChange([\n ...value,\n {\n file: newFile,\n name: newFile.name,\n uid: newFile.uid,\n size: newFile.size,\n type: newFile.type,\n },\n ]);\n }\n }\n }\n };\n const handleChange = (data: any) => {\n const _file = data.file;\n if (\n uploadConfig.maxNumber &&\n uploadConfig.maxNumber !== 1 &&\n value?.length >= uploadConfig.maxNumber &&\n _file.status !== \"removed\" &&\n _file.status !== \"error\"\n )\n return;\n const _fileList = data.fileList;\n if (some(_fileList, [\"status\", \"uploading\"])) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n if (_file.status === \"removed\") {\n const index = findIndex(value, [\"uid\", _file.uid]);\n if (index !== -1) {\n handleValueChange(update(value, { $splice: [[index, 1]] }));\n }\n setFileList(_fileList);\n } else if (_file.status === \"error\") {\n setDisabled(false);\n const index = findIndex(fileList, [\"uid\", _file.uid]);\n if (index !== -1) {\n setFileList(update(fileList, { $splice: [[index, 1]] }));\n }\n props.onError?.(_file);\n } else {\n handleFilesChange(_file, _fileList, false);\n // if (_fileList.every((v: any) => v.status === \"done\" && v.response)) {\n // _fileList.forEach((file: any) => {\n // file.response = file.response.data;\n // handleFilesChange(file, _fileList, true);\n // });\n // }\n if (_file.response && _file.status === \"done\") {\n _file.response = _file.response.data;\n handleFilesChange(_file, _fileList, true);\n }\n }\n };\n\n const uploadNode = () => {\n if (uploadConfig.hideUploadButton) {\n return null;\n }\n return (\n <Button\n disabled={\n (uploadConfig.maxNumber && value?.length >= uploadConfig.maxNumber) ||\n props.disabled\n }\n type={uploadButtonProps?.buttonType}\n >\n <GeneralIcon\n icon={\n uploadButtonProps?.buttonIcon ?? {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n }\n }\n />\n {uploadButtonProps?.buttonName ??\n uploadConfig.uploadButtonName ??\n \"Upload\"}\n </Button>\n );\n };\n\n const handleRemove = (e: any) => {\n props.onRemove?.(e);\n };\n\n const uploadProps: any = {\n className: props.className,\n method: uploadConfig?.method || \"post\",\n disabled: props.disabled || disabled,\n data: uploadConfig?.data,\n name: uploadConfig?.uploadName,\n action: uploadConfig?.url || UploadFileUrl,\n accept: uploadConfig?.accept,\n multiple: false,\n listType: \"text\",\n fileList,\n maxCount: uploadConfig?.maxNumber ?? 5,\n beforeUpload: handleBeforeUpload,\n onChange: handleChange,\n onRemove: handleRemove,\n supportServerRender: true,\n progress: {\n strokeColor: \"var(--color-success)\",\n trailColor: \"var(--color-fill-bg-base-1)\",\n strokeWidth: \"1px\",\n showInfo: false,\n },\n showUploadList: {\n // eslint-disable-next-line react/display-name\n removeIcon: (file: UploadFile): ReactNode =>\n file.status === \"error\" ? (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n }}\n />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n }}\n />\n ),\n },\n // eslint-disable-next-line react/display-name\n iconRender: (file: UploadFile): ReactNode =>\n file.status === \"uploading\" ? (\n <LoadingOutlined />\n ) : (\n <GeneralIcon\n icon={{\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n }}\n />\n ),\n };\n return (\n <div className={styles.uploadContainer}>\n <Upload {...uploadProps}>{uploadNode()}</Upload>\n </div>\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.20.1",
3
+ "version": "7.20.2",
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",
@@ -51,5 +51,5 @@
51
51
  "immutability-helper": "^3.1.1",
52
52
  "marked": "^2.1.3"
53
53
  },
54
- "gitHead": "20ad2bb3d44504dd446905349580ac04d4443bab"
54
+ "gitHead": "0919c43cd2867bd5fe10b87bbb125e2880835f7b"
55
55
  }