@ckeditor/ckeditor5-editor-decoupled 35.0.1 → 35.1.0
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/CHANGELOG.md +1 -1
- package/build/editor-decoupled.js +1 -1
- package/package.json +14 -13
- package/src/decouplededitorui.js +2 -12
package/CHANGELOG.md
CHANGED
|
@@ -122,7 +122,7 @@ Internal changes only (updated dependencies, documentation, etc.).
|
|
|
122
122
|
|
|
123
123
|
### Bug fixes
|
|
124
124
|
|
|
125
|
-
* Added missing `return` to the data initialization step (fixes
|
|
125
|
+
* Added missing `return` to the data initialization step (fixes asynchronous data initialization, important for real-time collaboration features). Closes [#13](https://github.com/ckeditor/ckeditor5-editor-decoupled/issues/13). ([f4e496d](https://github.com/ckeditor/ckeditor5-editor-decoupled/commit/f4e496d))
|
|
126
126
|
|
|
127
127
|
|
|
128
128
|
## [10.0.0](https://github.com/ckeditor/ckeditor5-editor-decoupled/compare/v1.0.0-beta.4...v10.0.0) (2018-04-25)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md.
|
|
4
|
-
*/(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},492:(t,e,o)=>{t.exports=o(79)("./src/engine.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(r){var i=e[r];if(void 0!==i)return i.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";o.r(r),o.d(r,{DecoupledEditor:()=>
|
|
4
|
+
*/(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},492:(t,e,o)=>{t.exports=o(79)("./src/engine.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(r){var i=e[r];if(void 0!==i)return i.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";o.r(r),o.d(r,{DecoupledEditor:()=>F});var t=o(704),e=o(209);const i=function(t){return null!=t&&"object"==typeof t};const n="object"==typeof global&&global&&global.Object===Object&&global;var s="object"==typeof self&&self&&self.Object===Object&&self;const l=(n||s||Function("return this")()).Symbol;var a=Object.prototype,c=a.hasOwnProperty,d=a.toString,u=l?l.toStringTag:void 0;const h=function(t){var e=c.call(t,u),o=t[u];try{t[u]=void 0;var r=!0}catch(t){}var i=d.call(t);return r&&(e?t[u]=o:delete t[u]),i};var b=Object.prototype.toString;const p=function(t){return b.call(t)};var g=l?l.toStringTag:void 0;const f=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":g&&g in Object(t)?h(t):p(t)};const m=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object);var v=Function.prototype,y=Object.prototype,w=v.toString,E=y.hasOwnProperty,j=w.call(Object);const O=function(t){if(!i(t)||"[object Object]"!=f(t))return!1;var e=m(t);if(null===e)return!0;var o=E.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&w.call(o)==j};const x=function(t){return i(t)&&1===t.nodeType&&!O(t)};var T=o(492);class D extends t.EditorUI{constructor(t,e){super(t),this.view=e}init(){const t=this.editor,e=this.view,o=t.editing.view,r=e.editable,i=o.document.getRoot();e.editable.name=i.rootName,e.render();const n=r.element;this.setEditableElement(r.name,n),e.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(n),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy(),super.destroy()}_initToolbar(){const t=this.editor,e=this.view;e.toolbar.fillFromConfig(t.config.get("toolbar"),this.componentFactory),this.addToolbar(e.toolbar)}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),r=t.sourceElement,i=t.config.get("placeholder")||r&&"textarea"===r.tagName.toLowerCase()&&r.getAttribute("placeholder");i&&(0,T.enablePlaceholder)({view:e,element:o,text:i,isDirectHost:!1,keepOnFocus:!0})}}var S=o(273);class P extends S.EditorUIView{constructor(t,e,o={}){super(t);const r=t.t;this.toolbar=new S.ToolbarView(t,{shouldGroupWhenFull:o.shouldToolbarGroupWhenFull}),this.editable=new S.InlineEditableUIView(t,e,o.editableElement,{label:t=>r("Rich Text Editor. Editing area: %0",t.name)}),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.toolbar,this.editable])}}class F extends t.Editor{constructor(o,r={}){if(!x(o)&&void 0!==r.initialData)throw new e.CKEditorError("editor-create-initial-data",null);super(r),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return x(t)?(0,e.getDataFromElement)(t):t}(o)),x(o)&&(this.sourceElement=o,(0,t.secureSourceElement)(this)),this.model.document.createRoot();const i=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new P(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:i});this.ui=new D(this,n)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,o={}){return new Promise((r=>{if(x(t)&&"TEXTAREA"===t.tagName)throw new e.CKEditorError("editor-wrong-element",null);const i=new this(t,o);r(i.initPlugins().then((()=>i.ui.init())).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}(0,e.mix)(F,t.ElementApiMixin),(0,e.mix)(F,t.DataApiMixin)})(),(window.CKEditor5=window.CKEditor5||{}).editorDecoupled=r})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-editor-decoupled",
|
|
3
|
-
"version": "35.0
|
|
3
|
+
"version": "35.1.0",
|
|
4
4
|
"description": "Decoupled editor implementation for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -11,22 +11,23 @@
|
|
|
11
11
|
],
|
|
12
12
|
"main": "src/index.js",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"ckeditor5": "^35.0
|
|
14
|
+
"ckeditor5": "^35.1.0",
|
|
15
15
|
"lodash-es": "^4.17.15"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@ckeditor/ckeditor5-basic-styles": "^35.0
|
|
19
|
-
"@ckeditor/ckeditor5-core": "^35.0
|
|
18
|
+
"@ckeditor/ckeditor5-basic-styles": "^35.1.0",
|
|
19
|
+
"@ckeditor/ckeditor5-core": "^35.1.0",
|
|
20
20
|
"@ckeditor/ckeditor5-dev-utils": "^30.0.0",
|
|
21
|
-
"@ckeditor/ckeditor5-engine": "^35.0
|
|
22
|
-
"@ckeditor/ckeditor5-enter": "^35.0
|
|
23
|
-
"@ckeditor/ckeditor5-heading": "^35.0
|
|
24
|
-
"@ckeditor/ckeditor5-
|
|
25
|
-
"@ckeditor/ckeditor5-
|
|
26
|
-
"@ckeditor/ckeditor5-
|
|
27
|
-
"@ckeditor/ckeditor5-
|
|
28
|
-
"@ckeditor/ckeditor5-
|
|
29
|
-
"@ckeditor/ckeditor5-
|
|
21
|
+
"@ckeditor/ckeditor5-engine": "^35.1.0",
|
|
22
|
+
"@ckeditor/ckeditor5-enter": "^35.1.0",
|
|
23
|
+
"@ckeditor/ckeditor5-heading": "^35.1.0",
|
|
24
|
+
"@ckeditor/ckeditor5-image": "^35.1.0",
|
|
25
|
+
"@ckeditor/ckeditor5-paragraph": "^35.1.0",
|
|
26
|
+
"@ckeditor/ckeditor5-theme-lark": "^35.1.0",
|
|
27
|
+
"@ckeditor/ckeditor5-typing": "^35.1.0",
|
|
28
|
+
"@ckeditor/ckeditor5-ui": "^35.1.0",
|
|
29
|
+
"@ckeditor/ckeditor5-undo": "^35.1.0",
|
|
30
|
+
"@ckeditor/ckeditor5-utils": "^35.1.0",
|
|
30
31
|
"webpack": "^5.58.1",
|
|
31
32
|
"webpack-cli": "^4.9.0"
|
|
32
33
|
},
|
package/src/decouplededitorui.js
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { EditorUI } from 'ckeditor5/src/core';
|
|
11
|
-
import { enableToolbarKeyboardFocus } from 'ckeditor5/src/ui';
|
|
12
11
|
import { enablePlaceholder } from 'ckeditor5/src/engine';
|
|
13
12
|
|
|
14
13
|
/**
|
|
@@ -59,11 +58,6 @@ export default class DecoupledEditorUI extends EditorUI {
|
|
|
59
58
|
// editable areas (roots) but the decoupled editor has only one.
|
|
60
59
|
this.setEditableElement( editable.name, editableElement );
|
|
61
60
|
|
|
62
|
-
// Let the global focus tracker know that the editable UI element is focusable and
|
|
63
|
-
// belongs to the editor. From now on, the focus tracker will sustain the editor focus
|
|
64
|
-
// as long as the editable is focused (e.g. the user is typing).
|
|
65
|
-
this.focusTracker.add( editableElement );
|
|
66
|
-
|
|
67
61
|
// Let the editable UI element respond to the changes in the global editor focus
|
|
68
62
|
// tracker. It has been added to the same tracker a few lines above but, in reality, there are
|
|
69
63
|
// many focusable areas in the editor, like balloons, toolbars or dropdowns and as long
|
|
@@ -107,12 +101,8 @@ export default class DecoupledEditorUI extends EditorUI {
|
|
|
107
101
|
|
|
108
102
|
toolbar.fillFromConfig( editor.config.get( 'toolbar' ), this.componentFactory );
|
|
109
103
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
originFocusTracker: this.focusTracker,
|
|
113
|
-
originKeystrokeHandler: editor.keystrokes,
|
|
114
|
-
toolbar
|
|
115
|
-
} );
|
|
104
|
+
// Register the toolbar so it becomes available for Alt+F10 and Esc navigation.
|
|
105
|
+
this.addToolbar( view.toolbar );
|
|
116
106
|
}
|
|
117
107
|
|
|
118
108
|
/**
|