From a0acd31fcfd99cba19b35bf4e657c1f28be67a24 Mon Sep 17 00:00:00 2001 From: life Date: Tue, 17 Jun 2014 19:46:34 +0800 Subject: [PATCH] tinyce table --- public/css/bootstrap.css | 4 ++++ public/css/editor/editor.css | 5 +++++ public/css/editor/editor.less | 5 +++++ public/tinymce/plugins/table/plugin.js | 2 +- public/tinymce/plugins/table/plugin.min.js | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/public/css/bootstrap.css b/public/css/bootstrap.css index bb87038..c71bbd5 100644 --- a/public/css/bootstrap.css +++ b/public/css/bootstrap.css @@ -7099,4 +7099,8 @@ td.visible-print { /* life */ .btn { border-radius: 0; +} +.mce-item-table, .mce-item-table td, .mce-item-table th, .mce-item-table caption { + border: 1px solid #9B9898; + border-collapse: collapse; } \ No newline at end of file diff --git a/public/css/editor/editor.css b/public/css/editor/editor.css index 891fe61..5085e13 100644 --- a/public/css/editor/editor.css +++ b/public/css/editor/editor.css @@ -10,3 +10,8 @@ html { * { font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; } + +.mce-item-table, .mce-item-table td, .mce-item-table th, .mce-item-table caption { + border: 1px solid #9B9898; + border-collapse: collapse; +} diff --git a/public/css/editor/editor.less b/public/css/editor/editor.less index 5ca52ea..4357c40 100644 --- a/public/css/editor/editor.less +++ b/public/css/editor/editor.less @@ -21,4 +21,9 @@ html { } * { font-family: @fontFamily; +} + +.mce-item-table, .mce-item-table td, .mce-item-table th, .mce-item-table caption { + border: 1px solid #9B9898; + border-collapse: collapse; } \ No newline at end of file diff --git a/public/tinymce/plugins/table/plugin.js b/public/tinymce/plugins/table/plugin.js index 8a0b896..08dd4d4 100644 --- a/public/tinymce/plugins/table/plugin.js +++ b/public/tinymce/plugins/table/plugin.js @@ -1831,7 +1831,7 @@ define("tinymce/tableplugin/Plugin", [ function insertTable(cols, rows) { var y, x, html; - html = ''; + html = '
'; for (y = 0; y < rows; y++) { html += ''; diff --git a/public/tinymce/plugins/table/plugin.min.js b/public/tinymce/plugins/table/plugin.min.js index b805f28..0bad7d0 100644 --- a/public/tinymce/plugins/table/plugin.min.js +++ b/public/tinymce/plugins/table/plugin.min.js @@ -1 +1 @@ -!function(e,t){"use strict";function n(e,t){for(var n,o=[],i=0;i "+t+" tr",r);o(i,function(i,r){r+=e,o(E.select("> td, > th",i),function(e,o){var i,a,l,s;if(_[r])for(;_[r][o];)o++;for(l=n(e,"rowspan"),s=n(e,"colspan"),a=r;r+l>a;a++)for(_[a]||(_[a]=[]),i=o;o+s>i;i++)_[a][i]={part:t,real:a==r&&i==o,elm:e,rowspan:l,colspan:s}})}),e+=i.length})}function l(e,t){return e=e.cloneNode(t),e.removeAttribute("id"),e}function s(e,t){var n;return n=_[t],n?n[e]:void 0}function c(e,t,n){e&&(n=parseInt(n,10),1===n?e.removeAttribute(t,1):e.setAttribute(t,n,1))}function d(e){return e&&(E.hasClass(e.elm,"mce-item-selected")||e==M)}function u(){var e=[];return o(r.rows,function(t){o(t.cells,function(n){return E.hasClass(n,"mce-item-selected")||n==M.elm?(e.push(t),!1):void 0})}),e}function f(){var e=E.createRng();e.setStartAfter(r),e.setEndAfter(r),D.setRng(e),E.remove(r)}function m(n){var r,a={};return i.settings.table_clone_elements!==!1&&(a=e.makeMap((i.settings.table_clone_elements||"strong em b i span font h1 h2 h3 h4 h5 h6 p div").toUpperCase(),/[ ,]/)),e.walk(n,function(e){var i;return 3==e.nodeType?(o(E.getParents(e.parentNode,null,n).reverse(),function(e){a[e.nodeName]&&(e=l(e,!1),r?i&&i.appendChild(e):r=i=e,i=e)}),i&&(i.innerHTML=t.ie?" ":'
'),!1):void 0},"childNodes"),n=l(n,!1),c(n,"rowSpan",1),c(n,"colSpan",1),r?n.appendChild(r):t.ie||(n.innerHTML='
'),n}function p(){var e=E.createRng(),t;return o(E.select("tr",r),function(e){0===e.cells.length&&E.remove(e)}),0===E.select("tr",r).length?(e.setStartBefore(r),e.setEndBefore(r),D.setRng(e),void E.remove(r)):(o(E.select("thead,tbody,tfoot",r),function(e){0===e.rows.length&&E.remove(e)}),a(),t=_[Math.min(_.length-1,B.y)],void(t&&(D.select(t[Math.min(t.length-1,B.x)].elm,!0),D.collapse(!0))))}function g(e,t,n,o){var i,r,a,l,s;for(i=_[t][e].elm.parentNode,a=1;n>=a;a++)if(i=E.getNext(i,"tr")){for(r=e;r>=0;r--)if(s=_[t+a][r].elm,s.parentNode==i){for(l=1;o>=l;l++)E.insertAfter(m(s),s);break}if(-1==r)for(l=1;o>=l;l++)i.insertBefore(m(i.cells[0]),i.cells[0])}}function h(){o(_,function(e,t){o(e,function(e,o){var i,r,a;if(d(e)&&(e=e.elm,i=n(e,"colspan"),r=n(e,"rowspan"),i>1||r>1)){for(c(e,"rowSpan",1),c(e,"colSpan",1),a=0;i-1>a;a++)E.insertAfter(m(e),e);g(o,t,r-1,i)}})})}function b(t,n,i){var r,l,u,f,m,g,b,v,y,w,x;if(t?(r=S(t),l=r.x,u=r.y,f=l+(n-1),m=u+(i-1)):(B=A=null,o(_,function(e,t){o(e,function(e,n){d(e)&&(B||(B={x:n,y:t}),A={x:n,y:t})})}),l=B.x,u=B.y,f=A.x,m=A.y),v=s(l,u),y=s(f,m),v&&y&&v.part==y.part){for(h(),a(),v=s(l,u).elm,c(v,"colSpan",f-l+1),c(v,"rowSpan",m-u+1),b=u;m>=b;b++)for(g=l;f>=g;g++)_[b]&&_[b][g]&&(t=_[b][g].elm,t!=v&&(w=e.grep(t.childNodes),o(w,function(e){v.appendChild(e)}),w.length&&(w=e.grep(v.childNodes),x=0,o(w,function(e){"BR"==e.nodeName&&E.getAttrib(e,"data-mce-bogus")&&x++0&&_[t-1][a]&&(p=_[t-1][a].elm,g=n(p,"rowSpan"),g>1)){c(p,"rowSpan",g+1);continue}}else if(g=n(i,"rowspan"),g>1){c(i,"rowSpan",g+1);continue}f=m(i),c(f,"colSpan",i.colSpan),u.appendChild(f),r=i}u.hasChildNodes()&&(e?s.parentNode.insertBefore(u,s):E.insertAfter(u,s))}function y(e){var t,i;o(_,function(n){return o(n,function(n,o){return d(n)&&(t=o,e)?!1:void 0}),e?!t:void 0}),o(_,function(o,r){var a,l,s;o[t]&&(a=o[t].elm,a!=i&&(s=n(a,"colspan"),l=n(a,"rowspan"),1==s?e?(a.parentNode.insertBefore(m(a),a),g(t,r,l-1,s)):(E.insertAfter(m(a),a),g(t,r,l-1,s)):c(a,"colSpan",a.colSpan+1),i=a))})}function w(){var t=[];o(_,function(i){o(i,function(i,r){d(i)&&-1===e.inArray(t,r)&&(o(_,function(e){var t=e[r].elm,o;o=n(t,"colSpan"),o>1?c(t,"colSpan",o-1):E.remove(t)}),t.push(r))})}),p()}function x(){function e(e){var t,i,r;t=E.getNext(e,"tr"),o(e.cells,function(e){var t=n(e,"rowSpan");t>1&&(c(e,"rowSpan",t-1),i=S(e),g(i.x,i.y,1,1))}),i=S(e.cells[0]),o(_[i.y],function(e){var t;e=e.elm,e!=r&&(t=n(e,"rowSpan"),1>=t?E.remove(e):c(e,"rowSpan",t-1),r=e)})}var t;t=u(),o(t.reverse(),function(t){e(t)}),p()}function C(){var e=u();return E.remove(e),p(),e}function P(){var e=u();return o(e,function(t,n){e[n]=l(t,!0)}),e}function T(e,t){var n=u(),i=n[t?0:n.length-1],r=i.cells.length;e&&(o(_,function(e){var t;return r=0,o(e,function(e){e.real&&(r+=e.colspan),e.elm.parentNode==i&&(t=1)}),t?!1:void 0}),t||e.reverse(),o(e,function(e){var n,o=e.cells.length,a;for(n=0;o>n;n++)a=e.cells[n],c(a,"colSpan",1),c(a,"rowSpan",1);for(n=o;r>n;n++)e.appendChild(m(e.cells[o-1]));for(n=r;o>n;n++)E.remove(e.cells[n]);t?i.parentNode.insertBefore(e,i):E.insertAfter(e,i)}),E.removeClass(E.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"))}function S(e){var t;return o(_,function(n,i){return o(n,function(n,o){return n.elm==e?(t={x:o,y:i},!1):void 0}),!t}),t}function R(e){B=S(e)}function N(){var e,t;return e=t=0,o(_,function(n,i){o(n,function(n,o){var r,a;d(n)&&(n=_[i][o],o>e&&(e=o),i>t&&(t=i),n.real&&(r=n.colspan-1,a=n.rowspan-1,r&&o+r>e&&(e=o+r),a&&i+a>t&&(t=i+a)))})}),{x:e,y:t}}function k(e){var t,n,o,i,r,a,l,s,c,d;if(A=S(e),B&&A){for(t=Math.min(B.x,A.x),n=Math.min(B.y,A.y),o=Math.max(B.x,A.x),i=Math.max(B.y,A.y),r=o,a=i,d=n;a>=d;d++)e=_[d][t],e.real||t-(e.colspan-1)=c;c++)e=_[n][c],e.real||n-(e.rowspan-1)=d;d++)for(c=t;o>=c;c++)e=_[d][c],e.real&&(l=e.colspan-1,s=e.rowspan-1,l&&c+l>r&&(r=c+l),s&&d+s>a&&(a=d+s));for(E.removeClass(E.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"),d=n;a>=d;d++)for(c=t;r>=c;c++)_[d][c]&&E.addClass(_[d][c].elm,"mce-item-selected")}}var _,B,A,M,D=i.selection,E=D.dom;r=r||E.getParent(D.getStart(),"table"),a(),M=E.getParent(D.getStart(),"th,td"),M&&(B=S(M),A=N(),M=s(B.x,B.y)),e.extend(this,{deleteTable:f,split:h,merge:b,insertRow:v,insertCol:y,deleteCols:w,deleteRows:x,cutRows:C,copyRows:P,pasteRows:T,getPos:S,setStartCell:R,setEndCell:k})}}),o(u,[f,d,c],function(e,t,n){function o(e,t){return parseInt(e.getAttribute(t)||1,10)}var i=n.each;return function(n){function r(){function t(t){function r(e,o){var i=e?"previousSibling":"nextSibling",r=n.dom.getParent(o,"tr"),l=r[i];if(l)return h(n,o,l,e),t.preventDefault(),!0;var d=n.dom.getParent(r,"table"),u=r.parentNode,f=u.nodeName.toLowerCase();if("tbody"===f||f===(e?"tfoot":"thead")){var m=a(e,d,u,"tbody");if(null!==m)return s(e,m,o)}return c(e,r,i,d)}function a(e,t,o,i){var r=n.dom.select(">"+i,t),a=r.indexOf(o);if(e&&0===a||!e&&a===r.length-1)return l(e,t);if(-1===a){var s="thead"===o.tagName.toLowerCase()?0:r.length-1;return r[s]}return r[a+(e?-1:1)]}function l(e,t){var o=e?"thead":"tfoot",i=n.dom.select(">"+o,t);return 0!==i.length?i[0]:null}function s(e,o,i){var r=d(o,e);return r&&h(n,i,r,e),t.preventDefault(),!0}function c(e,o,i,a){var l=a[i];if(l)return u(l),!0;var s=n.dom.getParent(a,"td,th");if(s)return r(e,s,t);var c=d(o,!e);return u(c),t.preventDefault(),!1}function d(e,t){var o=e&&e[t?"lastChild":"firstChild"];return o&&"BR"===o.nodeName?n.dom.getParent(o,"td,th"):o}function u(e){n.selection.setCursorLocation(e,0)}function f(){return y==e.UP||y==e.DOWN}function m(e){var t=e.selection.getNode(),n=e.dom.getParent(t,"tr");return null!==n}function p(e){for(var t=0,n=e;n.previousSibling;)n=n.previousSibling,t+=o(n,"colspan");return t}function g(e,t){var n=0,r=0;return i(e.children,function(e,i){return n+=o(e,"colspan"),r=i,n>t?!1:void 0}),r}function h(e,t,o,i){var r=p(n.dom.getParent(t,"td,th")),a=g(o,r),l=o.childNodes[a],s=d(l,i);u(s||l)}function b(e){var t=n.selection.getNode(),o=n.dom.getParent(t,"td,th"),i=n.dom.getParent(e,"td,th");return o&&o!==i&&v(o,i)}function v(e,t){return n.dom.getParent(e,"TABLE")===n.dom.getParent(t,"TABLE")}var y=t.keyCode;if(f()&&m(n)){var w=n.selection.getNode();setTimeout(function(){b(w)&&r(!t.shiftKey&&y===e.UP,w,t)},0)}}n.on("KeyDown",function(e){t(e)})}function a(){function e(e,t){var n=t.ownerDocument,o=n.createRange(),i;return o.setStartBefore(t),o.setEnd(e.endContainer,e.endOffset),i=n.createElement("body"),i.appendChild(o.cloneContents()),0===i.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length}n.on("KeyDown",function(t){var o,i,r=n.dom;(37==t.keyCode||38==t.keyCode)&&(o=n.selection.getRng(),i=r.getParent(o.startContainer,"table"),i&&n.getBody().firstChild==i&&e(o,i)&&(o=r.createRng(),o.setStartBefore(i),o.setEndBefore(i),n.selection.setRng(o),t.preventDefault()))})}function l(){n.on("KeyDown SetContent VisualAid",function(){var e;for(e=n.getBody().lastChild;e;e=e.previousSibling)if(3==e.nodeType){if(e.nodeValue.length>0)break}else if(1==e.nodeType&&!e.getAttribute("data-mce-bogus"))break;e&&"TABLE"==e.nodeName&&(n.settings.forced_root_block?n.dom.add(n.getBody(),n.settings.forced_root_block,n.settings.forced_root_block_attrs,t.ie&&t.ie<11?" ":'
'):n.dom.add(n.getBody(),"br",{"data-mce-bogus":"1"}))}),n.on("PreProcess",function(e){var t=e.node.lastChild;t&&("BR"==t.nodeName||1==t.childNodes.length&&("BR"==t.firstChild.nodeName||"\xa0"==t.firstChild.nodeValue))&&t.previousSibling&&"TABLE"==t.previousSibling.nodeName&&n.dom.remove(t)})}function s(){function e(e,t,n,o){var i=3,r=e.dom.getParent(t.startContainer,"TABLE"),a,l,s;return r&&(a=r.parentNode),l=t.startContainer.nodeType==i&&0===t.startOffset&&0===t.endOffset&&o&&("TR"==n.nodeName||n==a),s=("TD"==n.nodeName||"TH"==n.nodeName)&&!o,l||s}function t(){var t=n.selection.getRng(),o=n.selection.getNode(),i=n.dom.getParent(t.startContainer,"TD,TH");if(e(n,t,o,i)){i||(i=o);for(var r=i.lastChild;r.lastChild;)r=r.lastChild;t.setEnd(r,r.nodeValue.length),n.selection.setRng(t)}}n.on("KeyDown",function(){t()}),n.on("MouseDown",function(e){2!=e.button&&t()})}t.webkit&&(r(),s()),t.gecko&&(a(),l()),t.ie>10&&(a(),l())}}),o(m,[s,p,c],function(e,t,n){return function(o){function i(){o.getBody().style.webkitUserSelect="",d&&(o.dom.removeClass(o.dom.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"),d=!1)}function r(t){var n,i,r=t.target;if(s&&(l||r!=s)&&("TD"==r.nodeName||"TH"==r.nodeName)){i=a.getParent(r,"table"),i==c&&(l||(l=new e(o,i),l.setStartCell(s),o.getBody().style.webkitUserSelect="none"),l.setEndCell(r),d=!0),n=o.selection.getSel();try{n.removeAllRanges?n.removeAllRanges():n.empty()}catch(u){}t.preventDefault()}}var a=o.dom,l,s,c,d=!0;return o.on("MouseDown",function(e){2!=e.button&&(i(),s=a.getParent(e.target,"td,th"),c=a.getParent(s,"table"))}),a.bind(o.getDoc(),"mouseover",r),o.on("remove",function(){a.unbind(o.getDoc(),"mouseover",r)}),o.on("MouseUp",function(){function e(e,o){var r=new t(e,e);do{if(3==e.nodeType&&0!==n.trim(e.nodeValue).length)return void(o?i.setStart(e,0):i.setEnd(e,e.nodeValue.length));if("BR"==e.nodeName)return void(o?i.setStartBefore(e):i.setEndBefore(e))}while(e=o?r.next():r.prev())}var i,r=o.selection,d,u,f,m,p;if(s){if(l&&(o.getBody().style.webkitUserSelect=""),d=a.select("td.mce-item-selected,th.mce-item-selected"),d.length>0){i=a.createRng(),f=d[0],p=d[d.length-1],i.setStartBefore(f),i.setEndAfter(f),e(f,1),u=new t(f,a.getParent(d[0],"table"));do if("TD"==f.nodeName||"TH"==f.nodeName){if(!a.hasClass(f,"mce-item-selected"))break;m=f}while(f=u.next());e(m),r.setRng(i)}o.nodeChanged(),s=l=c=null}}),o.on("KeyUp",function(){i()}),{clear:i}}}),o(g,[s,u,m,c,p,d,h],function(e,t,n,o,i,r,a){function l(o){function i(e){return e?e.replace(/px$/,""):""}function a(e){return/^[0-9]+$/.test(e)&&(e+="px"),e}function l(e){s("left center right".split(" "),function(t){o.formatter.remove("align"+t,{},e)})}function c(){var e=o.dom,t,n,c;t=o.dom.getParent(o.selection.getStart(),"table"),c=!1,n={width:i(e.getStyle(t,"width")||e.getAttrib(t,"width")),height:i(e.getStyle(t,"height")||e.getAttrib(t,"height")),cellspacing:e.getAttrib(t,"cellspacing"),cellpadding:e.getAttrib(t,"cellpadding"),border:e.getAttrib(t,"border"),caption:!!e.select("caption",t)[0]},s("left center right".split(" "),function(e){o.formatter.matchNode(t,"align"+e)&&(n.align=e)}),o.windowManager.open({title:"Table properties",items:{type:"form",layout:"grid",columns:2,data:n,defaults:{type:"textbox",maxWidth:50},items:[c?{label:"Cols",name:"cols",disabled:!0}:null,c?{label:"Rows",name:"rows",disabled:!0}:null,{label:"Width",name:"width"},{label:"Height",name:"height"},{label:"Cell spacing",name:"cellspacing"},{label:"Cell padding",name:"cellpadding"},{label:"Border",name:"border"},{label:"Caption",name:"caption",type:"checkbox"},{label:"Alignment",minWidth:90,name:"align",type:"listbox",text:"None",maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]}]},onsubmit:function(){var n=this.toJSON(),i;o.undoManager.transact(function(){o.dom.setAttribs(t,{cellspacing:n.cellspacing,cellpadding:n.cellpadding,border:n.border}),o.dom.setStyles(t,{width:a(n.width),height:a(n.height)}),i=e.select("caption",t)[0],i&&!n.caption&&e.remove(i),!i&&n.caption&&(i=e.create("caption"),r.ie||(i.innerHTML='
'),t.insertBefore(i,t.firstChild)),l(t),n.align&&o.formatter.apply("align"+n.align,{},t),o.focus(),o.addVisual()})}})}function d(e,t){o.windowManager.open({title:"Merge cells",body:[{label:"Cols",name:"cols",type:"textbox",size:10},{label:"Rows",name:"rows",type:"textbox",size:10}],onsubmit:function(){var n=this.toJSON();o.undoManager.transact(function(){e.merge(t,n.cols,n.rows)})}})}function u(){var e=o.dom,t,n,r=[];r=o.dom.select("td.mce-item-selected,th.mce-item-selected"),t=o.dom.getParent(o.selection.getStart(),"td,th"),!r.length&&t&&r.push(t),t=t||r[0],n={width:i(e.getStyle(t,"width")||e.getAttrib(t,"width")),height:i(e.getStyle(t,"height")||e.getAttrib(t,"height")),scope:e.getAttrib(t,"scope")},n.type=t.nodeName.toLowerCase(),s("left center right".split(" "),function(e){o.formatter.matchNode(t,"align"+e)&&(n.align=e)}),o.windowManager.open({title:"Cell properties",items:{type:"form",data:n,layout:"grid",columns:2,defaults:{type:"textbox",maxWidth:50},items:[{label:"Width",name:"width"},{label:"Height",name:"height"},{label:"Cell type",name:"type",type:"listbox",text:"None",minWidth:90,maxWidth:null,menu:[{text:"Cell",value:"td"},{text:"Header cell",value:"th"}]},{label:"Scope",name:"scope",type:"listbox",text:"None",minWidth:90,maxWidth:null,menu:[{text:"None",value:""},{text:"Row",value:"row"},{text:"Column",value:"col"},{text:"Row group",value:"rowgroup"},{text:"Column group",value:"colgroup"}]},{label:"Alignment",name:"align",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]}]},onsubmit:function(){var t=this.toJSON();o.undoManager.transact(function(){s(r,function(n){o.dom.setAttrib(n,"scope",t.scope),o.dom.setStyles(n,{width:a(t.width),height:a(t.height)}),t.type&&n.nodeName.toLowerCase()!=t.type&&(n=e.rename(n,t.type)),l(n),t.align&&o.formatter.apply("align"+t.align,{},n)}),o.focus()})}})}function f(){var e=o.dom,t,n,r,c,d=[];t=o.dom.getParent(o.selection.getStart(),"table"),n=o.dom.getParent(o.selection.getStart(),"td,th"),s(t.rows,function(t){s(t.cells,function(o){return e.hasClass(o,"mce-item-selected")||o==n?(d.push(t),!1):void 0})}),r=d[0],c={height:i(e.getStyle(r,"height")||e.getAttrib(r,"height")),scope:e.getAttrib(r,"scope")},c.type=r.parentNode.nodeName.toLowerCase(),s("left center right".split(" "),function(e){o.formatter.matchNode(r,"align"+e)&&(c.align=e)}),o.windowManager.open({title:"Row properties",items:{type:"form",data:c,columns:2,defaults:{type:"textbox"},items:[{type:"listbox",name:"type",label:"Row type",text:"None",maxWidth:null,menu:[{text:"Header",value:"thead"},{text:"Body",value:"tbody"},{text:"Footer",value:"tfoot"}]},{type:"listbox",name:"align",label:"Alignment",text:"None",maxWidth:null,menu:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"Height",name:"height"}]},onsubmit:function(){var t=this.toJSON(),n,i,r;o.undoManager.transact(function(){var c=t.type;s(d,function(s){o.dom.setAttrib(s,"scope",t.scope),o.dom.setStyles(s,{height:a(t.height)}),c!=s.parentNode.nodeName.toLowerCase()&&(n=e.getParent(s,"table"),i=s.parentNode,r=e.select(c,n)[0],r||(r=e.create(c),n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r)),r.appendChild(s),i.hasChildNodes()||e.remove(i)),l(s),t.align&&o.formatter.apply("align"+t.align,{},s)}),o.focus()})}})}function m(e){return function(){o.execCommand(e)}}function p(e,t){var n,i,a;for(a="
",n=0;t>n;n++){for(a+="",i=0;e>i;i++)a+="";a+=""}a+="
"+(r.ie?" ":"
")+"
",o.insertContent(a)}function g(e,t){function n(){e.disabled(!o.dom.getParent(o.selection.getStart(),t)),o.selection.selectorChanged(t,function(t){e.disabled(!t)})}o.initialized?n():o.on("init",n)}function h(){g(this,"table")}function b(){g(this,"td,th")}function v(){var e="";e='';for(var t=0;10>t;t++){e+="";for(var n=0;10>n;n++)e+='';e+=""}return e+="",e+='
0 x 0
'}var y,w,x=this;o.addMenuItem("inserttable",{text:"Insert table",icon:"table",context:"table",onhide:function(){o.dom.removeClass(this.menu.items()[0].getEl().getElementsByTagName("a"),"mce-active")},menu:[{type:"container",html:v(),onmousemove:function(e){var t,n,i=e.target;if("A"==i.nodeName){var r=o.dom.getParent(i,"table"),a=i.getAttribute("data-mce-index"),l=e.control.parent().rel;if(a!=this.lastPos){if(a=a.split(","),a[0]=parseInt(a[0],10),a[1]=parseInt(a[1],10),e.control.isRtl()||"tl-tr"==l){for(n=9;n>=0;n--)for(t=0;10>t;t++)o.dom.toggleClass(r.rows[n].childNodes[t].firstChild,"mce-active",t>=a[0]&&n<=a[1]);a[0]=9-a[0],r.nextSibling.innerHTML=a[0]+" x "+(a[1]+1)}else{for(n=0;10>n;n++)for(t=0;10>t;t++)o.dom.toggleClass(r.rows[n].childNodes[t].firstChild,"mce-active",t<=a[0]&&n<=a[1]);r.nextSibling.innerHTML=a[0]+1+" x "+(a[1]+1)}this.lastPos=a}}},onclick:function(e){"A"==e.target.nodeName&&this.lastPos&&(e.preventDefault(),p(this.lastPos[0]+1,this.lastPos[1]+1),this.parent().cancel())}}]}),o.addMenuItem("tableprops",{text:"Table properties",context:"table",onPostRender:h,onclick:c}),o.addMenuItem("deletetable",{text:"Delete table",context:"table",onPostRender:h,cmd:"mceTableDelete"}),o.addMenuItem("cell",{separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:m("mceTableCellProps"),onPostRender:b},{text:"Merge cells",onclick:m("mceTableMergeCells"),onPostRender:b},{text:"Split cell",onclick:m("mceTableSplitCells"),onPostRender:b}]}),o.addMenuItem("row",{text:"Row",context:"table",menu:[{text:"Insert row before",onclick:m("mceTableInsertRowBefore"),onPostRender:b},{text:"Insert row after",onclick:m("mceTableInsertRowAfter"),onPostRender:b},{text:"Delete row",onclick:m("mceTableDeleteRow"),onPostRender:b},{text:"Row properties",onclick:m("mceTableRowProps"),onPostRender:b},{text:"-"},{text:"Cut row",onclick:m("mceTableCutRow"),onPostRender:b},{text:"Copy row",onclick:m("mceTableCopyRow"),onPostRender:b},{text:"Paste row before",onclick:m("mceTablePasteRowBefore"),onPostRender:b},{text:"Paste row after",onclick:m("mceTablePasteRowAfter"),onPostRender:b}]}),o.addMenuItem("column",{text:"Column",context:"table",menu:[{text:"Insert column before",onclick:m("mceTableInsertColBefore"),onPostRender:b},{text:"Insert column after",onclick:m("mceTableInsertColAfter"),onPostRender:b},{text:"Delete column",onclick:m("mceTableDeleteCol"),onPostRender:b}]});var C=[];s("inserttable tableprops deletetable | cell row column".split(" "),function(e){C.push("|"==e?{text:"-"}:o.menuItems[e])}),o.addButton("table",{type:"menubutton",title:"Table",menu:C}),r.isIE||o.on("click",function(e){e=e.target,"TABLE"===e.nodeName&&(o.selection.select(e),o.nodeChanged())}),x.quirks=new t(o),o.on("Init",function(){y=o.windowManager,x.cellSelection=new n(o)}),s({mceTableSplitCells:function(e){e.split()},mceTableMergeCells:function(e){var t,n,i;i=o.dom.getParent(o.selection.getStart(),"th,td"),i&&(t=i.rowSpan,n=i.colSpan),o.dom.select("td.mce-item-selected,th.mce-item-selected").length?e.merge():d(e,i)},mceTableInsertRowBefore:function(e){e.insertRow(!0)},mceTableInsertRowAfter:function(e){e.insertRow()},mceTableInsertColBefore:function(e){e.insertCol(!0)},mceTableInsertColAfter:function(e){e.insertCol()},mceTableDeleteCol:function(e){e.deleteCols()},mceTableDeleteRow:function(e){e.deleteRows()},mceTableCutRow:function(e){w=e.cutRows()},mceTableCopyRow:function(e){w=e.copyRows()},mceTablePasteRowBefore:function(e){e.pasteRows(w,!0)},mceTablePasteRowAfter:function(e){e.pasteRows(w)},mceTableDelete:function(e){e.deleteTable()}},function(t,n){o.addCommand(n,function(){var n=new e(o);n&&(t(n),o.execCommand("mceRepaint"),x.cellSelection.clear())})}),s({mceInsertTable:function(){c()},mceTableRowProps:f,mceTableCellProps:u},function(e,t){o.addCommand(t,function(t,n){e(n)})})}var s=o.each;a.add("table",l)}),a([s,u,m,g])}(this); \ No newline at end of file +!function(e,t){"use strict";function n(e,t){for(var n,o=[],i=0;i "+t+" tr",i);o(r,function(r,i){i+=e,o(E.select("> td, > th",r),function(e,o){var r,l,a,c;if(B[i])for(;B[i][o];)o++;for(a=n(e,"rowspan"),c=n(e,"colspan"),l=i;i+a>l;l++)for(B[l]||(B[l]=[]),r=o;o+c>r;r++)B[l][r]={part:t,real:l==i&&r==o,elm:e,rowspan:a,colspan:c}})}),e+=r.length})}function a(e,t){return e=e.cloneNode(t),e.removeAttribute("id"),e}function c(e,t){var n;return n=B[t],n?n[e]:void 0}function s(e,t,n){e&&(n=parseInt(n,10),1===n?e.removeAttribute(t,1):e.setAttribute(t,n,1))}function d(e){return e&&(E.hasClass(e.elm,"mce-item-selected")||e==D)}function u(){var e=[];return o(i.rows,function(t){o(t.cells,function(n){return E.hasClass(n,"mce-item-selected")||n==D.elm?(e.push(t),!1):void 0})}),e}function m(){var e=E.createRng();e.setStartAfter(i),e.setEndAfter(i),I.setRng(e),E.remove(i)}function f(n){var i,l={};return r.settings.table_clone_elements!==!1&&(l=e.makeMap((r.settings.table_clone_elements||"strong em b i span font h1 h2 h3 h4 h5 h6 p div").toUpperCase(),/[ ,]/)),e.walk(n,function(e){var r;return 3==e.nodeType?(o(E.getParents(e.parentNode,null,n).reverse(),function(e){l[e.nodeName]&&(e=a(e,!1),i?r&&r.appendChild(e):i=r=e,r=e)}),r&&(r.innerHTML=t.ie?" ":'
'),!1):void 0},"childNodes"),n=a(n,!1),s(n,"rowSpan",1),s(n,"colSpan",1),i?n.appendChild(i):t.ie||(n.innerHTML='
'),n}function g(){var e,t=E.createRng();return o(E.select("tr",i),function(e){0===e.cells.length&&E.remove(e)}),0===E.select("tr",i).length?(t.setStartBefore(i),t.setEndBefore(i),I.setRng(t),void E.remove(i)):(o(E.select("thead,tbody,tfoot",i),function(e){0===e.rows.length&&E.remove(e)}),l(),e=B[Math.min(B.length-1,k.y)],void(e&&(I.select(e[Math.min(e.length-1,k.x)].elm,!0),I.collapse(!0))))}function p(e,t,n,o){var r,i,l,a,c;for(r=B[t][e].elm.parentNode,l=1;n>=l;l++)if(r=E.getNext(r,"tr")){for(i=e;i>=0;i--)if(c=B[t+l][i].elm,c.parentNode==r){for(a=1;o>=a;a++)E.insertAfter(f(c),c);break}if(-1==i)for(a=1;o>=a;a++)r.insertBefore(f(r.cells[0]),r.cells[0])}}function h(){o(B,function(e,t){o(e,function(e,o){var r,i,l;if(d(e)&&(e=e.elm,r=n(e,"colspan"),i=n(e,"rowspan"),r>1||i>1)){for(s(e,"rowSpan",1),s(e,"colSpan",1),l=0;r-1>l;l++)E.insertAfter(f(e),e);p(o,t,i-1,r)}})})}function b(t,n,r){var i,a,u,m,f,p,b,v,w,y,x;if(t?(i=T(t),a=i.x,u=i.y,m=a+(n-1),f=u+(r-1)):(k=M=null,o(B,function(e,t){o(e,function(e,n){d(e)&&(k||(k={x:n,y:t}),M={x:n,y:t})})}),a=k.x,u=k.y,m=M.x,f=M.y),v=c(a,u),w=c(m,f),v&&w&&v.part==w.part){for(h(),l(),v=c(a,u).elm,s(v,"colSpan",m-a+1),s(v,"rowSpan",f-u+1),b=u;f>=b;b++)for(p=a;m>=p;p++)B[b]&&B[b][p]&&(t=B[b][p].elm,t!=v&&(y=e.grep(t.childNodes),o(y,function(e){v.appendChild(e)}),y.length&&(y=e.grep(v.childNodes),x=0,o(y,function(e){"BR"==e.nodeName&&E.getAttrib(e,"data-mce-bogus")&&x++0&&B[t-1][l]&&(g=B[t-1][l].elm,p=n(g,"rowSpan"),p>1)){s(g,"rowSpan",p+1);continue}}else if(p=n(r,"rowspan"),p>1){s(r,"rowSpan",p+1);continue}m=f(r),s(m,"colSpan",r.colSpan),u.appendChild(m),i=r}u.hasChildNodes()&&(e?c.parentNode.insertBefore(u,c):E.insertAfter(u,c))}function w(e){var t,r;o(B,function(n){return o(n,function(n,o){return d(n)&&(t=o,e)?!1:void 0}),e?!t:void 0}),o(B,function(o,i){var l,a,c;o[t]&&(l=o[t].elm,l!=r&&(c=n(l,"colspan"),a=n(l,"rowspan"),1==c?e?(l.parentNode.insertBefore(f(l),l),p(t,i,a-1,c)):(E.insertAfter(f(l),l),p(t,i,a-1,c)):s(l,"colSpan",l.colSpan+1),r=l))})}function y(){var t=[];o(B,function(r){o(r,function(r,i){d(r)&&-1===e.inArray(t,i)&&(o(B,function(e){var t,o=e[i].elm;t=n(o,"colSpan"),t>1?s(o,"colSpan",t-1):E.remove(o)}),t.push(i))})}),g()}function x(){function e(e){var t,r,i;t=E.getNext(e,"tr"),o(e.cells,function(e){var t=n(e,"rowSpan");t>1&&(s(e,"rowSpan",t-1),r=T(e),p(r.x,r.y,1,1))}),r=T(e.cells[0]),o(B[r.y],function(e){var t;e=e.elm,e!=i&&(t=n(e,"rowSpan"),1>=t?E.remove(e):s(e,"rowSpan",t-1),i=e)})}var t;t=u(),o(t.reverse(),function(t){e(t)}),g()}function C(){var e=u();return E.remove(e),g(),e}function R(){var e=u();return o(e,function(t,n){e[n]=a(t,!0)}),e}function S(e,t){var n=u(),r=n[t?0:n.length-1],i=r.cells.length;e&&(o(B,function(e){var t;return i=0,o(e,function(e){e.real&&(i+=e.colspan),e.elm.parentNode==r&&(t=1)}),t?!1:void 0}),t||e.reverse(),o(e,function(e){var n,o,l=e.cells.length;for(n=0;l>n;n++)o=e.cells[n],s(o,"colSpan",1),s(o,"rowSpan",1);for(n=l;i>n;n++)e.appendChild(f(e.cells[l-1]));for(n=i;l>n;n++)E.remove(e.cells[n]);t?r.parentNode.insertBefore(e,r):E.insertAfter(e,r)}),E.removeClass(E.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"))}function T(e){var t;return o(B,function(n,r){return o(n,function(n,o){return n.elm==e?(t={x:o,y:r},!1):void 0}),!t}),t}function N(e){k=T(e)}function P(){var e,t;return e=t=0,o(B,function(n,r){o(n,function(n,o){var i,l;d(n)&&(n=B[r][o],o>e&&(e=o),r>t&&(t=r),n.real&&(i=n.colspan-1,l=n.rowspan-1,i&&o+i>e&&(e=o+i),l&&r+l>t&&(t=r+l)))})}),{x:e,y:t}}function A(e){var t,n,o,r,i,l,a,c,s,d;if(M=T(e),k&&M){for(t=Math.min(k.x,M.x),n=Math.min(k.y,M.y),o=Math.max(k.x,M.x),r=Math.max(k.y,M.y),i=o,l=r,d=n;l>=d;d++)e=B[d][t],e.real||t-(e.colspan-1)=s;s++)e=B[n][s],e.real||n-(e.rowspan-1)=d;d++)for(s=t;o>=s;s++)e=B[d][s],e.real&&(a=e.colspan-1,c=e.rowspan-1,a&&s+a>i&&(i=s+a),c&&d+c>l&&(l=d+c));for(E.removeClass(E.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"),d=n;l>=d;d++)for(s=t;i>=s;s++)B[d][s]&&E.addClass(B[d][s].elm,"mce-item-selected")}}var B,k,M,D,I=r.selection,E=I.dom;i=i||E.getParent(I.getStart(),"table"),l(),D=E.getParent(I.getStart(),"th,td"),D&&(k=T(D),M=P(),D=c(k.x,k.y)),e.extend(this,{deleteTable:m,split:h,merge:b,insertRow:v,insertCol:w,deleteCols:y,deleteRows:x,cutRows:C,copyRows:R,pasteRows:S,getPos:T,setStartCell:N,setEndCell:A})}}),o("tinymce/tableplugin/Quirks",["tinymce/util/VK","tinymce/Env","tinymce/util/Tools"],function(e,t,n){function o(e,t){return parseInt(e.getAttribute(t)||1,10)}var r=n.each;return function(n){function i(){function t(t){function i(e,o){var r=e?"previousSibling":"nextSibling",i=n.dom.getParent(o,"tr"),a=i[r];if(a)return h(n,o,a,e),t.preventDefault(),!0;var d=n.dom.getParent(i,"table"),u=i.parentNode,m=u.nodeName.toLowerCase();if("tbody"===m||m===(e?"tfoot":"thead")){var f=l(e,d,u,"tbody");if(null!==f)return c(e,f,o)}return s(e,i,r,d)}function l(e,t,o,r){var i=n.dom.select(">"+r,t),l=i.indexOf(o);if(e&&0===l||!e&&l===i.length-1)return a(e,t);if(-1===l){var c="thead"===o.tagName.toLowerCase()?0:i.length-1;return i[c]}return i[l+(e?-1:1)]}function a(e,t){var o=e?"thead":"tfoot",r=n.dom.select(">"+o,t);return 0!==r.length?r[0]:null}function c(e,o,r){var i=d(o,e);return i&&h(n,r,i,e),t.preventDefault(),!0}function s(e,o,r,l){var a=l[r];if(a)return u(a),!0;var c=n.dom.getParent(l,"td,th");if(c)return i(e,c,t);var s=d(o,!e);return u(s),t.preventDefault(),!1}function d(e,t){var o=e&&e[t?"lastChild":"firstChild"];return o&&"BR"===o.nodeName?n.dom.getParent(o,"td,th"):o}function u(e){n.selection.setCursorLocation(e,0)}function m(){return w==e.UP||w==e.DOWN}function f(e){var t=e.selection.getNode(),n=e.dom.getParent(t,"tr");return null!==n}function g(e){for(var t=0,n=e;n.previousSibling;)n=n.previousSibling,t+=o(n,"colspan");return t}function p(e,t){var n=0,i=0;return r(e.children,function(e,r){return n+=o(e,"colspan"),i=r,n>t?!1:void 0}),i}function h(e,t,o,r){var i=g(n.dom.getParent(t,"td,th")),l=p(o,i),a=o.childNodes[l],c=d(a,r);u(c||a)}function b(e){var t=n.selection.getNode(),o=n.dom.getParent(t,"td,th"),r=n.dom.getParent(e,"td,th");return o&&o!==r&&v(o,r)}function v(e,t){return n.dom.getParent(e,"TABLE")===n.dom.getParent(t,"TABLE")}var w=t.keyCode;if(m()&&f(n)){var y=n.selection.getNode();setTimeout(function(){b(y)&&i(!t.shiftKey&&w===e.UP,y,t)},0)}}n.on("KeyDown",function(e){t(e)})}function l(){function e(e,t){var n,o=t.ownerDocument,r=o.createRange();return r.setStartBefore(t),r.setEnd(e.endContainer,e.endOffset),n=o.createElement("body"),n.appendChild(r.cloneContents()),0===n.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length}n.on("KeyDown",function(t){var o,r,i=n.dom;(37==t.keyCode||38==t.keyCode)&&(o=n.selection.getRng(),r=i.getParent(o.startContainer,"table"),r&&n.getBody().firstChild==r&&e(o,r)&&(o=i.createRng(),o.setStartBefore(r),o.setEndBefore(r),n.selection.setRng(o),t.preventDefault()))})}function a(){n.on("KeyDown SetContent VisualAid",function(){var e;for(e=n.getBody().lastChild;e;e=e.previousSibling)if(3==e.nodeType){if(e.nodeValue.length>0)break}else if(1==e.nodeType&&!e.getAttribute("data-mce-bogus"))break;e&&"TABLE"==e.nodeName&&(n.settings.forced_root_block?n.dom.add(n.getBody(),n.settings.forced_root_block,n.settings.forced_root_block_attrs,t.ie&&t.ie<11?" ":'
'):n.dom.add(n.getBody(),"br",{"data-mce-bogus":"1"}))}),n.on("PreProcess",function(e){var t=e.node.lastChild;t&&("BR"==t.nodeName||1==t.childNodes.length&&("BR"==t.firstChild.nodeName||" "==t.firstChild.nodeValue))&&t.previousSibling&&"TABLE"==t.previousSibling.nodeName&&n.dom.remove(t)})}function c(){function e(e,t,n,o){var r,i,l,a=3,c=e.dom.getParent(t.startContainer,"TABLE");return c&&(r=c.parentNode),i=t.startContainer.nodeType==a&&0===t.startOffset&&0===t.endOffset&&o&&("TR"==n.nodeName||n==r),l=("TD"==n.nodeName||"TH"==n.nodeName)&&!o,i||l}function t(){var t=n.selection.getRng(),o=n.selection.getNode(),r=n.dom.getParent(t.startContainer,"TD,TH");if(e(n,t,o,r)){r||(r=o);for(var i=r.lastChild;i.lastChild;)i=i.lastChild;t.setEnd(i,i.nodeValue.length),n.selection.setRng(t)}}n.on("KeyDown",function(){t()}),n.on("MouseDown",function(e){2!=e.button&&t()})}t.webkit&&(i(),c()),t.gecko&&(l(),a()),t.ie>10&&(l(),a())}}),o("tinymce/tableplugin/CellSelection",["tinymce/tableplugin/TableGrid","tinymce/dom/TreeWalker","tinymce/util/Tools"],function(e,t,n){return function(o){function r(){o.getBody().style.webkitUserSelect="",d&&(o.dom.removeClass(o.dom.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"),d=!1)}function i(t){var n,r,i=t.target;if(a&&(l||i!=a)&&("TD"==i.nodeName||"TH"==i.nodeName)){r=s.getParent(i,"table"),r==c&&(l||(l=new e(o,r),l.setStartCell(a),o.getBody().style.webkitUserSelect="none"),l.setEndCell(i),d=!0),n=o.selection.getSel();try{n.removeAllRanges?n.removeAllRanges():n.empty()}catch(u){}t.preventDefault()}}var l,a,c,s=o.dom,d=!0;return o.on("MouseDown",function(e){2!=e.button&&(r(),a=s.getParent(e.target,"td,th"),c=s.getParent(a,"table"))}),s.bind(o.getDoc(),"mouseover",i),o.on("remove",function(){s.unbind(o.getDoc(),"mouseover",i)}),o.on("MouseUp",function(){function e(e,o){var i=new t(e,e);do{if(3==e.nodeType&&0!==n.trim(e.nodeValue).length)return void(o?r.setStart(e,0):r.setEnd(e,e.nodeValue.length));if("BR"==e.nodeName)return void(o?r.setStartBefore(e):r.setEndBefore(e))}while(e=o?i.next():i.prev())}var r,i,d,u,m,f,g=o.selection;if(a){if(l&&(o.getBody().style.webkitUserSelect=""),i=s.select("td.mce-item-selected,th.mce-item-selected"),i.length>0){r=s.createRng(),u=i[0],f=i[i.length-1],r.setStartBefore(u),r.setEndAfter(u),e(u,1),d=new t(u,s.getParent(i[0],"table"));do if("TD"==u.nodeName||"TH"==u.nodeName){if(!s.hasClass(u,"mce-item-selected"))break;m=u}while(u=d.next());e(m),g.setRng(r)}o.nodeChanged(),a=l=c=null}}),o.on("KeyUp",function(){r()}),{clear:r}}}),o("tinymce/tableplugin/Plugin",["tinymce/tableplugin/TableGrid","tinymce/tableplugin/Quirks","tinymce/tableplugin/CellSelection","tinymce/util/Tools","tinymce/dom/TreeWalker","tinymce/Env","tinymce/PluginManager"],function(e,t,n,o,r,i,l){function a(o){function r(e){return e?e.replace(/px$/,""):""}function l(e){return/^[0-9]+$/.test(e)&&(e+="px"),e}function a(e){c("left center right".split(" "),function(t){o.formatter.remove("align"+t,{},e)})}function s(){var e,t,n,s=o.dom;e=o.dom.getParent(o.selection.getStart(),"table"),n=!1,t={width:r(s.getStyle(e,"width")||s.getAttrib(e,"width")),height:r(s.getStyle(e,"height")||s.getAttrib(e,"height")),cellspacing:s.getAttrib(e,"cellspacing"),cellpadding:s.getAttrib(e,"cellpadding"),border:s.getAttrib(e,"border"),caption:!!s.select("caption",e)[0]},c("left center right".split(" "),function(n){o.formatter.matchNode(e,"align"+n)&&(t.align=n)}),o.windowManager.open({title:"Table properties",items:{type:"form",layout:"grid",columns:2,data:t,defaults:{type:"textbox",maxWidth:50},items:[n?{label:"Cols",name:"cols",disabled:!0}:null,n?{label:"Rows",name:"rows",disabled:!0}:null,{label:"Width",name:"width"},{label:"Height",name:"height"},{label:"Cell spacing",name:"cellspacing"},{label:"Cell padding",name:"cellpadding"},{label:"Border",name:"border"},{label:"Caption",name:"caption",type:"checkbox"},{label:"Alignment",minWidth:90,name:"align",type:"listbox",text:"None",maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]}]},onsubmit:function(){var t,n=this.toJSON();o.undoManager.transact(function(){o.dom.setAttribs(e,{cellspacing:n.cellspacing,cellpadding:n.cellpadding,border:n.border}),o.dom.setStyles(e,{width:l(n.width),height:l(n.height)}),t=s.select("caption",e)[0],t&&!n.caption&&s.remove(t),!t&&n.caption&&(t=s.create("caption"),i.ie||(t.innerHTML='
'),e.insertBefore(t,e.firstChild)),a(e),n.align&&o.formatter.apply("align"+n.align,{},e),o.focus(),o.addVisual()})}})}function d(e,t){o.windowManager.open({title:"Merge cells",body:[{label:"Cols",name:"cols",type:"textbox",size:10},{label:"Rows",name:"rows",type:"textbox",size:10}],onsubmit:function(){var n=this.toJSON();o.undoManager.transact(function(){e.merge(t,n.cols,n.rows)})}})}function u(){var e,t,n=o.dom,i=[];i=o.dom.select("td.mce-item-selected,th.mce-item-selected"),e=o.dom.getParent(o.selection.getStart(),"td,th"),!i.length&&e&&i.push(e),e=e||i[0],t={width:r(n.getStyle(e,"width")||n.getAttrib(e,"width")),height:r(n.getStyle(e,"height")||n.getAttrib(e,"height")),scope:n.getAttrib(e,"scope")},t.type=e.nodeName.toLowerCase(),c("left center right".split(" "),function(n){o.formatter.matchNode(e,"align"+n)&&(t.align=n)}),o.windowManager.open({title:"Cell properties",items:{type:"form",data:t,layout:"grid",columns:2,defaults:{type:"textbox",maxWidth:50},items:[{label:"Width",name:"width"},{label:"Height",name:"height"},{label:"Cell type",name:"type",type:"listbox",text:"None",minWidth:90,maxWidth:null,menu:[{text:"Cell",value:"td"},{text:"Header cell",value:"th"}]},{label:"Scope",name:"scope",type:"listbox",text:"None",minWidth:90,maxWidth:null,menu:[{text:"None",value:""},{text:"Row",value:"row"},{text:"Column",value:"col"},{text:"Row group",value:"rowgroup"},{text:"Column group",value:"colgroup"}]},{label:"Alignment",name:"align",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]}]},onsubmit:function(){var e=this.toJSON();o.undoManager.transact(function(){c(i,function(t){o.dom.setAttrib(t,"scope",e.scope),o.dom.setStyles(t,{width:l(e.width),height:l(e.height)}),e.type&&t.nodeName.toLowerCase()!=e.type&&(t=n.rename(t,e.type)),a(t),e.align&&o.formatter.apply("align"+e.align,{},t)}),o.focus()})}})}function m(){var e,t,n,i,s=o.dom,d=[];e=o.dom.getParent(o.selection.getStart(),"table"),t=o.dom.getParent(o.selection.getStart(),"td,th"),c(e.rows,function(e){c(e.cells,function(n){return s.hasClass(n,"mce-item-selected")||n==t?(d.push(e),!1):void 0})}),n=d[0],i={height:r(s.getStyle(n,"height")||s.getAttrib(n,"height")),scope:s.getAttrib(n,"scope")},i.type=n.parentNode.nodeName.toLowerCase(),c("left center right".split(" "),function(e){o.formatter.matchNode(n,"align"+e)&&(i.align=e)}),o.windowManager.open({title:"Row properties",items:{type:"form",data:i,columns:2,defaults:{type:"textbox"},items:[{type:"listbox",name:"type",label:"Row type",text:"None",maxWidth:null,menu:[{text:"Header",value:"thead"},{text:"Body",value:"tbody"},{text:"Footer",value:"tfoot"}]},{type:"listbox",name:"align",label:"Alignment",text:"None",maxWidth:null,menu:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"Height",name:"height"}]},onsubmit:function(){var e,t,n,r=this.toJSON();o.undoManager.transact(function(){var i=r.type;c(d,function(c){o.dom.setAttrib(c,"scope",r.scope),o.dom.setStyles(c,{height:l(r.height)}),i!=c.parentNode.nodeName.toLowerCase()&&(e=s.getParent(c,"table"),t=c.parentNode,n=s.select(i,e)[0],n||(n=s.create(i),e.firstChild?e.insertBefore(n,e.firstChild):e.appendChild(n)),n.appendChild(c),t.hasChildNodes()||s.remove(t)),a(c),r.align&&o.formatter.apply("align"+r.align,{},c)}),o.focus()})}})}function f(e){return function(){o.execCommand(e)}}function g(e,t){var n,r,l;for(l='',n=0;t>n;n++){for(l+="",r=0;e>r;r++)l+="";l+=""}l+="
"+(i.ie?" ":"
")+"
",o.insertContent(l)}function p(e,t){function n(){e.disabled(!o.dom.getParent(o.selection.getStart(),t)),o.selection.selectorChanged(t,function(t){e.disabled(!t)})}o.initialized?n():o.on("init",n)}function h(){p(this,"table")}function b(){p(this,"td,th")}function v(){var e="";e='';for(var t=0;10>t;t++){e+="";for(var n=0;10>n;n++)e+='';e+=""}return e+="",e+='
0 x 0
'}var w,y,x=this;o.addMenuItem("inserttable",{text:"Insert table",icon:"table",context:"table",onhide:function(){o.dom.removeClass(this.menu.items()[0].getEl().getElementsByTagName("a"),"mce-active")},menu:[{type:"container",html:v(),onmousemove:function(e){var t,n,r=e.target;if("A"==r.nodeName){var i=o.dom.getParent(r,"table"),l=r.getAttribute("data-mce-index"),a=e.control.parent().rel;if(l!=this.lastPos){if(l=l.split(","),l[0]=parseInt(l[0],10),l[1]=parseInt(l[1],10),e.control.isRtl()||"tl-tr"==a){for(n=9;n>=0;n--)for(t=0;10>t;t++)o.dom.toggleClass(i.rows[n].childNodes[t].firstChild,"mce-active",t>=l[0]&&n<=l[1]);l[0]=9-l[0],i.nextSibling.innerHTML=l[0]+" x "+(l[1]+1)}else{for(n=0;10>n;n++)for(t=0;10>t;t++)o.dom.toggleClass(i.rows[n].childNodes[t].firstChild,"mce-active",t<=l[0]&&n<=l[1]);i.nextSibling.innerHTML=l[0]+1+" x "+(l[1]+1)}this.lastPos=l}}},onclick:function(e){"A"==e.target.nodeName&&this.lastPos&&(e.preventDefault(),g(this.lastPos[0]+1,this.lastPos[1]+1),this.parent().cancel())}}]}),o.addMenuItem("tableprops",{text:"Table properties",context:"table",onPostRender:h,onclick:s}),o.addMenuItem("deletetable",{text:"Delete table",context:"table",onPostRender:h,cmd:"mceTableDelete"}),o.addMenuItem("cell",{separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:f("mceTableCellProps"),onPostRender:b},{text:"Merge cells",onclick:f("mceTableMergeCells"),onPostRender:b},{text:"Split cell",onclick:f("mceTableSplitCells"),onPostRender:b}]}),o.addMenuItem("row",{text:"Row",context:"table",menu:[{text:"Insert row before",onclick:f("mceTableInsertRowBefore"),onPostRender:b},{text:"Insert row after",onclick:f("mceTableInsertRowAfter"),onPostRender:b},{text:"Delete row",onclick:f("mceTableDeleteRow"),onPostRender:b},{text:"Row properties",onclick:f("mceTableRowProps"),onPostRender:b},{text:"-"},{text:"Cut row",onclick:f("mceTableCutRow"),onPostRender:b},{text:"Copy row",onclick:f("mceTableCopyRow"),onPostRender:b},{text:"Paste row before",onclick:f("mceTablePasteRowBefore"),onPostRender:b},{text:"Paste row after",onclick:f("mceTablePasteRowAfter"),onPostRender:b}]}),o.addMenuItem("column",{text:"Column",context:"table",menu:[{text:"Insert column before",onclick:f("mceTableInsertColBefore"),onPostRender:b},{text:"Insert column after",onclick:f("mceTableInsertColAfter"),onPostRender:b},{text:"Delete column",onclick:f("mceTableDeleteCol"),onPostRender:b}]});var C=[];c("inserttable tableprops deletetable | cell row column".split(" "),function(e){C.push("|"==e?{text:"-"}:o.menuItems[e])}),o.addButton("table",{type:"menubutton",title:"Table",menu:C}),i.isIE||o.on("click",function(e){e=e.target,"TABLE"===e.nodeName&&(o.selection.select(e),o.nodeChanged())}),x.quirks=new t(o),o.on("Init",function(){w=o.windowManager,x.cellSelection=new n(o)}),c({mceTableSplitCells:function(e){e.split()},mceTableMergeCells:function(e){var t,n,r;r=o.dom.getParent(o.selection.getStart(),"th,td"),r&&(t=r.rowSpan,n=r.colSpan),o.dom.select("td.mce-item-selected,th.mce-item-selected").length?e.merge():d(e,r)},mceTableInsertRowBefore:function(e){e.insertRow(!0)},mceTableInsertRowAfter:function(e){e.insertRow()},mceTableInsertColBefore:function(e){e.insertCol(!0)},mceTableInsertColAfter:function(e){e.insertCol()},mceTableDeleteCol:function(e){e.deleteCols()},mceTableDeleteRow:function(e){e.deleteRows()},mceTableCutRow:function(e){y=e.cutRows()},mceTableCopyRow:function(e){y=e.copyRows()},mceTablePasteRowBefore:function(e){e.pasteRows(y,!0)},mceTablePasteRowAfter:function(e){e.pasteRows(y)},mceTableDelete:function(e){e.deleteTable()}},function(t,n){o.addCommand(n,function(){var n=new e(o);n&&(t(n),o.execCommand("mceRepaint"),x.cellSelection.clear())})}),c({mceInsertTable:function(){s()},mceTableRowProps:m,mceTableCellProps:u},function(e,t){o.addCommand(t,function(t,n){e(n)})})}var c=o.each;l.add("table",a)}),i(["tinymce/tableplugin/TableGrid","tinymce/tableplugin/Quirks","tinymce/tableplugin/CellSelection","tinymce/tableplugin/Plugin"])}(this); \ No newline at end of file