@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 8.4 kB
JavaScript
module.exports=function(e){function t(n){if(l[n])return l[n].exports;var i=l[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var l={};return t.m=e,t.c=l,t.p="",t(0)}({0:function(e,t,l){e.exports=l(987)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},987:function(e,t,l){var n,i,r;!function(a,define){i=[l(988)],n=a,r="function"==typeof n?n.apply(t,i):n,!(void 0!==r&&(e.exports=r))}(function(){!function(e,t){var l=window.kendo,n=l.ui.editor,i=n.EditorUtils,r=n.RangeUtils,a=n.Dom,o=i.registerTool,s=n.ToolTemplate,d=n.Command,c=new n.BlockFormatFinder([{tags:["table"]}]),g=new n.BlockFormatFinder([{tags:["td","th"]}]),h=/([a-z]+|%)$/i,u=d.extend({exec:function(){var i=this,r=i.editor,a=i.range=i.lockRange(),o=i._sourceTable=i.options.insertNewTable?t:i._selectedTable(a),s=i._selectedTableCells=o?i._selectedCells(a):t,d={visible:!1,messages:r.options.messages,closeCallback:e.proxy(i.onDialogClose,i),table:i.parseTable(o,s),dialogOptions:r.options.dialogOptions,isRtl:l.support.isRtl(r.wrapper)},c=new n.TableWizardDialog(d);c.open()},onDialogClose:function(e){var t=this;t.releaseRange(t.range),e&&(t.options.insertNewTable?t.insertTable(t.createNewTable(e)):t.updateTable(e,t._sourceTable,t._selectedTableCells))},releaseRange:function(e){var t=this,l=t.editor.document;a.windowFromDocument(l).focus(),d.fn.releaseRange.call(t,e)},insertTable:function(e){var t=this.range;t.insertNode(e),t.collapse(!0),this.editor.selectRange(t),this._ensureFocusableAfterTable(e)},_ensureFocusableAfterTable:function(t){for(var l=e(t).parent().contents(),n=l.length-1,i=l.get(n);null!==i.nodeValue&&(" "===i.nodeValue||""===i.nodeValue);)n-=1,i=l.get(n);i===t&&a.insertAfter(a.createEmptyNode(this.editor.document,"p"),t)},updateTable:function(t,l,n){for(var i,r,o,s,d,c,g,h,u=this,p=e(l.rows).toArray(),b=t.tableProperties,f=b.rows,m=b.columns,w=function(e){return e[e.length-1]};n.length>1;)n.pop();if(i=n.length?w(n).parentNode:w(p),u._deleteTableRows(p,p.length-f),p.length<f)for(s=e(i).index(),d=i.cells.length,c=f-p.length,o=i.parentNode;c;)r=o.insertRow(s+1),u._insertCells(d-r.cells.length,r),c--;p[0].cells.length>m&&e(p).each(function(e,t){for(;t.cells.length>m;)t.deleteCell(-1)}),p[0].cells.length<m&&(g=e(w(n)||w(i.cells)).index(),e(p).each(function(e,t){u._insertCells(m-t.cells.length,t,g+1)})),u._updateTableProperties(l,b),h=t.cellProperties,n[0]&&a.attr(n[0],{id:h.id||null}),(h.selectAllCells?e(p).children():e(n)).each(function(e,t){u._updateCellProperties(t,h)}),u._updateCaption(l,b),b.cellsWithHeaders=b.cellsWithHeaders||!1,u.cellsWithHeadersAssociated(l)!=b.cellsWithHeaders&&u.associateCellsWithHeader(l,b.cellsWithHeaders)},_isHeadingRow:function(e){return a.is(e.parentNode,"thead")||a.is(e.cells[0],"th")},associateCellsWithHeader:function(t,l){var n,i,r,a=(new Date).getTime(),o=[],s=t.rows[0].cells.length,d=function(){for(var e=0;e<s;e++)o[e]="table"+ ++a},c=function(t,n){e(n)[l?"attr":"removeAttr"]("id",o[t])},g=function(t,n){e(n)[l?"attr":"removeAttr"]("headers",o[t])},h=this._isHeadingRow;e(t.rows).each(function(l,a){if(h(a))for(n=l,i=t.rows[++n],r=i&&!h(i),r&&(d(),e(a.cells).each(c));r;)e(i.cells).each(g),i=t.rows[++n],r=i&&!h(i)})},cellsWithHeadersAssociated:function(t){var l,n=e(t.rows).children(),i=this._isHeadingRow,r=[];return n.each(function(e,t){t.id&&i(t.parentNode)&&r.push(t.id)}),l=n.filter(function(t,l){var n=l.getAttribute("headers");return n&&!i(l.parentNode)&&e.inArray(n,r)>-1}),!!l.length},_insertCells:function(e,t,l){l=isNaN(l)?-1:l;for(var n,i=0;i<e;i++)n=t.insertCell(l),n.innerHTML=" "},_deleteTableRows:function(e,t){for(var l,n,i=0;i<t;i++)l=e.pop(),n=l.parentNode,n.removeChild(l),n.rows.length||a.remove(n)},createNewTable:function(e){var t,l,n,i,r,o=this,s=o.editor.document,d=e.tableProperties,c=e.cellProperties,g=c.selectAllCells,h=a.create(s,"table");for(o._updateTableProperties(h,d),o._updateCaption(h,d),t=h.createTBody(),l=0;l<d.rows;l++)for(n=t.insertRow(),i=0;i<d.columns;i++)r=n.insertCell(),r.innerHTML=" ",0===l&&0===i&&c.id&&(r.id=c.id),o._updateCellProperties(r,g||0===l&&0===i?c:{});return d.cellsWithHeaders&&o.associateCellsWithHeader(h,d.cellsWithHeaders),h},_updateTableProperties:function(t,l){var n=this._getStylesData(l);a.attr(t,{cellSpacing:l.cellSpacing||null,cellPadding:l.cellPadding||null,className:l.className||null,id:l.id||null,summary:l.summary||null,style:n||null}),e(t).addClass("k-table")},_updateCellProperties:function(e,t){var l=this._getStylesData(t);l.padding=t.cellPadding||null,l.margin=t.cellMargin||null,a.attr(e,{style:l||null,className:t.className||null})},_updateCaption:function(e,t){var l,n;e.caption&&!t.captionContent?e.deleteCaption():t.captionContent&&(l=e.createCaption(),l.innerHTML=t.captionContent,n=this._getAlignmentData(t.captionAlignment),a.attr(l,{style:{textAlign:n.textAlign,verticalAlign:n.verticalAlign}}))},_getStylesData:function(e){var t=this._getAlignmentData(e.alignment),l="wrapText"in e?e.wrapText?"":"nowrap":null;return{width:e.width?e.width+e.widthUnit:null,height:e.height?e.height+e.heightUnit:null,textAlign:t.textAlign,verticalAlign:t.verticalAlign,backgroundColor:e.bgColor||"",borderWidth:e.borderWidth,borderStyle:e.borderStyle,borderColor:e.borderColor||"",borderCollapse:e.collapseBorders?"collapse":null,whiteSpace:l}},_getAlignmentData:function(e){var t,l="",n=l;return e&&(e.indexOf(" ")!=-1?(t=e.split(" "),l=t[0],n=t[1]):l=e),{textAlign:l,verticalAlign:n}},parseTable:function(l,n){var i,r,a,o,s,d,c,g,h,u;return l?(i=this,r=l.style,a=l.rows,o=l.caption,s=e(o?o.cloneNode(!0):t),s.find(".k-marker").remove(),d=l.className,d=d.replace(/^k-table\s|\sk-table$/,""),d=d.replace(/\sk-table\s/," "),d=d.replace(/^k-table$/,""),c=i._getAlignment(l,!0),g=o?i._getAlignment(o):t,h=i.cellsWithHeadersAssociated(l),u={tableProperties:{width:r.width||l.width?parseFloat(r.width||l.width):null,height:r.height||l.height?parseFloat(r.height||l.height):null,columns:a[0]?a[0].children.length:0,rows:a.length,widthUnit:i._getUnit(r.width),heightUnit:i._getUnit(r.height),cellSpacing:l.cellSpacing,cellPadding:l.cellPadding,alignment:c.textAlign,bgColor:r.backgroundColor||l.bgColor,className:d,id:l.id,borderWidth:r.borderWidth||l.border,borderColor:r.borderColor,borderStyle:r.borderStyle||"",collapseBorders:!!r.borderCollapse,summary:l.summary,captionContent:o?s.html():"",captionAlignment:o&&g.textAlign?g.textAlign+" "+g.verticalAlign:"",cellsWithHeaders:h},selectedCells:[]},u.rows=i.parseTableRows(a,n,u),u):{tableProperties:{},selectedCells:[]}},parseTableRows:function(t,l,n){var i,r,a,o,s,d,c,g=this,h=[];for(d=0;d<t.length;d++)for(i=t[d],r={cells:[]},a=i.cells,h.push(r),c=0;c<a.length;c++)o=a[c],s=g.parseCell(o),e.inArray(o,l)!=-1&&n.selectedCells.push(s),r.cells.push(s);return h},parseCell:function(e){var t,l=this,n=e.style,i=l._getAlignment(e);return i=i.textAlign?i.textAlign+" "+i.verticalAlign:"",t={width:n.width||e.width?parseFloat(n.width||e.width):null,height:n.height||e.height?parseFloat(n.height||e.height):null,widthUnit:l._getUnit(n.width),heightUnit:l._getUnit(n.height),cellMargin:n.margin,cellPadding:n.padding,alignment:i,bgColor:n.backgroundColor||e.bgColor,className:e.className,id:e.id,borderWidth:n.borderWidth||e.border,borderColor:n.borderColor,borderStyle:n.borderStyle,wrapText:"nowrap"!=n.whiteSpace}},_getAlignment:function(e,t){var l,n=e.style,i=n.textAlign||e.align||"";return t?{textAlign:i}:(l=n.verticalAlign||e.vAlign||"",i&&l?{textAlign:i,verticalAlign:l}:!i&&l?{textAlign:"left",verticalAlign:l}:i&&!l?{textAlign:i,verticalAlign:"top"}:{textAlign:"",verticalAlign:""})},_getUnit:function(e){var t=(e||"").match(h);return t?t[0]:"px"},_selectedTable:function(e){var t=a.filterBy(r.nodes(e),a.htmlIndentSpace,!0);return c.findSuitable(t)[0]},_selectedCells:function(e){var t=a.filterBy(r.nodes(e),a.htmlIndentSpace,!0);return g.findSuitable(t)}}),p=n.Tool.extend({command:function(e){return e.insertNewTable=this.options.insertNewTable,new u(e)}}),b=p.extend({update:function(e,t){var l=!c.isFormatted(t);e.toggleClass("k-state-disabled",l)}});l.ui.editor.TableWizardTool=p,l.ui.editor.TableWizardCommand=u,o("tableWizard",new b({command:u,insertNewTable:!1,template:new s({template:i.buttonTemplate,title:"Table Wizard"})}))}(window.kendo.jQuery)},l(3))},988:function(e,t){e.exports=require("./../plugins/tables")}});