@ckeditor/ckeditor5-code-block
Advanced tools
Comparing version 26.0.0 to 27.0.0
{ | ||
"name": "@ckeditor/ckeditor5-code-block", | ||
"version": "26.0.0", | ||
"version": "27.0.0", | ||
"description": "Code Block feature for CKEditor 5.", | ||
@@ -14,20 +14,21 @@ "keywords": [ | ||
"dependencies": { | ||
"ckeditor5": "^26.0.0" | ||
"ckeditor5": "^27.0.0" | ||
}, | ||
"devDependencies": { | ||
"@ckeditor/ckeditor5-alignment": "^26.0.0", | ||
"@ckeditor/ckeditor5-autoformat": "^26.0.0", | ||
"@ckeditor/ckeditor5-basic-styles": "^26.0.0", | ||
"@ckeditor/ckeditor5-block-quote": "^26.0.0", | ||
"@ckeditor/ckeditor5-core": "^26.0.0", | ||
"@ckeditor/ckeditor5-alignment": "^27.0.0", | ||
"@ckeditor/ckeditor5-autoformat": "^27.0.0", | ||
"@ckeditor/ckeditor5-basic-styles": "^27.0.0", | ||
"@ckeditor/ckeditor5-block-quote": "^27.0.0", | ||
"@ckeditor/ckeditor5-clipboard": "^27.0.0", | ||
"@ckeditor/ckeditor5-core": "^27.0.0", | ||
"@ckeditor/ckeditor5-dev-utils": "^24.0.0", | ||
"@ckeditor/ckeditor5-enter": "^26.0.0", | ||
"@ckeditor/ckeditor5-editor-classic": "^26.0.0", | ||
"@ckeditor/ckeditor5-engine": "^26.0.0", | ||
"@ckeditor/ckeditor5-indent": "^26.0.0", | ||
"@ckeditor/ckeditor5-markdown-gfm": "^26.0.0", | ||
"@ckeditor/ckeditor5-paragraph": "^26.0.0", | ||
"@ckeditor/ckeditor5-theme-lark": "^26.0.0", | ||
"@ckeditor/ckeditor5-undo": "^26.0.0", | ||
"@ckeditor/ckeditor5-utils": "^26.0.0", | ||
"@ckeditor/ckeditor5-engine": "^27.0.0", | ||
"@ckeditor/ckeditor5-enter": "^27.0.0", | ||
"@ckeditor/ckeditor5-editor-classic": "^27.0.0", | ||
"@ckeditor/ckeditor5-indent": "^27.0.0", | ||
"@ckeditor/ckeditor5-markdown-gfm": "^27.0.0", | ||
"@ckeditor/ckeditor5-paragraph": "^27.0.0", | ||
"@ckeditor/ckeditor5-theme-lark": "^27.0.0", | ||
"@ckeditor/ckeditor5-undo": "^27.0.0", | ||
"@ckeditor/ckeditor5-utils": "^27.0.0", | ||
"webpack": "^4.43.0", | ||
@@ -34,0 +35,0 @@ "webpack-cli": "^3.3.11" |
@@ -12,2 +12,3 @@ /** | ||
import { ShiftEnter } from 'ckeditor5/src/enter'; | ||
import { UpcastWriter } from 'ckeditor5/src/engine'; | ||
@@ -20,3 +21,3 @@ import CodeBlockCommand from './codeblockcommand'; | ||
getLeadingWhiteSpaces, | ||
rawSnippetTextToModelDocumentFragment | ||
rawSnippetTextToViewDocumentFragment | ||
} from './utils'; | ||
@@ -140,5 +141,10 @@ import { | ||
this.listenTo( editor.editing.view.document, 'clipboardInput', ( evt, data ) => { | ||
const modelSelection = model.document.selection; | ||
let insertionRange = model.createRange( model.document.selection.anchor ); | ||
if ( !modelSelection.anchor.parent.is( 'element', 'codeBlock' ) ) { | ||
// Use target ranges in case this is a drop. | ||
if ( data.targetRanges ) { | ||
insertionRange = editor.editing.mapper.toModelRange( data.targetRanges[ 0 ] ); | ||
} | ||
if ( !insertionRange.start.parent.is( 'element', 'codeBlock' ) ) { | ||
return; | ||
@@ -148,7 +154,6 @@ } | ||
const text = data.dataTransfer.getData( 'text/plain' ); | ||
const writer = new UpcastWriter( editor.editing.view.document ); | ||
model.change( writer => { | ||
model.insertContent( rawSnippetTextToModelDocumentFragment( writer, text ), modelSelection ); | ||
evt.stop(); | ||
} ); | ||
// Pass the view fragment to the default clipboardInput handler. | ||
data.content = rawSnippetTextToViewDocumentFragment( writer, text ); | ||
} ); | ||
@@ -228,3 +233,3 @@ | ||
evt.stop(); | ||
} ); | ||
}, { context: 'pre' } ); | ||
} | ||
@@ -231,0 +236,0 @@ } |
@@ -121,2 +121,3 @@ /** | ||
* @param {String} text The raw code text to be converted. | ||
* @returns {module:engine/model/documentfragment~DocumentFragment} | ||
*/ | ||
@@ -140,2 +141,42 @@ export function rawSnippetTextToModelDocumentFragment( writer, text ) { | ||
/** | ||
* For a plain text containing the code (snippet), it returns a document fragment containing | ||
* view text nodes separated by `<br>` elements (in place of new line characters "\n"), for instance: | ||
* | ||
* Input: | ||
* | ||
* "foo()\n | ||
* bar()" | ||
* | ||
* Output: | ||
* | ||
* <DocumentFragment> | ||
* "foo()" | ||
* <br/> | ||
* "bar()" | ||
* </DocumentFragment> | ||
* | ||
* @param {module:engine/view/upcastwriter~UpcastWriter} writer | ||
* @param {String} text The raw code text to be converted. | ||
* @returns {module:engine/view/documentfragment~DocumentFragment} | ||
*/ | ||
export function rawSnippetTextToViewDocumentFragment( writer, text ) { | ||
const fragment = writer.createDocumentFragment(); | ||
const textLines = text.split( '\n' ); | ||
const nodes = textLines.reduce( ( nodes, line, lineIndex ) => { | ||
nodes.push( line ); | ||
if ( lineIndex < textLines.length - 1 ) { | ||
nodes.push( writer.createElement( 'br' ) ); | ||
} | ||
return nodes; | ||
}, [] ); | ||
writer.appendChild( nodes, fragment ); | ||
return fragment; | ||
} | ||
/** | ||
* Returns an array of all model positions within the selection that represent code block lines. | ||
@@ -142,0 +183,0 @@ * |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
192577
1455
18
+ Added@ckeditor/ckeditor5-clipboard@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-core@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-engine@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-enter@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-paragraph@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-select-all@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-typing@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-ui@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-undo@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-upload@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-utils@27.1.0(transitive)
+ Added@ckeditor/ckeditor5-widget@27.1.0(transitive)
+ Addedckeditor5@27.1.0(transitive)
- Removed@ckeditor/ckeditor5-clipboard@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-core@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-engine@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-enter@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-paragraph@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-select-all@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-typing@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-ui@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-undo@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-upload@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-utils@26.0.0(transitive)
- Removed@ckeditor/ckeditor5-widget@26.0.0(transitive)
- Removedckeditor5@26.0.0(transitive)
Updatedckeditor5@^27.0.0