X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/docs/source/columns.html diff --git a/docs/source/columns.html b/docs/source/columns.html new file mode 100644 index 00000000..fc1e004f --- /dev/null +++ b/docs/source/columns.html @@ -0,0 +1,168 @@ + + + The source code + + + + +
// Grid column plugin that does the complete/active button in the left-most column
+CompleteColumn = function(){
+    var grid;
+
+    function getRecord(t){
+        var index = grid.getView().findRowIndex(t);
+        return grid.store.getAt(index);
+    }
+
+    function onMouseDown(e, t){
+        if(Ext.fly(t).hasClass('task-check')){
+            e.stopEvent();
+            var record = getRecord(t);
+            record.set('completed', !record.data.completed);
+            grid.store.applyFilter();
+        }
+    }
+
+    function onMouseOver(e, t){
+        if(Ext.fly(t).hasClass('task-check')){
+            Ext.fly(t.parentNode).addClass('task-check-over');
+        }
+    }
+
+    function onMouseOut(e, t){
+        if(Ext.fly(t).hasClass('task-check')){
+            Ext.fly(t.parentNode).removeClass('task-check-over');
+        }
+    }
+
+    Ext.apply(this, {
+        width: 22,
+        header: '
', + fixed: true, + menuDisabled: true, + id: 'task-col', + renderer: function(){ + return '
'; + }, + init : function(xg){ + grid = xg; + grid.on('render', function(){ + var view = grid.getView(); + view.mainBody.on('mousedown', onMouseDown); + view.mainBody.on('mouseover', onMouseOver); + view.mainBody.on('mouseout', onMouseOut); + }); + } + }); +}; + + +ReminderColumn = function(){ + var grid, menu, record; + + function getRecord(t){ + var index = grid.getView().findRowIndex(t); + return grid.store.getAt(index); + } + + function onMenuCheck(item){ + if(item.reminder === false){ + record.set('reminder', ''); + }else{ + var s = record.data.dueDate ? record.data.dueDate.clearTime(true) : new Date().clearTime(); + s = s.add('mi', Ext.state.Manager.get('defaultReminder')); + s = s.add('mi', item.reminder*-1); + record.set('reminder', s); + } + } + + function getMenu(){ + if(!menu){ + menu = new Ext.menu.Menu({ + plain: true, + items: [{ + text: 'No Reminder', + reminder: false, + handler: onMenuCheck + },'-',{ + text: 'On the Due Date', + reminder: 0, + handler: onMenuCheck + },'-',{ + text: '1 day before', + reminder: 24*60, + handler: onMenuCheck + },{ + text: '2 days before', + reminder: 48*60, + handler: onMenuCheck + },{ + text: '3 days before', + reminder: 72*60, + handler: onMenuCheck + },{ + text: '1 week before', + reminder: 7*24*60, + handler: onMenuCheck + },{ + text: '2 weeks before', + reminder: 14*24*60, + handler: onMenuCheck + },'-',{ + text: 'Set Default Time...', + handler: function(){ + Ext.air.NativeWindowManager.getPrefWindow(); + } + }] + }); + } + return menu; + } + + function onMouseDown(e, t){ + if(Ext.fly(t).hasClass('reminder')){ + e.stopEvent(); + record = getRecord(t); + if (!record.data.completed) { + var rmenu = getMenu(); + rmenu.show(t, 'tr-br?'); + } + } + } + + function onMouseOver(e, t){ + if(Ext.fly(t).hasClass('reminder')){ + Ext.fly(t.parentNode).addClass('reminder-over'); + } + } + + function onMouseOut(e, t){ + if(Ext.fly(t).hasClass('reminder')){ + Ext.fly(t.parentNode).removeClass('reminder-over'); + } + } + + Ext.apply(this, { + width: 26, + header: '
', + fixed: true, + id: 'reminder-col', + menuDisabled: true, + dataIndex:'reminder', + renderer: function(v){ + return '
'; + }, + init : function(xg){ + grid = xg; + grid.on('render', function(){ + var view = grid.getView(); + view.mainBody.on('contextmenu', onMouseDown); + view.mainBody.on('mousedown', onMouseDown); + view.mainBody.on('mouseover', onMouseOver); + view.mainBody.on('mouseout', onMouseOut); + }); + } + }); +};
+ + \ No newline at end of file