UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

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