@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 11.1 kB
JavaScript
module.exports=function(e){function t(n){if(l[n])return l[n].exports;var a=l[n]={exports:{},id:n,loaded:!1};return e[n].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var l={};return t.m=e,t.c=l,t.p="",t(0)}({0:function(e,t,l){e.exports=l(1014)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1014:function(e,t,l){var n,a,r;!function(i,define){a=[l(1015)],n=i,r="function"==typeof n?n.apply(t,a):n,!(void 0!==r&&(e.exports=r))}(function(){!function(e,t){var l=window.kendo,n=l.ui.editor,a=n.EditorUtils,r=n.RangeUtils,i=n.Dom,o=a.registerTool,s=n.ToolTemplate,d=n.Command,c=new n.BlockFormatFinder([{tags:["table"]}]),u=new n.BlockFormatFinder([{tags:["td","th"]}]),h=/([a-z]+|%)$/i,g="col",p="row",b="colgroup",m="scope",f="col-index",w="th",C="td",_="thead",A="headers",v="table",T=d.extend({exec:function(){var a=this,r=a.editor,i=a.range=a.lockRange(),o=a._sourceTable=a.options.insertNewTable?t:a._selectedTable(i),s=a._selectedTableCells=o?a._selectedCells(i):t,d={visible:!1,messages:r.options.messages,closeCallback:e.proxy(a.onDialogClose,a),table:a.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;i.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,a=l.get(n);null!==a.nodeValue&&(" "===a.nodeValue||""===a.nodeValue);)n-=1,a=l.get(n);a===t&&i.insertAfter(i.createEmptyNode(this.editor.document,"p"),t)},updateTable:function(t,l,n){for(var a,r,o=this,s=e(l.rows).toArray(),d=t.tableProperties,c=d.rows,u=l.tHead,h=o._lastInCollection;n.length>1;)n.pop();a=n.length?h(n).parentNode:h(s),o._deleteTableRows(s,s.length-c),s.length<c&&o._addRows(a,c,s),i.reMapTableColumns(l,f),o._updateColumns(s,d.columns,n,a),o._updateTableProperties(l,d),r=t.cellProperties,n[0]&&i.attr(n[0],{id:r.id||null}),(r.selectAllCells?e(s).children():e(n)).each(function(e,t){o._updateCellProperties(t,r)}),o._updateCaption(l,d),u?o._updateHeadersWithThead(l,t):o._updateHeadersNoThead(l,t),o._updateHeaderAssociates(l,d),i.clearTableMappings(l,f)},_isHeadingRow:function(e){return i.is(e.cells[0],w)&&i.is(e.parentNode,_)},_isHeadingCell:function(e){return i.is(e,w)},cellsWithHeadersAssociated:function(t){var l,n=e(t.rows).children(),a=[],r=function(e){return a.indexOf(e)>-1};return n.each(function(e,t){t.id&&i.is(t,w)&&a.push(t.id)}),l=n.filter(function(e,t){var l,n=t.getAttribute(A);return!!(n&&!i.is(t,w)&&(l=n.split(" "),l&&l.length>0))&&l.some(r)}),!!l.length},_insertCells:function(e,t,l){l=isNaN(l)?-1:l;for(var n,a=0;a<e;a++)n=t.insertCell(l),n.innerHTML=" "},_deleteTableRows:function(e,t){for(var l,n,a=0;a<t;a++)l=e.pop(),n=l.parentNode,n.removeChild(l),n.rows.length||i.remove(n)},createNewTable:function(e){var t,l,n=this,a=n.editor.document,r=e.tableProperties,o=i.create(a,v),s=0;return n._updateTableProperties(o,r),n._updateCaption(o,r),r.headerRows&&r.headerRows>0&&(t=o.createTHead(),n._createTableRows(e,t,s,!0),s+=r.headerRows),l=o.createTBody(),n._createTableRows(e,l,s,!1),i.reMapTableColumns(o,f),"ids"===r.cellsWithHeaders?i.associateWithIds(o):"scope"===r.cellsWithHeaders&&n._addScopes(o,r.headerRows,r.headerColumns),i.clearTableMappings(o,f),o},_createTableRows:function(e,t,l,n){var a,r,i,o,s=this,d=e.tableProperties,c=e.cellProperties,u=d.columns,h=n?d.headerRows:d.rows,g=c.selectAllCells,p=d.headerColumns;for(a=l;a<h;a++)for(r=t.insertRow(),i=0;i<u;i++)o=n||p>i?document.createElement(w):document.createElement(C),r.appendChild(o),o.innerHTML=" ",0===a&&0===i&&c.id&&(o.id=c.id),s._updateCellProperties(o,g||0===a&&0===i?c:{})},_addRows:function(t,l,n){for(var a,r=this,i=e(t).index(),o=t.cells.length,s=l-n.length,d=t.parentNode;s;)a=d.insertRow(i+1),r._insertCells(o-a.cells.length,a),s--},_updateColumns:function(t,l,n,a){var r,i=this,o=i._lastInCollection,s=o(t[0].cells),d=+s.getAttribute(f)+s.colSpan;d>l&&e(t).each(function(e,t){for(var n=o(t.cells),a=+n.getAttribute(f)+n.colSpan;a>l;)n.colSpan&&n.colSpan>1?n.colSpan-=1:t.deleteCell(-1),n=o(t.cells),a=+n.getAttribute(f)+n.colSpan}),d<l&&(r=e(o(n)||o(a.cells)).index(),e(t).each(function(e,t){var n=o(t.cells);i._insertCells(l-+n.getAttribute(f)-n.colSpan,t,r+1)}))},_updateTableProperties:function(t,l){var n=this._getStylesData(l);i.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,i.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),i.attr(l,{style:{textAlign:n.textAlign,verticalAlign:n.verticalAlign}}))},_updateHeadersNoThead:function(e,t){var l,n,a,r,o,s=this,d=t.tableProperties,c=e.rows;for(r=0;r<c.length;r++)for(l=c[r],n=l.cells,o=0;o<n.length;o++)a=n[o],!s._isHeadingCell(a)&&(r<d.headerRows||d.headerColumns>a.getAttribute(f))?i.changeTag(a,w,!1):s._isHeadingCell(a)&&r>=d.headerRows&&d.headerColumns<=a.getAttribute(f)&&i.changeTag(a,C,!1)},_updateHeadersWithThead:function(e,t){var l,n,a,r=this,o=t.tableProperties,s=e.tHead,d=0,c=e.tBodies[0];if(c||(c=e.createTBody()),o.headerRows&&o.headerRows>0){for(s||(s=e.createTHead());s.rows.length<o.headerRows;)s.appendChild(c.rows[0]);for(;s.rows.length>o.headerRows;)c.appendChild(s.rows[0]);r._swapToHeaderCells(s)}else if(s){for(;s.rows.length>0;)c.appendChild(s.rows[s.rows.length-1]);e.deleteTHead()}for(;c.rows.length>d;){for(l=c.rows[d],a=0;a<l.cells.length;a++)n=l.cells[a],r._isHeadingCell(n)&&o.headerColumns<=n.getAttribute(f)?i.changeTag(n,C,!1):!r._isHeadingCell(n)&&o.headerColumns>n.getAttribute(f)&&i.changeTag(n,w,!1);d+=1}},_updateHeaderAssociates:function(e,t){var l=this;"ids"===t.cellsWithHeaders?(l.cellsWithHeadersAssociated(e)||l._removeScopes(e),i.associateWithIds(e)):"scope"===t.cellsWithHeaders?(l.cellsWithHeadersAssociated(e)&&l._removeAssociates(e),l._addScopes(e,t.headerRows,t.headerColumns)):l.cellsWithHeadersAssociated(e)?l._removeAssociates(e):l._removeScopes(e)},_addScopes:function(e,t,l){var n,a,r,i,o=e.rows;for(n=0;n<o.length;n++)for(r=o[n],a=0;a<r.cells.length;a++)i=r.cells[a],n<t?i.setAttribute(m,g):i.getAttribute(f)<l&&i.setAttribute(m,p)},_removeScopes:function(t){e(t).find(w).removeAttr(m),e(t).find(g).remove(),e(t).find(b).remove()},_removeAssociates:function(t){e(t).find("th, td").removeAttr("id headers")},_swapToHeaderCells:function(t){var l=e(t).find("td"),n=function(e,t){i.changeTag(t,w,!1)};l.each(n)},_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 a,r,o,s,d,c,u,h,g,p,b,m,w;return l?(a=this,r=l.style,o=l.rows,s=l.caption,d=e(s?s.cloneNode(!0):t),d.find(".k-marker").remove(),c=l.className,c=c.replace(/^k-table\s|\sk-table$/,""),c=c.replace(/\sk-table\s/," "),c=c.replace(/^k-table$/,""),u=a._getAlignment(l,!0),h=s?a._getAlignment(s):t,g=i._getNumberOfHeaderRows(l),p=a.cellsWithHeadersAssociated(l)?"ids":e(l).find("th[scope]").length>0?"scope":"none",i.reMapTableColumns(l,f),b=i._getNumberOfColumns(l),m=i._getNumberOfHeaderColumns(l,g),i.clearTableMappings(l,f),w={tableProperties:{width:r.width||l.width?parseFloat(r.width||l.width):null,height:r.height||l.height?parseFloat(r.height||l.height):null,columns:b,rows:o.length,widthUnit:a._getUnit(r.width),heightUnit:a._getUnit(r.height),cellSpacing:l.cellSpacing,cellPadding:l.cellPadding,alignment:u.textAlign,bgColor:r.backgroundColor||l.bgColor,className:c,id:l.id,borderWidth:r.borderWidth||l.border,borderColor:r.borderColor,borderStyle:r.borderStyle||"",collapseBorders:!!r.borderCollapse,summary:l.summary,captionContent:s?d.html():"",captionAlignment:s&&h.textAlign?h.textAlign+" "+h.verticalAlign:"",headerRows:g,headerColumns:m,cellsWithHeaders:p},selectedCells:[]},w.rows=a.parseTableRows(o,n,w),w):{tableProperties:{},selectedCells:[]}},parseTableRows:function(t,l,n){var a,r,i,o,s,d,c,u=this,h=[];for(d=0;d<t.length;d++)for(a=t[d],r={cells:[]},i=a.cells,h.push(r),c=0;c<i.length;c++)o=i[c],s=u.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,a=l._getAlignment(e);return a=a.textAlign?a.textAlign+" "+a.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:a,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,a=n.textAlign||e.align||"";return t?{textAlign:a}:(l=n.verticalAlign||e.vAlign||"",a&&l?{textAlign:a,verticalAlign:l}:!a&&l?{textAlign:"left",verticalAlign:l}:a&&!l?{textAlign:a,verticalAlign:"top"}:{textAlign:"",verticalAlign:""})},_getUnit:function(e){var t=(e||"").match(h);return t?t[0]:"px"},_selectedTable:function(e){var t=i.filterBy(r.nodes(e),i.htmlIndentSpace,!0);return c.findSuitable(t)[0]},_selectedCells:function(e){var t=i.filterBy(r.nodes(e),i.htmlIndentSpace,!0);return u.findSuitable(t)},_lastInCollection:function(e){return e[e.length-1]}}),x=n.Tool.extend({command:function(e){return e.insertNewTable=this.options.insertNewTable,new T(e)}}),H=x.extend({update:function(e,t){var l=!c.isFormatted(t);l===!0?(e.parent().addClass("k-hidden k-state-disabled"),e.attr("disabled","disabled"),e.addClass("k-state-disabled")):(e.parent().removeClass("k-hidden k-state-disabled"),e.removeAttr("disabled"),e.removeClass("k-state-disabled"))}});l.ui.editor.TableWizardTool=x,l.ui.editor.TableWizardCommand=T,o("tableWizard",new H({command:T,insertNewTable:!1,template:new s({template:a.buttonTemplate,title:"Table Wizard"})}))}(window.kendo.jQuery)},l(3))},1015:function(e,t){e.exports=require("./../plugins/tables")}});