| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- define([
- 'summernote/core/dom', 'summernote/core/range', 'summernote/core/list'
- ], function (dom, range, list) {
- /**
- * @class editing.Table
- *
- * Table
- *
- */
- var Table = function () {
- /**
- * handle tab key
- *
- * @param {WrappedRange} rng
- * @param {Boolean} isShift
- */
- this.tab = function (rng, isShift) {
- var cell = dom.ancestor(rng.commonAncestor(), dom.isCell);
- var table = dom.ancestor(cell, dom.isTable);
- var cells = dom.listDescendant(table, dom.isCell);
- var nextCell = list[isShift ? 'prev' : 'next'](cells, cell);
- if (nextCell) {
- range.create(nextCell, 0).select();
- }
- };
- /**
- * create empty table element
- *
- * @param {Number} rowCount
- * @param {Number} colCount
- * @return {Node}
- */
- this.createTable = function (colCount, rowCount) {
- var tds = [], tdHTML;
- for (var idxCol = 0; idxCol < colCount; idxCol++) {
- tds.push('<td>' + dom.blank + '</td>');
- }
- tdHTML = tds.join('');
- var trs = [], trHTML;
- for (var idxRow = 0; idxRow < rowCount; idxRow++) {
- trs.push('<tr>' + tdHTML + '</tr>');
- }
- trHTML = trs.join('');
- return $('<table class="table table-bordered">' + trHTML + '</table>')[0];
- };
- };
- return Table;
- });
|