1234567 |
- /*!
- * froala_editor v3.0.3 (https://www.froala.com/wysiwyg-editor)
- * License https://froala.com/wysiwyg-editor/terms/
- * Copyright 2014-2019 Froala Labs
- */
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(ge){"use strict";ge=ge&&ge.hasOwnProperty("default")?ge["default"]:ge,Object.assign(ge.POPUP_TEMPLATES,{"table.insert":"[_BUTTONS_][_ROWS_COLUMNS_]","table.edit":"[_BUTTONS_]","table.colors":"[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]"}),Object.assign(ge.DEFAULTS,{tableInsertMaxSize:10,tableEditButtons:["tableHeader","tableRemove","tableRows","tableColumns","tableStyle","-","tableCells","tableCellBackground","tableCellVerticalAlign","tableCellHorizontalAlign","tableCellStyle"],tableInsertButtons:["tableBack","|"],tableResizer:!0,tableDefaultWidth:"100%",tableResizerOffset:5,tableResizingLimit:30,tableColorsButtons:["tableBack","|"],tableColors:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],tableColorsStep:7,tableCellStyles:{"fr-highlighted":"Highlighted","fr-thick":"Thick"},tableStyles:{"fr-dashed-borders":"Dashed Borders","fr-alternate-rows":"Alternate Rows"},tableCellMultipleStyles:!0,tableMultipleStyles:!0,tableInsertHelper:!0,tableInsertHelperOffset:15}),ge.PLUGINS.table=function(R){var O,f,n,r,a,s,A,x=R.$;function h(){var e=_();if(e){var t=R.popups.get("table.edit");if(t||(t=p()),t){R.popups.setContainer("table.edit",R.$sc);var l=S(e),a=l.left+(l.right-l.left)/2,n=l.bottom;R.popups.show("table.edit",a,n,l.bottom-l.top,!0),R.edit.isDisabled()&&(1<Z().length&&R.toolbar.disable(),R.$el.removeClass("fr-no-selection"),R.edit.on(),R.button.bulkRefresh(),R.selection.setAtEnd(R.$el.find(".fr-selected-cell").last().get(0)),R.selection.restore())}}}function o(){var e=_();if(e){var t=R.popups.get("table.colors");t||(t=function s(){var e="";0<R.opts.tableColorsButtons.length&&(e='<div class="fr-buttons fr-tabs">'+R.button.buildList(R.opts.tableColorsButtons)+"</div>");var t="";R.opts.colorsHEXInput&&(t='<div class="fr-color-hex-layer fr-table-colors-hex-layer fr-active fr-layer" id="fr-table-colors-hex-layer-'+R.id+'"><div class="fr-input-line"><input maxlength="7" id="fr-table-colors-hex-layer-text-'+R.id+'" type="text" placeholder="'+R.language.translate("HEX Color")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="tableCellBackgroundCustomColor" tabIndex="2" role="button">'+R.language.translate("OK")+"</button></div></div>");var l={buttons:e,colors:function n(){for(var e='<div class="fr-color-set fr-table-colors">',t=0;t<R.opts.tableColors.length;t++)0!==t&&t%R.opts.tableColorsStep==0&&(e+="<br>"),"REMOVE"!=R.opts.tableColors[t]?e+='<span class="fr-command" style="background: '+R.opts.tableColors[t]+';" tabIndex="-1" role="button" data-cmd="tableCellBackgroundColor" data-param1="'+R.opts.tableColors[t]+'"><span class="fr-sr-only">'+R.language.translate("Color")+" "+R.opts.tableColors[t]+" </span></span>":e+='<span class="fr-command" data-cmd="tableCellBackgroundColor" tabIndex="-1" role="button" data-param1="REMOVE" title="'+R.language.translate("Clear Formatting")+'">'+R.icon.create("tableColorRemove")+'<span class="fr-sr-only">'+R.language.translate("Clear Formatting")+"</span></span>";return e+="</div>"}(),custom_color:t},a=R.popups.create("table.colors",l);return R.events.$on(R.$wp,"scroll.table-colors",function(){R.popups.isVisible("table.colors")&&o()}),function r(u){R.events.on("popup.tab",function(e){var t=x(e.currentTarget);if(!R.popups.isVisible("table.colors")||!t.is("span"))return!0;var l=e.which,a=!0;if(ge.KEYCODE.TAB==l){var n=u.find(".fr-buttons");a=!R.accessibility.focusToolbar(n,!!e.shiftKey)}else if(ge.KEYCODE.ARROW_UP==l||ge.KEYCODE.ARROW_DOWN==l||ge.KEYCODE.ARROW_LEFT==l||ge.KEYCODE.ARROW_RIGHT==l){var r=t.parent().find("span.fr-command"),s=r.index(t),o=R.opts.colorsStep,i=Math.floor(r.length/o),f=s%o,c=Math.floor(s/o),d=c*o+f,p=i*o;ge.KEYCODE.ARROW_UP==l?d=((d-o)%p+p)%p:ge.KEYCODE.ARROW_DOWN==l?d=(d+o)%p:ge.KEYCODE.ARROW_LEFT==l?d=((d-1)%p+p)%p:ge.KEYCODE.ARROW_RIGHT==l&&(d=(d+1)%p);var h=x(r.get(d));R.events.disableBlur(),h.focus(),a=!1}else ge.KEYCODE.ENTER==l&&(R.button.exec(t),a=!1);return!1===a&&(e.preventDefault(),e.stopPropagation()),a},!0)}(a),a}()),R.popups.setContainer("table.colors",R.$sc);var l=S(e),a=(l.left+l.right)/2,n=l.bottom;!function r(){var e=R.popups.get("table.colors"),t=R.$el.find(".fr-selected-cell").first(),l=R.helpers.RGBToHex(t.css("background-color")),a=e.find(".fr-table-colors-hex-layer input");e.find(".fr-selected-color").removeClass("fr-selected-color fr-active-item"),e.find('span[data-param1="'+l+'"]').addClass("fr-selected-color fr-active-item"),a.val(l).trigger("change")}(),R.popups.show("table.colors",a,n,l.bottom-l.top,!0)}}function i(){0===Z().length&&R.toolbar.enable()}function c(e){if(e)return R.popups.onHide("table.insert",function(){R.popups.get("table.insert").find('.fr-table-size .fr-select-table-size > span[data-row="1"][data-col="1"]').trigger("mouseover")}),!0;var t="";0<R.opts.tableInsertButtons.length&&(t='<div class="fr-buttons fr-tabs">'+R.button.buildList(R.opts.tableInsertButtons)+"</div>");var l={buttons:t,rows_columns:function r(){for(var e='<div class="fr-table-size"><div class="fr-table-size-info">1 × 1</div><div class="fr-select-table-size">',t=1;t<=R.opts.tableInsertMaxSize;t++){for(var l=1;l<=R.opts.tableInsertMaxSize;l++){var a="inline-block";2<t&&!R.helpers.isMobile()&&(a="none");var n="fr-table-cell ";1==t&&1==l&&(n+=" hover"),e+='<span class="fr-command '+n+'" tabIndex="-1" data-cmd="tableInsert" data-row="'+t+'" data-col="'+l+'" data-param1="'+t+'" data-param2="'+l+'" style="display: '+a+';" role="button"><span></span><span class="fr-sr-only">'+t+" × "+l+" </span></span>"}e+='<div class="new-line"></div>'}return e+="</div></div>"}()},a=R.popups.create("table.insert",l);return R.events.$on(a,"mouseover",".fr-table-size .fr-select-table-size .fr-table-cell",function(e){d(x(e.currentTarget))},!0),function n(e){R.events.$on(e,"focus","[tabIndex]",function(e){var t=x(e.currentTarget);d(t)}),R.events.on("popup.tab",function(e){var t=x(e.currentTarget);if(!R.popups.isVisible("table.insert")||!t.is("span, a"))return!0;var l,a=e.which;if(ge.KEYCODE.ARROW_UP==a||ge.KEYCODE.ARROW_DOWN==a||ge.KEYCODE.ARROW_LEFT==a||ge.KEYCODE.ARROW_RIGHT==a){if(t.is("span.fr-table-cell")){var n=t.parent().find("span.fr-table-cell"),r=n.index(t),s=R.opts.tableInsertMaxSize,o=r%s,i=Math.floor(r/s);ge.KEYCODE.ARROW_UP==a?i=Math.max(0,i-1):ge.KEYCODE.ARROW_DOWN==a?i=Math.min(R.opts.tableInsertMaxSize-1,i+1):ge.KEYCODE.ARROW_LEFT==a?o=Math.max(0,o-1):ge.KEYCODE.ARROW_RIGHT==a&&(o=Math.min(R.opts.tableInsertMaxSize-1,o+1));var f=i*s+o,c=x(n.get(f));d(c),R.events.disableBlur(),c.focus(),l=!1}}else ge.KEYCODE.ENTER==a&&(R.button.exec(t),l=!1);return!1===l&&(e.preventDefault(),e.stopPropagation()),l},!0)}(a),a}function d(e){var t=e.data("row");null!==t&&(t=parseInt(t));var l=e.data("col");null!==l&&(l=parseInt(l));var a=e.parent();a.siblings(".fr-table-size-info").html(t+" × "+l),a.find("> span").removeClass("hover fr-active-item");for(var n=1;n<=R.opts.tableInsertMaxSize;n++)for(var r=0;r<=R.opts.tableInsertMaxSize;r++){var s=a.find('> span[data-row="'+n+'"][data-col="'+r+'"]');n<=t&&r<=l?s.addClass("hover"):n<=t+1||n<=2&&!R.helpers.isMobile()?s.css("display","inline-block"):2<n&&!R.helpers.isMobile()&&s.css("display","none")}e.addClass("fr-active-item")}function p(e){if(e)return R.popups.onHide("table.edit",i),!0;if(0<R.opts.tableEditButtons.length){var t={buttons:'<div class="fr-buttons">'.concat(R.button.buildList(R.opts.tableEditButtons),"</div>")},l=R.popups.create("table.edit",t);return R.events.$on(R.$wp,"scroll.table-edit",function(){R.popups.isVisible("table.edit")&&h()}),l}return!1}function u(){if(0<Z().length){var e=Q();R.selection.setBefore(e.get(0))||R.selection.setAfter(e.get(0)),R.selection.restore(),R.popups.hide("table.edit"),e.remove(),R.toolbar.enable()}}function b(e){var t=Q();if(0<t.length){if(0<R.$el.find("th.fr-selected-cell").length&&"above"==e)return;var l,a,n,r=_(),s=M(r);if(null==s)return;a="above"==e?s.min_i:s.max_i;var o="<tr>";for(l=0;l<r[a].length;l++){if("below"==e&&a<r.length-1&&r[a][l]==r[a+1][l]||"above"==e&&0<a&&r[a][l]==r[a-1][l]){if(0===l||0<l&&r[a][l]!=r[a][l-1]){var i=x(r[a][l]);i.attr("rowspan",parseInt(i.attr("rowspan"),10)+1)}}else o+='<td style="'+x(r[a][l]).attr("style")+'" ><br></td>'}o+="</tr>",n=0<R.$el.find("th.fr-selected-cell").length&&"below"==e?x(t.find("tbody").not(t.find("> table tbody"))):x(t.find("tr").not(t.find("> table tr")).get(a)),"below"==e?"TBODY"==n.attr("tagName")?n.prepend(o):n[0].parentNode&&n[0].insertAdjacentHTML("afterend",o):"above"==e&&(n.before(o),R.popups.isVisible("table.edit")&&h())}}function g(e,t,l){var a,n,r,s,o,i=0,f=_(l);if(e<(t=Math.min(t,f[0].length-1)))for(n=e;n<=t;n++)if(!(e<n&&f[0][n]==f[0][n-1])&&1<(s=Math.min(parseInt(f[0][n].getAttribute("colspan"),10)||1,t-e+1))&&f[0][n]==f[0][n+1])for(i=s-1,a=1;a<f.length;a++)if(f[a][n]!=f[a-1][n]){for(r=n;r<n+s;r++)if(1<(o=parseInt(f[a][r].getAttribute("colspan"),10)||1)&&f[a][r]==f[a][r+1])r+=i=Math.min(i,o-1);else if(!(i=Math.max(0,i-1)))break;if(!i)break}i&&v(f,i,"colspan",0,f.length-1,e,t)}function m(e,t,l){var a,n,r,s,o,i=0,f=_(l);if(e<(t=Math.min(t,f.length-1)))for(a=e;a<=t;a++)if(!(e<a&&f[a][0]==f[a-1][0])&&1<(s=Math.min(parseInt(f[a][0].getAttribute("rowspan"),10)||1,t-e+1))&&f[a][0]==f[a+1][0])for(i=s-1,n=1;n<f[0].length;n++)if(f[a][n]!=f[a][n-1]){for(r=a;r<a+s;r++)if(1<(o=parseInt(f[r][n].getAttribute("rowspan"),10)||1)&&f[r][n]==f[r+1][n])r+=i=Math.min(i,o-1);else if(!(i=Math.max(0,i-1)))break;if(!i)break}i&&v(f,i,"rowspan",e,t,0,f[0].length-1)}function v(e,t,l,a,n,r,s){var o,i,f;for(o=a;o<=n;o++)for(i=r;i<=s;i++)a<o&&e[o][i]==e[o-1][i]||r<i&&e[o][i]==e[o][i-1]||1<(f=parseInt(e[o][i].getAttribute(l),10)||1)&&(1<f-t?e[o][i].setAttribute(l,f-t):e[o][i].removeAttribute(l))}function w(e,t,l,a,n){m(e,t,n),g(l,a,n)}function t(e){var t=R.$el.find(".fr-selected-cell");"REMOVE"!=e?t.css("background-color",R.helpers.HEXtoRGB(e)):t.css("background-color",""),h()}function _(e){var f=[];return null==(e=e||null)&&0<Z().length&&(e=Q()),e&&e.findVisible("tr").not(e.find("> table tr")).each(function(o,e){var t=x(e),i=0;t.find("> th, > td").each(function(e,t){for(var l=x(t),a=parseInt(l.attr("colspan"),10)||1,n=parseInt(l.attr("rowspan"),10)||1,r=o;r<o+n;r++)for(var s=i;s<i+a;s++)f[r]||(f[r]=[]),f[r][s]?i++:f[r][s]=t;i+=a})}),f}function $(e,t){for(var l=0;l<t.length;l++)for(var a=0;a<t[l].length;a++)if(t[l][a]==e)return{row:l,col:a}}function D(e,t,l){for(var a=e+1,n=t+1;a<l.length;){if(l[a][t]!=l[e][t]){a--;break}a++}for(a==l.length&&a--;n<l[e].length;){if(l[e][n]!=l[e][t]){n--;break}n++}return n==l[e].length&&n--,{row:a,col:n}}function C(){R.el.querySelector(".fr-cell-fixed")&&R.el.querySelector(".fr-cell-fixed").classList.remove("fr-cell-fixed"),R.el.querySelector(".fr-cell-handler")&&R.el.querySelector(".fr-cell-handler").classList.remove("fr-cell-handler")}function E(){var e=R.$el.find(".fr-selected-cell");0<e.length&&e.each(function(){var e=x(this);e.removeClass("fr-selected-cell"),""===e.attr("class")&&e.removeAttr("class")}),C()}function y(){R.events.disableBlur(),R.selection.clear(),R.$el.addClass("fr-no-selection"),R.$el.blur(),R.events.enableBlur()}function M(e){var t=R.$el.find(".fr-selected-cell");if(0<t.length){var l,a=e.length,n=0,r=e[0].length,s=0;for(l=0;l<t.length;l++){var o=$(t[l],e),i=D(o.row,o.col,e);a=Math.min(o.row,a),n=Math.max(i.row,n),r=Math.min(o.col,r),s=Math.max(i.col,s)}return{min_i:a,max_i:n,min_j:r,max_j:s}}return null}function S(e){var t=M(e);if(null!=t){var l=x(e[t.min_i][t.min_j]),a=x(e[t.min_i][t.max_j]),n=x(e[t.max_i][t.min_j]);return{left:l.length&&l.offset().left,right:a.length&&a.offset().left+a.outerWidth(),top:l.length&&l.offset().top,bottom:n.length&&n.offset().top+n.outerHeight()}}}function I(e,t){if(x(e).is(t))E(),x(e).addClass("fr-selected-cell");else{y(),R.edit.off();var l=_(),a=$(e,l),n=$(t,l),r=function h(e,t,l,a,n){var r,s,o,i,f=e,c=t,d=l,p=a;for(r=f;r<=c;r++)(1<(parseInt(x(n[r][d]).attr("rowspan"),10)||1)||1<(parseInt(x(n[r][d]).attr("colspan"),10)||1))&&(i=D((o=$(n[r][d],n)).row,o.col,n),f=Math.min(o.row,f),c=Math.max(i.row,c),d=Math.min(o.col,d),p=Math.max(i.col,p)),(1<(parseInt(x(n[r][p]).attr("rowspan"),10)||1)||1<(parseInt(x(n[r][p]).attr("colspan"),10)||1))&&(i=D((o=$(n[r][p],n)).row,o.col,n),f=Math.min(o.row,f),c=Math.max(i.row,c),d=Math.min(o.col,d),p=Math.max(i.col,p));for(s=d;s<=p;s++)(1<(parseInt(x(n[f][s]).attr("rowspan"),10)||1)||1<(parseInt(x(n[f][s]).attr("colspan"),10)||1))&&(i=D((o=$(n[f][s],n)).row,o.col,n),f=Math.min(o.row,f),c=Math.max(i.row,c),d=Math.min(o.col,d),p=Math.max(i.col,p)),(1<(parseInt(x(n[c][s]).attr("rowspan"),10)||1)||1<(parseInt(x(n[c][s]).attr("colspan"),10)||1))&&(i=D((o=$(n[c][s],n)).row,o.col,n),f=Math.min(o.row,f),c=Math.max(i.row,c),d=Math.min(o.col,d),p=Math.max(i.col,p));return f==e&&c==t&&d==l&&p==a?{min_i:e,max_i:t,min_j:l,max_j:a}:h(f,c,d,p,n)}(Math.min(a.row,n.row),Math.max(a.row,n.row),Math.min(a.col,n.col),Math.max(a.col,n.col),l);E(),e.classList.add("fr-cell-fixed"),t.classList.add("fr-cell-handler");for(var s=r.min_i;s<=r.max_i;s++)for(var o=r.min_j;o<=r.max_j;o++)x(l[s][o]).addClass("fr-selected-cell")}}function N(e){var t=null,l=x(e.target);return"TD"==e.target.tagName||"TH"==e.target.tagName?t=e.target:0<l.closest("td",l.closest("tr")[0]).length?t=l.closest("td",l.closest("tr")[0]).get(0):0<l.closest("th",l.closest("thead")[0]).length&&(t=l.closest("th",l.closest("thead")[0]).get(0)),-1===R.$el.html.toString().search(t)?null:t}function T(){E(),R.popups.hide("table.edit")}function e(e){var t=N(e);if("false"==x(t).parents("[contenteditable]").not(".fr-element").not(".fr-img-caption").not("body").first().attr("contenteditable"))return!0;if(0<Z().length&&!t&&T(),!R.edit.isDisabled()||R.popups.isVisible("table.edit"))if(1!=e.which||1==e.which&&R.helpers.isMac()&&e.ctrlKey)(3==e.which||1==e.which&&R.helpers.isMac()&&e.ctrlKey)&&t&&T();else if(r=!0,t){0<Z().length&&!e.shiftKey&&T(),e.stopPropagation(),R.events.trigger("image.hideResizer"),R.events.trigger("video.hideResizer"),n=!0;var l=t.tagName.toLowerCase();e.shiftKey&&0<R.$el.find(l+".fr-selected-cell").length?x(R.$el.find(l+".fr-selected-cell").closest("table")).is(x(t).closest("table"))?I(a,t):y():((R.keys.ctrlKey(e)||e.shiftKey)&&(1<Z().length||0===x(t).find(R.selection.element()).length&&!x(t).is(R.selection.element()))&&y(),a=t,0<R.opts.tableEditButtons.length&&I(a,a))}}function l(e){if(R.popups.areVisible())return!0;if(n||R.$tb.is(e.target)||R.$tb.is(x(e.target).closest(".fr-toolbar"))||(0<Z().length&&R.toolbar.enable(),E()),!(1!=e.which||1==e.which&&R.helpers.isMac()&&e.ctrlKey)){if(r=!1,n)n=!1,N(e)||1!=Z().length?0<Z().length&&(R.selection.isCollapsed()?h():(E(),R.edit.on())):E();if(A){A=!1,O.removeClass("fr-moving"),R.$el.removeClass("fr-no-selection"),R.edit.on();var t=parseFloat(O.css("left"))+R.opts.tableResizerOffset+R.$wp.offset().left;R.opts.iframe&&(t-=R.$iframe.offset().left),O.data("release-position",t),O.removeData("max-left"),O.removeData("max-right"),function C(){var e=O.data("origin"),t=O.data("release-position");if(e!==t){var l=O.data("first"),a=O.data("second"),n=O.data("table"),r=n.outerWidth();if(R.undo.canDo()||R.undo.saveStep(),null!=l&&null!=a){var s,o,i,f=_(n),c=[],d=[],p=[],h=[];for(s=0;s<f.length;s++)o=x(f[s][l]),i=x(f[s][a]),c[s]=o.outerWidth(),p[s]=i.outerWidth(),d[s]=c[s]/r*100,h[s]=p[s]/r*100;for(s=0;s<f.length;s++)if(o=x(f[s][l]),i=x(f[s][a]),f[s][l]!=f[s][a]){var u=(d[s]*(c[s]+t-e)/c[s]).toFixed(4);o.css("width",u+"%"),i.css("width",(d[s]+h[s]-u).toFixed(4)+"%")}}else{var b,g=n.parent(),m=r/g.width()*100,v=(parseInt(n.css("margin-left"),10)||0)/g.width()*100,w=(parseInt(n.css("margin-right"),10)||0)/g.width()*100;"rtl"==R.opts.direction&&0===a||"rtl"!=R.opts.direction&&0!==a?(b=(r+t-e)/r*m,n.css("margin-right","calc(100% - "+Math.round(b).toFixed(4)+"% - "+Math.round(v).toFixed(4)+"%)")):("rtl"==R.opts.direction&&0!==a||"rtl"!=R.opts.direction&&0===a)&&(b=(r-t+e)/r*m,n.css("margin-left","calc(100% - "+Math.round(b).toFixed(4)+"% - "+Math.round(w).toFixed(4)+"%)")),n.css("width",Math.round(b).toFixed(4)+"%")}R.selection.restore(),R.undo.saveStep(),R.events.trigger("table.resized",[n.get(0)])}O.removeData("origin"),O.removeData("release-position"),O.removeData("first"),O.removeData("second"),O.removeData("table")}(),Y()}}}function K(e){if(!0===n&&0<R.opts.tableEditButtons.length){if(x(e.currentTarget).closest("table").is(Q())){if("TD"==e.currentTarget.tagName&&0===R.$el.find("th.fr-selected-cell").length)return void I(a,e.currentTarget);if("TH"==e.currentTarget.tagName&&0===R.$el.find("td.fr-selected-cell").length)return void I(a,e.currentTarget)}y()}}function B(e,t,l,a){for(var n,r=t;r!=R.el&&"TD"!=r.tagName&&"TH"!=r.tagName&&("up"==a?n=r.previousElementSibling:"down"==a&&(n=r.nextElementSibling),!n);)r=r.parentNode;"TD"==r.tagName||"TH"==r.tagName?function s(e,t){for(var l=e;l&&"TABLE"!=l.tagName&&l.parentNode!=R.el;)l=l.parentNode;if(l&&"TABLE"==l.tagName){var a=_(x(l));"up"==t?z($(e,a),l,a):"down"==t&&k($(e,a),l,a)}}(r,a):n&&("up"==a&&R.selection.setAtEnd(n),"down"==a&&R.selection.setAtStart(n))}function z(e,t,l){0<e.row?R.selection.setAtEnd(l[e.row-1][e.col]):B(0,t,0,"up")}function k(e,t,l){var a=parseInt(l[e.row][e.col].getAttribute("rowspan"),10)||1;e.row<l.length-a?R.selection.setAtStart(l[e.row+a][e.col]):B(0,t,0,"down")}function Y(){O&&(O.find("div").css("opacity",0),O.css("top",0),O.css("left",0),O.css("height",0),O.find("div").css("height",0),O.hide())}function W(){f&&f.removeClass("fr-visible").css("left","-9999px")}function L(e,t){var l=x(t),a=l.closest("table"),n=a.parent();if(t&&"TD"!=t.tagName&&"TH"!=t.tagName&&(0<l.closest("td").length?t=l.closest("td"):0<l.closest("th").length&&(t=l.closest("th"))),!t||"TD"!=t.tagName&&"TH"!=t.tagName)O&&l.get(0)!=O.get(0)&&l.parent().get(0)!=O.get(0)&&R.core.sameInstance(O)&&Y();else{if(l=x(t),0===R.$el.find(l).length)return!1;var r=l.offset().left-1,s=r+l.outerWidth();if(Math.abs(e.pageX-r)<=R.opts.tableResizerOffset||Math.abs(s-e.pageX)<=R.opts.tableResizerOffset){var o,i,f,c,d,p=_(a),h=$(t,p),u=D(h.row,h.col,p),b=a.offset().top,g=a.outerHeight()-1;"rtl"!=R.opts.direction?e.pageX-r<=R.opts.tableResizerOffset?(f=r,0<h.col?(c=r-j(h.col-1,p)+R.opts.tableResizingLimit,d=r+j(h.col,p)-R.opts.tableResizingLimit,o=h.col-1,i=h.col):(o=null,i=0,c=a.offset().left-1-parseInt(a.css("margin-left"),10),d=a.offset().left-1+a.width()-p[0].length*R.opts.tableResizingLimit)):s-e.pageX<=R.opts.tableResizerOffset&&(f=s,u.col<p[u.row].length&&p[u.row][u.col+1]?(c=s-j(u.col,p)+R.opts.tableResizingLimit,d=s+j(u.col+1,p)-R.opts.tableResizingLimit,o=u.col,i=u.col+1):(o=u.col,i=null,c=a.offset().left-1+p[0].length*R.opts.tableResizingLimit,d=n.offset().left-1+n.width()+parseFloat(n.css("padding-left")))):s-e.pageX<=R.opts.tableResizerOffset?(f=s,0<h.col?(c=s-j(h.col,p)+R.opts.tableResizingLimit,d=s+j(h.col-1,p)-R.opts.tableResizingLimit,o=h.col,i=h.col-1):(o=null,i=0,c=a.offset().left+p[0].length*R.opts.tableResizingLimit,d=n.offset().left-1+n.width()+parseFloat(n.css("padding-left")))):e.pageX-r<=R.opts.tableResizerOffset&&(f=r,u.col<p[u.row].length&&p[u.row][u.col+1]?(c=r-j(u.col+1,p)+R.opts.tableResizingLimit,d=r+j(u.col,p)-R.opts.tableResizingLimit,o=u.col+1,i=u.col):(o=u.col,i=null,c=n.offset().left+parseFloat(n.css("padding-left")),d=a.offset().left-1+a.width()-p[0].length*R.opts.tableResizingLimit)),O||function E(){R.shared.$table_resizer||(R.shared.$table_resizer=x(document.createElement("div")).attr("class","fr-table-resizer").html("<div></div>")),O=R.shared.$table_resizer,R.events.$on(O,"mousedown",function(e){return!R.core.sameInstance(O)||(0<Z().length&&T(),1==e.which?(R.selection.save(),A=!0,O.addClass("fr-moving"),y(),R.edit.off(),O.find("div").css("opacity",1),!1):void 0)}),R.events.$on(O,"mousemove",function(e){if(!R.core.sameInstance(O))return!0;A&&(R.opts.iframe&&(e.pageX-=R.$iframe.offset().left),G(e))}),R.events.on("shared.destroy",function(){O.html("").removeData().remove(),O=null},!0),R.events.on("destroy",function(){R.$el.find(".fr-selected-cell").removeClass("fr-selected-cell"),x("body").first().append(O.hide())},!0)}(),O.data("table",a),O.data("first",o),O.data("second",i),O.data("instance",R),R.$wp.append(O);var m=f-R.win.pageXOffset-R.opts.tableResizerOffset-R.$wp.offset().left,v=b-R.$wp.offset().top+R.$wp.scrollTop();if(R.opts.iframe){var w=R.helpers.getPX(R.$wp.find(".fr-iframe").css("padding-top")),C=R.helpers.getPX(R.$wp.find(".fr-iframe").css("padding-left"));m+=R.$iframe.offset().left+C,v+=R.$iframe.offset().top+w,c+=R.$iframe.offset().left,d+=R.$iframe.offset().left}O.data("max-left",c),O.data("max-right",d),O.data("origin",f-R.win.pageXOffset),O.css("top",v),O.css("left",m),O.css("height",g),O.find("div").css("height",g),O.css("padding-left",R.opts.tableResizerOffset),O.css("padding-right",R.opts.tableResizerOffset),O.show()}else R.core.sameInstance(O)&&Y()}}function F(e,t){if(R.$box.find(".fr-line-breaker").isVisible())return!1;f||q(),R.$box.append(f),f.data("instance",R);var l,a=x(t).find("tr").first(),n=e.pageX,r=0,s=0;if(R.opts.iframe){var o=R.helpers.getPX(R.$wp.find(".fr-iframe").css("padding-top")),i=R.helpers.getPX(R.$wp.find(".fr-iframe").css("padding-left"));r+=R.$iframe.offset().left-R.helpers.scrollLeft()+i,s+=R.$iframe.offset().top-R.helpers.scrollTop()+o}a.find("th, td").each(function(){var e=x(this);return e.offset().left<=n&&n<e.offset().left+e.outerWidth()/2?(l=parseInt(f.find("a").css("width"),10),f.css("top",s+e.offset().top-R.$box.offset().top-l-5),f.css("left",r+e.offset().left-R.$box.offset().left-l/2),f.data("selected-cell",e),f.data("position","before"),f.addClass("fr-visible"),!1):e.offset().left+e.outerWidth()/2<=n&&n<e.offset().left+e.outerWidth()?(l=parseInt(f.find("a").css("width"),10),f.css("top",s+e.offset().top-R.$box.offset().top-l-5),f.css("left",r+e.offset().left-R.$box.offset().left+e.outerWidth()-l/2),f.data("selected-cell",e),f.data("position","after"),f.addClass("fr-visible"),!1):void 0})}function H(e,t){if(R.$box.find(".fr-line-breaker").isVisible())return!1;f||q(),R.$box.append(f),f.data("instance",R);var l,a=x(t),n=e.pageY,r=0,s=0;if(R.opts.iframe){var o=R.helpers.getPX(R.$wp.find(".fr-iframe").css("padding-top")),i=R.helpers.getPX(R.$wp.find(".fr-iframe").css("padding-left"));r+=R.$iframe.offset().left-R.helpers.scrollLeft()+i,s+=R.$iframe.offset().top-R.helpers.scrollTop()+o}a.find("tr").each(function(){var e=x(this);return e.offset().top<=n&&n<e.offset().top+e.outerHeight()/2?(l=parseInt(f.find("a").css("width"),10),f.css("top",s+e.offset().top-R.$box.offset().top-l/2),f.css("left",r+e.offset().left-R.$box.offset().left-l-5),f.data("selected-cell",e.find("td").first()),f.data("position","above"),f.addClass("fr-visible"),!1):e.offset().top+e.outerHeight()/2<=n&&n<e.offset().top+e.outerHeight()?(l=parseInt(f.find("a").css("width"),10),f.css("top",s+e.offset().top-R.$box.offset().top+e.outerHeight()-l/2),f.css("left",r+e.offset().left-R.$box.offset().left-l-5),f.data("selected-cell",e.find("td").first()),f.data("position","below"),f.addClass("fr-visible"),!1):void 0})}function V(e){s=null;var t=R.doc.elementFromPoint(e.pageX-R.win.pageXOffset,e.pageY-R.win.pageYOffset);R.opts.tableResizer&&(!R.popups.areVisible()||R.popups.areVisible()&&R.popups.isVisible("table.edit"))&&L(e,t),!R.opts.tableInsertHelper||R.popups.areVisible()||R.$tb.hasClass("fr-inline")&&R.$tb.isVisible()||function r(e,t){if(0===Z().length){var l,a,n;if(t&&("HTML"==t.tagName||"BODY"==t.tagName||R.node.isElement(t)))for(l=1;l<=R.opts.tableInsertHelperOffset;l++){if(a=R.doc.elementFromPoint(e.pageX-R.win.pageXOffset,e.pageY-R.win.pageYOffset+l),x(a).hasClass("fr-tooltip"))return!0;if(a&&("TH"==a.tagName||"TD"==a.tagName||"TABLE"==a.tagName)&&(x(a).parents(".fr-wrapper").length||R.opts.iframe)&&"false"!=x(a).closest("table").attr("contenteditable"))return F(e,x(a).closest("table")),!0;if(n=R.doc.elementFromPoint(e.pageX-R.win.pageXOffset+l,e.pageY-R.win.pageYOffset),x(n).hasClass("fr-tooltip"))return!0;if(n&&("TH"==n.tagName||"TD"==n.tagName||"TABLE"==n.tagName)&&(x(n).parents(".fr-wrapper").length||R.opts.iframe)&&"false"!=x(n).closest("table").attr("contenteditable"))return H(e,x(n).closest("table")),!0}R.core.sameInstance(f)&&W()}}(e,t)}function P(){if(A){var e=O.data("table").offset().top-R.win.pageYOffset;if(R.opts.iframe){var t=R.helpers.getPX(R.$wp.find(".fr-iframe").css("padding-top"));e+=R.$iframe.offset().top-R.helpers.scrollTop()+t}O.css("top",e)}}function j(e,t){var l,a=x(t[0][e]).outerWidth();for(l=1;l<t.length;l++)a=Math.min(a,x(t[l][e]).outerWidth());return a}function X(e,t,l){var a,n=0;for(a=e;a<=t;a++)n+=j(a,l);return n}function G(e){if(1<Z().length&&r&&y(),!1===r&&!1===n&&!1===A)s&&clearTimeout(s),R.edit.isDisabled()&&!R.popups.isVisible("table.edit")||(s=setTimeout(V,30,e));else if(A){var t=e.pageX-R.win.pageXOffset;R.opts.iframe&&(t+=R.$iframe.offset().left);var l=O.data("max-left"),a=O.data("max-right");l<=t&&t<=a?O.css("left",t-R.opts.tableResizerOffset-R.$wp.offset().left):t<l&&parseFloat(O.css("left"),10)>l-R.opts.tableResizerOffset?O.css("left",l-R.opts.tableResizerOffset-R.$wp.offset().left):a<t&&parseFloat(O.css("left"),10)<a-R.opts.tableResizerOffset&&O.css("left",a-R.opts.tableResizerOffset-R.$wp.offset().left)}else r&&W()}function U(e){R.node.isEmpty(e.get(0))?e.prepend(ge.MARKERS):e.prepend(ge.START_MARKER).append(ge.END_MARKER)}function q(){R.shared.$ti_helper||(R.shared.$ti_helper=x(document.createElement("div")).attr("class","fr-insert-helper").html('<a class="fr-floating-btn" role="button" tabIndex="-1" title="'+R.language.translate("Insert")+'"><svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z"/></svg></a>'),R.events.bindClick(R.shared.$ti_helper,"a",function(){var e=f.data("selected-cell"),t=f.data("position"),l=f.data("instance")||R;"before"==t?(R.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertColumn(t),e.removeClass("fr-selected-cell"),R.undo.saveStep()):"after"==t?(R.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertColumn(t),e.removeClass("fr-selected-cell"),R.undo.saveStep()):"above"==t?(R.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertRow(t),e.removeClass("fr-selected-cell"),R.undo.saveStep()):"below"==t&&(R.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertRow(t),e.removeClass("fr-selected-cell"),R.undo.saveStep()),W()}),R.events.on("shared.destroy",function(){R.shared.$ti_helper.html("").removeData().remove(),R.shared.$ti_helper=null},!0),R.events.$on(R.shared.$ti_helper,"mousemove",function(e){e.stopPropagation()},!0),R.events.$on(x(R.o_win),"scroll",function(){W()},!0),R.events.$on(R.$wp,"scroll",function(){W()},!0)),f=R.shared.$ti_helper,R.events.on("destroy",function(){f=null}),R.tooltip.bind(R.$box,".fr-insert-helper > a.fr-floating-btn")}function J(){a=null,clearTimeout(s)}function Z(){return R.el.querySelectorAll(".fr-selected-cell")}function Q(){var e=Z();if(e.length){for(var t=e[0];t&&"TABLE"!=t.tagName&&t.parentNode!=R.el;)t=t.parentNode;return t&&"TABLE"==t.tagName?x(t):x([])}return x([])}return{_init:function ee(){if(!R.$wp)return!1;if(!R.helpers.isMobile()){A=n=r=!1,R.events.$on(R.$el,"mousedown",e),R.popups.onShow("image.edit",function(){E(),n=r=!1}),R.popups.onShow("link.edit",function(){E(),n=r=!1}),R.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&E()}),R.events.$on(R.$el,"mouseover","th, td",K),R.events.$on(R.$win,"mouseup",l),R.opts.iframe&&R.events.$on(x(R.o_win),"mouseup",l),R.events.$on(R.$win,"mousemove",G),R.events.$on(x(R.o_win),"scroll",P),R.events.on("contentChanged",function(){0<Z().length&&(h(),R.$el.find("img").on("load.selected-cells",function(){x(this).off("load.selected-cells"),0<Z().length&&h()}))}),R.events.$on(x(R.o_win),"resize",function(){E()}),R.events.on("toolbar.esc",function(){if(0<Z().length)return R.events.disableBlur(),R.events.focus(),!1},!0),R.events.$on(x(R.o_win),"keydown",function(){r&&n&&(n=r=!1,R.$el.removeClass("fr-no-selection"),R.edit.on(),R.selection.setAtEnd(R.$el.find(".fr-selected-cell").last().get(0)),R.selection.restore(),E())}),R.events.$on(R.$el,"keydown",function(e){e.shiftKey?!1===function s(e){var t=Z();if(null!=t&&0<t.length){var l,a=_(),n=e.which,r=$(1==t.length?l=t[0]:(l=R.el.querySelector(".fr-cell-fixed"),R.el.querySelector(".fr-cell-handler")),a);if(ge.KEYCODE.ARROW_RIGHT==n){if(r.col<a[0].length-1)return I(l,a[r.row][r.col+1]),!1}else if(ge.KEYCODE.ARROW_DOWN==n){if(r.row<a.length-1)return I(l,a[r.row+1][r.col]),!1}else if(ge.KEYCODE.ARROW_LEFT==n){if(0<r.col)return I(l,a[r.row][r.col-1]),!1}else if(ge.KEYCODE.ARROW_UP==n&&0<r.row)return I(l,a[r.row-1][r.col]),!1}}(e)&&setTimeout(function(){h()},0):function o(e){var t=e.which,l=R.selection.blocks();if(l.length&&("TD"==(l=l[0]).tagName||"TH"==l.tagName)){for(var a=l;a&&"TABLE"!=a.tagName&&a.parentNode!=R.el;)a=a.parentNode;if(a&&"TABLE"==a.tagName&&(ge.KEYCODE.ARROW_LEFT==t||ge.KEYCODE.ARROW_UP==t||ge.KEYCODE.ARROW_RIGHT==t||ge.KEYCODE.ARROW_DOWN==t)&&(0<Z().length&&T(),R.browser.webkit&&(ge.KEYCODE.ARROW_UP==t||ge.KEYCODE.ARROW_DOWN==t))){var n=R.selection.ranges(0).startContainer;if(n.nodeType==Node.TEXT_NODE&&(ge.KEYCODE.ARROW_UP==t&&(n.previousSibling&&"BR"!==n.previousSibling.tagName||n.previousSibling&&"BR"===n.previousSibling.tagName&&n.previousSibling.previousSibling)||ge.KEYCODE.ARROW_DOWN==t&&(n.nextSibling&&"BR"!==n.nextSibling.tagName||n.nextSibling&&"BR"===n.nextSibling.tagName&&n.nextSibling.nextSibling)))return;e.preventDefault(),e.stopPropagation();var r=_(x(a)),s=$(l,r);return ge.KEYCODE.ARROW_UP==t?z(s,a,r):ge.KEYCODE.ARROW_DOWN==t&&k(s,a,r),R.selection.restore(),!1}}}(e)}),R.events.on("keydown",function(e){if(!1===function a(e){if(e.which==ge.KEYCODE.TAB){var t;if(0<Z().length)t=R.$el.find(".fr-selected-cell").last();else{var l=R.selection.element();"TD"==l.tagName||"TH"==l.tagName?t=x(l):l!=R.el&&(0<x(l).parentsUntil(R.$el,"td").length?t=x(l).parents("td").first():0<x(l).parentsUntil(R.$el,"th").length&&(t=x(l).parents("th").first()))}if(t)return e.preventDefault(),!!(0===R.selection.get().focusOffset&&0<x(R.selection.element()).parentsUntil(R.$el,"ol, ul").length&&(0<x(R.selection.element()).closest("li").prev().length||x(R.selection.element()).is("li")&&0<x(R.selection.element()).prev().length))||(T(),e.shiftKey?0<t.prev().length?U(t.prev()):0<t.closest("tr").length&&0<t.closest("tr").prev().length?U(t.closest("tr").prev().find("td").last()):0<t.closest("tbody").length&&0<t.closest("table").find("thead tr").length&&U(t.closest("table").find("thead tr th").last()):0<t.next().length?U(t.next()):0<t.closest("tr").length&&0<t.closest("tr").next().length?U(t.closest("tr").next().find("td").first()):0<t.closest("thead").length&&0<t.closest("table").find("tbody tr").length?U(t.closest("table").find("tbody tr td").first()):(t.addClass("fr-selected-cell"),b("below"),E(),U(t.closest("tr").next().find("td").first())),R.selection.restore(),!1)}}(e))return!1;var t=Z();if(0<t.length){if(0<t.length&&R.keys.ctrlKey(e)&&e.which==ge.KEYCODE.A)return E(),R.popups.isVisible("table.edit")&&R.popups.hide("table.edit"),t=[],!0;if(e.which==ge.KEYCODE.ESC&&R.popups.isVisible("table.edit"))return E(),R.popups.hide("table.edit"),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!(t=[]);if(1<t.length&&(e.which==ge.KEYCODE.BACKSPACE||e.which==ge.KEYCODE.DELETE)){R.undo.saveStep();for(var l=0;l<t.length;l++)x(t[l]).html("<br>"),l==t.length-1&&x(t[l]).prepend(ge.MARKERS);return R.selection.restore(),R.undo.saveStep(),!(t=[])}if(1<t.length&&e.which!=ge.KEYCODE.F10&&!R.keys.isBrowserAction(e))return e.preventDefault(),!(t=[])}else if(!(t=[])===function n(e){if(e.altKey&&e.which==ge.KEYCODE.SPACE){var t,l=R.selection.element();if("TD"==l.tagName||"TH"==l.tagName?t=l:0<x(l).closest("td").length?t=x(l).closest("td").get(0):0<x(l).closest("th").length&&(t=x(l).closest("th").get(0)),t)return e.preventDefault(),I(t,t),h(),!1}}(e))return!1},!0);var t=[];R.events.on("html.beforeGet",function(){t=Z();for(var e=0;e<t.length;e++)t[e].className=(t[e].className||"").replace(/fr-selected-cell/g,"")}),R.events.on("html.afterGet",function(){for(var e=0;e<t.length;e++)t[e].className=(t[e].className?t[e].className.trim()+" ":"")+"fr-selected-cell";t=[]}),c(!0),p(!0)}R.events.on("destroy",J)},insert:function te(e,t){var l,a,n="<table "+(R.opts.tableDefaultWidth?'style="width: '+R.opts.tableDefaultWidth+';" ':"")+'class="fr-inserted-table"><tbody>',r=100/t;for(l=0;l<e;l++){for(n+="<tr>",a=0;a<t;a++)n+="<td"+(R.opts.tableDefaultWidth?' style="width: '+r.toFixed(4)+'%;"':"")+">",0===l&&0===a&&(n+=ge.MARKERS),n+="<br></td>";n+="</tr>"}n+="</tbody></table>",R.html.insert(n),R.selection.restore();var s=R.$el.find(".fr-inserted-table");s.removeClass("fr-inserted-table"),R.events.trigger("table.inserted",[s.get(0)])},remove:u,insertRow:b,deleteRow:function le(){var e=Q();if(0<e.length){var t,l,a,n=_(),r=M(n);if(null==r)return;if(0===r.min_i&&r.max_i==n.length-1)u();else{for(t=r.max_i;t>=r.min_i;t--){for(a=x(e.find("tr").not(e.find("> table tr")).get(t)),l=0;l<n[t].length;l++)if(0===l||n[t][l]!=n[t][l-1]){var s=x(n[t][l]);if(1<parseInt(s.attr("rowspan"),10)){var o=parseInt(s.attr("rowspan"),10)-1;1==o?s.removeAttr("rowspan"):s.attr("rowspan",o)}if(t<n.length-1&&n[t][l]==n[t+1][l]&&(0===t||n[t][l]!=n[t-1][l])){for(var i=n[t][l],f=l;0<f&&n[t][f]==n[t][f-1];)f--;0===f?x(e.find("tr").not(e.find("> table tr")).get(t+1)).prepend(i):x(n[t+1][f-1])[0].parentNode&&x(n[t+1][f-1])[0].insertAdjacentElement("afterend",i)}}var c=a.parent();a.remove(),0===c.find("tr").length&&c.remove(),n=_(e)}w(0,n.length-1,0,n[0].length-1,e),0<r.min_i?R.selection.setAtEnd(n[r.min_i-1][0]):R.selection.setAtEnd(n[0][0]),R.selection.restore(),R.popups.hide("table.edit")}}},insertColumn:function ae(i){var e=Q();if(0<e.length){var f,c=_(),t=M(c);f="before"==i?t.min_j:t.max_j;var l,d=100/c[0].length,p=100/(c[0].length+1);e.find("th, td").each(function(){(l=x(this)).data("old-width",l.outerWidth()/e.outerWidth()*100)}),e.find("tr").not(e.find("> table tr")).each(function(e){for(var t,l=x(this),a=0,n=0;a-1<f;){if(!(t=l.find("> th, > td").get(n))){t=null;break}t==c[e][a]?(a+=parseInt(x(t).attr("colspan"),10)||1,n++):(a+=parseInt(x(c[e][a]).attr("colspan"),10)||1,"after"==i&&(t=0===n?-1:l.find("> th, > td").get(n-1)))}var r,s=x(t);if("after"==i&&f<a-1||"before"==i&&0<f&&c[e][f]==c[e][f-1]){if(0===e||0<e&&c[e][f]!=c[e-1][f]){var o=parseInt(s.attr("colspan"),10)+1;s.attr("colspan",o),s.css("width",(s.data("old-width")*p/d+p).toFixed(4)+"%"),s.removeData("old-width")}}else r=0<l.find("th").length?'<th style="width: '+p.toFixed(4)+'%;"><br></th>':'<td style="width: '+p.toFixed(4)+'%;"><br></td>',-1==t?l.prepend(r):null==t?l.append(r):"before"==i?s.before(r):"after"==i&&s[0].parentNode&&s[0].insertAdjacentHTML("afterend",r)}),e.find("th, td").each(function(){(l=x(this)).data("old-width")&&(l.css("width",(l.data("old-width")*p/d).toFixed(4)+"%"),l.removeData("old-width"))}),R.popups.isVisible("table.edit")&&h()}},deleteColumn:function ne(){var e=Q();if(0<e.length){var t,l,a,n=_(),r=M(n);if(null==r)return;if(0===r.min_j&&r.max_j==n[0].length-1)u();else{var s=0;for(t=0;t<n.length;t++)for(l=0;l<n[0].length;l++)(a=x(n[t][l])).hasClass("fr-selected-cell")||(a.data("old-width",a.outerWidth()/e.outerWidth()*100),(l<r.min_j||l>r.max_j)&&(s+=a.outerWidth()/e.outerWidth()*100));for(s/=n.length,l=r.max_j;l>=r.min_j;l--)for(t=0;t<n.length;t++)if(0===t||n[t][l]!=n[t-1][l])if(a=x(n[t][l]),1<(parseInt(a.attr("colspan"),10)||1)){var o=parseInt(a.attr("colspan"),10)-1;1==o?a.removeAttr("colspan"):a.attr("colspan",o),a.css("width",(100*(a.data("old-width")-j(l,n))/s).toFixed(4)+"%"),a.removeData("old-width")}else{var i=x(a.parent().get(0));a.remove(),0===i.find("> th, > td").length&&(0===i.prev().length||0===i.next().length||i.prev().find("> th[rowspan], > td[rowspan]").length<i.prev().find("> th, > td").length)&&i.remove()}w(0,n.length-1,0,n[0].length-1,e),0<r.min_j?R.selection.setAtEnd(n[r.min_i][r.min_j-1]):R.selection.setAtEnd(n[r.min_i][0]),R.selection.restore(),R.popups.hide("table.edit"),e.find("th, td").each(function(){(a=x(this)).data("old-width")&&(a.css("width",(100*a.data("old-width")/s).toFixed(4)+"%"),a.removeData("old-width"))})}}},mergeCells:function re(){if(1<Z().length&&(0===R.$el.find("th.fr-selected-cell").length||0===R.$el.find("td.fr-selected-cell").length)){C();var e,t,l=M(_());if(null==l)return;var a=R.$el.find(".fr-selected-cell"),n=x(a[0]),r=n.parent().find(".fr-selected-cell"),s=n.closest("table"),o=n.html(),i=0;for(e=0;e<r.length;e++)i+=x(r[e]).outerWidth();for(n.css("width",Math.min(100,i/s.outerWidth()*100).toFixed(4)+"%"),l.min_j<l.max_j&&n.attr("colspan",l.max_j-l.min_j+1),l.min_i<l.max_i&&n.attr("rowspan",l.max_i-l.min_i+1),e=1;e<a.length;e++)"<br>"!=(t=x(a[e])).html()&&""!==t.html()&&(o+="<br>"+t.html()),t.remove();n.html(o),R.selection.setAtEnd(n.get(0)),R.selection.restore(),R.toolbar.enable(),m(l.min_i,l.max_i,s);var f=s.find("tr:empty");for(e=f.length-1;0<=e;e--)x(f[e]).remove();g(l.min_j,l.max_j,s),h()}},splitCellVertically:function se(){if(1==Z().length){var e=R.$el.find(".fr-selected-cell"),t=parseInt(e.attr("colspan"),10)||1,l=e.parent().outerWidth(),a=e.outerWidth(),n=e.clone().html("<br>"),r=_(),s=$(e.get(0),r);if(1<t){var o=Math.ceil(t/2);a=X(s.col,s.col+o-1,r)/l*100;var i=X(s.col+o,s.col+t-1,r)/l*100;1<o?e.attr("colspan",o):e.removeAttr("colspan"),1<t-o?n.attr("colspan",t-o):n.removeAttr("colspan"),e.css("width",a.toFixed(4)+"%"),n.css("width",i.toFixed(4)+"%")}else{var f;for(f=0;f<r.length;f++)if(0===f||r[f][s.col]!=r[f-1][s.col]){var c=x(r[f][s.col]);if(!c.is(e)){var d=(parseInt(c.attr("colspan"),10)||1)+1;c.attr("colspan",d)}}a=a/l*100/2,e.css("width",a.toFixed(4)+"%"),n.css("width",a.toFixed(4)+"%")}e[0].parentNode&&e[0].insertAdjacentElement("afterend",n[0]),E(),R.popups.hide("table.edit")}},splitCellHorizontally:function oe(){if(1==Z().length){var e=R.$el.find(".fr-selected-cell"),t=e.parent(),l=e.closest("table"),a=parseInt(e.attr("rowspan"),10),n=_(),r=$(e.get(0),n),s=e.clone().html("<br>");if(1<a){var o=Math.ceil(a/2);1<o?e.attr("rowspan",o):e.removeAttr("rowspan"),1<a-o?s.attr("rowspan",a-o):s.removeAttr("rowspan");for(var i=r.row+o,f=0===r.col?r.col:r.col-1;0<=f&&(n[i][f]==n[i][f-1]||0<i&&n[i][f]==n[i-1][f]);)f--;-1==f?x(l.find("tr").not(l.find("> table tr")).get(i)).prepend(s):x(n[i][f])[0].parentNode&&x(n[i][f])[0].insertAdjacentElement("afterend",s[0])}else{var c,d=x(document.createElement("tr")).append(s);for(c=0;c<n[0].length;c++)if(0===c||n[r.row][c]!=n[r.row][c-1]){var p=x(n[r.row][c]);p.is(e)||p.attr("rowspan",(parseInt(p.attr("rowspan"),10)||1)+1)}t[0].parentNode&&t[0].insertAdjacentElement("afterend",d[0])}E(),R.popups.hide("table.edit")}},addHeader:function ie(){var e=Q();if(0<e.length&&0===e.find("th").length){var t,l="<thead><tr>",a=0;for(e.find("tr").first().find("> td").each(function(){var e=x(this);a+=parseInt(e.attr("colspan"),10)||1}),t=0;t<a;t++)l+="<th><br></th>";l+="</tr></thead>",e.prepend(l),h()}},removeHeader:function fe(){var e=Q(),t=e.find("thead");if(0<t.length)if(0===e.find("tbody tr").length)u();else if(t.remove(),0<Z().length)h();else{R.popups.hide("table.edit");var l=e.find("tbody tr").first().find("td").first().get(0);l&&(R.selection.setAtEnd(l),R.selection.restore())}},setBackground:t,showInsertPopup:function ce(){var e=R.$tb.find('.fr-command[data-cmd="insertTable"]'),t=R.popups.get("table.insert");if(t||(t=c()),!t.hasClass("fr-active")){R.popups.refresh("table.insert"),R.popups.setContainer("table.insert",R.$tb);var l=R.button.getPosition(e),a=l.left,n=l.top;R.popups.show("table.insert",a,n,e.outerHeight())}},showEditPopup:h,showColorsPopup:o,back:function de(){0<Z().length?h():(R.popups.hide("table.insert"),R.toolbar.showInline())},verticalAlign:function pe(e){R.$el.find(".fr-selected-cell").css("vertical-align",e)},horizontalAlign:function he(e){R.$el.find(".fr-selected-cell").css("text-align",e)},applyStyle:function ue(e,t,l,a){if(0<t.length){if(!l){var n=Object.keys(a);n.splice(n.indexOf(e),1),t.removeClass(n.join(" "))}t.toggleClass(e)}},selectedTable:Q,selectedCells:Z,customColor:function be(){var e=R.popups.get("table.colors").find(".fr-table-colors-hex-layer input");e.length&&t(e.val())},selectCells:I}},ge.DefineIcon("insertTable",{NAME:"table",SVG_KEY:"insertTable"}),ge.RegisterCommand("insertTable",{title:"Insert Table",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("table.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("table.insert")):this.table.showInsertPopup()},plugin:"table"}),ge.RegisterCommand("tableInsert",{callback:function(e,t,l){this.table.insert(t,l),this.popups.hide("table.insert")}}),ge.DefineIcon("tableHeader",{NAME:"header",FA5NAME:"heading",SVG_KEY:"tableHeader"}),ge.RegisterCommand("tableHeader",{title:"Table Header",focus:!1,toggle:!0,callback:function(){this.popups.get("table.edit").find('.fr-command[data-cmd="tableHeader"]').hasClass("fr-active")?this.table.removeHeader():this.table.addHeader()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find("th").length?e.removeClass("fr-active").attr("aria-pressed",!1):e.addClass("fr-active").attr("aria-pressed",!0))}}),ge.DefineIcon("tableRows",{NAME:"bars",SVG_KEY:"row"}),ge.RegisterCommand("tableRows",{type:"dropdown",focus:!1,title:"Row",options:{above:"Insert row above",below:"Insert row below","delete":"Delete row"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=ge.COMMANDS.tableRows.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableRows" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){"above"==t||"below"==t?this.table.insertRow(t):this.table.deleteRow()}}),ge.DefineIcon("tableColumns",{NAME:"bars fa-rotate-90",SVG_KEY:"columns"}),ge.RegisterCommand("tableColumns",{type:"dropdown",focus:!1,title:"Column",options:{before:"Insert column before",after:"Insert column after","delete":"Delete column"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=ge.COMMANDS.tableColumns.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableColumns" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){"before"==t||"after"==t?this.table.insertColumn(t):this.table.deleteColumn()}}),ge.DefineIcon("tableCells",{NAME:"square-o",FA5NAME:"square",SVG_KEY:"cellOptions"}),ge.RegisterCommand("tableCells",{type:"dropdown",focus:!1,title:"Cell",options:{merge:"Merge cells","vertical-split":"Vertical split","horizontal-split":"Horizontal split"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=ge.COMMANDS.tableCells.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCells" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){"merge"==t?this.table.mergeCells():"vertical-split"==t?this.table.splitCellVertically():this.table.splitCellHorizontally()},refreshOnShow:function(e,t){1<this.$el.find(".fr-selected-cell").length?(t.find('a[data-param1="vertical-split"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="horizontal-split"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="merge"]').removeClass("fr-disabled").attr("aria-disabled",!1)):(t.find('a[data-param1="merge"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="vertical-split"]').removeClass("fr-disabled").attr("aria-disabled",!1),t.find('a[data-param1="horizontal-split"]').removeClass("fr-disabled").attr("aria-disabled",!1))}}),ge.DefineIcon("tableRemove",{NAME:"trash",SVG_KEY:"removeTable"}),ge.RegisterCommand("tableRemove",{title:"Remove Table",focus:!1,callback:function(){this.table.remove()}}),ge.DefineIcon("tableStyle",{NAME:"paint-brush",SVG_KEY:"tableStyle"}),ge.RegisterCommand("tableStyle",{title:"Table Style",type:"dropdown",focus:!1,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.tableStyles;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableStyle" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(".fr-selected-cell").closest("table"),this.opts.tableMultipleStyles,this.opts.tableStyles)},refreshOnShow:function(e,t){var l=this.$,a=this.$el.find(".fr-selected-cell").closest("table");a&&t.find(".fr-command").each(function(){var e=l(this).data("param1"),t=a.hasClass(e);l(this).toggleClass("fr-active",t).attr("aria-selected",t)})}}),ge.DefineIcon("tableCellBackground",{NAME:"tint",SVG_KEY:"cellBackground"}),ge.RegisterCommand("tableCellBackground",{title:"Cell Background",focus:!1,popup:!0,callback:function(){this.table.showColorsPopup()}}),ge.RegisterCommand("tableCellBackgroundColor",{undo:!0,focus:!1,callback:function(e,t){this.table.setBackground(t)}}),ge.DefineIcon("tableBack",{NAME:"arrow-left",SVG_KEY:"back"}),ge.RegisterCommand("tableBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.table.back()},refresh:function(e){0!==this.table.selectedCells().length||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),ge.DefineIcon("tableCellVerticalAlign",{NAME:"arrows-v",FA5NAME:"arrows-alt-v",SVG_KEY:"verticalAlignMiddle"}),ge.RegisterCommand("tableCellVerticalAlign",{type:"dropdown",focus:!1,title:"Vertical Align",options:{Top:"Align Top",Middle:"Align Middle",Bottom:"Align Bottom"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=ge.COMMANDS.tableCellVerticalAlign.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellVerticalAlign" data-param1="'+l.toLowerCase()+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(l)+"</a></li>");return e+="</ul>"},callback:function(e,t){this.table.verticalAlign(t)},refreshOnShow:function(e,t){t.find('.fr-command[data-param1="'+this.$el.find(".fr-selected-cell").css("vertical-align")+'"]').addClass("fr-active").attr("aria-selected",!0)}}),ge.DefineIcon("tableCellHorizontalAlign",{NAME:"align-left",SVG_KEY:"alignLeft"}),ge.DefineIcon("align-left",{NAME:"align-left",SVG_KEY:"alignLeft"}),ge.DefineIcon("align-right",{NAME:"align-right",SVG_KEY:"alignRight"}),ge.DefineIcon("align-center",{NAME:"align-center",SVG_KEY:"alignCenter"}),ge.DefineIcon("align-justify",{NAME:"align-justify",SVG_KEY:"alignJustify"}),ge.RegisterCommand("tableCellHorizontalAlign",{type:"dropdown",focus:!1,title:"Horizontal Align",options:{left:"Align Left",center:"Align Center",right:"Align Right",justify:"Align Justify"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=ge.COMMANDS.tableCellHorizontalAlign.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="tableCellHorizontalAlign" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.icon.create("align-"+l)+'<span class="fr-sr-only">'+this.language.translate(t[l])+"</span></a></li>");return e+="</ul>"},callback:function(e,t){this.table.horizontalAlign(t)},refresh:function(e){var t=this.table.selectedCells(),l=this.$;t.length&&e.find("> *").first().replaceWith(this.icon.create("align-"+this.helpers.getAlignment(l(t[0]))))},refreshOnShow:function(e,t){t.find('.fr-command[data-param1="'+this.helpers.getAlignment(this.$el.find(".fr-selected-cell").first())+'"]').addClass("fr-active").attr("aria-selected",!0)}}),ge.DefineIcon("tableCellStyle",{NAME:"magic",SVG_KEY:"cellStyle"}),ge.RegisterCommand("tableCellStyle",{title:"Cell Style",type:"dropdown",focus:!1,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.tableCellStyles;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellStyle" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(".fr-selected-cell"),this.opts.tableCellMultipleStyles,this.opts.tableCellStyles)},refreshOnShow:function(e,t){var l=this.$,a=this.$el.find(".fr-selected-cell").first();a&&t.find(".fr-command").each(function(){var e=l(this).data("param1"),t=a.hasClass(e);l(this).toggleClass("fr-active",t).attr("aria-selected",t)})}}),ge.RegisterCommand("tableCellBackgroundCustomColor",{title:"OK",undo:!0,callback:function(){this.table.customColor()}}),ge.DefineIcon("tableColorRemove",{NAME:"eraser",SVG_KEY:"remove"})});
|