UNPKG

@xiaowang10gg/xccjh-ckeditor5-video-file-upload

Version:

ckeditor5 support local video fileUpload,image/video oss direct upload

192 lines (182 loc) 7.46 kB
/** * @license Copyright (c) 2014-2020, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor.js'; import Alignment from '@ckeditor/ckeditor5-alignment/src/alignment.js'; import Autoformat from '@ckeditor/ckeditor5-autoformat/src/autoformat.js'; import Autosave from '@ckeditor/ckeditor5-autosave/src/autosave.js'; import BlockQuote from '@ckeditor/ckeditor5-block-quote/src/blockquote.js'; import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold.js'; import CKFinder from '@ckeditor/ckeditor5-ckfinder/src/ckfinder.js'; import CKFinderUploadAdapter from '@ckeditor/ckeditor5-adapter-ckfinder/src/uploadadapter.js'; import Code from '@ckeditor/ckeditor5-basic-styles/src/code.js'; import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock.js'; import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials.js'; import ExportToPDF from '@ckeditor/ckeditor5-export-pdf/src/exportpdf.js'; import FontBackgroundColor from '@ckeditor/ckeditor5-font/src/fontbackgroundcolor.js'; import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js'; import FontFamily from '@ckeditor/ckeditor5-font/src/fontfamily.js'; import FontSize from '@ckeditor/ckeditor5-font/src/fontsize.js'; import Heading from '@ckeditor/ckeditor5-heading/src/heading.js'; import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js'; import HorizontalLine from '@ckeditor/ckeditor5-horizontal-line/src/horizontalline.js'; import Image from '@ckeditor/ckeditor5-image/src/image.js'; import ImageCaption from '@ckeditor/ckeditor5-image/src/imagecaption.js'; import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize.js'; import ImageStyle from '@ckeditor/ckeditor5-image/src/imagestyle.js'; import ImageToolbar from '@ckeditor/ckeditor5-image/src/imagetoolbar.js'; import ImageUpload from '@ckeditor/ckeditor5-image/src/imageupload.js'; import Indent from '@ckeditor/ckeditor5-indent/src/indent.js'; import IndentBlock from '@ckeditor/ckeditor5-indent/src/indentblock.js'; import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic.js'; import Link from '@ckeditor/ckeditor5-link/src/link.js'; import List from '@ckeditor/ckeditor5-list/src/list.js'; import MediaEmbed from '@ckeditor/ckeditor5-media-embed/src/mediaembed.js'; import MediaEmbedToolbar from '@ckeditor/ckeditor5-media-embed/src/mediaembedtoolbar.js'; import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph.js'; import PasteFromOffice from 'ckeditor5-paste-from-wps-office/src/pastefromoffice'; import RemoveFormat from '@ckeditor/ckeditor5-remove-format/src/removeformat.js'; import SpecialCharacters from '@ckeditor/ckeditor5-special-characters/src/specialcharacters.js'; import SpecialCharactersArrows from '@ckeditor/ckeditor5-special-characters/src/specialcharactersarrows.js'; import SpecialCharactersCurrency from '@ckeditor/ckeditor5-special-characters/src/specialcharacterscurrency.js'; import SpecialCharactersEssentials from '@ckeditor/ckeditor5-special-characters/src/specialcharactersessentials.js'; import SpecialCharactersLatin from '@ckeditor/ckeditor5-special-characters/src/specialcharacterslatin.js'; import SpecialCharactersMathematical from '@ckeditor/ckeditor5-special-characters/src/specialcharactersmathematical.js'; import SpecialCharactersText from '@ckeditor/ckeditor5-special-characters/src/specialcharacterstext.js'; import StandardEditingMode from '@ckeditor/ckeditor5-restricted-editing/src/standardeditingmode.js'; import Strikethrough from '@ckeditor/ckeditor5-basic-styles/src/strikethrough.js'; import Subscript from '@ckeditor/ckeditor5-basic-styles/src/subscript.js'; import Superscript from '@ckeditor/ckeditor5-basic-styles/src/superscript.js'; import Table from '@ckeditor/ckeditor5-table/src/table.js'; import TableCellProperties from '@ckeditor/ckeditor5-table/src/tablecellproperties'; import TableProperties from '@ckeditor/ckeditor5-table/src/tableproperties'; import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar.js'; import TextTransformation from '@ckeditor/ckeditor5-typing/src/texttransformation.js'; import TodoList from '@ckeditor/ckeditor5-list/src/todolist'; import Underline from '@ckeditor/ckeditor5-basic-styles/src/underline.js'; import WordCount from '@ckeditor/ckeditor5-word-count/src/wordcount.js'; function MyUploadAdapter(loaderIn, config) { this.loaderXccjh = loaderIn; this.config = config; } MyUploadAdapter.prototype.upload = function () { return this.loaderXccjh.file.then( (file) => new Promise((resolve, reject) => { if (typeof this.config.imageUpload === 'function') { this.config.imageUpload(file).then(res => { resolve({ default: res.url, }); }, err => { reject( err ); }) } }) ); } MyUploadAdapter.prototype.abort = function () { } // default config not Support Class // class MyUploadAdapter { // loaderXccjh; // config; // // constructor(loaderIn, config) { // this.loaderXccjh = loaderIn; // this.config = config; // } // // upload() { // return this.loaderXccjh.file.then( // (file) => // new Promise((resolve, reject) => { // if (typeof this.config.imageUpload === 'function') { // this.config.imageUpload(file).subscribe(res => { // resolve({ // default: res.url, // }); // }, err => { // reject( // err // ); // }) // } // // }) // ); // } // // abort() { // } // // // } export function myCustomUploadAdapterPlugin(editor) { editor.plugins.get('FileRepository').createUploadAdapter = (loaderIn) => { return new MyUploadAdapter(loaderIn, editor.config._config); }; } class Editor extends ClassicEditor { } // Plugins to include in the build. Editor.builtinPlugins = [ Alignment, Autoformat, Autosave, BlockQuote, Bold, CKFinder, CKFinderUploadAdapter, Code, CodeBlock, Essentials, ExportToPDF, FontBackgroundColor, FontColor, FontFamily, FontSize, Heading, Highlight, HorizontalLine, Image, ImageCaption, ImageResize, ImageStyle, ImageToolbar, ImageUpload, Indent, IndentBlock, Italic, Link, List, MediaEmbed, MediaEmbedToolbar, Paragraph, PasteFromOffice, RemoveFormat, SpecialCharacters, SpecialCharactersArrows, SpecialCharactersCurrency, SpecialCharactersEssentials, SpecialCharactersLatin, SpecialCharactersMathematical, SpecialCharactersText, StandardEditingMode, Strikethrough, Subscript, Superscript, Table, TableCellProperties, TableProperties, TableToolbar, TextTransformation, TodoList, Underline, WordCount, myCustomUploadAdapterPlugin ]; export default Editor;