@ckeditor/ckeditor5-import-word 35.2.0 → 35.3.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/README.md +3 -3
- package/build/import-word.js +1 -1
- package/ckeditor5-metadata.json +1 -1
- package/package.json +26 -26
- package/src/importword.js +1 -1
- package/src/importwordcommand.js +1 -1
- package/src/importwordediting.js +1 -1
- package/src/importwordui.js +1 -1
package/README.md
CHANGED
|
@@ -6,17 +6,17 @@ CKEditor 5 import from Word feature
|
|
|
6
6
|
|
|
7
7
|
This package contains the import from Word feature for CKEditor 5. It allows you to import content from a Word file directly into CKEditor 5.
|
|
8
8
|
|
|
9
|
-
When enabled, this feature sends the
|
|
9
|
+
When enabled, this feature sends the selected Word file to the CKEditor Cloud Services Word to HTML converter service. The service then generates the HTML document that is inserted into the editor.
|
|
10
10
|
|
|
11
11
|
This is a premium feature. Please [contact us](https://ckeditor.com/contact/) if you would like to purchase a license. Let us know if you have any feedback or questions!
|
|
12
12
|
|
|
13
13
|
## Demo
|
|
14
14
|
|
|
15
|
-
Check out the [demo in the import from Word feature](https://ckeditor.com/docs/ckeditor5/latest/features/import-word.html#demo) guide.
|
|
15
|
+
Check out the [demo in the import from Word feature](https://ckeditor.com/docs/ckeditor5/latest/features/import-word/import-word.html#demo) guide.
|
|
16
16
|
|
|
17
17
|
## Documentation
|
|
18
18
|
|
|
19
|
-
See the [`@ckeditor/ckeditor5-import-word` package](https://ckeditor.com/docs/ckeditor5/latest/api/import-word.html) page in [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/) as well as the [import from Word](https://ckeditor.com/docs/ckeditor5/latest/features/import-word.html) feature guide.
|
|
19
|
+
See the [`@ckeditor/ckeditor5-import-word` package](https://ckeditor.com/docs/ckeditor5/latest/api/import-word.html) page in [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/) as well as the [import from Word](https://ckeditor.com/docs/ckeditor5/latest/features/import-word/import-word.html) feature guide.
|
|
20
20
|
|
|
21
21
|
## Getting support
|
|
22
22
|
|
package/build/import-word.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
/*!
|
|
3
3
|
* @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
|
|
4
4
|
* For licensing, see LICENSE.md.
|
|
5
|
-
*/(()=>{var t={847:(t,e,r)=>{"use strict";r.d(e,{Z:()=>i});var o=r(758),n=r.n(o)()((function(t){return t[1]}));n.push([t.id,":root{--ck-toolbar-spinner-size:18px}.ck-importword_status-pending{position:relative}.ck.ck-importword__spinner-container{display:none}.ck.ck-importword__spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;height:var(--ck-toolbar-spinner-size);left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);width:var(--ck-toolbar-spinner-size);z-index:1}.ck-importword_status-pending .ck.ck-importword__spinner-container{animation:rotate 1.5s linear infinite;display:block;height:var(--ck-toolbar-spinner-size);position:absolute;width:var(--ck-toolbar-spinner-size)}.ck-importword_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}",""]);const i=n},758:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=t(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,o){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(o)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(n[s]=!0)}for(var a=0;a<t.length;a++){var c=[].concat(t[a]);o&&n[c[0]]||(r&&(c[2]?c[2]="".concat(r," and ").concat(c[2]):c[2]=r),e.push(c))}},e}},278:(t,e,r)=>{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),s=[];function a(t){for(var e=-1,r=0;r<s.length;r++)if(s[r].identifier===t){e=r;break}return e}function c(t,e){for(var r={},o=[],n=0;n<t.length;n++){var i=t[n],c=e.base?i[0]+e.base:i[0],l=r[c]||0,d="".concat(c," ").concat(l);r[c]=l+1;var u=a(d),p={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(s[u].references++,s[u].updater(p)):s.push({identifier:d,updater:g(p,e),references:1}),o.push(d)}return o}function l(t){var e=document.createElement("style"),o=t.attributes||{};if(void 0===o.nonce){var n=r.nc;n&&(o.nonce=n)}if(Object.keys(o).forEach((function(t){e.setAttribute(t,o[t])})),"function"==typeof t.insert)t.insert(e);else{var s=i(t.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join("\n")});function p(t,e,r,o){var n=r?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(e,n);else{var i=document.createTextNode(n),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(i,s[e]):t.appendChild(i)}}function h(t,e,r){var o=r.css,n=r.media,i=r.sourceMap;if(n?t.setAttribute("media",n):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var m=null,f=0;function g(t,e){var r,o,n;if(e.singleton){var i=f++;r=m||(m=l(e)),o=p.bind(null,r,i,!1),n=p.bind(null,r,i,!0)}else r=l(e),o=h.bind(null,r,e),n=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return o(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;o(t=e)}else n()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=n());var r=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var o=0;o<r.length;o++){var n=a(r[o]);s[n].references--}for(var i=c(t,e),l=0;l<r.length;l++){var d=a(r[l]);0===s[d].references&&(s[d].updater(),s.splice(d,1))}r=i}}}},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 n=e[o];if(void 0!==n)return n.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},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})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{ImportWord:()=>_,ImportWordEditing:()=>b,ImportWordUI:()=>l});var t=r(704),e=r(273),n=r(448);var i=r(278),s=r.n(i),a=r(847),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};s()(a.Z,c);a.Z.locals;class l extends t.Plugin{static get pluginName(){return"ImportWordUI"}init(){const t=this.editor,r=t.t;t.ui.componentFactory.add("importWord",(o=>{const i=t.commands.get("importWord"),s=new n.FileDialogButtonView(o);s.set({acceptedType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),s.buttonView.set({label:r("Import from Word"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#a)"><path clip-rule="evenodd" 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 clip-rule="evenodd" 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"/></g><defs><clipPath id="a"><path d="M0 0h20v20H0z"/></clipPath></defs></svg>',tooltip:!0}),s.buttonView.bind("isOn","isEnabled").to(i,"isBusy","isEnabled"),s.buttonView.extendTemplate({attributes:{class:[s.buttonView.bindTemplate.if("isOn","ck-importword_status-pending")]}});const a=new e.View;return a.setTemplate({tag:"span",attributes:{class:["ck","ck-importword__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-importword__spinner"]}}]}),s.buttonView.children.add(a),s.on("done",((e,r)=>{t.execute("importWord",r[0],{}),t.editing.view.focus()})),s}))}}var d=r(945),u=r(209),p=r(492);class h 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 n=this._importMarker.getRange();this.editor.model.enqueueChange(this._undoStepBatch,(e=>{e.setSelection(n),t.editing.view.document.fire("clipboardInput",{dataTransfer:o})}))}),{priority:"low"})}refresh(){this.isEnabled=this.i()}execute(t,e={}){if(this.isBusy)return;const r=this.editor.config.get("importWord"),o={url:r.converterUrl,file:t,serviceConfig:{...e,default_styles:r.defaultStyles}};return this.s(),this.o(o).then(this.h.bind(this)).catch(this.l.bind(this)).finally(this.p.bind(this))}i(){if(this.isBusy)return!1;const t=this.editor.model,e=t.schema,r=t.document.selection,o=(0,u.first)(r.getSelectedBlocks());return!!o&&e.checkChild(o.parent,"paragraph")}s(){const t=this.editor,e=t.model,r=e.document.selection;this._abortController=new AbortController,this._undoStepBatch=t.model.createBatch(),e.enqueueChange(this._undoStepBatch,(t=>{r.isCollapsed||e.deleteContent(r,{leaveUnmerged:!0});const o=r.getFirstPosition(),n=(0,u.first)(r.getSelectedBlocks());let i;i=n.is("element","paragraph")&&n.isEmpty?o:o.isAtStart?e.createPositionBefore(n):o.isAtEnd?e.createPositionAfter(n):t.split(o).position,this._importMarker=t.addMarker("importWord:"+(0,u.uid)(),{usingOperation:!1,affectsData:!1,range:new p.Range(i)}),this._importMarker.on("change:range",(()=>{"$graveyard"===this._importMarker.getRange().root.rootName&&this._abortController.abort()}))})),this.isBusy=!0,this.refresh()}p(){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()}o({url:t,file:e,serviceConfig:r}){const o=this.editor.plugins.get("ImportWordEditing").getToken(),n=new FormData;n.set("config",JSON.stringify(r)),n.set("file",e);const i={method:"POST",headers:{Authorization:o.value},body:n,signal:this._abortController.signal};return fetch(t,i)}h(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()}l(){if(this._abortController.signal.aborted)return void(0,u.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,u.logError)("import-word-plugin-conversion-failed")}}const m=["pluginName","importWord","token","init","cloudServices.tokenUrl","commands","import-word-plugin-missing-token-url","editor","get","getToken","ImportWordEditing","https://docx-converter.cke-cs.com/v2/convert/docx-html","createToken","importWord.tokenUrl","config","plugins"];var f,g;f=m,g=283,function(t){for(;--t;)f.push(f.shift())}(++g);const v=function(t,e){return m[t-=0]};class b extends t.Plugin{static get[v("0x5")](){return v("0xf")}static get requires(){return[e.Notification,d.ClipboardPipeline,"CloudServices"]}constructor(t){super(t),this.m=null}async[v("0x8")](){const t=this[v("0xc")];if(t[v("0x3")].define(v("0x6"),{converterUrl:v("0x0"),tokenUrl:t[v("0x3")][v("0xd")](v("0x9")),defaultStyles:!1}),!t[v("0x3")].get(v("0x2")))throw new u.CKEditorError(v("0xb"),null);const e=t[v("0x3")][v("0xd")](v("0x2")),r=t[v("0x3")][v("0xd")](v("0x9"));this.m=e===r?t[v("0x4")].get("CloudServices")[v("0x7")]:await t[v("0x4")].get("CloudServicesCore")[v("0x1")](e)[v("0x8")](),t[v("0xa")].add(v("0x6"),new h(t))}[v("0xe")](){return this.m}}var x,w,k=["pluginName","requires"];x=k,w=383,function(t){for(;--t;)x.push(x.shift())}(++w);var y=function(t,e){return k[t-=0]};class _ extends t.Plugin{static get[y("0x1")](){return"ImportWord"}static get[y("0x0")](){return[b,l]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=o})();
|
|
5
|
+
*/(()=>{var t={847:(t,e,r)=>{"use strict";r.d(e,{Z:()=>i});var o=r(758),n=r.n(o)()((function(t){return t[1]}));n.push([t.id,":root{--ck-toolbar-spinner-size:18px}.ck-importword_status-pending{position:relative}.ck.ck-importword__spinner-container{display:none}.ck.ck-importword__spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;height:var(--ck-toolbar-spinner-size);left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);width:var(--ck-toolbar-spinner-size);z-index:1}.ck-importword_status-pending .ck.ck-importword__spinner-container{animation:rotate 1.5s linear infinite;display:block;height:var(--ck-toolbar-spinner-size);position:absolute;width:var(--ck-toolbar-spinner-size)}.ck-importword_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}",""]);const i=n},758:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=t(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,o){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(o)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(n[s]=!0)}for(var a=0;a<t.length;a++){var c=[].concat(t[a]);o&&n[c[0]]||(r&&(c[2]?c[2]="".concat(r," and ").concat(c[2]):c[2]=r),e.push(c))}},e}},278:(t,e,r)=>{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),s=[];function a(t){for(var e=-1,r=0;r<s.length;r++)if(s[r].identifier===t){e=r;break}return e}function c(t,e){for(var r={},o=[],n=0;n<t.length;n++){var i=t[n],c=e.base?i[0]+e.base:i[0],l=r[c]||0,d="".concat(c," ").concat(l);r[c]=l+1;var u=a(d),p={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(s[u].references++,s[u].updater(p)):s.push({identifier:d,updater:g(p,e),references:1}),o.push(d)}return o}function l(t){var e=document.createElement("style"),o=t.attributes||{};if(void 0===o.nonce){var n=r.nc;n&&(o.nonce=n)}if(Object.keys(o).forEach((function(t){e.setAttribute(t,o[t])})),"function"==typeof t.insert)t.insert(e);else{var s=i(t.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join("\n")});function p(t,e,r,o){var n=r?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(e,n);else{var i=document.createTextNode(n),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(i,s[e]):t.appendChild(i)}}function h(t,e,r){var o=r.css,n=r.media,i=r.sourceMap;if(n?t.setAttribute("media",n):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var m=null,f=0;function g(t,e){var r,o,n;if(e.singleton){var i=f++;r=m||(m=l(e)),o=p.bind(null,r,i,!1),n=p.bind(null,r,i,!0)}else r=l(e),o=h.bind(null,r,e),n=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return o(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;o(t=e)}else n()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=n());var r=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var o=0;o<r.length;o++){var n=a(r[o]);s[n].references--}for(var i=c(t,e),l=0;l<r.length;l++){var d=a(r[l]);0===s[d].references&&(s[d].updater(),s.splice(d,1))}r=i}}}},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 n=e[o];if(void 0!==n)return n.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},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})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{ImportWord:()=>x,ImportWordEditing:()=>b,ImportWordUI:()=>l});var t=r(704),e=r(273),n=r(448);var i=r(278),s=r.n(i),a=r(847),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};s()(a.Z,c);a.Z.locals;class l extends t.Plugin{static get pluginName(){return"ImportWordUI"}init(){const t=this.editor,r=t.t;t.ui.componentFactory.add("importWord",(o=>{const i=t.commands.get("importWord"),s=new n.FileDialogButtonView(o);s.set({acceptedType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),s.buttonView.set({label:r("Import from Word"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#a)"><path clip-rule="evenodd" 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 clip-rule="evenodd" 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"/></g><defs><clipPath id="a"><path d="M0 0h20v20H0z"/></clipPath></defs></svg>',tooltip:!0}),s.buttonView.bind("isOn","isEnabled").to(i,"isBusy","isEnabled"),s.buttonView.extendTemplate({attributes:{class:[s.buttonView.bindTemplate.if("isOn","ck-importword_status-pending")]}});const a=new e.View;return a.setTemplate({tag:"span",attributes:{class:["ck","ck-importword__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-importword__spinner"]}}]}),s.buttonView.children.add(a),s.on("done",((e,r)=>{t.execute("importWord",r[0],{}),t.editing.view.focus()})),s}))}}var d=r(945),u=r(492),p=r(209);class h 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 n=this._importMarker.getRange();this.editor.model.enqueueChange(this._undoStepBatch,(e=>{this._importMarker.stopListening(),e.setSelection(n),t.editing.view.document.fire("clipboardInput",{dataTransfer:o})}))}),{priority:"low"})}refresh(){this.isEnabled=this.i()}execute(t,e={}){if(this.isBusy)return;const r=this.editor.config.get("importWord"),o={url:r.converterUrl,file:t,serviceConfig:{...e,default_styles:r.defaultStyles}};return this.s(),this._sendImportRequest(o).then(this.o.bind(this)).catch(this.h.bind(this)).finally(this.l.bind(this))}i(){if(this.isBusy)return!1;const t=this.editor.model,e=t.schema,r=t.document.selection,o=(0,p.first)(r.getSelectedBlocks());return!!o&&e.checkChild(o.parent,"paragraph")}s(){const t=this.editor,e=t.model,r=e.document.selection;this._abortController=new AbortController,this._undoStepBatch=t.model.createBatch(),e.enqueueChange(this._undoStepBatch,(t=>{r.isCollapsed||e.deleteContent(r,{leaveUnmerged:!0});const o=r.getFirstPosition(),n=(0,p.first)(r.getSelectedBlocks());let i;i=n.is("element","paragraph")&&n.isEmpty?o:o.isAtStart?e.createPositionBefore(n):o.isAtEnd?e.createPositionAfter(n):t.split(o).position,this._importMarker=t.addMarker("importWord:"+(0,p.uid)(),{usingOperation:!1,affectsData:!1,range:new u.Range(i)}),this._importMarker.on("change:range",(()=>{"$graveyard"===this._importMarker.getRange().root.rootName&&this._abortController.abort()}))})),this.isBusy=!0,this.refresh()}l(){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(),n=new FormData;n.set("config",JSON.stringify(r)),n.set("file",e);const i={method:"POST",headers:{},body:n,signal:this._abortController.signal};return o&&(i.headers.Authorization=o.value),fetch(t,i)}o(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()}h(){if(this._abortController.signal.aborted)return void(0,p.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,p.logError)("import-word-plugin-conversion-failed")}}const m=["define","importWord","cloudServices.tokenUrl","commands","init","importWord.tokenUrl","https://docx-converter.cke-cs.com/v2/convert/docx-html","config","requires","plugins","get","ImportWordEditing","add","pluginName","editor","CloudServices","registerTokenUrl"];var f,g;f=m,g=451,function(t){for(;--t;)f.push(f.shift())}(++g);const v=function(t,e){return m[t-=0]};class b extends t.Plugin{static get[v("0x4")](){return v("0x2")}static get[v("0x10")](){return[e.Notification,d.ClipboardPipeline,"CloudServices"]}constructor(t){super(t),this.m=null}async[v("0xc")](){const t=this[v("0x5")];if(t[v("0xf")][v("0x8")]("importWord",{converterUrl:v("0xe"),tokenUrl:t[v("0xf")].get(v("0xa")),defaultStyles:!1}),t[v("0xb")][v("0x3")](v("0x9"),new h(t)),t[v("0xf")].get("importWord.tokenUrl")){const e=t[v("0xf")][v("0x1")](v("0xd")),r=t[v("0xf")].get(v("0xa"));this.m=e===r?t.plugins[v("0x1")](v("0x6")).token:await t[v("0x0")][v("0x1")](v("0x6"))[v("0x7")](e)}}getToken(){return this.m}}class x extends t.Plugin{static get pluginName(){return"ImportWord"}static get requires(){return[b,l]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=o})();
|
package/ckeditor5-metadata.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"name": "Import from Word",
|
|
5
5
|
"className": "ImportWord",
|
|
6
6
|
"description": "Allows importing a content from a Word file directly into CKEditor 5.",
|
|
7
|
-
"docs": "features/import-word.html",
|
|
7
|
+
"docs": "features/import-word/import-word.html",
|
|
8
8
|
"path": "src/importword.js",
|
|
9
9
|
"requires": [
|
|
10
10
|
"CloudServices"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-import-word",
|
|
3
|
-
"version": "35.
|
|
3
|
+
"version": "35.3.0",
|
|
4
4
|
"description": "Import from Word feature for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -29,33 +29,33 @@
|
|
|
29
29
|
],
|
|
30
30
|
"main": "src/index.js",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"ckeditor5": "^35.
|
|
32
|
+
"ckeditor5": "^35.3.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@ckeditor/ckeditor5-autoformat": "^35.
|
|
36
|
-
"@ckeditor/ckeditor5-basic-styles": "^35.
|
|
37
|
-
"@ckeditor/ckeditor5-block-quote": "^35.
|
|
38
|
-
"@ckeditor/ckeditor5-clipboard": "^35.
|
|
39
|
-
"@ckeditor/ckeditor5-cloud-services": "^35.
|
|
40
|
-
"@ckeditor/ckeditor5-code-block": "^35.
|
|
41
|
-
"@ckeditor/ckeditor5-core": "^35.
|
|
42
|
-
"@ckeditor/ckeditor5-dev-utils": "^
|
|
43
|
-
"@ckeditor/ckeditor5-easy-image": "^35.
|
|
44
|
-
"@ckeditor/ckeditor5-editor-classic": "^35.
|
|
45
|
-
"@ckeditor/ckeditor5-essentials": "^35.
|
|
46
|
-
"@ckeditor/ckeditor5-engine": "^35.
|
|
47
|
-
"@ckeditor/ckeditor5-heading": "^35.
|
|
48
|
-
"@ckeditor/ckeditor5-image": "^35.
|
|
49
|
-
"@ckeditor/ckeditor5-indent": "^35.
|
|
50
|
-
"@ckeditor/ckeditor5-link": "^35.
|
|
51
|
-
"@ckeditor/ckeditor5-list": "^35.
|
|
52
|
-
"@ckeditor/ckeditor5-paragraph": "^35.
|
|
53
|
-
"@ckeditor/ckeditor5-media-embed": "^35.
|
|
54
|
-
"@ckeditor/ckeditor5-table": "^35.
|
|
55
|
-
"@ckeditor/ckeditor5-theme-lark": "^35.
|
|
56
|
-
"@ckeditor/ckeditor5-ui": "^35.
|
|
57
|
-
"@ckeditor/ckeditor5-undo": "^35.
|
|
58
|
-
"@ckeditor/ckeditor5-upload": "^35.
|
|
35
|
+
"@ckeditor/ckeditor5-autoformat": "^35.3.0",
|
|
36
|
+
"@ckeditor/ckeditor5-basic-styles": "^35.3.0",
|
|
37
|
+
"@ckeditor/ckeditor5-block-quote": "^35.3.0",
|
|
38
|
+
"@ckeditor/ckeditor5-clipboard": "^35.3.0",
|
|
39
|
+
"@ckeditor/ckeditor5-cloud-services": "^35.3.0",
|
|
40
|
+
"@ckeditor/ckeditor5-code-block": "^35.3.0",
|
|
41
|
+
"@ckeditor/ckeditor5-core": "^35.3.0",
|
|
42
|
+
"@ckeditor/ckeditor5-dev-utils": "^31.0.0",
|
|
43
|
+
"@ckeditor/ckeditor5-easy-image": "^35.3.0",
|
|
44
|
+
"@ckeditor/ckeditor5-editor-classic": "^35.3.0",
|
|
45
|
+
"@ckeditor/ckeditor5-essentials": "^35.3.0",
|
|
46
|
+
"@ckeditor/ckeditor5-engine": "^35.3.0",
|
|
47
|
+
"@ckeditor/ckeditor5-heading": "^35.3.0",
|
|
48
|
+
"@ckeditor/ckeditor5-image": "^35.3.0",
|
|
49
|
+
"@ckeditor/ckeditor5-indent": "^35.3.0",
|
|
50
|
+
"@ckeditor/ckeditor5-link": "^35.3.0",
|
|
51
|
+
"@ckeditor/ckeditor5-list": "^35.3.0",
|
|
52
|
+
"@ckeditor/ckeditor5-paragraph": "^35.3.0",
|
|
53
|
+
"@ckeditor/ckeditor5-media-embed": "^35.3.0",
|
|
54
|
+
"@ckeditor/ckeditor5-table": "^35.3.0",
|
|
55
|
+
"@ckeditor/ckeditor5-theme-lark": "^35.3.0",
|
|
56
|
+
"@ckeditor/ckeditor5-ui": "^35.3.0",
|
|
57
|
+
"@ckeditor/ckeditor5-undo": "^35.3.0",
|
|
58
|
+
"@ckeditor/ckeditor5-upload": "^35.3.0",
|
|
59
59
|
"webpack": "^5.58.1",
|
|
60
60
|
"webpack-cli": "^4.9.0"
|
|
61
61
|
},
|
package/src/importword.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
import{Plugin as _0x194bb6}from'ckeditor5/src/core';import _0x164ccb from'./importwordui';import _0xf32269 from'./importwordediting';export default class i extends _0x194bb6{static get['pluginName'](){return'ImportWord';}static get['requires'](){return[_0xf32269,_0x164ccb];}}
|
package/src/importwordcommand.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Command as
|
|
23
|
+
import{Command as _0x313f03}from'ckeditor5/src/core';import{Range as _0x3fc191}from'ckeditor5/src/engine';import{logWarning as _0x47bccf,logError as _0x490877,first as _0x46875a,uid as _0xfd5b96}from'ckeditor5/src/utils';export default class d extends _0x313f03{constructor(_0x333be8){super(_0x333be8),this['set']('isBusy',!0x1),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['on']('dataInsert',(_0x1827d2,_0x1d4713)=>{const _0x59c9df=new DataTransfer();_0x59c9df['setData']('text/html',_0x1d4713['html']);const _0xf7987c=this['_importMarker']['getRange']();this['editor']['model']['enqueueChange'](this['_undoStepBatch'],_0x12d3f9=>{this['_importMarker']['stopListening'](),_0x12d3f9['setSelection'](_0xf7987c),_0x333be8['editing']['view']['document']['fire']('clipboardInput',{'dataTransfer':_0x59c9df});});},{'priority':'low'});}['refresh'](){this['isEnabled']=this['i']();}['execute'](_0x431456,_0x46a715={}){if(this['isBusy'])return;const _0x3ae15c=this['editor']['config']['get']('importWord'),_0x39b9dd={'url':_0x3ae15c['converterUrl'],'file':_0x431456,'serviceConfig':{..._0x46a715,'default_styles':_0x3ae15c['defaultStyles']}};return this['s'](),this['_sendImportRequest'](_0x39b9dd)['then'](this['o']['bind'](this))['catch'](this['h']['bind'](this))['finally'](this['l']['bind'](this));}['i'](){if(this['isBusy'])return!0x1;const _0x407482=this['editor']['model'],_0x721d4b=_0x407482['schema'],_0x4e5ee2=_0x407482['document']['selection'],_0xb44fcf=_0x46875a(_0x4e5ee2['getSelectedBlocks']());return!!_0xb44fcf&&_0x721d4b['checkChild'](_0xb44fcf['parent'],'paragraph');}['s'](){const _0x332905=this['editor'],_0x2d60dc=_0x332905['model'],_0x5fb9e9=_0x2d60dc['document']['selection'];this['_abortController']=new AbortController(),this['_undoStepBatch']=_0x332905['model']['createBatch'](),_0x2d60dc['enqueueChange'](this['_undoStepBatch'],_0x5e2fb0=>{_0x5fb9e9['isCollapsed']||_0x2d60dc['deleteContent'](_0x5fb9e9,{'leaveUnmerged':!0x0});const _0x372533=_0x5fb9e9['getFirstPosition'](),_0x41607b=_0x46875a(_0x5fb9e9['getSelectedBlocks']());let _0x3255c4;_0x3255c4=_0x41607b['is']('element','paragraph')&&_0x41607b['isEmpty']?_0x372533:_0x372533['isAtStart']?_0x2d60dc['createPositionBefore'](_0x41607b):_0x372533['isAtEnd']?_0x2d60dc['createPositionAfter'](_0x41607b):_0x5e2fb0['split'](_0x372533)['position'],this['_importMarker']=_0x5e2fb0['addMarker']('importWord:'+_0xfd5b96(),{'usingOperation':!0x1,'affectsData':!0x1,'range':new _0x3fc191(_0x3255c4)}),this['_importMarker']['on']('change:range',()=>{'$graveyard'===this['_importMarker']['getRange']()['root']['rootName']&&this['_abortController']['abort']();});}),this['isBusy']=!0x0,this['refresh']();}['l'](){const _0x3583f2=this['editor']['model'];_0x3583f2['markers']['has'](this['_importMarker'])&&_0x3583f2['enqueueChange'](this['_undoStepBatch'],_0x39d2d0=>{_0x39d2d0['removeMarker'](this['_importMarker']);}),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['isBusy']=!0x1,this['refresh']();}['_sendImportRequest']({url:_0x478663,file:_0x19b84e,serviceConfig:_0x5d3135}){const _0x59cd88=this['editor']['plugins']['get']('ImportWordEditing')['getToken'](),_0x19b03e=new FormData();_0x19b03e['set']('config',JSON['stringify'](_0x5d3135)),_0x19b03e['set']('file',_0x19b84e);const _0x5b73b6={'method':'POST','headers':{},'body':_0x19b03e,'signal':this['_abortController']['signal']};return _0x59cd88&&(_0x5b73b6['headers']['Authorization']=_0x59cd88['value']),fetch(_0x478663,_0x5b73b6);}['o'](_0x74f262){return _0x74f262['ok']?_0x74f262['json']()['then'](_0x5a9524=>{if(!this['editor']['model']['markers']['has'](this['_importMarker']))return;'$graveyard'!==this['_importMarker']['getRange']()['root']['rootName']&&this['fire']('dataInsert',_0x5a9524);}):Promise['reject']();}['h'](){if(this['_abortController']['signal']['aborted'])return void _0x47bccf('import-word-plugin-import-cancelled');const _0x41846d=this['editor'],_0x185330=(0x0,_0x41846d['t'])('An\x20error\x20occurred\x20while\x20importing\x20the\x20Word\x20file.');_0x41846d['plugins']['get']('Notification')['showWarning'](_0x185330),_0x490877('import-word-plugin-conversion-failed');}}
|
package/src/importwordediting.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0xd879=['define','importWord','cloudServices.tokenUrl','commands','init','importWord.tokenUrl','https://docx-converter.cke-cs.com/v2/convert/docx-html','config','requires','plugins','get','ImportWordEditing','add','pluginName','editor','CloudServices','registerTokenUrl'];(function(_0x53a20d,_0xd87954){const _0x4959fc=function(_0x4fa6ab){while(--_0x4fa6ab){_0x53a20d['push'](_0x53a20d['shift']());}};_0x4959fc(++_0xd87954);}(_0xd879,0x1c3));const _0x4959=function(_0x53a20d,_0xd87954){_0x53a20d=_0x53a20d-0x0;let _0x4959fc=_0xd879[_0x53a20d];return _0x4959fc;};import{Plugin as _0x54ba7d}from'ckeditor5/src/core';import{Notification as _0x365c1f}from'ckeditor5/src/ui';import{ClipboardPipeline as _0xfa3b97}from'ckeditor5/src/clipboard';import _0x5ef3de from'./importwordcommand';export default class e extends _0x54ba7d{static get[_0x4959('0x4')](){return _0x4959('0x2');}static get[_0x4959('0x10')](){return[_0x365c1f,_0xfa3b97,'CloudServices'];}constructor(_0x5d5ad4){super(_0x5d5ad4),this['m']=null;}async[_0x4959('0xc')](){const _0xfeab1=this[_0x4959('0x5')];_0xfeab1[_0x4959('0xf')][_0x4959('0x8')]('importWord',{'converterUrl':_0x4959('0xe'),'tokenUrl':_0xfeab1[_0x4959('0xf')]['get'](_0x4959('0xa')),'defaultStyles':!0x1}),_0xfeab1[_0x4959('0xb')][_0x4959('0x3')](_0x4959('0x9'),new _0x5ef3de(_0xfeab1));if(_0xfeab1[_0x4959('0xf')]['get']('importWord.tokenUrl')){const _0x4cae55=_0xfeab1[_0x4959('0xf')][_0x4959('0x1')](_0x4959('0xd')),_0x2c6474=_0xfeab1[_0x4959('0xf')]['get'](_0x4959('0xa'));this['m']=_0x4cae55===_0x2c6474?_0xfeab1['plugins'][_0x4959('0x1')](_0x4959('0x6'))['token']:await _0xfeab1[_0x4959('0x0')][_0x4959('0x1')](_0x4959('0x6'))[_0x4959('0x7')](_0x4cae55);}}['getToken'](){return this['m'];}}
|
package/src/importwordui.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Plugin as
|
|
23
|
+
import{Plugin as _0x139108}from'ckeditor5/src/core';import{View as _0x570707}from'ckeditor5/src/ui';import{FileDialogButtonView as _0x23ccbd}from'ckeditor5/src/upload';import _0x2d717b from'../theme/icons/importword.svg';import'../theme/importword.css';export default class o extends _0x139108{static get['pluginName'](){return'ImportWordUI';}['init'](){const _0x41fdd3=this['editor'],t=_0x41fdd3['t'];_0x41fdd3['ui']['componentFactory']['add']('importWord',_0x2d47f5=>{const _0x27b59a=_0x41fdd3['commands']['get']('importWord'),_0x3d0efc=new _0x23ccbd(_0x2d47f5);_0x3d0efc['set']({'acceptedType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}),_0x3d0efc['buttonView']['set']({'label':t('Import\x20from\x20Word'),'icon':_0x2d717b,'tooltip':!0x0}),_0x3d0efc['buttonView']['bind']('isOn','isEnabled')['to'](_0x27b59a,'isBusy','isEnabled'),_0x3d0efc['buttonView']['extendTemplate']({'attributes':{'class':[_0x3d0efc['buttonView']['bindTemplate']['if']('isOn','ck-importword_status-pending')]}});const _0x4bda10=new _0x570707();return _0x4bda10['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-importword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-importword__spinner']}}]}),_0x3d0efc['buttonView']['children']['add'](_0x4bda10),_0x3d0efc['on']('done',(_0x5d353d,_0x147ec1)=>{_0x41fdd3['execute']('importWord',_0x147ec1[0x0],{}),_0x41fdd3['editing']['view']['focus']();}),_0x3d0efc;});}}
|