@ckeditor/ckeditor5-import-word 40.0.0 → 40.2.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/LICENSE.md +2 -2
- package/README.md +1 -1
- package/build/import-word.js +1 -1
- package/package.json +2 -2
- package/src/augmentation.d.ts +23 -23
- package/src/importword.d.ts +124 -99
- package/src/importword.js +1 -1
- package/src/importwordcommand.d.ts +54 -54
- package/src/importwordcommand.js +1 -1
- package/src/importwordediting.d.ts +39 -39
- package/src/importwordediting.js +1 -1
- package/src/importwordui.d.ts +22 -22
- package/src/importwordui.js +1 -1
- package/src/index.d.ts +12 -12
package/LICENSE.md
CHANGED
|
@@ -2,7 +2,7 @@ Software License Agreement
|
|
|
2
2
|
==========================
|
|
3
3
|
|
|
4
4
|
**CKEditor 5 import from Word feature** (https://ckeditor.com/ckeditor-5/)<br>
|
|
5
|
-
Copyright (c) 2003
|
|
5
|
+
Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
|
|
6
6
|
|
|
7
7
|
CKEditor 5 import from Word feature is licensed under a commercial license and is protected by copyright law.
|
|
8
8
|
For more details about available licensing options please contact us at sales@cksource.com.
|
|
@@ -15,4 +15,4 @@ Where not otherwise indicated, all CKEditor 5 import from Word feature cont
|
|
|
15
15
|
Trademarks
|
|
16
16
|
----------
|
|
17
17
|
|
|
18
|
-
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
|
|
18
|
+
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
|
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ As a licensed CKEditor 5 import from Word feature user you can report bugs
|
|
|
27
27
|
## License
|
|
28
28
|
|
|
29
29
|
**CKEditor 5 import from Word** (https://ckeditor.com/ckeditor-5/)<br>
|
|
30
|
-
Copyright (c) 2003
|
|
30
|
+
Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
|
|
31
31
|
|
|
32
32
|
CKEditor 5 import from Word feature is licensed under a commercial license and is protected by copyright law.
|
|
33
33
|
For more details about available licensing options please contact us at sales@cksource.com.
|
package/build/import-word.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
/*!
|
|
3
3
|
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
4
4
|
* For licensing, see LICENSE.md.
|
|
5
|
-
*/(()=>{var t={945:(t,e,r)=>{t.exports=r(79)("./src/clipboard.js")},704:(t,e,r)=>{t.exports=r(79)("./src/core.js")},492:(t,e,r)=>{t.exports=r(79)("./src/engine.js")},273:(t,e,r)=>{t.exports=r(79)("./src/ui.js")},448:(t,e,r)=>{t.exports=r(79)("./src/upload.js")},209:(t,e,r)=>{t.exports=r(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var i=e[o];if(void 0!==i)return i.exports;var n=e[o]={exports:{}};return t[o](n,n.exports,r),n.exports}r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};(()=>{"use strict";r.r(o),r.d(o,{ImportWord:()=>
|
|
5
|
+
*/(()=>{var t={945:(t,e,r)=>{t.exports=r(79)("./src/clipboard.js")},704:(t,e,r)=>{t.exports=r(79)("./src/core.js")},492:(t,e,r)=>{t.exports=r(79)("./src/engine.js")},273:(t,e,r)=>{t.exports=r(79)("./src/ui.js")},448:(t,e,r)=>{t.exports=r(79)("./src/upload.js")},209:(t,e,r)=>{t.exports=r(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var i=e[o];if(void 0!==i)return i.exports;var n=e[o]={exports:{}};return t[o](n,n.exports,r),n.exports}r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};(()=>{"use strict";r.r(o),r.d(o,{ImportWord:()=>v,ImportWordEditing:()=>m,ImportWordUI:()=>n});var t=r(704),e=r(273),i=r(448);class n extends t.Plugin{static get pluginName(){return"ImportWordUI"}init(){const t=this.editor,r=t.t;t.ui.componentFactory.add("importWord",(o=>{const n=t.commands.get("importWord"),s=new i.FileDialogButtonView(o),a=new e.SpinnerView;return s.set({acceptedType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template"}),s.buttonView.set({label:r("Import from Word"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m14 0 5 4.5v8.892l-1.5-1.8V6.5h-5v-5h-8v3H3V0h11Zm0 2v3h3.3L14 2Z"/><path d="M10.74 18a2.76 2.76 0 0 1-.469-.5H3V19h9.25v-.374A2.737 2.737 0 0 1 10.74 18Z"/><path d="M8.5 6a1.5 1.5 0 0 1 1.493 1.356L10 7.5v7a1.5 1.5 0 0 1-1.356 1.493L8.5 16h-7a1.5 1.5 0 0 1-1.493-1.356L0 14.5v-7a1.5 1.5 0 0 1 1.356-1.493L1.5 6h7ZM7.483 8.795l-.042.088-.986 2.534-.947-2.528-.043-.092a.601.601 0 0 0-1.042.008l-.042.093-.883 2.465-.937-2.475-.042-.089a.6.6 0 0 0-1.107.42l.027.093 1.514 4 .044.092a.6.6 0 0 0 1.041-.01l.041-.092.88-2.458.925 2.467.046.096a.602.602 0 0 0 1.032 0l.043-.09 1.554-4 .028-.093a.6.6 0 0 0-1.104-.43v.001ZM11.674 15.407a.75.75 0 1 0 1.152.96L14 14.96V20h1.5v-5.04l1.174 1.408a.75.75 0 1 0 1.152-.96l-2.346-2.816a.95.95 0 0 0-1.46 0l-2.346 2.815Z"/></svg>\n',tooltip:!0}),s.buttonView.bind("isOn","isEnabled").to(n,"isBusy","isEnabled"),a.bind("isVisible").to(n,"isBusy"),s.buttonView.iconView.bind("isVisible").to(n,"isBusy",(t=>!t)),s.buttonView.children.add(a),s.on("done",((e,r)=>{t.execute("importWord",r[0],{}),t.editing.view.focus()})),s}))}}var s=r(945),a=r(492),l=r(209);class d extends t.Command{constructor(t){super(t),this.set("isBusy",!1),this._importMarker=null,this._undoStepBatch=null,this._abortController=null,this.on("dataInsert",((e,r)=>{const o=new DataTransfer;o.setData("text/html",r.html);const i=this._importMarker.getRange();this.editor.model.enqueueChange(this._undoStepBatch,(e=>{this._importMarker.stopListening(),e.setSelection(i),t.editing.view.document.fire("clipboardInput",{dataTransfer:o})}))}),{priority:"low"})}refresh(){this.isEnabled=this._checkEnabled()}execute(t,e={}){if(this.isBusy)return Promise.resolve();const r=this.editor.config.get("importWord"),o={url:r.converterUrl,file:t,serviceConfig:{...e,formatting:r.formatting}};return this._prepareForImport(),this._sendImportRequest(o).then(this._handleImportResponse.bind(this)).catch(this._handleImportFailure.bind(this)).finally(this._cleanUpAfterImport.bind(this))}_checkEnabled(){if(this.isBusy)return!1;const t=this.editor.model,e=t.schema,r=t.document.selection,o=(0,l.first)(r.getSelectedBlocks());return!!o&&e.checkChild(o.parent,"paragraph")}_prepareForImport(){const t=this.editor,e=t.model,r=e.document.selection;this._abortController=new AbortController,this._undoStepBatch=t.model.createBatch({isUndoable:!0}),e.enqueueChange(this._undoStepBatch,(t=>{r.isCollapsed||e.deleteContent(r,{leaveUnmerged:!0});const o=r.getFirstPosition(),i=(0,l.first)(r.getSelectedBlocks());let n;n=i.is("element","paragraph")&&i.isEmpty?o:o.isAtStart?e.createPositionBefore(i):o.isAtEnd?e.createPositionAfter(i):t.split(o).position,this._importMarker=t.addMarker("importWord:"+(0,l.uid)(),{usingOperation:!1,affectsData:!1,range:new a.Range(n)}),this._importMarker.on("change:range",(()=>{"$graveyard"===this._importMarker.getRange().root.rootName&&this._abortController.abort()}))})),this.isBusy=!0,this.refresh()}_cleanUpAfterImport(){const t=this.editor.model;t.markers.has(this._importMarker)&&t.enqueueChange(this._undoStepBatch,(t=>{t.removeMarker(this._importMarker)})),this._importMarker=null,this._undoStepBatch=null,this._abortController=null,this.isBusy=!1,this.refresh()}_sendImportRequest({url:t,file:e,serviceConfig:r}){const o=this.editor.plugins.get("ImportWordEditing").getToken(),i=new FormData;i.set("config",JSON.stringify(r)),i.set("file",e);const n={method:"POST",headers:{},body:i,signal:this._abortController.signal};return o&&(n.headers.Authorization=o.value),fetch(t,n)}_handleImportResponse(t){return t.ok?t.json().then((t=>{this.editor.model.markers.has(this._importMarker)&&"$graveyard"!==this._importMarker.getRange().root.rootName&&this.fire("dataInsert",t)})):Promise.reject()}_handleImportFailure(){if(this._abortController.signal.aborted)return void(0,l.logWarning)("import-word-plugin-import-cancelled");const t=this.editor,e=(0,t.t)("An error occurred while importing the Word file.");t.plugins.get("Notification").showWarning(e),(0,l.logError)("import-word-plugin-conversion-failed")}}const c=["https://docx-converter.cke-cs.com/v2/convert/docx-html","get","init","ImportWordEditing","commands","getToken","config","none","token","CloudServices","add","plugins","registerTokenUrl","importWord","requires","define","_token","tokenUrl","editor"];var p,h;p=c,h=115,function(t){for(;--t;)p.push(p.shift())}(++h);const u=function(t,e){return c[t-=0]};class m extends t.Plugin{static get pluginName(){return u("0x2")}static get[u("0xd")](){return[e.Notification,s.ClipboardPipeline,u("0x8")]}constructor(t){super(t),this[u("0xf")]=null}async[u("0x1")](){const t=this[u("0x11")];t.config[u("0xe")](u("0xc"),{converterUrl:u("0x12"),tokenUrl:(t[u("0x5")].get("cloudServices")||{})[u("0x10")],formatting:{resets:u("0x6"),defaults:u("0x6"),styles:"inline"}}),t[u("0x3")][u("0x9")](u("0xc"),new d(t));const{tokenUrl:e}=t.config[u("0x0")]("importWord");if(e){const{tokenUrl:r}=t[u("0x5")][u("0x0")]("cloudServices")||{};this[u("0xf")]=e===r?t[u("0xa")][u("0x0")](u("0x8"))[u("0x7")]:await t[u("0xa")].get(u("0x8"))[u("0xb")](e)}}[u("0x4")](){return this._token}}var g,f,x=["pluginName"];g=x,f=398,function(t){for(;--t;)g.push(g.shift())}(++f);class v extends t.Plugin{static get[function(t,e){return x[t-=0]}("0x0")](){return"ImportWord"}static get requires(){return[m,n]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=o})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-import-word",
|
|
3
|
-
"version": "40.
|
|
3
|
+
"version": "40.2.0",
|
|
4
4
|
"description": "Import from Word feature for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"main": "src/index.js",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"ckeditor5": "40.
|
|
32
|
+
"ckeditor5": "40.2.0"
|
|
33
33
|
},
|
|
34
34
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
35
35
|
"author": "CKSource (https://cksource.com/)",
|
package/src/augmentation.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
import type { ImportWordConfig, ImportWord, ImportWordEditing, ImportWordUI, ImportWordCommand } from './index';
|
|
6
|
-
declare module '@ckeditor/ckeditor5-core' {
|
|
7
|
-
interface EditorConfig {
|
|
8
|
-
/**
|
|
9
|
-
* The configuration of the {@link module:import-word/importword~ImportWord import from Word feature}.
|
|
10
|
-
*
|
|
11
|
-
* Read more in {@link module:import-word/importword~ImportWordConfig}.
|
|
12
|
-
*/
|
|
13
|
-
importWord?: ImportWordConfig;
|
|
14
|
-
}
|
|
15
|
-
interface PluginsMap {
|
|
16
|
-
[ImportWord.pluginName]: ImportWord;
|
|
17
|
-
[ImportWordEditing.pluginName]: ImportWordEditing;
|
|
18
|
-
[ImportWordUI.pluginName]: ImportWordUI;
|
|
19
|
-
}
|
|
20
|
-
interface CommandsMap {
|
|
21
|
-
importWord: ImportWordCommand;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
import type { ImportWordConfig, ImportWord, ImportWordEditing, ImportWordUI, ImportWordCommand } from './index';
|
|
6
|
+
declare module '@ckeditor/ckeditor5-core' {
|
|
7
|
+
interface EditorConfig {
|
|
8
|
+
/**
|
|
9
|
+
* The configuration of the {@link module:import-word/importword~ImportWord import from Word feature}.
|
|
10
|
+
*
|
|
11
|
+
* Read more in {@link module:import-word/importword~ImportWordConfig}.
|
|
12
|
+
*/
|
|
13
|
+
importWord?: ImportWordConfig;
|
|
14
|
+
}
|
|
15
|
+
interface PluginsMap {
|
|
16
|
+
[ImportWord.pluginName]: ImportWord;
|
|
17
|
+
[ImportWordEditing.pluginName]: ImportWordEditing;
|
|
18
|
+
[ImportWordUI.pluginName]: ImportWordUI;
|
|
19
|
+
}
|
|
20
|
+
interface CommandsMap {
|
|
21
|
+
importWord: ImportWordCommand;
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/importword.d.ts
CHANGED
|
@@ -1,99 +1,124 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module import-word/importword
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Plugin } from 'ckeditor5/src/core';
|
|
10
|
-
import type { TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
|
|
11
|
-
import ImportWordUI from './importwordui';
|
|
12
|
-
import ImportWordEditing from './importwordediting';
|
|
13
|
-
/**
|
|
14
|
-
* The import from Word feature.
|
|
15
|
-
*
|
|
16
|
-
* It allows importing content from a Word file directly into CKEditor 5.
|
|
17
|
-
*
|
|
18
|
-
* This is a "glue" plugin which enables:
|
|
19
|
-
*
|
|
20
|
-
* * {@link module:import-word/importwordediting~ImportWordEditing},
|
|
21
|
-
* * {@link module:import-word/importwordui~ImportWordUI},
|
|
22
|
-
*
|
|
23
|
-
* For a detailed overview, check the {@glink features/converters/import-word/import-word import from Word} feature documentation.
|
|
24
|
-
*/
|
|
25
|
-
export default class ImportWord extends Plugin {
|
|
26
|
-
/**
|
|
27
|
-
* @inheritDoc
|
|
28
|
-
*/
|
|
29
|
-
static get pluginName(): "ImportWord";
|
|
30
|
-
/**
|
|
31
|
-
* @inheritDoc
|
|
32
|
-
*/
|
|
33
|
-
static get requires(): readonly [typeof ImportWordEditing, typeof ImportWordUI];
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* The configuration of the {@link module:import-word/importword~ImportWord import from Word feature}.
|
|
37
|
-
*
|
|
38
|
-
* The configuration for the import from Word feature requires providing the
|
|
39
|
-
* {@link module:import-word/importword~ImportWordConfig#tokenUrl `config.importWord.tokenUrl`}:
|
|
40
|
-
*
|
|
41
|
-
* ```ts
|
|
42
|
-
* ClassicEditor
|
|
43
|
-
* .create( editorElement, {
|
|
44
|
-
* importWord: {
|
|
45
|
-
* tokenUrl: 'https://example.com/cs-token-endpoint'
|
|
46
|
-
* }
|
|
47
|
-
* } )
|
|
48
|
-
* .then( ... )
|
|
49
|
-
* .catch( ... );
|
|
50
|
-
* ```
|
|
51
|
-
*
|
|
52
|
-
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
53
|
-
*/
|
|
54
|
-
export interface ImportWordConfig {
|
|
55
|
-
/**
|
|
56
|
-
* A URL to the Docx converter.
|
|
57
|
-
*
|
|
58
|
-
* ```ts
|
|
59
|
-
* const importWordConfig = {
|
|
60
|
-
* converterUrl: 'https://myconverter.com/v1/'
|
|
61
|
-
* }
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* **Note:** The plugin uses the default Word to HTML converter delivered by CKEditor Cloud Services.
|
|
65
|
-
* You can provide a URL to an on-premises converter instead.
|
|
66
|
-
*
|
|
67
|
-
* @default 'https://docx-converter.cke-cs.com/v2/convert/docx-html'
|
|
68
|
-
*/
|
|
69
|
-
converterUrl?: string;
|
|
70
|
-
/**
|
|
71
|
-
* A token URL or a token request function. This field is optional and should be used only when a different `tokenUrl`
|
|
72
|
-
* is required for the Import from Word feature.
|
|
73
|
-
*
|
|
74
|
-
* **Note:** The token can be disabled with the `false` value provided.
|
|
75
|
-
*
|
|
76
|
-
* See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
|
|
77
|
-
*/
|
|
78
|
-
tokenUrl?: TokenUrl;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module import-word/importword
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Plugin } from 'ckeditor5/src/core';
|
|
10
|
+
import type { TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
|
|
11
|
+
import ImportWordUI from './importwordui';
|
|
12
|
+
import ImportWordEditing from './importwordediting';
|
|
13
|
+
/**
|
|
14
|
+
* The import from Word feature.
|
|
15
|
+
*
|
|
16
|
+
* It allows importing content from a Word file directly into CKEditor 5.
|
|
17
|
+
*
|
|
18
|
+
* This is a "glue" plugin which enables:
|
|
19
|
+
*
|
|
20
|
+
* * {@link module:import-word/importwordediting~ImportWordEditing},
|
|
21
|
+
* * {@link module:import-word/importwordui~ImportWordUI},
|
|
22
|
+
*
|
|
23
|
+
* For a detailed overview, check the {@glink features/converters/import-word/import-word import from Word} feature documentation.
|
|
24
|
+
*/
|
|
25
|
+
export default class ImportWord extends Plugin {
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
static get pluginName(): "ImportWord";
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
static get requires(): readonly [typeof ImportWordEditing, typeof ImportWordUI];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The configuration of the {@link module:import-word/importword~ImportWord import from Word feature}.
|
|
37
|
+
*
|
|
38
|
+
* The configuration for the import from Word feature requires providing the
|
|
39
|
+
* {@link module:import-word/importword~ImportWordConfig#tokenUrl `config.importWord.tokenUrl`}:
|
|
40
|
+
*
|
|
41
|
+
* ```ts
|
|
42
|
+
* ClassicEditor
|
|
43
|
+
* .create( editorElement, {
|
|
44
|
+
* importWord: {
|
|
45
|
+
* tokenUrl: 'https://example.com/cs-token-endpoint'
|
|
46
|
+
* }
|
|
47
|
+
* } )
|
|
48
|
+
* .then( ... )
|
|
49
|
+
* .catch( ... );
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
53
|
+
*/
|
|
54
|
+
export interface ImportWordConfig {
|
|
55
|
+
/**
|
|
56
|
+
* A URL to the Docx converter.
|
|
57
|
+
*
|
|
58
|
+
* ```ts
|
|
59
|
+
* const importWordConfig = {
|
|
60
|
+
* converterUrl: 'https://myconverter.com/v1/'
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* **Note:** The plugin uses the default Word to HTML converter delivered by CKEditor Cloud Services.
|
|
65
|
+
* You can provide a URL to an on-premises converter instead.
|
|
66
|
+
*
|
|
67
|
+
* @default 'https://docx-converter.cke-cs.com/v2/convert/docx-html'
|
|
68
|
+
*/
|
|
69
|
+
converterUrl?: string;
|
|
70
|
+
/**
|
|
71
|
+
* A token URL or a token request function. This field is optional and should be used only when a different `tokenUrl`
|
|
72
|
+
* is required for the Import from Word feature.
|
|
73
|
+
*
|
|
74
|
+
* **Note:** The token can be disabled with the `false` value provided.
|
|
75
|
+
*
|
|
76
|
+
* See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
|
|
77
|
+
*/
|
|
78
|
+
tokenUrl?: TokenUrl;
|
|
79
|
+
formatting: FormattingOptions;
|
|
80
|
+
}
|
|
81
|
+
export interface FormattingOptions {
|
|
82
|
+
/**
|
|
83
|
+
* Controls whether the additional formatting dedicated to minimizing differences between default Word styles
|
|
84
|
+
* and default HTML formatting should be included in the generated document.
|
|
85
|
+
*
|
|
86
|
+
* If `inline`, the converter service preserves the formatting to be consistent with Word ones.
|
|
87
|
+
* For example, in Word headings are not bold by default, whereas in HTML, they are. Enabling this option
|
|
88
|
+
* appends font-weight: normal to all headings.
|
|
89
|
+
*
|
|
90
|
+
* @default false
|
|
91
|
+
*/
|
|
92
|
+
resets?: 'none' | 'inline';
|
|
93
|
+
/**
|
|
94
|
+
* Controls whether formatting set by default (like the default font size or default font family)
|
|
95
|
+
* should be included in the generated document.
|
|
96
|
+
*
|
|
97
|
+
* If `inline`, the converter service preserves the default formatting of the imported Word document.
|
|
98
|
+
*
|
|
99
|
+
* @default 'none'
|
|
100
|
+
*/
|
|
101
|
+
defaults?: 'none' | 'inline';
|
|
102
|
+
/**
|
|
103
|
+
* Controls whether Word styles should be included in the generated document.
|
|
104
|
+
*
|
|
105
|
+
* If `inline`, the converter service preserves the default styles of the imported Word document.
|
|
106
|
+
*
|
|
107
|
+
* @default 'inline'
|
|
108
|
+
*/
|
|
109
|
+
styles?: 'none' | 'inline';
|
|
110
|
+
/**
|
|
111
|
+
* Defines which formatting styles should be kept for the imported comments text.
|
|
112
|
+
*
|
|
113
|
+
* Possible values are:
|
|
114
|
+
*
|
|
115
|
+
* * `'basic'` - basic styles are kept (bold, italic, underline, strikethrough and links),
|
|
116
|
+
* * `'none'` - comment text is imported without any styling,
|
|
117
|
+
* * `'full'` - all styles are kept (not recommended).
|
|
118
|
+
*
|
|
119
|
+
* **Note:** Please remember that importing comments requires installing the {@link module:comments/comments~Comments} feature.
|
|
120
|
+
*
|
|
121
|
+
* @default 'basic'
|
|
122
|
+
*/
|
|
123
|
+
comments?: 'basic' | 'none' | 'full';
|
|
124
|
+
}
|
package/src/importword.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
var
|
|
23
|
+
var _0x9b9a=['pluginName'];(function(_0x47083e,_0x9b9a08){var _0x31b51f=function(_0x3b2f10){while(--_0x3b2f10){_0x47083e['push'](_0x47083e['shift']());}};_0x31b51f(++_0x9b9a08);}(_0x9b9a,0x18e));var _0x31b5=function(_0x47083e,_0x9b9a08){_0x47083e=_0x47083e-0x0;var _0x31b51f=_0x9b9a[_0x47083e];return _0x31b51f;};import{Plugin as _0x340baa}from'ckeditor5/src/core';import _0x51d865 from'./importwordui';import _0x4c965d from'./importwordediting';export default class i extends _0x340baa{static get[_0x31b5('0x0')](){return'ImportWord';}static get['requires'](){return[_0x4c965d,_0x51d865];}}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module import-word/importwordcommand
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Command, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
/**
|
|
11
|
-
* The import from Word command.
|
|
12
|
-
*
|
|
13
|
-
* It sends the Word file to the converter endpoint and inserts its content into the editor.
|
|
14
|
-
*/
|
|
15
|
-
export default class ImportWordCommand extends Command {
|
|
16
|
-
/**
|
|
17
|
-
* A command state that indicates if the command is currently executing.
|
|
18
|
-
*
|
|
19
|
-
* @observable
|
|
20
|
-
*/
|
|
21
|
-
isBusy: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* @inheritDoc
|
|
24
|
-
*/
|
|
25
|
-
constructor(editor: Editor);
|
|
26
|
-
/**
|
|
27
|
-
* @inheritDoc
|
|
28
|
-
*/
|
|
29
|
-
refresh(): void;
|
|
30
|
-
/**
|
|
31
|
-
* Executes the command. Sends the provided file instance to the converter service endpoint and inserts the result into the model.
|
|
32
|
-
*
|
|
33
|
-
* @fires execute
|
|
34
|
-
* @param file The Word file instance to be uploaded for conversion.
|
|
35
|
-
* @param [serviceConfig] Additional options to pass to the converter service.
|
|
36
|
-
*/
|
|
37
|
-
execute(file: File, serviceConfig?: Record<string, unknown>): Promise<unknown>;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Fired when the converter service returned the HTML content that will be inserted into the editor.
|
|
41
|
-
*
|
|
42
|
-
* @eventName ~ImportWordCommand#dataInsert
|
|
43
|
-
*/
|
|
44
|
-
export type DataInsertEvent = {
|
|
45
|
-
name: 'dataInsert';
|
|
46
|
-
args: [data: DataInsertEventData];
|
|
47
|
-
};
|
|
48
|
-
interface DataInsertEventData {
|
|
49
|
-
/**
|
|
50
|
-
* The HTML content to insertion.
|
|
51
|
-
*/
|
|
52
|
-
html: string;
|
|
53
|
-
}
|
|
54
|
-
export {};
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module import-word/importwordcommand
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Command, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
/**
|
|
11
|
+
* The import from Word command.
|
|
12
|
+
*
|
|
13
|
+
* It sends the Word file to the converter endpoint and inserts its content into the editor.
|
|
14
|
+
*/
|
|
15
|
+
export default class ImportWordCommand extends Command {
|
|
16
|
+
/**
|
|
17
|
+
* A command state that indicates if the command is currently executing.
|
|
18
|
+
*
|
|
19
|
+
* @observable
|
|
20
|
+
*/
|
|
21
|
+
isBusy: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
*/
|
|
25
|
+
constructor(editor: Editor);
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
refresh(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Executes the command. Sends the provided file instance to the converter service endpoint and inserts the result into the model.
|
|
32
|
+
*
|
|
33
|
+
* @fires execute
|
|
34
|
+
* @param file The Word file instance to be uploaded for conversion.
|
|
35
|
+
* @param [serviceConfig] Additional options to pass to the converter service.
|
|
36
|
+
*/
|
|
37
|
+
execute(file: File, serviceConfig?: Record<string, unknown>): Promise<unknown>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Fired when the converter service returned the HTML content that will be inserted into the editor.
|
|
41
|
+
*
|
|
42
|
+
* @eventName ~ImportWordCommand#dataInsert
|
|
43
|
+
*/
|
|
44
|
+
export type DataInsertEvent = {
|
|
45
|
+
name: 'dataInsert';
|
|
46
|
+
args: [data: DataInsertEventData];
|
|
47
|
+
};
|
|
48
|
+
interface DataInsertEventData {
|
|
49
|
+
/**
|
|
50
|
+
* The HTML content to insertion.
|
|
51
|
+
*/
|
|
52
|
+
html: string;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
package/src/importwordcommand.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Command as
|
|
23
|
+
import{Command as _0x2048e1}from'ckeditor5/src/core';import{Range as _0x211bc3}from'ckeditor5/src/engine';import{logWarning as _0x5f4368,logError as _0x2ba970,first as _0x3a0d27,uid as _0x1a8eb1}from'ckeditor5/src/utils';export default class d extends _0x2048e1{constructor(_0xc9bde9){super(_0xc9bde9),this['set']('isBusy',!0x1),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['on']('dataInsert',(_0x5ef0c8,_0x3e0880)=>{const _0x20c10c=new DataTransfer();_0x20c10c['setData']('text/html',_0x3e0880['html']);const _0x4b3038=this['_importMarker']['getRange']();this['editor']['model']['enqueueChange'](this['_undoStepBatch'],_0x328de4=>{this['_importMarker']['stopListening'](),_0x328de4['setSelection'](_0x4b3038),_0xc9bde9['editing']['view']['document']['fire']('clipboardInput',{'dataTransfer':_0x20c10c});});},{'priority':'low'});}['refresh'](){this['isEnabled']=this['_checkEnabled']();}['execute'](_0x59da53,_0x1d1a37={}){if(this['isBusy'])return Promise['resolve']();const _0x133ce5=this['editor']['config']['get']('importWord'),_0x57b2eb={'url':_0x133ce5['converterUrl'],'file':_0x59da53,'serviceConfig':{..._0x1d1a37,'formatting':_0x133ce5['formatting']}};return this['_prepareForImport'](),this['_sendImportRequest'](_0x57b2eb)['then'](this['_handleImportResponse']['bind'](this))['catch'](this['_handleImportFailure']['bind'](this))['finally'](this['_cleanUpAfterImport']['bind'](this));}['_checkEnabled'](){if(this['isBusy'])return!0x1;const _0x6db1f5=this['editor']['model'],_0x7e2aad=_0x6db1f5['schema'],_0x42683b=_0x6db1f5['document']['selection'],_0xf4bd91=_0x3a0d27(_0x42683b['getSelectedBlocks']());return!!_0xf4bd91&&_0x7e2aad['checkChild'](_0xf4bd91['parent'],'paragraph');}['_prepareForImport'](){const _0x438ab4=this['editor'],_0x40f2fc=_0x438ab4['model'],_0x1025e6=_0x40f2fc['document']['selection'];this['_abortController']=new AbortController(),this['_undoStepBatch']=_0x438ab4['model']['createBatch']({'isUndoable':!0x0}),_0x40f2fc['enqueueChange'](this['_undoStepBatch'],_0x3b43c4=>{_0x1025e6['isCollapsed']||_0x40f2fc['deleteContent'](_0x1025e6,{'leaveUnmerged':!0x0});const _0xfdb2b4=_0x1025e6['getFirstPosition'](),_0x2452ab=_0x3a0d27(_0x1025e6['getSelectedBlocks']());let _0x39cd2a;_0x39cd2a=_0x2452ab['is']('element','paragraph')&&_0x2452ab['isEmpty']?_0xfdb2b4:_0xfdb2b4['isAtStart']?_0x40f2fc['createPositionBefore'](_0x2452ab):_0xfdb2b4['isAtEnd']?_0x40f2fc['createPositionAfter'](_0x2452ab):_0x3b43c4['split'](_0xfdb2b4)['position'],this['_importMarker']=_0x3b43c4['addMarker']('importWord:'+_0x1a8eb1(),{'usingOperation':!0x1,'affectsData':!0x1,'range':new _0x211bc3(_0x39cd2a)}),this['_importMarker']['on']('change:range',()=>{'$graveyard'===this['_importMarker']['getRange']()['root']['rootName']&&this['_abortController']['abort']();});}),this['isBusy']=!0x0,this['refresh']();}['_cleanUpAfterImport'](){const _0x344fcd=this['editor']['model'];_0x344fcd['markers']['has'](this['_importMarker'])&&_0x344fcd['enqueueChange'](this['_undoStepBatch'],_0xcadd1b=>{_0xcadd1b['removeMarker'](this['_importMarker']);}),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['isBusy']=!0x1,this['refresh']();}['_sendImportRequest']({url:_0x15a678,file:_0x1519ee,serviceConfig:_0x1b13dc}){const _0x170c18=this['editor']['plugins']['get']('ImportWordEditing')['getToken'](),_0x39cc8e=new FormData();_0x39cc8e['set']('config',JSON['stringify'](_0x1b13dc)),_0x39cc8e['set']('file',_0x1519ee);const _0x4c1cc3={'method':'POST','headers':{},'body':_0x39cc8e,'signal':this['_abortController']['signal']};return _0x170c18&&(_0x4c1cc3['headers']['Authorization']=_0x170c18['value']),fetch(_0x15a678,_0x4c1cc3);}['_handleImportResponse'](_0x433a73){return _0x433a73['ok']?_0x433a73['json']()['then'](_0x3c8ee4=>{if(!this['editor']['model']['markers']['has'](this['_importMarker']))return;'$graveyard'!==this['_importMarker']['getRange']()['root']['rootName']&&this['fire']('dataInsert',_0x3c8ee4);}):Promise['reject']();}['_handleImportFailure'](){if(this['_abortController']['signal']['aborted'])return void _0x5f4368('import-word-plugin-import-cancelled');const _0x38bb92=this['editor'],_0x1b8b78=(0x0,_0x38bb92['t'])('An\x20error\x20occurred\x20while\x20importing\x20the\x20Word\x20file.');_0x38bb92['plugins']['get']('Notification')['showWarning'](_0x1b8b78),_0x2ba970('import-word-plugin-conversion-failed');}}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module import-word/importwordediting
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
import { Notification } from 'ckeditor5/src/ui';
|
|
11
|
-
import { ClipboardPipeline } from 'ckeditor5/src/clipboard';
|
|
12
|
-
import type { InitializedToken } from '@ckeditor/ckeditor5-cloud-services';
|
|
13
|
-
/**
|
|
14
|
-
* The editing part of the import from Word feature.
|
|
15
|
-
*
|
|
16
|
-
* It registers the {@link module:import-word/importwordcommand~ImportWordCommand `'importWord'` command}.
|
|
17
|
-
*/
|
|
18
|
-
export default class ImportWordEditing extends Plugin {
|
|
19
|
-
/**
|
|
20
|
-
* @inheritDoc
|
|
21
|
-
*/
|
|
22
|
-
static get pluginName(): "ImportWordEditing";
|
|
23
|
-
/**
|
|
24
|
-
* @inheritDoc
|
|
25
|
-
*/
|
|
26
|
-
static get requires(): readonly [typeof Notification, typeof ClipboardPipeline, "CloudServices"];
|
|
27
|
-
/**
|
|
28
|
-
* @inheritDoc
|
|
29
|
-
*/
|
|
30
|
-
constructor(editor: Editor);
|
|
31
|
-
/**
|
|
32
|
-
* @inheritDoc
|
|
33
|
-
*/
|
|
34
|
-
init(): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Returns a token used by the import from Word plugin for communication with the Cloud Services.
|
|
37
|
-
*/
|
|
38
|
-
getToken(): InitializedToken | null;
|
|
39
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module import-word/importwordediting
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
import { Notification } from 'ckeditor5/src/ui';
|
|
11
|
+
import { ClipboardPipeline } from 'ckeditor5/src/clipboard';
|
|
12
|
+
import type { InitializedToken } from '@ckeditor/ckeditor5-cloud-services';
|
|
13
|
+
/**
|
|
14
|
+
* The editing part of the import from Word feature.
|
|
15
|
+
*
|
|
16
|
+
* It registers the {@link module:import-word/importwordcommand~ImportWordCommand `'importWord'` command}.
|
|
17
|
+
*/
|
|
18
|
+
export default class ImportWordEditing extends Plugin {
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
static get pluginName(): "ImportWordEditing";
|
|
23
|
+
/**
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
static get requires(): readonly [typeof Notification, typeof ClipboardPipeline, "CloudServices"];
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
constructor(editor: Editor);
|
|
31
|
+
/**
|
|
32
|
+
* @inheritDoc
|
|
33
|
+
*/
|
|
34
|
+
init(): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Returns a token used by the import from Word plugin for communication with the Cloud Services.
|
|
37
|
+
*/
|
|
38
|
+
getToken(): InitializedToken | null;
|
|
39
|
+
}
|
package/src/importwordediting.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0x30da=['https://docx-converter.cke-cs.com/v2/convert/docx-html','get','init','ImportWordEditing','commands','getToken','config','none','token','CloudServices','add','plugins','registerTokenUrl','importWord','requires','define','_token','tokenUrl','editor'];(function(_0x3c3016,_0x30dad8){const _0x29f977=function(_0x4ffd82){while(--_0x4ffd82){_0x3c3016['push'](_0x3c3016['shift']());}};_0x29f977(++_0x30dad8);}(_0x30da,0x73));const _0x29f9=function(_0x3c3016,_0x30dad8){_0x3c3016=_0x3c3016-0x0;let _0x29f977=_0x30da[_0x3c3016];return _0x29f977;};import{Plugin as _0x471c9d}from'ckeditor5/src/core';import{Notification as _0x40dae8}from'ckeditor5/src/ui';import{ClipboardPipeline as _0x3db0a3}from'ckeditor5/src/clipboard';import _0xcfd43f from'./importwordcommand';export default class e extends _0x471c9d{static get['pluginName'](){return _0x29f9('0x2');}static get[_0x29f9('0xd')](){return[_0x40dae8,_0x3db0a3,_0x29f9('0x8')];}constructor(_0x2012d8){super(_0x2012d8),this[_0x29f9('0xf')]=null;}async[_0x29f9('0x1')](){const _0x3ec2b2=this[_0x29f9('0x11')];_0x3ec2b2['config'][_0x29f9('0xe')](_0x29f9('0xc'),{'converterUrl':_0x29f9('0x12'),'tokenUrl':(_0x3ec2b2[_0x29f9('0x5')]['get']('cloudServices')||{})[_0x29f9('0x10')],'formatting':{'resets':_0x29f9('0x6'),'defaults':_0x29f9('0x6'),'styles':'inline'}}),_0x3ec2b2[_0x29f9('0x3')][_0x29f9('0x9')](_0x29f9('0xc'),new _0xcfd43f(_0x3ec2b2));const {tokenUrl:_0x487287}=_0x3ec2b2['config'][_0x29f9('0x0')]('importWord');if(_0x487287){const {tokenUrl:_0x76d58b}=_0x3ec2b2[_0x29f9('0x5')][_0x29f9('0x0')]('cloudServices')||{};this[_0x29f9('0xf')]=_0x487287===_0x76d58b?_0x3ec2b2[_0x29f9('0xa')][_0x29f9('0x0')](_0x29f9('0x8'))[_0x29f9('0x7')]:await _0x3ec2b2[_0x29f9('0xa')]['get'](_0x29f9('0x8'))[_0x29f9('0xb')](_0x487287);}}[_0x29f9('0x4')](){return this['_token'];}}
|
package/src/importwordui.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module import-word/importwordui
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Plugin } from 'ckeditor5/src/core';
|
|
10
|
-
/**
|
|
11
|
-
* The ImportWordUI plugin. It introduces the `'importWord'` toolbar button.
|
|
12
|
-
*/
|
|
13
|
-
export default class ImportWordUI extends Plugin {
|
|
14
|
-
/**
|
|
15
|
-
* @inheritDoc
|
|
16
|
-
*/
|
|
17
|
-
static get pluginName(): "ImportWordUI";
|
|
18
|
-
/**
|
|
19
|
-
* @inheritDoc
|
|
20
|
-
*/
|
|
21
|
-
init(): void;
|
|
22
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module import-word/importwordui
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Plugin } from 'ckeditor5/src/core';
|
|
10
|
+
/**
|
|
11
|
+
* The ImportWordUI plugin. It introduces the `'importWord'` toolbar button.
|
|
12
|
+
*/
|
|
13
|
+
export default class ImportWordUI extends Plugin {
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
static get pluginName(): "ImportWordUI";
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
init(): void;
|
|
22
|
+
}
|
package/src/importwordui.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Plugin as
|
|
23
|
+
import{Plugin as _0x129b8e}from'ckeditor5/src/core';import{SpinnerView as _0x321bcb}from'ckeditor5/src/ui';import{FileDialogButtonView as _0x5bc606}from'ckeditor5/src/upload';import _0x48b48b from'../theme/icons/importword.svg';export default class o extends _0x129b8e{static get['pluginName'](){return'ImportWordUI';}['init'](){const _0x5e9d5b=this['editor'],t=_0x5e9d5b['t'];_0x5e9d5b['ui']['componentFactory']['add']('importWord',_0x546153=>{const _0x559a03=_0x5e9d5b['commands']['get']('importWord'),_0x1da3b9=new _0x5bc606(_0x546153),_0x1b83eb=new _0x321bcb();return _0x1da3b9['set']({'acceptedType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template'}),_0x1da3b9['buttonView']['set']({'label':t('Import\x20from\x20Word'),'icon':_0x48b48b,'tooltip':!0x0}),_0x1da3b9['buttonView']['bind']('isOn','isEnabled')['to'](_0x559a03,'isBusy','isEnabled'),_0x1b83eb['bind']('isVisible')['to'](_0x559a03,'isBusy'),_0x1da3b9['buttonView']['iconView']['bind']('isVisible')['to'](_0x559a03,'isBusy',_0x3af574=>!_0x3af574),_0x1da3b9['buttonView']['children']['add'](_0x1b83eb),_0x1da3b9['on']('done',(_0x1449ae,_0x357c36)=>{_0x5e9d5b['execute']('importWord',_0x357c36[0x0],{}),_0x5e9d5b['editing']['view']['focus']();}),_0x1da3b9;});}}
|
package/src/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module import-word
|
|
7
|
-
*/
|
|
8
|
-
export { default as ImportWord, type ImportWordConfig } from './importword';
|
|
9
|
-
export { default as ImportWordEditing } from './importwordediting';
|
|
10
|
-
export { default as ImportWordUI } from './importwordui';
|
|
11
|
-
export type { default as ImportWordCommand } from './importwordcommand';
|
|
12
|
-
import './augmentation';
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module import-word
|
|
7
|
+
*/
|
|
8
|
+
export { default as ImportWord, type ImportWordConfig } from './importword';
|
|
9
|
+
export { default as ImportWordEditing } from './importwordediting';
|
|
10
|
+
export { default as ImportWordUI } from './importwordui';
|
|
11
|
+
export type { default as ImportWordCommand } from './importwordcommand';
|
|
12
|
+
import './augmentation';
|