amis 1.6.1 → 1.6.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.
- package/lib/SchemaRenderer.js +6 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/actions/CmptAction.js +1 -1
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/CodeMirror.d.ts +0 -1
- package/lib/components/CodeMirror.js +0 -1
- package/lib/components/CodeMirror.js.map +2 -2
- package/lib/components/DatePicker.d.ts +0 -1
- package/lib/components/DatePicker.js +9 -9
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/RichText.d.ts +0 -2
- package/lib/components/RichText.js +0 -3
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Tinymce.d.ts +0 -1
- package/lib/components/Tinymce.js +1 -1
- package/lib/components/Tinymce.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +1 -0
- package/lib/components/condition-builder/Group.js +7 -7
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +1 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/env.d.ts +2 -1
- package/lib/env.js.map +2 -2
- package/lib/factory.js +6 -2
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputImage.d.ts +0 -1
- package/lib/renderers/Form/InputImage.js +1 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Pagination.js +2 -2
- package/lib/renderers/Pagination.js.map +2 -2
- package/lib/renderers/Video.d.ts +0 -1
- package/lib/renderers/Video.js +0 -2
- package/lib/renderers/Video.js.map +2 -2
- package/lib/themes/ang-ie11.css +10412 -0
- package/lib/themes/ang.css +10412 -0
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +10412 -0
- package/lib/themes/antd.css +10412 -0
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +10412 -0
- package/lib/themes/cxd.css +10412 -0
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +10412 -0
- package/lib/themes/dark.css +10412 -0
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +10412 -0
- package/lib/themes/default.css.map +1 -1
- package/package.json +2 -2
- package/scss/_thirds.scss +7 -0
- package/scss/components/_condition-builder.scss +11 -0
- package/scss/themes/_common.scss +2 -0
- package/sdk/ang-ie11.css +12165 -12187
- package/sdk/ang.css +15347 -15369
- package/sdk/antd-ie11.css +12165 -12187
- package/sdk/antd.css +15489 -15511
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +69 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +12165 -12187
- package/sdk/cxd.css +15347 -15369
- package/sdk/dark-ie11.css +12165 -12187
- package/sdk/dark.css +15432 -15454
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -20
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +12165 -12187
- package/sdk/sdk.css +15347 -15369
- package/sdk/sdk.js +1270 -1342
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/SchemaRenderer.tsx +9 -3
- package/src/actions/CmptAction.ts +1 -1
- package/src/components/CodeMirror.tsx +1 -1
- package/src/components/DatePicker.tsx +63 -50
- package/src/components/RichText.tsx +2 -2
- package/src/components/Tinymce.tsx +1 -1
- package/src/components/condition-builder/Group.tsx +59 -42
- package/src/components/condition-builder/GroupOrItem.tsx +8 -1
- package/src/components/condition-builder/index.tsx +4 -1
- package/src/env.tsx +4 -1
- package/src/factory.tsx +8 -3
- package/src/renderers/Form/InputImage.tsx +1 -1
- package/src/renderers/Pagination.tsx +2 -2
- package/src/renderers/Video.tsx +1 -1
@@ -4,7 +4,7 @@ exports.ImageControlRenderer = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = tslib_1.__importStar(require("react"));
|
6
6
|
var Item_1 = require("./Item");
|
7
|
-
|
7
|
+
// import 'cropperjs/dist/cropper.css';
|
8
8
|
var Cropper = react_1.default.lazy(function () { return Promise.resolve().then(function () { return new Promise(function(resolve){require(['react-cropper'], function(ret) {resolve(tslib_1.__importStar(ret));})}); }); });
|
9
9
|
var react_dropzone_1 = (0, tslib_1.__importDefault)(require("react-dropzone"));
|
10
10
|
require("blueimp-canvastoblob");
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputImage.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React, {Suspense} from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport 'cropperjs/dist/cropper.css';\nconst Cropper = React.lazy(() => import('react-cropper'));\nimport DropZone from 'react-dropzone';\nimport {FileRejection} from 'react-dropzone';\nimport 'blueimp-canvastoblob';\nimport find from 'lodash/find';\nimport {Payload} from '../../types';\nimport {buildApi} from '../../utils/api';\nimport {\n createObject,\n qsstringify,\n guid,\n isEmpty,\n qsparse\n} from '../../utils/helper';\nimport {Icon} from '../../components/icons';\nimport Button from '../../components/Button';\nimport accepts from 'attr-accept';\nimport {getNameFromUrl} from './InputFile';\nimport ImageComponent, {ImageThumbProps} from '../Image';\nimport {TranslateFn} from '../../locale';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaTokenizeableString,\n SchemaUrlPath\n} from '../../Schema';\nimport {filter} from '../../utils/tpl';\nimport isPlainObject from 'lodash/isPlainObject';\nimport merge from 'lodash/merge';\n\n/**\n * Image 图片上传控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/image\n */\nexport interface ImageControlSchema extends FormBaseControl {\n /**\n * 指定为图片上传控件\n */\n type: 'input-image';\n\n /**\n * 默认展示图片的链接\n */\n src?: SchemaUrlPath;\n\n /**\n * 默认展示图片的类名\n */\n imageClassName?: string;\n\n /**\n * 配置接收的图片类型\n *\n * 建议直接填写文件后缀\n * 如:.txt,.csv\n *\n * 多个类型用逗号隔开。\n */\n accept?: string;\n\n /**\n * 默认都是通过用户选择图片后上传返回图片地址,如果开启此选项,则可以允许用户图片地址。\n */\n allowInput?: boolean;\n\n /**\n * 是否自动开始上传\n */\n autoUpload?: boolean;\n\n /**\n * 选择图片按钮的 CSS 类名\n */\n btnClassName?: SchemaClassName;\n\n /**\n * 上传按钮的 CSS 类名\n */\n btnUploadClassName?: SchemaClassName;\n\n /**\n * @deprecated\n */\n compress?: boolean;\n\n /**\n * @deprecated\n */\n compressOptions?: {\n maxHeight?: number;\n maxWidth?: number;\n };\n\n crop?:\n | boolean\n | {\n /**\n * 默认 `1` 即 `1:1`\n *\n * 留空将不限制\n */\n aspectRatio?: number;\n\n guides?: boolean;\n dragMode?: string;\n viewMode?: number;\n rotatable?: boolean;\n scalable?: boolean;\n };\n\n /**\n * 裁剪后的图片类型\n */\n cropFormat?: string;\n\n /**\n * 裁剪后的质量\n */\n cropQuality?: number;\n\n /**\n * 是否允许二次裁剪。\n */\n reCropable?: boolean;\n\n /**\n * 是否隐藏上传按钮\n */\n hideUploadButton?: boolean;\n\n /**\n * 限制图片大小,超出不让上传。\n */\n limit?: {\n /**\n * 比率不对时的提示文字\n */\n aspectRatioLabel?: string;\n /**\n * 限制比率\n */\n aspectRatio?: number;\n\n /**\n * 限制图片高度\n */\n height?: number;\n\n /**\n * 限制图片宽度\n */\n width?: number;\n\n /**\n * 限制图片最大高度\n */\n maxHeight?: number;\n\n /**\n * 限制图片最大宽度\n */\n maxWidth?: number;\n\n /**\n * 限制图片最小高度\n */\n minHeight?: number;\n\n /**\n * 限制图片最小宽度\n */\n minWidth?: number;\n };\n\n /**\n * 最多的个数\n */\n maxLength?: number;\n\n /**\n * 默认没有限制,当设置后,文件大小大于此值将不允许上传。\n */\n maxSize?: number;\n\n /**\n * 默认 `/api/upload` 如果想自己存储,请设置此选项。\n */\n receiver?: SchemaApi;\n\n /**\n * 默认为 false, 开启后,允许用户输入压缩选项。\n *\n * @deprecated\n */\n showCompressOptions?: boolean;\n\n /**\n * 是否为多选\n */\n multiple?: boolean;\n\n /**\n * 单选模式:当用户选中某个选项时,选项中的 value 将被作为该表单项的值提交,否则,整个选项对象都会作为该表单项的值提交。\n * 多选模式:选中的多个选项的 `value` 会通过 `delimiter` 连接起来,否则直接将以数组的形式提交值。\n */\n joinValues?: boolean;\n\n /**\n * 分割符\n */\n delimiter?: string;\n\n /**\n * 开启后将选中的选项 value 的值封装为数组,作为当前表单项的值。\n */\n extractValue?: boolean;\n\n /**\n * 清除时设置的值\n */\n resetValue?: any;\n\n /**\n * 缩路图展示模式\n */\n thumbMode?: 'w-full' | 'h-full' | 'contain' | 'cover';\n\n /**\n * 缩路图展示比率。\n */\n thumbRatio?: '1:1' | '4:3' | '16:9';\n\n /**\n * 上传后把其他字段同步到表单内部。\n */\n autoFill?: {\n [propName: string]: SchemaTokenizeableString;\n };\n\n /**\n * 默认占位图图片地址\n */\n frameImage?: SchemaUrlPath;\n\n /**\n * 是否开启固定尺寸\n */\n fixedSize?: boolean;\n\n /**\n * 固定尺寸的 CSS类名\n */\n fixedSizeClassName?: SchemaClassName;\n}\n\nlet preventEvent = (e: any) => e.stopPropagation();\n\nexport interface ImageProps\n extends FormControlProps,\n Omit<\n ImageControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n onImageEnlarge?: (\n info: Pick<ImageThumbProps, 'src' | 'originalSrc' | 'title' | 'caption'> & {\n index?: number;\n list?: Array<\n Pick<ImageThumbProps, 'src' | 'originalSrc' | 'title' | 'caption'>\n >;\n }\n ) => void;\n}\n\nexport interface ImageState {\n uploading: boolean;\n locked: boolean;\n lockedReason?: string;\n files: Array<FileValue | FileX>;\n crop?: any;\n error?: string;\n cropFile?: FileValue;\n cropFileName?: string; // 主要是用于后续上传的时候获得用户名\n submitOnChange?: boolean;\n frameImageWidth?: number;\n}\n\nexport interface FileValue {\n value?: any;\n state: 'init' | 'error' | 'pending' | 'uploading' | 'uploaded' | 'invalid';\n url?: string;\n error?: string;\n info?: {\n width: number;\n height: number;\n len?: number;\n };\n [propName: string]: any;\n}\n\nexport interface FileX extends File {\n id?: string | number;\n preview?: string;\n state?: 'init' | 'error' | 'pending' | 'uploading' | 'uploaded' | 'invalid';\n progress?: number;\n [propName: string]: any;\n}\n\nexport default class ImageControl extends React.Component<\n ImageProps,\n ImageState\n> {\n static defaultProps = {\n limit: undefined,\n accept: 'image/jpeg, image/jpg, image/png, image/gif',\n receiver: '/api/upload',\n hideUploadButton: false,\n placeholder: 'Image.placeholder',\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n autoUpload: true,\n multiple: false\n };\n\n static formatFileSize(\n size: number | string,\n units = [' B', ' KB', ' M', ' G']\n ) {\n size = parseInt(size as string, 10) || 0;\n\n while (size > 1024 && units.length > 1) {\n size /= 1024;\n units.shift();\n }\n\n return size.toFixed(2) + units[0];\n }\n\n static valueToFile(\n value: string | object,\n props?: ImageProps\n ): FileValue | undefined {\n return value\n ? {\n ...(typeof value === 'string'\n ? {\n value,\n url: value,\n id: guid()\n }\n : value),\n state: 'init'\n }\n : undefined;\n }\n\n static sizeInfo(\n width: number | undefined,\n height: number | undefined,\n __: TranslateFn\n ): string {\n if (!width) {\n return __('Image.height', {height: height});\n } else if (!height) {\n return __('Image.width', {width: width});\n }\n\n return __('Image.size', {width, height});\n }\n\n state: ImageState = {\n uploading: false,\n locked: false,\n files: []\n };\n\n files: Array<FileValue | FileX> = [];\n fileUploadCancelExecutors: Array<{\n file: any;\n executor: () => void;\n }> = [];\n cropper: Cropper;\n dropzone = React.createRef<any>();\n frameImageRef = React.createRef<any>();\n current: FileValue | FileX | null = null;\n resolve?: (value?: any) => void;\n emitValue: any;\n unmounted = false;\n\n constructor(props: ImageProps) {\n super(props);\n const value: string | Array<string | FileValue> | FileValue = props.value;\n const multiple = props.multiple;\n const joinValues = props.joinValues;\n const delimiter = props.delimiter as string;\n let files: Array<FileValue> = [];\n\n if (value) {\n // files = (multiple && Array.isArray(value) ? value : joinValues ? (value as string).split(delimiter) : [value])\n files = (\n Array.isArray(value)\n ? value\n : joinValues && typeof value === 'string' && multiple\n ? (value as string).split(delimiter)\n : [value]\n )\n .map(item => ImageControl.valueToFile(item) as FileValue)\n .filter(item => item);\n }\n\n this.state = {\n ...this.state,\n files: (this.files = files),\n crop: this.buildCrop(props),\n frameImageWidth: 0\n };\n\n this.sendFile = this.sendFile.bind(this);\n this.removeFile = this.removeFile.bind(this);\n this.handleDrop = this.handleDrop.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleCrop = this.handleCrop.bind(this);\n this.handleDropRejected = this.handleDropRejected.bind(this);\n this.cancelCrop = this.cancelCrop.bind(this);\n this.rotatableCrop = this.rotatableCrop.bind(this);\n this.handleImageLoaded = this.handleImageLoaded.bind(this);\n this.handleFrameImageLoaded = this.handleFrameImageLoaded.bind(this);\n this.startUpload = this.startUpload.bind(this);\n this.stopUpload = this.stopUpload.bind(this);\n this.toggleUpload = this.toggleUpload.bind(this);\n this.tick = this.tick.bind(this);\n this.onChange = this.onChange.bind(this);\n this.addFiles = this.addFiles.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.handlePaste = this.handlePaste.bind(this);\n this.syncAutoFill = this.syncAutoFill.bind(this);\n }\n\n componentDidMount() {\n this.syncAutoFill();\n }\n\n componentDidUpdate(prevProps: ImageProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value && this.emitValue !== props.value) {\n const value: string | Array<string | FileValue> | FileValue = props.value;\n const multiple = props.multiple;\n const joinValues = props.joinValues;\n const delimiter = props.delimiter as string;\n\n let files: Array<FileValue> = [];\n\n if (value) {\n files = (\n Array.isArray(value)\n ? value\n : joinValues && typeof value === 'string' && multiple\n ? (value as string).split(delimiter)\n : [value]\n )\n .map(item => {\n let obj = ImageControl.valueToFile(item, props) as FileValue;\n let org;\n\n if (\n obj &&\n (org = find(\n this.files,\n item => (item as FileValue).value === obj.value\n ))\n ) {\n obj = {\n ...org,\n ...obj,\n id: org.id || obj.id\n };\n }\n\n return obj;\n })\n .filter(item => item);\n }\n\n this.setState(\n {\n files: (this.files = files)\n },\n this.syncAutoFill\n );\n }\n\n if (prevProps.crop !== props.crop) {\n this.setState({\n crop: this.buildCrop(props)\n });\n }\n }\n\n componentWillUnmount() {\n this.unmounted = true;\n }\n\n buildCrop(props: ImageProps) {\n let crop = props.crop;\n const __ = this.props.translate;\n\n if (crop && props.multiple) {\n props.env && props.env.alert && props.env.alert(__('Image.configError'));\n return null;\n }\n\n if (crop === true) {\n crop = {};\n }\n\n if (crop) {\n crop = {\n aspectRatio: undefined, // 默认不限制\n guides: true,\n dragMode: 'move',\n viewMode: 1,\n rotatable: true,\n scalable: true,\n ...crop\n };\n }\n\n return crop;\n }\n\n handleDropRejected(\n rejectedFiles: FileRejection[],\n evt: React.DragEvent<any>\n ) {\n if (evt.type !== 'change' && evt.type !== 'drop') {\n return;\n }\n const {multiple, env, accept, translate: __} = this.props;\n\n const files = rejectedFiles.map(fileRejection => ({\n ...fileRejection.file,\n state: 'invalid',\n id: guid(),\n name: fileRejection.file.name\n }));\n\n // this.setState({\n // files: this.files = multiple\n // ? this.files.concat(files)\n // : this.files.length\n // ? this.files\n // : files.slice(0, 1)\n // });\n\n env.alert(\n __('File.invalidType', {\n files: files.map((file: any) => `「${file.name}」`).join(' '),\n accept\n })\n );\n }\n\n startUpload(retry: boolean = false) {\n if (this.state.uploading) {\n return;\n }\n\n this.setState(\n {\n uploading: true,\n locked: true,\n files: (this.files = this.files.map(file => {\n if (retry && file.state === 'error') {\n file.state = 'pending';\n file.progress = 0;\n }\n\n return file;\n }))\n },\n this.tick\n );\n }\n\n toggleUpload() {\n return this.state.uploading ? this.stopUpload() : this.startUpload();\n }\n\n stopUpload() {\n if (!this.state.uploading) {\n return;\n }\n\n this.setState({\n uploading: false\n });\n }\n\n tick() {\n if (this.current || !this.state.uploading) {\n return;\n }\n\n const env = this.props.env;\n const __ = this.props.translate;\n const file = find(this.files, item => item.state === 'pending') as FileX;\n if (file) {\n this.current = file;\n\n file.state = 'uploading';\n this.setState(\n {\n files: (this.files = this.files.concat())\n },\n () =>\n this.sendFile(\n file as FileX,\n (error, file, obj) => {\n const files = this.files.concat();\n const idx = files.indexOf(file);\n\n if (!~idx) {\n return;\n }\n\n let newFile: FileX | FileValue = file;\n\n if (error) {\n newFile.state =\n file.state !== 'uploading' ? file.state : 'error';\n newFile.error = error;\n\n if (!this.props.multiple && newFile.state === 'invalid') {\n files.splice(idx, 1);\n this.current = null;\n\n return this.setState(\n {\n files: (this.files = files),\n error: error\n },\n this.tick\n );\n }\n\n env.notify('error', error || __('File.errorRetry'));\n } else {\n newFile = {\n name: file.name || this.state.cropFileName,\n ...obj,\n preview: file.preview\n } as FileValue;\n }\n files.splice(idx, 1, newFile);\n this.current = null;\n this.setState(\n {\n files: (this.files = files)\n },\n this.tick\n );\n },\n progress => {\n const files = this.files.concat();\n const idx = files.indexOf(file);\n\n if (!~idx) {\n return;\n }\n\n // file 是个非 File 对象,先不copy了直接改。\n file.progress = progress;\n this.setState({\n files: (this.files = files)\n });\n }\n )\n );\n } else {\n this.setState(\n {\n uploading: false,\n locked: false\n },\n () => {\n this.onChange(!!this.resolve);\n\n if (this.resolve) {\n this.resolve(\n this.files.some(file => file.state === 'error')\n ? __('File.errorRetry')\n : null\n );\n this.resolve = undefined;\n }\n }\n );\n }\n }\n\n removeFile(file: FileValue, index: number) {\n const files = this.files.concat();\n\n this.removeFileCanelExecutor(file, true);\n files.splice(index, 1);\n\n const isUploading = this.current === file;\n if (isUploading) {\n this.current = null;\n }\n\n this.setState(\n {\n files: (this.files = files)\n },\n isUploading ? this.tick : this.onChange\n );\n }\n\n previewImage(file: FileX, index: number, e: React.MouseEvent<any>) {\n const {onImageEnlarge} = this.props;\n\n if (onImageEnlarge) {\n const files = this.files;\n e.preventDefault();\n\n onImageEnlarge({\n src: (file.preview || file.url) as string,\n originalSrc: (file.preview || file.url) as string,\n index,\n list: files.map(file => ({\n src: (file.preview || file.url) as string,\n originalSrc: (file.preview || file.url) as string,\n title: file.name || getNameFromUrl(file.value || file.url)\n }))\n });\n }\n }\n\n editImage(index: number) {\n const files = this.files;\n\n this.setState({\n cropFile: {\n preview: files[index].preview || (files[index].url as string),\n name: files[index].name,\n state: 'init'\n },\n cropFileName: files[index].name\n });\n }\n\n onChange(changeImmediately?: boolean) {\n const {\n multiple,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const files = this.files.filter(\n file => file.state == 'uploaded' || file.state == 'init'\n );\n\n let newValue: any = files.length\n ? joinValues\n ? files[0].value\n : files[0]\n : '';\n\n if (multiple) {\n newValue = joinValues\n ? files.map(item => item.value).join(delimiter)\n : extractValue\n ? files.map(item => item.value)\n : files;\n } else {\n newValue = joinValues\n ? newValue.value || newValue\n : extractValue\n ? newValue[valueField || 'value']\n : newValue;\n }\n\n onChange((this.emitValue = newValue || ''), undefined, changeImmediately);\n this.syncAutoFill();\n }\n\n syncAutoFill() {\n const {autoFill, multiple, onBulkChange, data} = this.props;\n if (!isEmpty(autoFill) && onBulkChange) {\n const files = this.state.files.filter(\n file => ~['uploaded', 'init', 'ready'].indexOf(file.state as string)\n );\n const toSync = dataMapping(\n autoFill,\n multiple\n ? {\n items: files\n }\n : files[0]\n );\n\n Object.keys(toSync).forEach(key => {\n if (isPlainObject(toSync[key]) && isPlainObject(data[key])) {\n toSync[key] = merge({}, data[key], toSync[key]);\n }\n });\n onBulkChange(toSync);\n }\n }\n\n handleSelect() {\n this.dropzone.current && this.dropzone.current.open();\n }\n\n handleRetry(index: number) {\n const files = this.files.concat();\n const file = files[index];\n\n if (file.state !== 'invalid' && file.state !== 'error') {\n return;\n }\n\n file.state = 'pending';\n file.progress = 0;\n\n this.setState(\n {\n files: files\n },\n this.startUpload\n );\n }\n\n handleDrop(files: Array<FileX>) {\n const {multiple, crop} = this.props;\n\n if (crop && !multiple) {\n const file = files[0] as FileValue;\n if (!file.preview || !file.url) {\n file.preview = window.URL.createObjectURL(file);\n }\n\n return this.setState({\n cropFile: file,\n cropFileName: file.name\n });\n }\n\n this.addFiles(files);\n }\n\n handlePaste(e: React.ClipboardEvent<any>) {\n const event = e.nativeEvent as any;\n const files: Array<FileX> = [];\n const items = event.clipboardData.items;\n const accept = this.props.accept || '*';\n\n [].slice.call(items).forEach((item: DataTransferItem) => {\n let blob: FileX;\n\n if (\n item.kind !== 'file' ||\n !(blob = item.getAsFile() as File) ||\n !accepts(blob, accept)\n ) {\n return;\n }\n\n blob.id = guid();\n files.push(blob);\n });\n\n this.handleDrop(files);\n }\n\n handleCrop() {\n const {cropFormat, cropQuality} = this.props;\n this.cropper.getCroppedCanvas().toBlob(\n (file: File) => {\n this.addFiles([file]);\n this.setState({\n cropFile: undefined,\n locked: false,\n lockedReason: ''\n });\n },\n cropFormat || 'image/png',\n cropQuality || 1\n );\n }\n\n cancelCrop() {\n this.setState(\n {\n cropFile: undefined,\n cropFileName: undefined,\n locked: false,\n lockedReason: ''\n },\n this.onChange\n );\n }\n\n rotatableCrop() {\n this.cropper.rotate(45);\n }\n\n addFiles(files: Array<FileX>) {\n if (!files.length) {\n return;\n }\n\n const {multiple, maxLength, maxSize, accept, translate: __} = this.props;\n let currentFiles = this.files;\n\n if (!multiple && currentFiles.length) {\n currentFiles = [];\n }\n\n const allowed =\n (multiple\n ? maxLength\n ? maxLength\n : files.length + currentFiles.length\n : 1) - currentFiles.length;\n const inputFiles: Array<FileX> = [];\n\n [].slice.call(files, 0, allowed).forEach((file: FileX) => {\n if (maxSize && file.size > maxSize) {\n this.props.env.alert(\n __('File.maxSize', {\n filename: file.name,\n actualSize: ImageControl.formatFileSize(file.size),\n maxSize: ImageControl.formatFileSize(maxSize)\n })\n );\n return;\n }\n\n file.state = 'pending';\n file.id = guid();\n if (!file.preview || !file.url) {\n file.preview = URL.createObjectURL(file);\n }\n inputFiles.push(file);\n });\n\n if (!inputFiles.length) {\n return;\n }\n\n this.setState(\n {\n error: undefined,\n files: (this.files = currentFiles.concat(inputFiles)),\n locked: true\n },\n () => {\n const {autoUpload} = this.props;\n\n if (autoUpload) {\n this.startUpload();\n }\n }\n );\n }\n\n sendFile(\n file: FileX,\n cb: (error: null | string, file: FileX, obj?: FileValue) => void,\n onProgress: (progress: number) => void\n ) {\n const {limit, translate: __} = this.props;\n\n if (!limit) {\n return this._upload(file, cb, onProgress);\n }\n\n const image = new Image();\n image.onload = () => {\n const width = image.width;\n const height = image.height;\n let error = '';\n\n if (\n (limit.width && limit.width != width) ||\n (limit.height && limit.height != height)\n ) {\n error = __('Image.sizeNotEqual', {\n info: ImageControl.sizeInfo(limit.width, limit.height, __)\n });\n } else if (\n (limit.maxWidth && limit.maxWidth < width) ||\n (limit.maxHeight && limit.maxHeight < height)\n ) {\n error = __('Image.limitMax', {\n info: ImageControl.sizeInfo(limit.maxWidth, limit.maxHeight, __)\n });\n } else if (\n (limit.minWidth && limit.minWidth > width) ||\n (limit.minHeight && limit.minHeight > height)\n ) {\n error = __('Image.limitMin', {\n info: ImageControl.sizeInfo(limit.minWidth, limit.minHeight, __)\n });\n } else if (\n limit.aspectRatio &&\n Math.abs(width / height - limit.aspectRatio) > 0.01\n ) {\n error = __(limit.aspectRatioLabel || 'Image.limitRatio', {\n ratio: (+limit.aspectRatio).toFixed(2)\n });\n }\n\n if (error) {\n file.state = 'invalid';\n cb(error, file);\n } else {\n this._upload(file, cb, onProgress);\n }\n };\n image.src = (file.preview || file.url) as string;\n }\n\n _upload(\n file: Blob,\n cb: (error: null | string, file: Blob, obj?: FileValue) => void,\n onProgress: (progress: number) => void\n ) {\n const __ = this.props.translate;\n this._send(file, this.props.receiver as string, {}, onProgress)\n .then((ret: Payload) => {\n if (ret.status && (ret as any).status !== '0') {\n throw new Error(ret.msg || __('File.errorRetry'));\n }\n\n const obj: FileValue = {\n ...ret.data,\n state: 'uploaded'\n };\n obj.value = obj.value || obj.url;\n\n cb(null, file, obj);\n })\n .catch(error => cb(error.message || __('File.errorRetry'), file));\n }\n\n async _send(\n file: Blob,\n receiver: string,\n params: object,\n onProgress: (progress: number) => void\n ): Promise<Payload> {\n const fd = new FormData();\n const data = this.props.data;\n const api = buildApi(receiver, createObject(data, params), {\n method: 'post'\n });\n const fileField = this.props.fileField || 'file';\n\n const idx = api.url.indexOf('?');\n\n if (~idx && params) {\n params = {\n ...qsparse(api.url.substring(idx + 1)),\n ...params\n };\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else if (params) {\n api.url += '?' + qsstringify(params);\n }\n\n if (api.data) {\n qsstringify(api.data)\n .split('&')\n .filter(item => item !== '')\n .forEach(item => {\n let parts = item.split('=');\n fd.append(parts[0], decodeURIComponent(parts[1]));\n });\n }\n\n // Note: File类型字段放在后面,可以支持第三方云存储鉴权\n fd.append(fileField, file, (file as File).name || this.state.cropFileName);\n\n const env = this.props.env;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n try {\n return await env.fetcher(api, fd, {\n method: 'post',\n cancelExecutor: (cancelExecutor: () => void) => {\n // 记录取消器,取消的时候要调用\n this.fileUploadCancelExecutors.push({\n file: file,\n executor: cancelExecutor\n });\n },\n onUploadProgress: (event: {loaded: number; total: number}) =>\n onProgress(event.loaded / event.total)\n });\n } finally {\n this.removeFileCanelExecutor(file);\n }\n }\n\n removeFileCanelExecutor(file: any, execute = false) {\n this.fileUploadCancelExecutors = this.fileUploadCancelExecutors.filter(\n item => {\n if (execute && item.file === file) {\n item.executor();\n }\n\n return item.file !== file;\n }\n );\n }\n\n handleClick() {\n (this.refs.dropzone as any).open();\n }\n\n handleImageLoaded(index: number, e: React.UIEvent<any>) {\n const imgDom = e.currentTarget;\n const img = new Image();\n img.onload = () => {\n delete (img as any).onload;\n const files = this.files.concat();\n const file = files[index];\n\n if (!file) {\n return;\n }\n\n file.info = {\n ...file.info,\n width: img.width,\n height: img.height\n };\n\n files.splice(index, 1, file);\n const needUploading = !!(\n this.current || find(files, file => file.state === 'pending')\n );\n\n this.unmounted ||\n this.setState(\n {\n files: (this.files = files)\n },\n !needUploading ? this.onChange : undefined\n );\n };\n img.src = imgDom.src;\n }\n\n handleFrameImageLoaded(e: React.UIEvent<any>) {\n const imgDom = e.currentTarget;\n const img = new Image();\n const {clientHeight} = this.frameImageRef.current;\n\n const _this = this;\n img.onload = function () {\n const ratio = (this as any).width / (this as any).height;\n const finalWidth = (ratio * (clientHeight - 2)).toFixed(2);\n _this.setState({\n frameImageWidth: +finalWidth\n });\n };\n img.src = imgDom.src;\n }\n\n validate(): any {\n const __ = this.props.translate;\n\n if (this.state.locked && this.state.lockedReason) {\n return this.state.lockedReason;\n } else if (this.state.cropFile) {\n return new Promise(resolve => {\n this.resolve = resolve;\n this.handleCrop();\n });\n } else if (\n this.state.uploading ||\n this.files.some(item => item.state === 'pending')\n ) {\n return new Promise(resolve => {\n this.resolve = resolve;\n this.startUpload();\n });\n } else if (this.files.some(item => item.state === 'error')) {\n return __('File.errorRetry');\n }\n }\n\n render() {\n const {\n className,\n classnames: cx,\n placeholder,\n disabled,\n multiple,\n accept,\n maxLength,\n autoUpload,\n hideUploadButton,\n thumbMode,\n thumbRatio,\n reCropable,\n frameImage,\n fixedSize,\n fixedSizeClassName,\n translate: __\n } = this.props;\n const {files, error, crop, uploading, cropFile, frameImageWidth} =\n this.state;\n let frameImageStyle: any = {};\n if (fixedSizeClassName && frameImageWidth && fixedSize) {\n frameImageStyle.width = frameImageWidth;\n }\n const filterFrameImage = filter(frameImage, this.props.data, '| raw');\n\n const hasPending = files.some(file => file.state == 'pending');\n return (\n <div className={cx(`ImageControl`, className)}>\n {cropFile ? (\n <div className={cx('ImageControl-cropperWrapper')}>\n <Suspense fallback={<div>...</div>}>\n <Cropper\n {...crop}\n onInitialized={instance => {\n this.cropper = instance;\n }}\n src={cropFile.preview}\n />\n </Suspense>\n <div className={cx('ImageControl-croperToolbar')}>\n {crop.rotatable && (\n <a\n className={cx('ImageControl-cropRotatable')}\n onClick={this.rotatableCrop}\n data-tooltip={__('rotate')}\n data-position=\"left\"\n >\n <Icon icon=\"retry\" className=\"icon\" />\n </a>\n )}\n <a\n className={cx('ImageControl-cropCancel')}\n onClick={this.cancelCrop}\n data-tooltip={__('cancel')}\n data-position=\"left\"\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n <a\n className={cx('ImageControl-cropConfirm')}\n onClick={this.handleCrop}\n data-tooltip={__('confirm')}\n data-position=\"left\"\n >\n <Icon icon=\"check\" className=\"icon\" />\n </a>\n </div>\n </div>\n ) : (\n <DropZone\n key=\"drop-zone\"\n ref={this.dropzone}\n onDrop={this.handleDrop}\n onDropRejected={this.handleDropRejected}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n >\n {({\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n isFocused\n }) => (\n <div\n {...getRootProps({\n onClick: preventEvent,\n onPaste: this.handlePaste,\n className: cx('ImageControl-dropzone', {\n 'is-disabled': disabled,\n 'is-empty': !files.length,\n 'is-active': isDragActive\n })\n })}\n >\n <input {...getInputProps()} />\n\n {isDragActive || isDragAccept || isDragReject ? (\n <div\n className={cx('ImageControl-acceptTip', {\n 'is-accept': isDragAccept,\n 'is-reject': isDragReject\n })}\n >\n {__('Image.dragDrop')}\n </div>\n ) : (\n <>\n {files && files.length\n ? files.map((file, key) => (\n <div\n key={file.id || key}\n className={cx(\n 'ImageControl-item',\n {\n 'is-uploaded': file.state !== 'uploading',\n 'is-invalid':\n file.state === 'error' ||\n file.state === 'invalid'\n },\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n style={frameImageStyle}\n >\n {file.state === 'invalid' ||\n file.state === 'error' ? (\n <>\n <a\n className={cx('ImageControl-itemClear')}\n data-tooltip={__('Select.clear')}\n data-position=\"bottom\"\n onClick={this.removeFile.bind(\n this,\n file,\n key\n )}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n\n <a\n className={cx(\n 'ImageControl-retryBtn',\n {\n 'is-disabled': disabled\n },\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n onClick={this.handleRetry.bind(this, key)}\n >\n <Icon icon=\"retry\" className=\"icon\" />\n <p className=\"ImageControl-itemInfoError\">\n {__('File.repick')}\n </p>\n </a>\n </>\n ) : file.state === 'uploading' ? (\n <>\n <a\n onClick={this.removeFile.bind(\n this,\n file,\n key\n )}\n key=\"clear\"\n className={cx('ImageControl-itemClear')}\n data-tooltip={__('Select.clear')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n <div\n key=\"info\"\n className={cx(\n 'ImageControl-itemInfo',\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n >\n <div className={cx('ImageControl-progress')}>\n <span\n style={{\n width: `${Math.round(\n file.progress * 100\n )}%`\n }}\n className={cx(\n 'ImageControl-progressValue'\n )}\n />\n </div>\n <p>{__('File.uploading')}</p>\n </div>\n </>\n ) : (\n <>\n <ImageComponent\n key=\"image\"\n className={cx(\n 'ImageControl-image',\n fixedSize ? 'Image-thumb--fixed-size' : ''\n )}\n onLoad={this.handleImageLoaded.bind(\n this,\n key\n )}\n src={file.preview || file.url}\n alt={file.name}\n thumbMode={thumbMode}\n thumbRatio={thumbRatio}\n overlays={\n <>\n {file.info ? (\n [\n <div key=\"info\">\n {file.info.width} x{' '}\n {file.info.height}\n </div>,\n file.info.len ? (\n <div key=\"size\">\n {ImageControl.formatFileSize(\n file.info.len\n )}\n </div>\n ) : null\n ]\n ) : (\n <div>...</div>\n )}\n\n <a\n data-tooltip={__('Image.zoomIn')}\n data-position=\"bottom\"\n target=\"_blank\"\n rel=\"noopener\"\n href={file.url || file.preview}\n onClick={this.previewImage.bind(\n this,\n file,\n key\n )}\n >\n <Icon icon=\"view\" className=\"icon\" />\n </a>\n\n {!!crop &&\n reCropable !== false &&\n !disabled ? (\n <a\n data-tooltip={__('Image.crop')}\n data-position=\"bottom\"\n onClick={this.editImage.bind(\n this,\n key\n )}\n >\n <Icon\n icon=\"pencil\"\n className=\"icon\"\n />\n </a>\n ) : null}\n {!disabled ? (\n <a\n data-tooltip={__('Select.clear')}\n data-position=\"bottom\"\n onClick={this.removeFile.bind(\n this,\n file,\n key\n )}\n >\n <Icon\n icon=\"remove\"\n className=\"icon\"\n />\n </a>\n ) : null}\n <a\n data-tooltip={\n file.name ||\n getNameFromUrl(file.value || file.url)\n }\n data-position=\"bottom\"\n target=\"_blank\"\n >\n <Icon icon=\"info\" className=\"icon\" />\n </a>\n </>\n }\n />\n </>\n )}\n </div>\n ))\n : null}\n\n {(multiple && (!maxLength || files.length < maxLength)) ||\n (!multiple && !files.length) ? (\n <label\n className={cx(\n 'ImageControl-addBtn',\n {\n 'is-disabled': disabled\n },\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n style={frameImageStyle}\n onClick={this.handleSelect}\n data-tooltip={__(placeholder)}\n data-position=\"right\"\n ref={this.frameImageRef}\n >\n {filterFrameImage ? (\n <ImageComponent\n key=\"upload-default-image\"\n src={filterFrameImage}\n className={cx(\n fixedSize ? 'Image-thumb--fixed-size' : ''\n )}\n onLoad={this.handleFrameImageLoaded.bind(this)}\n thumbMode={thumbMode}\n thumbRatio={thumbRatio}\n />\n ) : (\n <>\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__('File.upload')}</span>\n </>\n )}\n\n {isFocused ? (\n <span className={cx('ImageControl-pasteTip')}>\n {__('Image.pasteTip')}\n </span>\n ) : null}\n </label>\n ) : null}\n\n {!autoUpload && !hideUploadButton && files.length ? (\n <Button\n level=\"default\"\n className={cx('ImageControl-uploadBtn')}\n disabled={!hasPending}\n onClick={this.toggleUpload}\n >\n {__(uploading ? 'File.pause' : 'File.start')}\n </Button>\n ) : null}\n\n {error ? (\n <div className={cx('ImageControl-errorMsg')}>{error}</div>\n ) : null}\n </>\n )}\n </div>\n )}\n </DropZone>\n )}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-image',\n sizeMutable: false\n})\nexport class ImageControlRenderer extends ImageControl {}\n"
|
11
|
+
"import React, {Suspense} from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\n// import 'cropperjs/dist/cropper.css';\nconst Cropper = React.lazy(() => import('react-cropper'));\nimport DropZone from 'react-dropzone';\nimport {FileRejection} from 'react-dropzone';\nimport 'blueimp-canvastoblob';\nimport find from 'lodash/find';\nimport {Payload} from '../../types';\nimport {buildApi} from '../../utils/api';\nimport {\n createObject,\n qsstringify,\n guid,\n isEmpty,\n qsparse\n} from '../../utils/helper';\nimport {Icon} from '../../components/icons';\nimport Button from '../../components/Button';\nimport accepts from 'attr-accept';\nimport {getNameFromUrl} from './InputFile';\nimport ImageComponent, {ImageThumbProps} from '../Image';\nimport {TranslateFn} from '../../locale';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaTokenizeableString,\n SchemaUrlPath\n} from '../../Schema';\nimport {filter} from '../../utils/tpl';\nimport isPlainObject from 'lodash/isPlainObject';\nimport merge from 'lodash/merge';\n\n/**\n * Image 图片上传控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/image\n */\nexport interface ImageControlSchema extends FormBaseControl {\n /**\n * 指定为图片上传控件\n */\n type: 'input-image';\n\n /**\n * 默认展示图片的链接\n */\n src?: SchemaUrlPath;\n\n /**\n * 默认展示图片的类名\n */\n imageClassName?: string;\n\n /**\n * 配置接收的图片类型\n *\n * 建议直接填写文件后缀\n * 如:.txt,.csv\n *\n * 多个类型用逗号隔开。\n */\n accept?: string;\n\n /**\n * 默认都是通过用户选择图片后上传返回图片地址,如果开启此选项,则可以允许用户图片地址。\n */\n allowInput?: boolean;\n\n /**\n * 是否自动开始上传\n */\n autoUpload?: boolean;\n\n /**\n * 选择图片按钮的 CSS 类名\n */\n btnClassName?: SchemaClassName;\n\n /**\n * 上传按钮的 CSS 类名\n */\n btnUploadClassName?: SchemaClassName;\n\n /**\n * @deprecated\n */\n compress?: boolean;\n\n /**\n * @deprecated\n */\n compressOptions?: {\n maxHeight?: number;\n maxWidth?: number;\n };\n\n crop?:\n | boolean\n | {\n /**\n * 默认 `1` 即 `1:1`\n *\n * 留空将不限制\n */\n aspectRatio?: number;\n\n guides?: boolean;\n dragMode?: string;\n viewMode?: number;\n rotatable?: boolean;\n scalable?: boolean;\n };\n\n /**\n * 裁剪后的图片类型\n */\n cropFormat?: string;\n\n /**\n * 裁剪后的质量\n */\n cropQuality?: number;\n\n /**\n * 是否允许二次裁剪。\n */\n reCropable?: boolean;\n\n /**\n * 是否隐藏上传按钮\n */\n hideUploadButton?: boolean;\n\n /**\n * 限制图片大小,超出不让上传。\n */\n limit?: {\n /**\n * 比率不对时的提示文字\n */\n aspectRatioLabel?: string;\n /**\n * 限制比率\n */\n aspectRatio?: number;\n\n /**\n * 限制图片高度\n */\n height?: number;\n\n /**\n * 限制图片宽度\n */\n width?: number;\n\n /**\n * 限制图片最大高度\n */\n maxHeight?: number;\n\n /**\n * 限制图片最大宽度\n */\n maxWidth?: number;\n\n /**\n * 限制图片最小高度\n */\n minHeight?: number;\n\n /**\n * 限制图片最小宽度\n */\n minWidth?: number;\n };\n\n /**\n * 最多的个数\n */\n maxLength?: number;\n\n /**\n * 默认没有限制,当设置后,文件大小大于此值将不允许上传。\n */\n maxSize?: number;\n\n /**\n * 默认 `/api/upload` 如果想自己存储,请设置此选项。\n */\n receiver?: SchemaApi;\n\n /**\n * 默认为 false, 开启后,允许用户输入压缩选项。\n *\n * @deprecated\n */\n showCompressOptions?: boolean;\n\n /**\n * 是否为多选\n */\n multiple?: boolean;\n\n /**\n * 单选模式:当用户选中某个选项时,选项中的 value 将被作为该表单项的值提交,否则,整个选项对象都会作为该表单项的值提交。\n * 多选模式:选中的多个选项的 `value` 会通过 `delimiter` 连接起来,否则直接将以数组的形式提交值。\n */\n joinValues?: boolean;\n\n /**\n * 分割符\n */\n delimiter?: string;\n\n /**\n * 开启后将选中的选项 value 的值封装为数组,作为当前表单项的值。\n */\n extractValue?: boolean;\n\n /**\n * 清除时设置的值\n */\n resetValue?: any;\n\n /**\n * 缩路图展示模式\n */\n thumbMode?: 'w-full' | 'h-full' | 'contain' | 'cover';\n\n /**\n * 缩路图展示比率。\n */\n thumbRatio?: '1:1' | '4:3' | '16:9';\n\n /**\n * 上传后把其他字段同步到表单内部。\n */\n autoFill?: {\n [propName: string]: SchemaTokenizeableString;\n };\n\n /**\n * 默认占位图图片地址\n */\n frameImage?: SchemaUrlPath;\n\n /**\n * 是否开启固定尺寸\n */\n fixedSize?: boolean;\n\n /**\n * 固定尺寸的 CSS类名\n */\n fixedSizeClassName?: SchemaClassName;\n}\n\nlet preventEvent = (e: any) => e.stopPropagation();\n\nexport interface ImageProps\n extends FormControlProps,\n Omit<\n ImageControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n onImageEnlarge?: (\n info: Pick<ImageThumbProps, 'src' | 'originalSrc' | 'title' | 'caption'> & {\n index?: number;\n list?: Array<\n Pick<ImageThumbProps, 'src' | 'originalSrc' | 'title' | 'caption'>\n >;\n }\n ) => void;\n}\n\nexport interface ImageState {\n uploading: boolean;\n locked: boolean;\n lockedReason?: string;\n files: Array<FileValue | FileX>;\n crop?: any;\n error?: string;\n cropFile?: FileValue;\n cropFileName?: string; // 主要是用于后续上传的时候获得用户名\n submitOnChange?: boolean;\n frameImageWidth?: number;\n}\n\nexport interface FileValue {\n value?: any;\n state: 'init' | 'error' | 'pending' | 'uploading' | 'uploaded' | 'invalid';\n url?: string;\n error?: string;\n info?: {\n width: number;\n height: number;\n len?: number;\n };\n [propName: string]: any;\n}\n\nexport interface FileX extends File {\n id?: string | number;\n preview?: string;\n state?: 'init' | 'error' | 'pending' | 'uploading' | 'uploaded' | 'invalid';\n progress?: number;\n [propName: string]: any;\n}\n\nexport default class ImageControl extends React.Component<\n ImageProps,\n ImageState\n> {\n static defaultProps = {\n limit: undefined,\n accept: 'image/jpeg, image/jpg, image/png, image/gif',\n receiver: '/api/upload',\n hideUploadButton: false,\n placeholder: 'Image.placeholder',\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n autoUpload: true,\n multiple: false\n };\n\n static formatFileSize(\n size: number | string,\n units = [' B', ' KB', ' M', ' G']\n ) {\n size = parseInt(size as string, 10) || 0;\n\n while (size > 1024 && units.length > 1) {\n size /= 1024;\n units.shift();\n }\n\n return size.toFixed(2) + units[0];\n }\n\n static valueToFile(\n value: string | object,\n props?: ImageProps\n ): FileValue | undefined {\n return value\n ? {\n ...(typeof value === 'string'\n ? {\n value,\n url: value,\n id: guid()\n }\n : value),\n state: 'init'\n }\n : undefined;\n }\n\n static sizeInfo(\n width: number | undefined,\n height: number | undefined,\n __: TranslateFn\n ): string {\n if (!width) {\n return __('Image.height', {height: height});\n } else if (!height) {\n return __('Image.width', {width: width});\n }\n\n return __('Image.size', {width, height});\n }\n\n state: ImageState = {\n uploading: false,\n locked: false,\n files: []\n };\n\n files: Array<FileValue | FileX> = [];\n fileUploadCancelExecutors: Array<{\n file: any;\n executor: () => void;\n }> = [];\n cropper: Cropper;\n dropzone = React.createRef<any>();\n frameImageRef = React.createRef<any>();\n current: FileValue | FileX | null = null;\n resolve?: (value?: any) => void;\n emitValue: any;\n unmounted = false;\n\n constructor(props: ImageProps) {\n super(props);\n const value: string | Array<string | FileValue> | FileValue = props.value;\n const multiple = props.multiple;\n const joinValues = props.joinValues;\n const delimiter = props.delimiter as string;\n let files: Array<FileValue> = [];\n\n if (value) {\n // files = (multiple && Array.isArray(value) ? value : joinValues ? (value as string).split(delimiter) : [value])\n files = (\n Array.isArray(value)\n ? value\n : joinValues && typeof value === 'string' && multiple\n ? (value as string).split(delimiter)\n : [value]\n )\n .map(item => ImageControl.valueToFile(item) as FileValue)\n .filter(item => item);\n }\n\n this.state = {\n ...this.state,\n files: (this.files = files),\n crop: this.buildCrop(props),\n frameImageWidth: 0\n };\n\n this.sendFile = this.sendFile.bind(this);\n this.removeFile = this.removeFile.bind(this);\n this.handleDrop = this.handleDrop.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleCrop = this.handleCrop.bind(this);\n this.handleDropRejected = this.handleDropRejected.bind(this);\n this.cancelCrop = this.cancelCrop.bind(this);\n this.rotatableCrop = this.rotatableCrop.bind(this);\n this.handleImageLoaded = this.handleImageLoaded.bind(this);\n this.handleFrameImageLoaded = this.handleFrameImageLoaded.bind(this);\n this.startUpload = this.startUpload.bind(this);\n this.stopUpload = this.stopUpload.bind(this);\n this.toggleUpload = this.toggleUpload.bind(this);\n this.tick = this.tick.bind(this);\n this.onChange = this.onChange.bind(this);\n this.addFiles = this.addFiles.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.handlePaste = this.handlePaste.bind(this);\n this.syncAutoFill = this.syncAutoFill.bind(this);\n }\n\n componentDidMount() {\n this.syncAutoFill();\n }\n\n componentDidUpdate(prevProps: ImageProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value && this.emitValue !== props.value) {\n const value: string | Array<string | FileValue> | FileValue = props.value;\n const multiple = props.multiple;\n const joinValues = props.joinValues;\n const delimiter = props.delimiter as string;\n\n let files: Array<FileValue> = [];\n\n if (value) {\n files = (\n Array.isArray(value)\n ? value\n : joinValues && typeof value === 'string' && multiple\n ? (value as string).split(delimiter)\n : [value]\n )\n .map(item => {\n let obj = ImageControl.valueToFile(item, props) as FileValue;\n let org;\n\n if (\n obj &&\n (org = find(\n this.files,\n item => (item as FileValue).value === obj.value\n ))\n ) {\n obj = {\n ...org,\n ...obj,\n id: org.id || obj.id\n };\n }\n\n return obj;\n })\n .filter(item => item);\n }\n\n this.setState(\n {\n files: (this.files = files)\n },\n this.syncAutoFill\n );\n }\n\n if (prevProps.crop !== props.crop) {\n this.setState({\n crop: this.buildCrop(props)\n });\n }\n }\n\n componentWillUnmount() {\n this.unmounted = true;\n }\n\n buildCrop(props: ImageProps) {\n let crop = props.crop;\n const __ = this.props.translate;\n\n if (crop && props.multiple) {\n props.env && props.env.alert && props.env.alert(__('Image.configError'));\n return null;\n }\n\n if (crop === true) {\n crop = {};\n }\n\n if (crop) {\n crop = {\n aspectRatio: undefined, // 默认不限制\n guides: true,\n dragMode: 'move',\n viewMode: 1,\n rotatable: true,\n scalable: true,\n ...crop\n };\n }\n\n return crop;\n }\n\n handleDropRejected(\n rejectedFiles: FileRejection[],\n evt: React.DragEvent<any>\n ) {\n if (evt.type !== 'change' && evt.type !== 'drop') {\n return;\n }\n const {multiple, env, accept, translate: __} = this.props;\n\n const files = rejectedFiles.map(fileRejection => ({\n ...fileRejection.file,\n state: 'invalid',\n id: guid(),\n name: fileRejection.file.name\n }));\n\n // this.setState({\n // files: this.files = multiple\n // ? this.files.concat(files)\n // : this.files.length\n // ? this.files\n // : files.slice(0, 1)\n // });\n\n env.alert(\n __('File.invalidType', {\n files: files.map((file: any) => `「${file.name}」`).join(' '),\n accept\n })\n );\n }\n\n startUpload(retry: boolean = false) {\n if (this.state.uploading) {\n return;\n }\n\n this.setState(\n {\n uploading: true,\n locked: true,\n files: (this.files = this.files.map(file => {\n if (retry && file.state === 'error') {\n file.state = 'pending';\n file.progress = 0;\n }\n\n return file;\n }))\n },\n this.tick\n );\n }\n\n toggleUpload() {\n return this.state.uploading ? this.stopUpload() : this.startUpload();\n }\n\n stopUpload() {\n if (!this.state.uploading) {\n return;\n }\n\n this.setState({\n uploading: false\n });\n }\n\n tick() {\n if (this.current || !this.state.uploading) {\n return;\n }\n\n const env = this.props.env;\n const __ = this.props.translate;\n const file = find(this.files, item => item.state === 'pending') as FileX;\n if (file) {\n this.current = file;\n\n file.state = 'uploading';\n this.setState(\n {\n files: (this.files = this.files.concat())\n },\n () =>\n this.sendFile(\n file as FileX,\n (error, file, obj) => {\n const files = this.files.concat();\n const idx = files.indexOf(file);\n\n if (!~idx) {\n return;\n }\n\n let newFile: FileX | FileValue = file;\n\n if (error) {\n newFile.state =\n file.state !== 'uploading' ? file.state : 'error';\n newFile.error = error;\n\n if (!this.props.multiple && newFile.state === 'invalid') {\n files.splice(idx, 1);\n this.current = null;\n\n return this.setState(\n {\n files: (this.files = files),\n error: error\n },\n this.tick\n );\n }\n\n env.notify('error', error || __('File.errorRetry'));\n } else {\n newFile = {\n name: file.name || this.state.cropFileName,\n ...obj,\n preview: file.preview\n } as FileValue;\n }\n files.splice(idx, 1, newFile);\n this.current = null;\n this.setState(\n {\n files: (this.files = files)\n },\n this.tick\n );\n },\n progress => {\n const files = this.files.concat();\n const idx = files.indexOf(file);\n\n if (!~idx) {\n return;\n }\n\n // file 是个非 File 对象,先不copy了直接改。\n file.progress = progress;\n this.setState({\n files: (this.files = files)\n });\n }\n )\n );\n } else {\n this.setState(\n {\n uploading: false,\n locked: false\n },\n () => {\n this.onChange(!!this.resolve);\n\n if (this.resolve) {\n this.resolve(\n this.files.some(file => file.state === 'error')\n ? __('File.errorRetry')\n : null\n );\n this.resolve = undefined;\n }\n }\n );\n }\n }\n\n removeFile(file: FileValue, index: number) {\n const files = this.files.concat();\n\n this.removeFileCanelExecutor(file, true);\n files.splice(index, 1);\n\n const isUploading = this.current === file;\n if (isUploading) {\n this.current = null;\n }\n\n this.setState(\n {\n files: (this.files = files)\n },\n isUploading ? this.tick : this.onChange\n );\n }\n\n previewImage(file: FileX, index: number, e: React.MouseEvent<any>) {\n const {onImageEnlarge} = this.props;\n\n if (onImageEnlarge) {\n const files = this.files;\n e.preventDefault();\n\n onImageEnlarge({\n src: (file.preview || file.url) as string,\n originalSrc: (file.preview || file.url) as string,\n index,\n list: files.map(file => ({\n src: (file.preview || file.url) as string,\n originalSrc: (file.preview || file.url) as string,\n title: file.name || getNameFromUrl(file.value || file.url)\n }))\n });\n }\n }\n\n editImage(index: number) {\n const files = this.files;\n\n this.setState({\n cropFile: {\n preview: files[index].preview || (files[index].url as string),\n name: files[index].name,\n state: 'init'\n },\n cropFileName: files[index].name\n });\n }\n\n onChange(changeImmediately?: boolean) {\n const {\n multiple,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const files = this.files.filter(\n file => file.state == 'uploaded' || file.state == 'init'\n );\n\n let newValue: any = files.length\n ? joinValues\n ? files[0].value\n : files[0]\n : '';\n\n if (multiple) {\n newValue = joinValues\n ? files.map(item => item.value).join(delimiter)\n : extractValue\n ? files.map(item => item.value)\n : files;\n } else {\n newValue = joinValues\n ? newValue.value || newValue\n : extractValue\n ? newValue[valueField || 'value']\n : newValue;\n }\n\n onChange((this.emitValue = newValue || ''), undefined, changeImmediately);\n this.syncAutoFill();\n }\n\n syncAutoFill() {\n const {autoFill, multiple, onBulkChange, data} = this.props;\n if (!isEmpty(autoFill) && onBulkChange) {\n const files = this.state.files.filter(\n file => ~['uploaded', 'init', 'ready'].indexOf(file.state as string)\n );\n const toSync = dataMapping(\n autoFill,\n multiple\n ? {\n items: files\n }\n : files[0]\n );\n\n Object.keys(toSync).forEach(key => {\n if (isPlainObject(toSync[key]) && isPlainObject(data[key])) {\n toSync[key] = merge({}, data[key], toSync[key]);\n }\n });\n onBulkChange(toSync);\n }\n }\n\n handleSelect() {\n this.dropzone.current && this.dropzone.current.open();\n }\n\n handleRetry(index: number) {\n const files = this.files.concat();\n const file = files[index];\n\n if (file.state !== 'invalid' && file.state !== 'error') {\n return;\n }\n\n file.state = 'pending';\n file.progress = 0;\n\n this.setState(\n {\n files: files\n },\n this.startUpload\n );\n }\n\n handleDrop(files: Array<FileX>) {\n const {multiple, crop} = this.props;\n\n if (crop && !multiple) {\n const file = files[0] as FileValue;\n if (!file.preview || !file.url) {\n file.preview = window.URL.createObjectURL(file);\n }\n\n return this.setState({\n cropFile: file,\n cropFileName: file.name\n });\n }\n\n this.addFiles(files);\n }\n\n handlePaste(e: React.ClipboardEvent<any>) {\n const event = e.nativeEvent as any;\n const files: Array<FileX> = [];\n const items = event.clipboardData.items;\n const accept = this.props.accept || '*';\n\n [].slice.call(items).forEach((item: DataTransferItem) => {\n let blob: FileX;\n\n if (\n item.kind !== 'file' ||\n !(blob = item.getAsFile() as File) ||\n !accepts(blob, accept)\n ) {\n return;\n }\n\n blob.id = guid();\n files.push(blob);\n });\n\n this.handleDrop(files);\n }\n\n handleCrop() {\n const {cropFormat, cropQuality} = this.props;\n this.cropper.getCroppedCanvas().toBlob(\n (file: File) => {\n this.addFiles([file]);\n this.setState({\n cropFile: undefined,\n locked: false,\n lockedReason: ''\n });\n },\n cropFormat || 'image/png',\n cropQuality || 1\n );\n }\n\n cancelCrop() {\n this.setState(\n {\n cropFile: undefined,\n cropFileName: undefined,\n locked: false,\n lockedReason: ''\n },\n this.onChange\n );\n }\n\n rotatableCrop() {\n this.cropper.rotate(45);\n }\n\n addFiles(files: Array<FileX>) {\n if (!files.length) {\n return;\n }\n\n const {multiple, maxLength, maxSize, accept, translate: __} = this.props;\n let currentFiles = this.files;\n\n if (!multiple && currentFiles.length) {\n currentFiles = [];\n }\n\n const allowed =\n (multiple\n ? maxLength\n ? maxLength\n : files.length + currentFiles.length\n : 1) - currentFiles.length;\n const inputFiles: Array<FileX> = [];\n\n [].slice.call(files, 0, allowed).forEach((file: FileX) => {\n if (maxSize && file.size > maxSize) {\n this.props.env.alert(\n __('File.maxSize', {\n filename: file.name,\n actualSize: ImageControl.formatFileSize(file.size),\n maxSize: ImageControl.formatFileSize(maxSize)\n })\n );\n return;\n }\n\n file.state = 'pending';\n file.id = guid();\n if (!file.preview || !file.url) {\n file.preview = URL.createObjectURL(file);\n }\n inputFiles.push(file);\n });\n\n if (!inputFiles.length) {\n return;\n }\n\n this.setState(\n {\n error: undefined,\n files: (this.files = currentFiles.concat(inputFiles)),\n locked: true\n },\n () => {\n const {autoUpload} = this.props;\n\n if (autoUpload) {\n this.startUpload();\n }\n }\n );\n }\n\n sendFile(\n file: FileX,\n cb: (error: null | string, file: FileX, obj?: FileValue) => void,\n onProgress: (progress: number) => void\n ) {\n const {limit, translate: __} = this.props;\n\n if (!limit) {\n return this._upload(file, cb, onProgress);\n }\n\n const image = new Image();\n image.onload = () => {\n const width = image.width;\n const height = image.height;\n let error = '';\n\n if (\n (limit.width && limit.width != width) ||\n (limit.height && limit.height != height)\n ) {\n error = __('Image.sizeNotEqual', {\n info: ImageControl.sizeInfo(limit.width, limit.height, __)\n });\n } else if (\n (limit.maxWidth && limit.maxWidth < width) ||\n (limit.maxHeight && limit.maxHeight < height)\n ) {\n error = __('Image.limitMax', {\n info: ImageControl.sizeInfo(limit.maxWidth, limit.maxHeight, __)\n });\n } else if (\n (limit.minWidth && limit.minWidth > width) ||\n (limit.minHeight && limit.minHeight > height)\n ) {\n error = __('Image.limitMin', {\n info: ImageControl.sizeInfo(limit.minWidth, limit.minHeight, __)\n });\n } else if (\n limit.aspectRatio &&\n Math.abs(width / height - limit.aspectRatio) > 0.01\n ) {\n error = __(limit.aspectRatioLabel || 'Image.limitRatio', {\n ratio: (+limit.aspectRatio).toFixed(2)\n });\n }\n\n if (error) {\n file.state = 'invalid';\n cb(error, file);\n } else {\n this._upload(file, cb, onProgress);\n }\n };\n image.src = (file.preview || file.url) as string;\n }\n\n _upload(\n file: Blob,\n cb: (error: null | string, file: Blob, obj?: FileValue) => void,\n onProgress: (progress: number) => void\n ) {\n const __ = this.props.translate;\n this._send(file, this.props.receiver as string, {}, onProgress)\n .then((ret: Payload) => {\n if (ret.status && (ret as any).status !== '0') {\n throw new Error(ret.msg || __('File.errorRetry'));\n }\n\n const obj: FileValue = {\n ...ret.data,\n state: 'uploaded'\n };\n obj.value = obj.value || obj.url;\n\n cb(null, file, obj);\n })\n .catch(error => cb(error.message || __('File.errorRetry'), file));\n }\n\n async _send(\n file: Blob,\n receiver: string,\n params: object,\n onProgress: (progress: number) => void\n ): Promise<Payload> {\n const fd = new FormData();\n const data = this.props.data;\n const api = buildApi(receiver, createObject(data, params), {\n method: 'post'\n });\n const fileField = this.props.fileField || 'file';\n\n const idx = api.url.indexOf('?');\n\n if (~idx && params) {\n params = {\n ...qsparse(api.url.substring(idx + 1)),\n ...params\n };\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else if (params) {\n api.url += '?' + qsstringify(params);\n }\n\n if (api.data) {\n qsstringify(api.data)\n .split('&')\n .filter(item => item !== '')\n .forEach(item => {\n let parts = item.split('=');\n fd.append(parts[0], decodeURIComponent(parts[1]));\n });\n }\n\n // Note: File类型字段放在后面,可以支持第三方云存储鉴权\n fd.append(fileField, file, (file as File).name || this.state.cropFileName);\n\n const env = this.props.env;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n try {\n return await env.fetcher(api, fd, {\n method: 'post',\n cancelExecutor: (cancelExecutor: () => void) => {\n // 记录取消器,取消的时候要调用\n this.fileUploadCancelExecutors.push({\n file: file,\n executor: cancelExecutor\n });\n },\n onUploadProgress: (event: {loaded: number; total: number}) =>\n onProgress(event.loaded / event.total)\n });\n } finally {\n this.removeFileCanelExecutor(file);\n }\n }\n\n removeFileCanelExecutor(file: any, execute = false) {\n this.fileUploadCancelExecutors = this.fileUploadCancelExecutors.filter(\n item => {\n if (execute && item.file === file) {\n item.executor();\n }\n\n return item.file !== file;\n }\n );\n }\n\n handleClick() {\n (this.refs.dropzone as any).open();\n }\n\n handleImageLoaded(index: number, e: React.UIEvent<any>) {\n const imgDom = e.currentTarget;\n const img = new Image();\n img.onload = () => {\n delete (img as any).onload;\n const files = this.files.concat();\n const file = files[index];\n\n if (!file) {\n return;\n }\n\n file.info = {\n ...file.info,\n width: img.width,\n height: img.height\n };\n\n files.splice(index, 1, file);\n const needUploading = !!(\n this.current || find(files, file => file.state === 'pending')\n );\n\n this.unmounted ||\n this.setState(\n {\n files: (this.files = files)\n },\n !needUploading ? this.onChange : undefined\n );\n };\n img.src = imgDom.src;\n }\n\n handleFrameImageLoaded(e: React.UIEvent<any>) {\n const imgDom = e.currentTarget;\n const img = new Image();\n const {clientHeight} = this.frameImageRef.current;\n\n const _this = this;\n img.onload = function () {\n const ratio = (this as any).width / (this as any).height;\n const finalWidth = (ratio * (clientHeight - 2)).toFixed(2);\n _this.setState({\n frameImageWidth: +finalWidth\n });\n };\n img.src = imgDom.src;\n }\n\n validate(): any {\n const __ = this.props.translate;\n\n if (this.state.locked && this.state.lockedReason) {\n return this.state.lockedReason;\n } else if (this.state.cropFile) {\n return new Promise(resolve => {\n this.resolve = resolve;\n this.handleCrop();\n });\n } else if (\n this.state.uploading ||\n this.files.some(item => item.state === 'pending')\n ) {\n return new Promise(resolve => {\n this.resolve = resolve;\n this.startUpload();\n });\n } else if (this.files.some(item => item.state === 'error')) {\n return __('File.errorRetry');\n }\n }\n\n render() {\n const {\n className,\n classnames: cx,\n placeholder,\n disabled,\n multiple,\n accept,\n maxLength,\n autoUpload,\n hideUploadButton,\n thumbMode,\n thumbRatio,\n reCropable,\n frameImage,\n fixedSize,\n fixedSizeClassName,\n translate: __\n } = this.props;\n const {files, error, crop, uploading, cropFile, frameImageWidth} =\n this.state;\n let frameImageStyle: any = {};\n if (fixedSizeClassName && frameImageWidth && fixedSize) {\n frameImageStyle.width = frameImageWidth;\n }\n const filterFrameImage = filter(frameImage, this.props.data, '| raw');\n\n const hasPending = files.some(file => file.state == 'pending');\n return (\n <div className={cx(`ImageControl`, className)}>\n {cropFile ? (\n <div className={cx('ImageControl-cropperWrapper')}>\n <Suspense fallback={<div>...</div>}>\n <Cropper\n {...crop}\n onInitialized={instance => {\n this.cropper = instance;\n }}\n src={cropFile.preview}\n />\n </Suspense>\n <div className={cx('ImageControl-croperToolbar')}>\n {crop.rotatable && (\n <a\n className={cx('ImageControl-cropRotatable')}\n onClick={this.rotatableCrop}\n data-tooltip={__('rotate')}\n data-position=\"left\"\n >\n <Icon icon=\"retry\" className=\"icon\" />\n </a>\n )}\n <a\n className={cx('ImageControl-cropCancel')}\n onClick={this.cancelCrop}\n data-tooltip={__('cancel')}\n data-position=\"left\"\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n <a\n className={cx('ImageControl-cropConfirm')}\n onClick={this.handleCrop}\n data-tooltip={__('confirm')}\n data-position=\"left\"\n >\n <Icon icon=\"check\" className=\"icon\" />\n </a>\n </div>\n </div>\n ) : (\n <DropZone\n key=\"drop-zone\"\n ref={this.dropzone}\n onDrop={this.handleDrop}\n onDropRejected={this.handleDropRejected}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n >\n {({\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n isFocused\n }) => (\n <div\n {...getRootProps({\n onClick: preventEvent,\n onPaste: this.handlePaste,\n className: cx('ImageControl-dropzone', {\n 'is-disabled': disabled,\n 'is-empty': !files.length,\n 'is-active': isDragActive\n })\n })}\n >\n <input {...getInputProps()} />\n\n {isDragActive || isDragAccept || isDragReject ? (\n <div\n className={cx('ImageControl-acceptTip', {\n 'is-accept': isDragAccept,\n 'is-reject': isDragReject\n })}\n >\n {__('Image.dragDrop')}\n </div>\n ) : (\n <>\n {files && files.length\n ? files.map((file, key) => (\n <div\n key={file.id || key}\n className={cx(\n 'ImageControl-item',\n {\n 'is-uploaded': file.state !== 'uploading',\n 'is-invalid':\n file.state === 'error' ||\n file.state === 'invalid'\n },\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n style={frameImageStyle}\n >\n {file.state === 'invalid' ||\n file.state === 'error' ? (\n <>\n <a\n className={cx('ImageControl-itemClear')}\n data-tooltip={__('Select.clear')}\n data-position=\"bottom\"\n onClick={this.removeFile.bind(\n this,\n file,\n key\n )}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n\n <a\n className={cx(\n 'ImageControl-retryBtn',\n {\n 'is-disabled': disabled\n },\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n onClick={this.handleRetry.bind(this, key)}\n >\n <Icon icon=\"retry\" className=\"icon\" />\n <p className=\"ImageControl-itemInfoError\">\n {__('File.repick')}\n </p>\n </a>\n </>\n ) : file.state === 'uploading' ? (\n <>\n <a\n onClick={this.removeFile.bind(\n this,\n file,\n key\n )}\n key=\"clear\"\n className={cx('ImageControl-itemClear')}\n data-tooltip={__('Select.clear')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n <div\n key=\"info\"\n className={cx(\n 'ImageControl-itemInfo',\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n >\n <div className={cx('ImageControl-progress')}>\n <span\n style={{\n width: `${Math.round(\n file.progress * 100\n )}%`\n }}\n className={cx(\n 'ImageControl-progressValue'\n )}\n />\n </div>\n <p>{__('File.uploading')}</p>\n </div>\n </>\n ) : (\n <>\n <ImageComponent\n key=\"image\"\n className={cx(\n 'ImageControl-image',\n fixedSize ? 'Image-thumb--fixed-size' : ''\n )}\n onLoad={this.handleImageLoaded.bind(\n this,\n key\n )}\n src={file.preview || file.url}\n alt={file.name}\n thumbMode={thumbMode}\n thumbRatio={thumbRatio}\n overlays={\n <>\n {file.info ? (\n [\n <div key=\"info\">\n {file.info.width} x{' '}\n {file.info.height}\n </div>,\n file.info.len ? (\n <div key=\"size\">\n {ImageControl.formatFileSize(\n file.info.len\n )}\n </div>\n ) : null\n ]\n ) : (\n <div>...</div>\n )}\n\n <a\n data-tooltip={__('Image.zoomIn')}\n data-position=\"bottom\"\n target=\"_blank\"\n rel=\"noopener\"\n href={file.url || file.preview}\n onClick={this.previewImage.bind(\n this,\n file,\n key\n )}\n >\n <Icon icon=\"view\" className=\"icon\" />\n </a>\n\n {!!crop &&\n reCropable !== false &&\n !disabled ? (\n <a\n data-tooltip={__('Image.crop')}\n data-position=\"bottom\"\n onClick={this.editImage.bind(\n this,\n key\n )}\n >\n <Icon\n icon=\"pencil\"\n className=\"icon\"\n />\n </a>\n ) : null}\n {!disabled ? (\n <a\n data-tooltip={__('Select.clear')}\n data-position=\"bottom\"\n onClick={this.removeFile.bind(\n this,\n file,\n key\n )}\n >\n <Icon\n icon=\"remove\"\n className=\"icon\"\n />\n </a>\n ) : null}\n <a\n data-tooltip={\n file.name ||\n getNameFromUrl(file.value || file.url)\n }\n data-position=\"bottom\"\n target=\"_blank\"\n >\n <Icon icon=\"info\" className=\"icon\" />\n </a>\n </>\n }\n />\n </>\n )}\n </div>\n ))\n : null}\n\n {(multiple && (!maxLength || files.length < maxLength)) ||\n (!multiple && !files.length) ? (\n <label\n className={cx(\n 'ImageControl-addBtn',\n {\n 'is-disabled': disabled\n },\n fixedSize ? 'ImageControl-fixed-size' : '',\n fixedSize ? fixedSizeClassName : ''\n )}\n style={frameImageStyle}\n onClick={this.handleSelect}\n data-tooltip={__(placeholder)}\n data-position=\"right\"\n ref={this.frameImageRef}\n >\n {filterFrameImage ? (\n <ImageComponent\n key=\"upload-default-image\"\n src={filterFrameImage}\n className={cx(\n fixedSize ? 'Image-thumb--fixed-size' : ''\n )}\n onLoad={this.handleFrameImageLoaded.bind(this)}\n thumbMode={thumbMode}\n thumbRatio={thumbRatio}\n />\n ) : (\n <>\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__('File.upload')}</span>\n </>\n )}\n\n {isFocused ? (\n <span className={cx('ImageControl-pasteTip')}>\n {__('Image.pasteTip')}\n </span>\n ) : null}\n </label>\n ) : null}\n\n {!autoUpload && !hideUploadButton && files.length ? (\n <Button\n level=\"default\"\n className={cx('ImageControl-uploadBtn')}\n disabled={!hasPending}\n onClick={this.toggleUpload}\n >\n {__(uploading ? 'File.pause' : 'File.start')}\n </Button>\n ) : null}\n\n {error ? (\n <div className={cx('ImageControl-errorMsg')}>{error}</div>\n ) : null}\n </>\n )}\n </div>\n )}\n </DropZone>\n )}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-image',\n sizeMutable: false\n})\nexport class ImageControlRenderer extends ImageControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -124,8 +124,8 @@ var Pagination = /** @class */ (function (_super) {
|
|
124
124
|
__('CRUD.paginationPageText'))) : null));
|
125
125
|
};
|
126
126
|
Pagination.prototype.render = function () {
|
127
|
-
var
|
128
|
-
return
|
127
|
+
var builderMode = this.props.builderMode;
|
128
|
+
return builderMode === 'simple' ? this.renderSimple() : this.renderNormal();
|
129
129
|
};
|
130
130
|
var _a;
|
131
131
|
Pagination.defaultProps = {
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Pagination.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AACnD,0CAAyC;AACzC,6CAAyC;AAwCzC;IAAwC,2CAGvC;IAHD;QAAA,qEAmPC;QAtOC,WAAK,GAAG;YACN,OAAO,EAAE,MAAM,CAAC,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;SAC7C,CAAC;;IAoOJ,CAAC;IAlOC,uCAAkB,GAAlB,UAAmB,SAA0B;QAC3C,IAAM,KAAK,GAAG,SAAS,CAAC;QACxB,IAAI,SAAS,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;aACxC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,iCAAY,GAAZ;QACQ,IAAA,KAAsD,IAAI,CAAC,KAAK,EAA/D,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,YAAY,kBAAA,EAAc,EAAE,gBAAc,CAAC;QAEvE,OAAO,CACL,sCAAI,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;YAC/C,sCACE,SAAS,EAAE,EAAE,CAAC;oBACZ,aAAa,EAAE,UAAU,GAAG,CAAC;iBAC9B,CAAC,EACF,OAAO,EACL,UAAU,GAAG,CAAC;oBACZ,CAAC,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,cAAc,EAAE,EAAlB,CAAkB;oBACzB,CAAC,CAAC,cAAM,OAAA,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,EAA5B,CAA4B;gBAGxC;oBACE,8BAAC,YAAI,IAAC,IAAI,EAAC,YAAY,EAAC,SAAS,EAAC,MAAM,GAAG,CACzC,CACD;YACL,sCACE,SAAS,EAAE,EAAE,CAAC;oBACZ,aAAa,EAAE,CAAC,OAAO;iBACxB,CAAC,EACF,OAAO,EACL,CAAC,OAAO;oBACN,CAAC,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,cAAc,EAAE,EAAlB,CAAkB;oBACzB,CAAC,CAAC,cAAM,OAAA,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,EAA5B,CAA4B;gBAGxC;oBACE,8BAAC,YAAI,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAC,MAAM,GAAG,CAC1C,CACD,CACF,CACN,CAAC;IACJ,CAAC;IAGD,qCAAgB,GAAhB,UAAiB,CAAyB;QACjC,IAAA,QAAQ,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;QAElC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE;YACzD,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IAED,iCAAY,GAAZ;QACM,IAAA,KASA,IAAI,CAAC,KAAK,EARZ,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,YAAY,kBAAA,EACA,EAAE,gBAAA,EACd,aAAa,mBAAA,EACb,SAAS,eAAA,EACE,EAAE,eACD,CAAC;QACf,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEnC,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,IAAI,SAAiB,CAAC;QACtB,IAAI,OAAe,CAAC;QAEpB,IAAI,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACzC,UAAU,GAAG,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SAChD;QAED,IAAI,QAAQ,GAAG,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpD,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC/D;QAED,IAAI,UAAU,IAAI,UAAU,GAAG,QAAQ,EAAE;YACvC,SAAS,GAAG,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,GAAG,CACN,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EACvC,QAAQ,GAAG,UAAU,GAAG,CAAC,CAC1B,EACD,CAAC,CACF,CAAC;YACF,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC;SACtC;aAAM;YACL,SAAS,GAAG,CAAC,CAAC;YACd,OAAO,GAAG,QAAQ,CAAC;SACpB;gCAEQ,IAAI;YACX,WAAW,CAAC,IAAI,CACd,sCACE,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACjC,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,EAAE,CAAC;oBACZ,WAAW,EAAE,IAAI,KAAK,UAAU;iBACjC,CAAC;gBAEF,qCAAG,IAAI,EAAC,QAAQ,IAAE,IAAI,CAAK,CACxB,CACN,CAAC;;QAXJ,KAAK,IAAI,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI;oBAAzC,IAAI;SAYZ;QAED,IAAI,SAAS,GAAG,CAAC,EAAE;YACjB,IAAI,SAAS,GAAG,CAAC,EAAE;gBACjB,WAAW,CAAC,OAAO,CACjB,sCAAI,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,EAA3B,CAA2B,EAAE,GAAG,EAAC,eAAe;oBACjE,qCAAG,IAAI,EAAC,QAAQ,UAAQ,CACrB,CACN,CAAC;aACH;YAED,WAAW,CAAC,OAAO,CACjB,sCACE,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,CAAC,CAAC,EAAf,CAAe,EAC9B,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,EAAE,CAAC;oBACZ,WAAW,EAAE,CAAC,KAAK,UAAU;iBAC9B,CAAC;gBAEF,qCAAG,IAAI,EAAC,QAAQ,IAAE,CAAC,CAAK,CACrB,CACN,CAAC;SACH;QAED,IAAI,OAAO,GAAG,QAAQ,EAAE;YACtB,IAAI,QAAQ,GAAG,OAAO,GAAG,CAAC,EAAE;gBAC1B,WAAW,CAAC,IAAI,CACd,sCACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EACpC,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,EAAzB,CAAyB,EACxC,GAAG,EAAC,eAAe;oBAEnB,qCAAG,IAAI,EAAC,QAAQ;wBACd,kDAAgB,CACd,CACD,CACN,CAAC;aACH;YAED,WAAW,CAAC,IAAI,CACd,sCACE,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,QAAQ,CAAC,EAAtB,CAAsB,EACrC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC;oBACZ,WAAW,EAAE,QAAQ,KAAK,UAAU;iBACrC,CAAC;gBAEF,qCAAG,IAAI,EAAC,QAAQ,IAAE,QAAQ,CAAK,CAC5B,CACN,CAAC;SACH;QAED,WAAW,CAAC,OAAO,CACjB,sCACE,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE;gBAC/B,aAAa,EAAE,UAAU,KAAK,CAAC;aAChC,CAAC,EACF,OAAO,EACL,UAAU,KAAK,CAAC;gBACd,CAAC,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,cAAc,EAAE,EAAlB,CAAkB;gBAChC,CAAC,CAAC,cAAM,OAAA,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,EAA5B,CAA4B,EAExC,GAAG,EAAC,MAAM;YAEV;gBACE,8BAAC,YAAI,IAAC,IAAI,EAAC,YAAY,EAAC,SAAS,EAAC,MAAM,GAAG,CACtC,CACJ,CACN,CAAC;QAEF,WAAW,CAAC,IAAI,CACd,sCACE,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE;gBAC/B,aAAa,EAAE,UAAU,KAAK,QAAQ;aACvC,CAAC,EACF,OAAO,EACL,UAAU,KAAK,QAAQ;gBACrB,CAAC,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,cAAc,EAAE,EAAlB,CAAkB;gBAChC,CAAC,CAAC,cAAM,OAAA,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,EAA5B,CAA4B,EAExC,GAAG,EAAC,MAAM;YAEV;gBACE,8BAAC,YAAI,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAC,MAAM,GAAG,CACvC,CACJ,CACN,CAAC;QAEF,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC;YAC9C,sCAAI,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,IAAG,WAAW,CAAM;YAEpE,aAAa,KAAK,IAAI,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CACxC,uCAAK,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAC,QAAQ;gBACtD,EAAE,CAAC,uBAAuB,CAAC;gBAC5B,yCACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAC/B,OAAO,EAAE,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,EAAxB,CAAwB,EAC7C,OAAO,EAAE,UAAC,CAAM;wBACd,OAAA,CAAC,CAAC,OAAO,IAAI,EAAE;4BACf,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBADjD,CACiD,EAEnD,KAAK,EAAE,OAAO,GACd;gBACD,EAAE,CAAC,yBAAyB,CAAC,CAC1B,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;IAED,2BAAM,GAAN;QACS,IAAA,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {autobind} from '../utils/helper';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaClassName} from '../Schema';\n\nexport interface PaginationSchema extends BaseSchema {\n type: 'pagination';\n\n className?: SchemaClassName;\n\n /**\n * 是否显示快速跳转输入框\n */\n showPageInput?: boolean;\n\n /**\n * 模式,默认显示多个分页数字,如果只想简单显示可以配置成 `simple`。\n */\n mode?: 'simple' | 'normal';\n\n /**\n * 最多显示多少个分页按钮。\n *\n * @default 5\n */\n maxButtons?: number;\n}\n\nexport interface PaginationProps\n extends RendererProps,\n Omit<PaginationSchema, 'type' | 'className'> {\n activePage: number;\n lastPage: number;\n hasNext: boolean;\n maxButtons: number;\n onPageChange: (page: number, perPage?: number) => void;\n}\n\nexport interface PaginationState {\n pageNum: string;\n}\n\nexport default class Pagination extends React.Component<\n PaginationProps,\n PaginationState\n> {\n static defaultProps = {\n activePage: 1,\n lastPage: 1,\n maxButtons: 5,\n mode: 'normal',\n hasNext: false,\n showPageInput: false\n };\n\n state = {\n pageNum: String(this.props.activePage) || ''\n };\n\n componentDidUpdate(prevProps: PaginationProps) {\n const props = prevProps;\n if (prevProps.activePage !== props.activePage) {\n this.setState({\n pageNum: String(props.activePage) || ''\n });\n }\n }\n\n renderSimple() {\n const {activePage, hasNext, onPageChange, classnames: cx} = this.props;\n\n return (\n <ul className={cx('Pagination', 'Pagination--sm')}>\n <li\n className={cx({\n 'is-disabled': activePage < 2\n })}\n onClick={\n activePage < 2\n ? e => e.preventDefault()\n : () => onPageChange(activePage - 1)\n }\n >\n <a>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </a>\n </li>\n <li\n className={cx({\n 'is-disabled': !hasNext\n })}\n onClick={\n !hasNext\n ? e => e.preventDefault()\n : () => onPageChange(activePage + 1)\n }\n >\n <a>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </a>\n </li>\n </ul>\n );\n }\n\n @autobind\n handlePageChange(e: React.ChangeEvent<any>) {\n const {lastPage} = this.props;\n let value = e.currentTarget.value;\n\n if (/^\\d+$/.test(value) && parseInt(value, 10) > lastPage) {\n value = String(lastPage);\n }\n\n this.setState({pageNum: value});\n }\n\n renderNormal() {\n let {\n activePage,\n lastPage,\n maxButtons,\n onPageChange,\n classnames: cx,\n showPageInput,\n className,\n translate: __\n } = this.props;\n const pageNum = this.state.pageNum;\n\n let pageButtons: any = [];\n let startPage: number;\n let endPage: number;\n\n if (activePage < (maxButtons - 1) / 2 + 2) {\n maxButtons = activePage + (maxButtons - 1) / 2;\n }\n\n if (lastPage - activePage < (maxButtons - 1) / 2 + 2) {\n maxButtons = lastPage - activePage + (maxButtons - 1) / 2 + 1;\n }\n\n if (maxButtons && maxButtons < lastPage) {\n startPage = Math.max(\n Math.min(\n activePage - Math.floor(maxButtons / 2),\n lastPage - maxButtons + 1\n ),\n 1\n );\n endPage = startPage + maxButtons - 1;\n } else {\n startPage = 1;\n endPage = lastPage;\n }\n\n for (let page = startPage; page <= endPage; ++page) {\n pageButtons.push(\n <li\n onClick={() => onPageChange(page)}\n key={page}\n className={cx({\n 'is-active': page === activePage\n })}\n >\n <a role=\"button\">{page}</a>\n </li>\n );\n }\n\n if (startPage > 1) {\n if (startPage > 2) {\n pageButtons.unshift(\n <li onClick={() => onPageChange(startPage - 1)} key=\"prev-ellipsis\">\n <a role=\"button\">...</a>\n </li>\n );\n }\n\n pageButtons.unshift(\n <li\n onClick={() => onPageChange(1)}\n key={1}\n className={cx({\n 'is-active': 1 === activePage\n })}\n >\n <a role=\"button\">{1}</a>\n </li>\n );\n }\n\n if (endPage < lastPage) {\n if (lastPage - endPage > 1) {\n pageButtons.push(\n <li\n className={cx('Pagination-ellipsis')}\n onClick={() => onPageChange(endPage + 1)}\n key=\"next-ellipsis\"\n >\n <a role=\"button\">\n <span>...</span>\n </a>\n </li>\n );\n }\n\n pageButtons.push(\n <li\n onClick={() => onPageChange(lastPage)}\n key={lastPage}\n className={cx({\n 'is-active': lastPage === activePage\n })}\n >\n <a role=\"button\">{lastPage}</a>\n </li>\n );\n }\n\n pageButtons.unshift(\n <li\n className={cx('Pagination-prev', {\n 'is-disabled': activePage === 1\n })}\n onClick={\n activePage === 1\n ? (e: any) => e.preventDefault()\n : () => onPageChange(activePage - 1)\n }\n key=\"prev\"\n >\n <span>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </span>\n </li>\n );\n\n pageButtons.push(\n <li\n className={cx('Pagination-next', {\n 'is-disabled': activePage === lastPage\n })}\n onClick={\n activePage === lastPage\n ? (e: any) => e.preventDefault()\n : () => onPageChange(activePage + 1)\n }\n key=\"next\"\n >\n <span>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </span>\n </li>\n );\n\n return (\n <div className={cx('Pagination-wrap', className)}>\n <ul className={cx('Pagination', 'Pagination--sm')}>{pageButtons}</ul>\n\n {showPageInput === true || lastPage > 9 ? (\n <div className={cx('Pagination-inputGroup')} key=\"toPage\">\n {__('CRUD.paginationGoText')}\n <input\n type=\"text\"\n onChange={this.handlePageChange}\n onFocus={(e: any) => e.currentTarget.select()}\n onKeyUp={(e: any) =>\n e.keyCode == 13 &&\n onPageChange(parseInt(e.currentTarget.value, 10))\n }\n value={pageNum}\n />\n {__('CRUD.paginationPageText')}\n </div>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {autobind} from '../utils/helper';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaClassName} from '../Schema';\n\nexport interface PaginationSchema extends BaseSchema {\n type: 'pagination';\n\n className?: SchemaClassName;\n\n /**\n * 是否显示快速跳转输入框\n */\n showPageInput?: boolean;\n\n /**\n * 模式,默认显示多个分页数字,如果只想简单显示可以配置成 `simple`。\n */\n mode?: 'simple' | 'normal';\n\n /**\n * 最多显示多少个分页按钮。\n *\n * @default 5\n */\n maxButtons?: number;\n}\n\nexport interface PaginationProps\n extends RendererProps,\n Omit<PaginationSchema, 'type' | 'className'> {\n activePage: number;\n lastPage: number;\n hasNext: boolean;\n maxButtons: number;\n onPageChange: (page: number, perPage?: number) => void;\n}\n\nexport interface PaginationState {\n pageNum: string;\n}\n\nexport default class Pagination extends React.Component<\n PaginationProps,\n PaginationState\n> {\n static defaultProps = {\n activePage: 1,\n lastPage: 1,\n maxButtons: 5,\n mode: 'normal',\n hasNext: false,\n showPageInput: false\n };\n\n state = {\n pageNum: String(this.props.activePage) || ''\n };\n\n componentDidUpdate(prevProps: PaginationProps) {\n const props = prevProps;\n if (prevProps.activePage !== props.activePage) {\n this.setState({\n pageNum: String(props.activePage) || ''\n });\n }\n }\n\n renderSimple() {\n const {activePage, hasNext, onPageChange, classnames: cx} = this.props;\n\n return (\n <ul className={cx('Pagination', 'Pagination--sm')}>\n <li\n className={cx({\n 'is-disabled': activePage < 2\n })}\n onClick={\n activePage < 2\n ? e => e.preventDefault()\n : () => onPageChange(activePage - 1)\n }\n >\n <a>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </a>\n </li>\n <li\n className={cx({\n 'is-disabled': !hasNext\n })}\n onClick={\n !hasNext\n ? e => e.preventDefault()\n : () => onPageChange(activePage + 1)\n }\n >\n <a>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </a>\n </li>\n </ul>\n );\n }\n\n @autobind\n handlePageChange(e: React.ChangeEvent<any>) {\n const {lastPage} = this.props;\n let value = e.currentTarget.value;\n\n if (/^\\d+$/.test(value) && parseInt(value, 10) > lastPage) {\n value = String(lastPage);\n }\n\n this.setState({pageNum: value});\n }\n\n renderNormal() {\n let {\n activePage,\n lastPage,\n maxButtons,\n onPageChange,\n classnames: cx,\n showPageInput,\n className,\n translate: __\n } = this.props;\n const pageNum = this.state.pageNum;\n\n let pageButtons: any = [];\n let startPage: number;\n let endPage: number;\n\n if (activePage < (maxButtons - 1) / 2 + 2) {\n maxButtons = activePage + (maxButtons - 1) / 2;\n }\n\n if (lastPage - activePage < (maxButtons - 1) / 2 + 2) {\n maxButtons = lastPage - activePage + (maxButtons - 1) / 2 + 1;\n }\n\n if (maxButtons && maxButtons < lastPage) {\n startPage = Math.max(\n Math.min(\n activePage - Math.floor(maxButtons / 2),\n lastPage - maxButtons + 1\n ),\n 1\n );\n endPage = startPage + maxButtons - 1;\n } else {\n startPage = 1;\n endPage = lastPage;\n }\n\n for (let page = startPage; page <= endPage; ++page) {\n pageButtons.push(\n <li\n onClick={() => onPageChange(page)}\n key={page}\n className={cx({\n 'is-active': page === activePage\n })}\n >\n <a role=\"button\">{page}</a>\n </li>\n );\n }\n\n if (startPage > 1) {\n if (startPage > 2) {\n pageButtons.unshift(\n <li onClick={() => onPageChange(startPage - 1)} key=\"prev-ellipsis\">\n <a role=\"button\">...</a>\n </li>\n );\n }\n\n pageButtons.unshift(\n <li\n onClick={() => onPageChange(1)}\n key={1}\n className={cx({\n 'is-active': 1 === activePage\n })}\n >\n <a role=\"button\">{1}</a>\n </li>\n );\n }\n\n if (endPage < lastPage) {\n if (lastPage - endPage > 1) {\n pageButtons.push(\n <li\n className={cx('Pagination-ellipsis')}\n onClick={() => onPageChange(endPage + 1)}\n key=\"next-ellipsis\"\n >\n <a role=\"button\">\n <span>...</span>\n </a>\n </li>\n );\n }\n\n pageButtons.push(\n <li\n onClick={() => onPageChange(lastPage)}\n key={lastPage}\n className={cx({\n 'is-active': lastPage === activePage\n })}\n >\n <a role=\"button\">{lastPage}</a>\n </li>\n );\n }\n\n pageButtons.unshift(\n <li\n className={cx('Pagination-prev', {\n 'is-disabled': activePage === 1\n })}\n onClick={\n activePage === 1\n ? (e: any) => e.preventDefault()\n : () => onPageChange(activePage - 1)\n }\n key=\"prev\"\n >\n <span>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </span>\n </li>\n );\n\n pageButtons.push(\n <li\n className={cx('Pagination-next', {\n 'is-disabled': activePage === lastPage\n })}\n onClick={\n activePage === lastPage\n ? (e: any) => e.preventDefault()\n : () => onPageChange(activePage + 1)\n }\n key=\"next\"\n >\n <span>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </span>\n </li>\n );\n\n return (\n <div className={cx('Pagination-wrap', className)}>\n <ul className={cx('Pagination', 'Pagination--sm')}>{pageButtons}</ul>\n\n {showPageInput === true || lastPage > 9 ? (\n <div className={cx('Pagination-inputGroup')} key=\"toPage\">\n {__('CRUD.paginationGoText')}\n <input\n type=\"text\"\n onChange={this.handlePageChange}\n onFocus={(e: any) => e.currentTarget.select()}\n onKeyUp={(e: any) =>\n e.keyCode == 13 &&\n onPageChange(parseInt(e.currentTarget.value, 10))\n }\n value={pageNum}\n />\n {__('CRUD.paginationPageText')}\n </div>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {builderMode} = this.props;\n\n return builderMode === 'simple' ? this.renderSimple() : this.renderNormal();\n }\n}\n\n@Renderer({\n test: /(^|\\/)(?:pagination|pager)$/,\n name: 'pagination'\n})\nexport class PaginationRenderer extends Pagination {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Video.d.ts
CHANGED
package/lib/renderers/Video.js
CHANGED
@@ -12,8 +12,6 @@ var helper_1 = require("../utils/helper");
|
|
12
12
|
var factory_1 = require("../factory");
|
13
13
|
var tpl_builtin_1 = require("../utils/tpl-builtin");
|
14
14
|
var tpl_1 = require("../utils/tpl");
|
15
|
-
// import css
|
16
|
-
require("video-react/dist/video-react.css");
|
17
15
|
var str2seconds = function (str) {
|
18
16
|
return str.indexOf(':')
|
19
17
|
? str
|