@ckeditor/ckeditor5-import-word 35.2.1 → 35.3.1
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 f=null,m=0;function g(t,e){var r,o,n;if(e.singleton){var i=m++;r=f||(f=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 f=["config","requires","cloudServices.tokenUrl","ImportWordEditing","plugins","init","add","token","get","CloudServices","importWord","editor","createToken","getToken","pluginName","define","importWord.tokenUrl"];var m,g;m=f,g=387,function(t){for(;--t;)m.push(m.shift())}(++g);const v=function(t,e){return f[t-=0]};class b extends t.Plugin{static get[v("0x1")](){return v("0x7")}static get[v("0x5")](){return[e.Notification,d.ClipboardPipeline,v("0xd")]}constructor(t){super(t),this.m=null}async[v("0x9")](){const t=this[v("0xf")];if(t[v("0x4")][v("0x2")](v("0xe"),{converterUrl:"https://docx-converter.cke-cs.com/v2/convert/docx-html",tokenUrl:t[v("0x4")][v("0xc")]("cloudServices.tokenUrl"),defaultStyles:!1}),!t[v("0x4")][v("0xc")](v("0x3")))throw new u.CKEditorError("import-word-plugin-missing-token-url",null);const e=t[v("0x4")].get(v("0x3")),r=t.config.get(v("0x6"));this.m=e===r?t[v("0x8")][v("0xc")](v("0xd"))[v("0xb")]:await t[v("0x8")].get("CloudServicesCore")[v("0x10")](e)[v("0x9")](),t.commands[v("0xa")](v("0xe"),new h(t))}[v("0x0")](){return this.m}}var x,w,k=["requires","pluginName","ImportWord"];x=k,w=207,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 y("0x2")}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 n=r(758),o=r.n(n)()((function(t){return t[1]}));o.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=o},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,n){"string"==typeof t&&(t=[[null,t,""]]);var o={};if(n)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(o[s]=!0)}for(var a=0;a<t.length;a++){var c=[].concat(t[a]);n&&o[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 n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},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={},n=[],o=0;o<t.length;o++){var i=t[o],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}),n.push(d)}return n}function l(t){var e=document.createElement("style"),n=t.attributes||{};if(void 0===n.nonce){var o=r.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(t){e.setAttribute(t,n[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,n){var o=r?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(t.styleSheet)t.styleSheet.cssText=u(e,o);else{var i=document.createTextNode(o),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 n=r.css,o=r.media,i=r.sourceMap;if(o?t.setAttribute("media",o):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var m=null,f=0;function g(t,e){var r,n,o;if(e.singleton){var i=f++;r=m||(m=l(e)),n=p.bind(null,r,i,!1),o=p.bind(null,r,i,!0)}else r=l(e),n=h.bind(null,r,e),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else o()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=o());var r=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var n=0;n<r.length;n++){var o=a(r[n]);s[o].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(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={id:n,exports:{}};return t[n](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 n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},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 n={};(()=>{"use strict";r.r(n),r.d(n,{ImportWord:()=>_,ImportWordEditing:()=>b,ImportWordUI:()=>l});var t=r(704),e=r(273),o=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",(n=>{const i=t.commands.get("importWord"),s=new o.FileDialogButtonView(n);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 n=new DataTransfer;n.setData("text/html",r.html);const o=this._importMarker.getRange();this.editor.model.enqueueChange(this._undoStepBatch,(e=>{this._importMarker.stopListening(),e.setSelection(o),t.editing.view.document.fire("clipboardInput",{dataTransfer:n})}))}),{priority:"low"})}refresh(){this.isEnabled=this.i()}execute(t,e={}){if(this.isBusy)return;const r=this.editor.config.get("importWord"),n={url:r.converterUrl,file:t,serviceConfig:{...e,default_styles:r.defaultStyles}};return this.s(),this._sendImportRequest(n).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,n=(0,p.first)(r.getSelectedBlocks());return!!n&&e.checkChild(n.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 n=r.getFirstPosition(),o=(0,p.first)(r.getSelectedBlocks());let i;i=o.is("element","paragraph")&&o.isEmpty?n:n.isAtStart?e.createPositionBefore(o):n.isAtEnd?e.createPositionAfter(o):t.split(n).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 n=this.editor.plugins.get("ImportWordEditing").getToken(),o=new FormData;o.set("config",JSON.stringify(r)),o.set("file",e);const i={method:"POST",headers:{},body:o,signal:this._abortController.signal};return n&&(i.headers.Authorization=n.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=["cloudServices","get","pluginName","CloudServices","define","registerTokenUrl","init","requires","commands","getToken","importWord","plugins","https://docx-converter.cke-cs.com/v2/convert/docx-html","config","add"];var f,g;f=m,g=245,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("0xc")](){return"ImportWordEditing"}static get[v("0x2")](){return[e.Notification,d.ClipboardPipeline,v("0xd")]}constructor(t){super(t),this.m=null}async[v("0x1")](){const t=this.editor;t[v("0x8")][v("0xe")](v("0x5"),{converterUrl:v("0x7"),tokenUrl:(t[v("0x8")][v("0xb")](v("0xa"))||{}).tokenUrl,defaultStyles:!1}),t[v("0x3")][v("0x9")](v("0x5"),new h(t));const{tokenUrl:e}=t.config[v("0xb")]("importWord");if(e){const{tokenUrl:r}=t[v("0x8")][v("0xb")](v("0xa"))||{};this.m=e===r?t.plugins.get(v("0xd")).token:await t[v("0x6")][v("0xb")](v("0xd"))[v("0x0")](e)}}[v("0x4")](){return this.m}}var x,w,k=["pluginName","requires","ImportWord"];x=k,w=129,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("0x0")](){return y("0x2")}static get[y("0x1")](){return[b,l]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=n})();
|
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.1",
|
|
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.1"
|
|
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.1",
|
|
36
|
+
"@ckeditor/ckeditor5-basic-styles": "^35.3.1",
|
|
37
|
+
"@ckeditor/ckeditor5-block-quote": "^35.3.1",
|
|
38
|
+
"@ckeditor/ckeditor5-clipboard": "^35.3.1",
|
|
39
|
+
"@ckeditor/ckeditor5-cloud-services": "^35.3.1",
|
|
40
|
+
"@ckeditor/ckeditor5-code-block": "^35.3.1",
|
|
41
|
+
"@ckeditor/ckeditor5-core": "^35.3.1",
|
|
42
|
+
"@ckeditor/ckeditor5-dev-utils": "^31.0.0",
|
|
43
|
+
"@ckeditor/ckeditor5-easy-image": "^35.3.1",
|
|
44
|
+
"@ckeditor/ckeditor5-editor-classic": "^35.3.1",
|
|
45
|
+
"@ckeditor/ckeditor5-essentials": "^35.3.1",
|
|
46
|
+
"@ckeditor/ckeditor5-engine": "^35.3.1",
|
|
47
|
+
"@ckeditor/ckeditor5-heading": "^35.3.1",
|
|
48
|
+
"@ckeditor/ckeditor5-image": "^35.3.1",
|
|
49
|
+
"@ckeditor/ckeditor5-indent": "^35.3.1",
|
|
50
|
+
"@ckeditor/ckeditor5-link": "^35.3.1",
|
|
51
|
+
"@ckeditor/ckeditor5-list": "^35.3.1",
|
|
52
|
+
"@ckeditor/ckeditor5-paragraph": "^35.3.1",
|
|
53
|
+
"@ckeditor/ckeditor5-media-embed": "^35.3.1",
|
|
54
|
+
"@ckeditor/ckeditor5-table": "^35.3.1",
|
|
55
|
+
"@ckeditor/ckeditor5-theme-lark": "^35.3.1",
|
|
56
|
+
"@ckeditor/ckeditor5-ui": "^35.3.1",
|
|
57
|
+
"@ckeditor/ckeditor5-undo": "^35.3.1",
|
|
58
|
+
"@ckeditor/ckeditor5-upload": "^35.3.1",
|
|
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
|
-
var
|
|
23
|
+
var _0x5a2b=['pluginName','requires','ImportWord'];(function(_0x71b58c,_0x5a2b96){var _0x3d3bcb=function(_0x51b3b8){while(--_0x51b3b8){_0x71b58c['push'](_0x71b58c['shift']());}};_0x3d3bcb(++_0x5a2b96);}(_0x5a2b,0x81));var _0x3d3b=function(_0x71b58c,_0x5a2b96){_0x71b58c=_0x71b58c-0x0;var _0x3d3bcb=_0x5a2b[_0x71b58c];return _0x3d3bcb;};import{Plugin as _0x561773}from'ckeditor5/src/core';import _0x52772d from'./importwordui';import _0x1810c5 from'./importwordediting';export default class i extends _0x561773{static get[_0x3d3b('0x0')](){return _0x3d3b('0x2');}static get[_0x3d3b('0x1')](){return[_0x1810c5,_0x52772d];}}
|
package/src/importwordcommand.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Command as
|
|
23
|
+
import{Command as _0x25fdea}from'ckeditor5/src/core';import{Range as _0x1bdeb8}from'ckeditor5/src/engine';import{logWarning as _0x1c681e,logError as _0x11ce3e,first as _0x9aa1e,uid as _0x49a089}from'ckeditor5/src/utils';export default class d extends _0x25fdea{constructor(_0x36e2d3){super(_0x36e2d3),this['set']('isBusy',!0x1),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['on']('dataInsert',(_0x39c7dd,_0x34649f)=>{const _0x579700=new DataTransfer();_0x579700['setData']('text/html',_0x34649f['html']);const _0x4a8a8f=this['_importMarker']['getRange']();this['editor']['model']['enqueueChange'](this['_undoStepBatch'],_0x1a229e=>{this['_importMarker']['stopListening'](),_0x1a229e['setSelection'](_0x4a8a8f),_0x36e2d3['editing']['view']['document']['fire']('clipboardInput',{'dataTransfer':_0x579700});});},{'priority':'low'});}['refresh'](){this['isEnabled']=this['i']();}['execute'](_0x245846,_0x38e91e={}){if(this['isBusy'])return;const _0xb4393a=this['editor']['config']['get']('importWord'),_0x271691={'url':_0xb4393a['converterUrl'],'file':_0x245846,'serviceConfig':{..._0x38e91e,'default_styles':_0xb4393a['defaultStyles']}};return this['s'](),this['_sendImportRequest'](_0x271691)['then'](this['o']['bind'](this))['catch'](this['h']['bind'](this))['finally'](this['l']['bind'](this));}['i'](){if(this['isBusy'])return!0x1;const _0xd08cac=this['editor']['model'],_0x2d8182=_0xd08cac['schema'],_0x22c830=_0xd08cac['document']['selection'],_0x4e6d81=_0x9aa1e(_0x22c830['getSelectedBlocks']());return!!_0x4e6d81&&_0x2d8182['checkChild'](_0x4e6d81['parent'],'paragraph');}['s'](){const _0xada176=this['editor'],_0x5907b0=_0xada176['model'],_0x37390f=_0x5907b0['document']['selection'];this['_abortController']=new AbortController(),this['_undoStepBatch']=_0xada176['model']['createBatch'](),_0x5907b0['enqueueChange'](this['_undoStepBatch'],_0x5ba38d=>{_0x37390f['isCollapsed']||_0x5907b0['deleteContent'](_0x37390f,{'leaveUnmerged':!0x0});const _0x55df3e=_0x37390f['getFirstPosition'](),_0x3588c=_0x9aa1e(_0x37390f['getSelectedBlocks']());let _0x20663a;_0x20663a=_0x3588c['is']('element','paragraph')&&_0x3588c['isEmpty']?_0x55df3e:_0x55df3e['isAtStart']?_0x5907b0['createPositionBefore'](_0x3588c):_0x55df3e['isAtEnd']?_0x5907b0['createPositionAfter'](_0x3588c):_0x5ba38d['split'](_0x55df3e)['position'],this['_importMarker']=_0x5ba38d['addMarker']('importWord:'+_0x49a089(),{'usingOperation':!0x1,'affectsData':!0x1,'range':new _0x1bdeb8(_0x20663a)}),this['_importMarker']['on']('change:range',()=>{'$graveyard'===this['_importMarker']['getRange']()['root']['rootName']&&this['_abortController']['abort']();});}),this['isBusy']=!0x0,this['refresh']();}['l'](){const _0x3b7220=this['editor']['model'];_0x3b7220['markers']['has'](this['_importMarker'])&&_0x3b7220['enqueueChange'](this['_undoStepBatch'],_0x21c48b=>{_0x21c48b['removeMarker'](this['_importMarker']);}),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['isBusy']=!0x1,this['refresh']();}['_sendImportRequest']({url:_0x1a5763,file:_0x42b583,serviceConfig:_0x4ef0b3}){const _0x2db895=this['editor']['plugins']['get']('ImportWordEditing')['getToken'](),_0x289f14=new FormData();_0x289f14['set']('config',JSON['stringify'](_0x4ef0b3)),_0x289f14['set']('file',_0x42b583);const _0x849de2={'method':'POST','headers':{},'body':_0x289f14,'signal':this['_abortController']['signal']};return _0x2db895&&(_0x849de2['headers']['Authorization']=_0x2db895['value']),fetch(_0x1a5763,_0x849de2);}['o'](_0x63cce0){return _0x63cce0['ok']?_0x63cce0['json']()['then'](_0x5b75ac=>{if(!this['editor']['model']['markers']['has'](this['_importMarker']))return;'$graveyard'!==this['_importMarker']['getRange']()['root']['rootName']&&this['fire']('dataInsert',_0x5b75ac);}):Promise['reject']();}['h'](){if(this['_abortController']['signal']['aborted'])return void _0x1c681e('import-word-plugin-import-cancelled');const _0x5abd27=this['editor'],_0x34f796=(0x0,_0x5abd27['t'])('An\x20error\x20occurred\x20while\x20importing\x20the\x20Word\x20file.');_0x5abd27['plugins']['get']('Notification')['showWarning'](_0x34f796),_0x11ce3e('import-word-plugin-conversion-failed');}}
|
package/src/importwordediting.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0x45a9=['cloudServices','get','pluginName','CloudServices','define','registerTokenUrl','init','requires','commands','getToken','importWord','plugins','https://docx-converter.cke-cs.com/v2/convert/docx-html','config','add'];(function(_0x22865a,_0x45a919){const _0x1171c1=function(_0x43fdd9){while(--_0x43fdd9){_0x22865a['push'](_0x22865a['shift']());}};_0x1171c1(++_0x45a919);}(_0x45a9,0xf5));const _0x1171=function(_0x22865a,_0x45a919){_0x22865a=_0x22865a-0x0;let _0x1171c1=_0x45a9[_0x22865a];return _0x1171c1;};import{Plugin as _0x198867}from'ckeditor5/src/core';import{Notification as _0x887cbe}from'ckeditor5/src/ui';import{ClipboardPipeline as _0x24868c}from'ckeditor5/src/clipboard';import _0x217e50 from'./importwordcommand';export default class e extends _0x198867{static get[_0x1171('0xc')](){return'ImportWordEditing';}static get[_0x1171('0x2')](){return[_0x887cbe,_0x24868c,_0x1171('0xd')];}constructor(_0x36ecf7){super(_0x36ecf7),this['m']=null;}async[_0x1171('0x1')](){const _0x2b07dc=this['editor'];_0x2b07dc[_0x1171('0x8')][_0x1171('0xe')](_0x1171('0x5'),{'converterUrl':_0x1171('0x7'),'tokenUrl':(_0x2b07dc[_0x1171('0x8')][_0x1171('0xb')](_0x1171('0xa'))||{})['tokenUrl'],'defaultStyles':!0x1}),_0x2b07dc[_0x1171('0x3')][_0x1171('0x9')](_0x1171('0x5'),new _0x217e50(_0x2b07dc));const {tokenUrl:_0x134fba}=_0x2b07dc['config'][_0x1171('0xb')]('importWord');if(_0x134fba){const {tokenUrl:_0x291a25}=_0x2b07dc[_0x1171('0x8')][_0x1171('0xb')](_0x1171('0xa'))||{};this['m']=_0x134fba===_0x291a25?_0x2b07dc['plugins']['get'](_0x1171('0xd'))['token']:await _0x2b07dc[_0x1171('0x6')][_0x1171('0xb')](_0x1171('0xd'))[_0x1171('0x0')](_0x134fba);}}[_0x1171('0x4')](){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 _0x1fb6f0}from'ckeditor5/src/core';import{View as _0x5d9dbc}from'ckeditor5/src/ui';import{FileDialogButtonView as _0x16179e}from'ckeditor5/src/upload';import _0x9a1a06 from'../theme/icons/importword.svg';import'../theme/importword.css';export default class o extends _0x1fb6f0{static get['pluginName'](){return'ImportWordUI';}['init'](){const _0x5ad3f0=this['editor'],t=_0x5ad3f0['t'];_0x5ad3f0['ui']['componentFactory']['add']('importWord',_0x3857a5=>{const _0x12f7ec=_0x5ad3f0['commands']['get']('importWord'),_0x1dcd0e=new _0x16179e(_0x3857a5);_0x1dcd0e['set']({'acceptedType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}),_0x1dcd0e['buttonView']['set']({'label':t('Import\x20from\x20Word'),'icon':_0x9a1a06,'tooltip':!0x0}),_0x1dcd0e['buttonView']['bind']('isOn','isEnabled')['to'](_0x12f7ec,'isBusy','isEnabled'),_0x1dcd0e['buttonView']['extendTemplate']({'attributes':{'class':[_0x1dcd0e['buttonView']['bindTemplate']['if']('isOn','ck-importword_status-pending')]}});const _0x83edf6=new _0x5d9dbc();return _0x83edf6['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-importword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-importword__spinner']}}]}),_0x1dcd0e['buttonView']['children']['add'](_0x83edf6),_0x1dcd0e['on']('done',(_0x4bb71a,_0x4a880f)=>{_0x5ad3f0['execute']('importWord',_0x4a880f[0x0],{}),_0x5ad3f0['editing']['view']['focus']();}),_0x1dcd0e;});}}
|