From d2db7fe9dcd6e5cbae6418f462593be3f244e517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotrek=20Koszuli=C5=84ski?= Date: Fri, 23 Jun 2017 14:53:36 +0200 Subject: [PATCH] Fix: It will be possible to paste basic styles. See https://github.com/ckeditor/ckeditor5/issues/477. --- src/boldengine.js | 2 ++ src/italicengine.js | 2 ++ tests/boldengine.js | 1 + tests/italicengine.js | 1 + 4 files changed, 6 insertions(+) diff --git a/src/boldengine.js b/src/boldengine.js index af46285..3fcf26e 100644 --- a/src/boldengine.js +++ b/src/boldengine.js @@ -33,6 +33,8 @@ export default class BoldEngine extends Plugin { // Allow bold attribute on all inline nodes. editor.document.schema.allow( { name: '$inline', attributes: [ BOLD ], inside: '$block' } ); + // Temporary workaround. See https://github.com/ckeditor/ckeditor5/issues/477. + editor.document.schema.allow( { name: '$inline', attributes: [ BOLD ], inside: '$clipboardHolder' } ); // Build converter from model to view for data and editing pipelines. buildModelConverter().for( data.modelToView, editing.modelToView ) diff --git a/src/italicengine.js b/src/italicengine.js index 7ceca25..0b4b822 100644 --- a/src/italicengine.js +++ b/src/italicengine.js @@ -33,6 +33,8 @@ export default class ItalicEngine extends Plugin { // Allow italic attribute on all inline nodes. editor.document.schema.allow( { name: '$inline', attributes: [ ITALIC ], inside: '$block' } ); + // Temporary workaround. See https://github.com/ckeditor/ckeditor5/issues/477. + editor.document.schema.allow( { name: '$inline', attributes: [ ITALIC ], inside: '$clipboardHolder' } ); // Build converter from model to view for data and editing pipelines. buildModelConverter().for( data.modelToView, editing.modelToView ) diff --git a/tests/boldengine.js b/tests/boldengine.js index 623b3eb..be288d9 100644 --- a/tests/boldengine.js +++ b/tests/boldengine.js @@ -33,6 +33,7 @@ describe( 'BoldEngine', () => { it( 'should set proper schema rules', () => { expect( doc.schema.check( { name: '$inline', attributes: [ 'bold' ], inside: '$root' } ) ).to.be.false; expect( doc.schema.check( { name: '$inline', attributes: [ 'bold' ], inside: '$block' } ) ).to.be.true; + expect( doc.schema.check( { name: '$inline', attributes: [ 'bold' ], inside: '$clipboardHolder' } ) ).to.be.true; } ); describe( 'command', () => { diff --git a/tests/italicengine.js b/tests/italicengine.js index 9d20900..10cbf8a 100644 --- a/tests/italicengine.js +++ b/tests/italicengine.js @@ -37,6 +37,7 @@ describe( 'ItalicEngine', () => { it( 'should set proper schema rules', () => { expect( doc.schema.check( { name: '$inline', attributes: [ 'italic' ], inside: '$root' } ) ).to.be.false; expect( doc.schema.check( { name: '$inline', attributes: [ 'italic' ], inside: '$block' } ) ).to.be.true; + expect( doc.schema.check( { name: '$inline', attributes: [ 'italic' ], inside: '$clipboardHolder' } ) ).to.be.true; } ); describe( 'command', () => {