app-base-react
Version:
react development common base package.
1 lines • 3.76 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var _message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_slicedToArray=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var r=t,a=[],o=!0,t=!1,n=void 0;try{for(var i,s=e[Symbol.iterator]();!(o=(i=s.next()).done)&&(a.push(i.value),!r||a.length!==r);o=!0);}catch(e){t=!0,n=e}finally{try{!o&&s.return&&s.return()}finally{if(t)throw n}}return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},_editorForReact=(require("antd/lib/message/style/css"),require("@wangeditor/editor-for-react")),_antd=(require("@wangeditor/editor/dist/css/style.css"),require("antd")),_react=require("react"),_react2=_interopRequireDefault(_react),_utilAxios=require("../util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function customCheckImageFn(e,t,r){if(e)return!(e.indexOf("data:image")<0&&0!==e.indexOf("http"))||"图片网址必须以 http/https 开头"}function customParseImageSrc(e){return e.indexOf("data:image")<0&&0!==e.indexOf("http")?"https://"+e:e}var WangEditor=(0,_react.forwardRef)(function(e,t){var r=e.value,a=e.uploadPath,o=e.onChange,n=e.disabled,e=e.excludeKeys,e=void 0===e?[]:e,i=(0,_react.useState)(null),i=_slicedToArray(i,2),s=i[0],u=i[1],i=(0,_react.useState)(r),i=_slicedToArray(i,2),l=i[0],c=i[1],i={},d=!0,e=(i.excludeKeys=["insertImage","uploadVideo"].concat(_toConsumableArray(e)),{placeholder:"请输入......",MENU_CONF:{uploadImage:{base64LimitSize:5120,server:a||_utilAxios2.default.config().uploadPath,fieldName:"file",maxFileSize:10485760,maxNumberOfFiles:100,allowedFileTypes:["image/*"],metaWithUrl:!1,withCredentials:!1,timeout:1e4,customInsert:function(e,t){e.success&&t(e.data,e.data.split("?attname=")[1],e.data)},onProgress:function(e){console.log("progress",e)},onSuccess:function(e,t){t.success?_message3.default.success(e.name+" 上传成功"):_message3.default.error(t.message||t.msg)},onFailed:function(e,t){_message3.default.error(e.name+" 上传失败:"+t||t)},onError:function(e,t,r){_message3.default.error(t.message.replace("exceeds maximum allowed size of","超过允许的最大上限"))}},insertImage:{onInsertedImage:function(e){},checkImage:customCheckImageFn,parseImageSrc:customParseImageSrc},editImage:{onUpdatedImage:function(e){},checkImage:customCheckImageFn,parseImageSrc:customParseImageSrc},uploadVideo:{server:a||_utilAxios2.default.config().uploadPath,fieldName:"file",maxFileSize:52428800,maxNumberOfFiles:3,allowedFileTypes:["video/*"],metaWithUrl:!1,withCredentials:!1,timeout:18e4,customInsert:function(e,t){t(e.data)},onBeforeUpload:function(e){return e},onProgress:function(e){console.log("progress",e)},onSuccess:function(e,t){console.log(e.name+" 上传成功",t)},onFailed:function(e,t){console.log(e.name+" 上传失败",t)},onError:function(e,t,r){console.log(e.name+" 上传出错",t,r)}}}});return(0,_react.useEffect)(function(){c(r)},[r]),(0,_react.useEffect)(function(){if(null!=s)return n&&setTimeout(function(){return s.disable()},0),function(){null!=s&&(s.destroy(),u(null))}},[s]),_react2.default.createElement("div",{style:{border:"1px solid #ccc",zIndex:100}},_react2.default.createElement(_editorForReact.Toolbar,{editor:s,defaultConfig:i,mode:"default",style:{borderBottom:"1px solid #ccc"}}),_react2.default.createElement(_editorForReact.Editor,{defaultConfig:e,value:l,onCreated:u,onChange:function(e){n||(d?d=!1:o(e.getHtml()))},mode:"default",style:{height:"500px",overflowY:"none"}}))});exports.default=WangEditor;