Lines Matching refs:TableKit
30 var TableKit = Class.create(); variable
32 TableKit.prototype = { class
38 TableKit.register(table,Object.extend(TableKit.options,options || {}));
40 var op = TableKit.option('sortable resizable editable', this.id);
42 TableKit.Sortable.init(table);
45 TableKit.Resizable.init(table);
48 TableKit.Editable.init(table);
52 TableKit.Sortable.sort(this.id, column, order);
55 TableKit.Resizable.resize(this.id, column, w);
58 TableKit.Editable.editCell(this.id, row, column);
62 Object.extend(TableKit, {
66 if(!TableKit.tables[id].dom.rows) {
67 …TableKit.tables[id].dom.rows = (table.tHead && table.tHead.rows.length > 0) ? $A(table.tBodies[0].…
69 return TableKit.tables[id].dom.rows;
74 if(!TableKit.tables[id].dom.head) {
75 …TableKit.tables[id].dom.head = $A((table.tHead && table.tHead.rows.length > 0) ? table.tHead.rows[…
77 return TableKit.tables[id].dom.head;
87 var data = TableKit.getCellData(cell);
98 cell.id = t.id + "-cell-" + TableKit._getc();
101 if(!TableKit.tables[tblid].dom.cells[cell.id]) {
102 TableKit.tables[tblid].dom.cells[cell.id] = {textContent : '', htmlContent : '', active : false};
104 return TableKit.tables[tblid].dom.cells[cell.id];
108 table.id = "tablekit-table-" + TableKit._getc();
111 TableKit.tables[id] = TableKit.tables[id] ?
112 Object.extend(TableKit.tables[id], options || {}) :
119 …if(TableKit.tables[table.id] && TableKit.tables[table.id].observers && TableKit.tables[table.id].…
120 TableKit.tables[table.id].observers[eventName](table, event);
122 TableKit.options.observers[eventName](table, event)();
125 return TableKit.tables[table.id] ? TableKit.tables[table.id].sortable : false;
128 return TableKit.tables[table.id] ? TableKit.tables[table.id].resizable : false;
131 return TableKit.tables[table.id] ? TableKit.tables[table.id].editable : false;
134 Object.extend(TableKit.options, o || {} );
137 o1 = o1 || TableKit.options;
138 o2 = o2 || (id ? (TableKit.tables[id] ? TableKit.tables[id] : {}) : {});
140 if(!TableKit._opcache[key]){
141 TableKit._opcache[key] = $A($w(s)).inject([],function(a,v){
146 return TableKit._opcache[key];
191 _getc : function() {return TableKit._c += 1;},
194 if(!TableKit.tables[table.id]) {return;} //if not an existing registered table return
195 var cells = TableKit.getHeaderCells(table);
196 …var op = TableKit.option('sortable resizable editable noSortClass descendingClass ascendingClass c…
202 Event.stopObserving(c, 'mousedown', TableKit.Sortable._sort);
217 Event.stopObserving(c, 'mouseover', TableKit.Resizable.initDetect);
218 Event.stopObserving(c, 'mouseout', TableKit.Resizable.killDetect);
223 Event.stopObserving(table.tBodies[0], 'click', TableKit.Editable._editCell);
224 for(var c in TableKit.tables[table.id].dom.cells) {
225 if(TableKit.tables[table.id].dom.cells[c].active) {
227 var editor = TableKit.Editable.getCellEditor(cell);
233 TableKit.tables[table.id].dom = {head:null,rows:null,cells:{}}; // TODO: watch this for mem leaks
237 TableKit.unloadTable(table);
238 var op = TableKit.option('sortable resizable editable', table.id);
239 if(op.sortable) {TableKit.Sortable.init(table);}
240 if(op.resizable) {TableKit.Resizable.init(table);}
241 if(op.editable) {TableKit.Editable.init(table);}
244 for(var k in TableKit.tables) {
245 TableKit.reloadTable(k);
249 if(TableKit.options.autoLoad) {
250 if(TableKit.options.sortable) {
251 $A(TableKit.options.sortableSelector).each(function(s){
253 TableKit.Sortable.init(t);
257 if(TableKit.options.resizable) {
258 $A(TableKit.options.resizableSelector).each(function(s){
260 TableKit.Resizable.init(t);
264 if(TableKit.options.editable) {
265 $A(TableKit.options.editableSelector).each(function(s){
267 TableKit.Editable.init(t);
275 TableKit.Rows = {
277 var rows = TableKit.getBodyRows(table);
279 TableKit.Rows.addStripeClass(table,r,i);
284 var op = TableKit.option('rowEvenClass rowOddClass', t.id);
297 TableKit.Sortable = {
303 TableKit.register(table,Object.extend(options || {},{sortable:true}));
305 var cells = TableKit.getHeaderCells(table);
306 …var op = TableKit.option('noSortClass columnClass sortFirstAscendingClass sortFirstDecendingClass'…
310 Event.observe(c, 'mousedown', TableKit.Sortable._sort);
320 TableKit.Sortable.sort(table, sortFirst, 1);
322 TableKit.Sortable.sort(table, sortFirst, -1);
325 TableKit.Rows.stripe(table);
330 var cells = TableKit.getHeaderCells(table);
331 var op = TableKit.option('noSortClass columnClass', table.id);
335 Event.stopObserving(c, 'mousedown', TableKit.Sortable._sort);
339 TableKit.Sortable.init(table);
342 if(TableKit.Resizable._onHandle) {return;}
343 e = TableKit.e(e);
349 TableKit.Sortable.sort(null, cell);
365 index = TableKit.getCellIndex(cell);
367 …var op = TableKit.option('noSortClass descendingClass ascendingClass defaultSortDirection', table.…
372 var rows = TableKit.getBodyRows(table);
378 var datatype = TableKit.Sortable.getDataType(cell,index,table);
379 var tkst = TableKit.Sortable.types;
381 …return order * tkst[datatype].compare(TableKit.getCellText(a.cells[index]),TableKit.getCellText(b.…
385 var tkr = TableKit.Rows;
390 var hcells = TableKit.getHeaderCells(null, cell);
408 TableKit.Sortable.types[o.name] = o;
413 index = (index || index === 0) ? index : TableKit.getCellIndex(cell);
415 var colcache = TableKit.Sortable._coltypecache;
421 if(cell.id && TableKit.Sortable.types[cell.id]) {
426 return (TableKit.Sortable.types[n]) ? true : false;
430 var rows = TableKit.getBodyRows(table);
432 t = TableKit.Sortable.detectors.detect(
434 return TableKit.Sortable.types[d].detect(TableKit.getCellText(cell));
444 TableKit.Sortable.detectors = $A($w('date-iso date date-eu date-au time currency datasize number ca…
446 TableKit.Sortable.Type = Class.create();
447 TableKit.Sortable.Type.prototype = {
466 return TableKit.Sortable.Type.compare(this.normal(a), this.normal(b));
473 TableKit.Sortable.Type.compare = function(a,b) {
477 TableKit.Sortable.addSortType(
478 new TableKit.Sortable.Type('number', {
485 new TableKit.Sortable.Type('text',{
489 new TableKit.Sortable.Type('casesensitivetext',{pattern : /^[A-Z]+$/}),
490 new TableKit.Sortable.Type('datasize',{
513 new TableKit.Sortable.Type('date-au',{
534 new TableKit.Sortable.Type('date-us',{
555 new TableKit.Sortable.Type('date-eu',{
565 new TableKit.Sortable.Type('date-iso',{
589 new TableKit.Sortable.Type('date',{
593 return TableKit.Sortable.Type.compare(new Date(a),new Date(b));
595 return TableKit.Sortable.Type.compare(a ? 1 : 0, b ? 1 : 0);
598 new TableKit.Sortable.Type('time',{
603 return TableKit.Sortable.Type.compare(new Date(ds + a),new Date(ds + b));
605 new TableKit.Sortable.Type('currency',{
612 TableKit.Resizable = {
616 TableKit.register(table,Object.extend(options || {},{resizable:true}));
617 var cells = TableKit.getHeaderCells(table);
620 Event.observe(c, 'mouseover', TableKit.Resizable.initDetect);
621 Event.observe(c, 'mouseout', TableKit.Resizable.killDetect);
636 index = TableKit.getCellIndex(cell);
639 w = Math.max(w-pad, TableKit.option('minWidth', table.id)[0]);
644 e = TableKit.e(e);
646 Event.observe(cell, 'mousemove', TableKit.Resizable.detectHandle);
647 Event.observe(cell, 'mousedown', TableKit.Resizable.startResize);
650 e = TableKit.e(e);
652 if(TableKit.Resizable.pointerPos(cell,Event.pointerX(e),Event.pointerY(e))){
653 cell.addClassName(TableKit.option('resizeOnHandleClass', cell.up('table').id)[0]);
654 TableKit.Resizable._onHandle = true;
656 cell.removeClassName(TableKit.option('resizeOnHandleClass', cell.up('table').id)[0]);
657 TableKit.Resizable._onHandle = false;
661 e = TableKit.e(e);
662 TableKit.Resizable._onHandle = false;
664 Event.stopObserving(cell, 'mousemove', TableKit.Resizable.detectHandle);
665 Event.stopObserving(cell, 'mousedown', TableKit.Resizable.startResize);
666 cell.removeClassName(TableKit.option('resizeOnHandleClass', cell.up('table').id)[0]);
669 e = TableKit.e(e);
670 if(!TableKit.Resizable._onHandle) {return;}
672 Event.stopObserving(cell, 'mousemove', TableKit.Resizable.detectHandle);
673 Event.stopObserving(cell, 'mousedown', TableKit.Resizable.startResize);
674 Event.stopObserving(cell, 'mouseout', TableKit.Resizable.killDetect);
675 TableKit.Resizable._cell = cell;
677 TableKit.Resizable._tbl = table;
678 if(TableKit.option('showHandle', table.id)[0]) {
679 …TableKit.Resizable._handle = $(document.createElement('div')).addClassName('resize-handle').setSty…
685 document.body.appendChild(TableKit.Resizable._handle);
687 Event.observe(document, 'mousemove', TableKit.Resizable.drag);
688 Event.observe(document, 'mouseup', TableKit.Resizable.endResize);
692 e = TableKit.e(e);
693 var cell = TableKit.Resizable._cell;
694 TableKit.Resizable.resize(null, cell, (Event.pointerX(e) - cell.cumulativeOffset()[0]));
695 Event.stopObserving(document, 'mousemove', TableKit.Resizable.drag);
696 Event.stopObserving(document, 'mouseup', TableKit.Resizable.endResize);
697 if(TableKit.option('showHandle', TableKit.Resizable._tbl.id)[0]) {
702 Event.observe(cell, 'mouseout', TableKit.Resizable.killDetect);
704 TableKit.Resizable._tbl = TableKit.Resizable._handle = TableKit.Resizable._cell = null;
708 e = TableKit.e(e);
709 if(TableKit.Resizable._handle === null) {
711 …TableKit.Resizable.resize(TableKit.Resizable._tbl, TableKit.Resizable._cell, (Event.pointerX(e) - …
714 TableKit.Resizable._handle.setStyle({'left' : Event.pointerX(e) + 'px'});
732 TableKit.Editable = {
736 TableKit.register(table,Object.extend(options || {},{editable:true}));
737 Event.observe(table.tBodies[0], 'click', TableKit.Editable._editCell);
740 e = TableKit.e(e);
743 TableKit.Editable.editCell(null, cell, null, e);
766 var op = TableKit.option('noEditClass', table.id);
769 var head = $(TableKit.getHeaderCells(table, cell)[TableKit.getCellIndex(cell)]);
772 var data = TableKit.getCellData(cell);
775 var ftype = TableKit.Editable.getCellEditor(null,null,head);
780 var head = head ? head : $(TableKit.getHeaderCells(table, cell)[TableKit.getCellIndex(cell)]);
781 var ftype = TableKit.Editable.types['text-input'];
782 if(head.id && TableKit.Editable.types[head.id]) {
783 ftype = TableKit.Editable.types[head.id];
786 return (TableKit.Editable.types[n]) ? true : false;
788 ftype = n ? TableKit.Editable.types[n] : ftype;
794 if(o && o.name) { TableKit.Editable.types[o.name] = o; }
798 TableKit.Editable.CellEditor = Class.create();
799 TableKit.Editable.CellEditor.prototype = {
827 form.addClassName(TableKit.option('formClassName', table.id)[0]);
837 field.value = TableKit.getCellText(cell);
841 var txt = TableKit.getCellText(cell);
881 var head = $(TableKit.getHeaderCells(null, cell)[TableKit.getCellIndex(cell)]);
886 …var s = '&row=' + (TableKit.getRowIndex(row)+1) + '&cell=' + (TableKit.getCellIndex(cell)+1) + '&i…
887 … Ajax.Updater(cell, op.ajaxURI || TableKit.option('editAjaxURI', table.id)[0], Object.extend(op.aj…
891 var data = TableKit.getCellData(cell);
904 var data = TableKit.getCellData(cell);
912 TableKit.Editable.textInput = function(n,attributes) {
913 TableKit.Editable.addCellEditor(new TableKit.Editable.CellEditor(n, {
918 TableKit.Editable.textInput('text-input');
920 TableKit.Editable.multiLineInput = function(n,attributes) {
921 TableKit.Editable.addCellEditor(new TableKit.Editable.CellEditor(n, {
926 TableKit.Editable.multiLineInput('multi-line-input');
928 TableKit.Editable.selectInput = function(n,attributes,selectOptions) {
929 TableKit.Editable.addCellEditor(new TableKit.Editable.CellEditor(n, {
949 document.observe("dom:loaded", TableKit.load);