UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

1 lines 3.65 kB
"use strict";!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(self,(function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[10],{70269:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.highlightSignature=void 0;var o=r(70655),i=r(43464),n=r(51923),a=r(12815),s=r(93772),l=r(97029);r(733).Config.prototype.highlightSignature={schema:{},excludeTags:["pre"]};var h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.requires=["license"],t.idleId=0,t}return o.__extends(t,e),t.prototype.afterInit=function(e){Object.keys(e.o.highlightSignature.schema).length&&e.e.on("change afterSetMode",this.walkNodes).on("afterGetValueFromEditor",t.removeUtilWrappers)},t.prototype.beforeDestruct=function(e){e.e.off("change afterSetMode",this.walkNodes).off("afterGetValueFromEditor",t.removeUtilWrappers)},t.prototype.walkNodes=function(){if(this.j.isEditorMode()){this.checkUtilsBoxToSchema();var e=this.j,t=e.ed.createNodeIterator(e.editor,NodeFilter.SHOW_TEXT);this.j.async.cancelIdleCallback(this.idleId),this.workLoop(t)}},t.prototype.runWorker=function(e,t){var r;this.j.e.mute();try{do{if(!(r=t.nextNode()))return;if(this.checkNormalizing(r))return;this.checkReplaceSchemas(r)}while(r&&e.timeRemaining()>0)}finally{this.j.e.unmute()}this.workLoop(t)},t.prototype.workLoop=function(e){var t=this;this.idleId=this.j.async.requestIdleCallback((function(r){t.runWorker(r,e)}),{timeout:this.j.defaultTimeout})},t.prototype.checkNormalizing=function(e){return!!a.Dom.isText(e.nextSibling)&&(this.j.editor.normalize(),this.walkNodes(),!0)},t.prototype.checkReplaceSchemas=function(e){if(!t.hasUtilWrapper(e)){var r=e.nodeValue;if(null!=r){var o=this.j.o.highlightSignature;for(var i in o.schema){var n=RegExp(i);if(n.test(r)){var s=r.match(n);if(!s||void 0===s.index)continue;var l=o.schema[i](this.j,s);if(l)return a.Dom.markTemporary(l,{dataHighlightSchema:i}),void this.replaceMatchedTextToElm(e,r,s,l)}}}}},t.prototype.replaceMatchedTextToElm=function(e,t,r,o){var i,n=this.j,s=n.s.range,l=s.startContainer===e,h=s.startOffset,u=null!==(i=r.index)&&void 0!==i?i:0;e.nodeValue=t.substring(0,u);var c=t.substring(u+r[0].length);if(c.length){var f=n.createInside.text(c);a.Dom.after(e,f)}o.innerText=r[0],a.Dom.after(e,o),l&&this.restoreCursorPosition(h,e,o.firstChild,o.nextSibling)},t.hasUtilWrapper=function(e){return a.Dom.isTemporary(e.parentElement)},t.removeUtilWrappers=function(e){e.value=a.Dom.replaceTemporaryFromString(e.value)},t.prototype.restoreCursorPosition=function(e){for(var t,r,i=[],n=1;arguments.length>n;n++)i[n-1]=arguments[n];try{for(var a=o.__values(i),s=a.next();!s.done;s=a.next()){var l=s.value;if(l&&l.nodeValue){var h=l.nodeValue;if(h.length>=e){var u=this.j.s.createRange();u.setStart(l,e),this.j.s.selectRange(u,!1);break}e-=h.length}}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}},t.prototype.checkUtilsBoxToSchema=function(){var e=this;a.Dom.temporaryList(this.j.editor).forEach((function(t){var r,o=(0,s.attr)(t,"dataHighlightSchema");if(o){var i=RegExp(o),n=null!==(r=t.innerText)&&void 0!==r?r:"";i.test(n)&&!n.replace(i,"").length||(e.j.s.save(),a.Dom.unwrap(t),e.j.s.restore())}}))},o.__decorate([(0,n.debounce)()],t.prototype,"walkNodes",null),o.__decorate([n.autobind],t.prototype,"runWorker",null),t}(i.Plugin);t.highlightSignature=h,l.Jodit.plugins.add("highlight-signature",h)}},function(e){return e(e.s=70269)}])}));