Upgrade to ExtJS 3.0.3 - Released 10/11/2009
[extjs.git] / docs / source / TaskGrid.html
diff --git a/docs/source/TaskGrid.html b/docs/source/TaskGrid.html
deleted file mode 100644 (file)
index 0fe659f..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-<html>\r
-<head>\r
-  <title>The source code</title>\r
-    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
-    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
-</head>\r
-<body  onload="prettyPrint();">\r
-    <pre class="prettyprint lang-js">TaskGrid = function(){\r
-       \r
-       // custom columns\r
-       var completeColumn = new CompleteColumn();\r
-       var reminderColumn = new ReminderColumn();\r
-       \r
-       TaskGrid.superclass.constructor.call(this, {\r
-               id:'tasks-grid',\r
-        store: tx.data.tasks,\r
-        sm: new Ext.grid.RowSelectionModel({moveEditorOnEnter: false}),\r
-        clicksToEdit: 'auto',\r
-        enableColumnHide:false,\r
-        enableColumnMove:false,\r
-               autoEncode: true,\r
-        title:'All Tasks',\r
-        iconCls:'icon-folder',\r
-        region:'center',\r
-        plugins: [completeColumn, reminderColumn],\r
-               margins:'3 3 3 0',\r
-        columns: [\r
-            completeColumn,\r
-            {\r
-                header: "Task",\r
-                width:400,\r
-                sortable: true,\r
-                dataIndex: 'title',\r
-                id:'task-title',\r
-                editor: new Ext.form.TextField({\r
-                    allowBlank: false\r
-                })\r
-            },\r
-            {\r
-                header: "List",\r
-                width:150,\r
-                sortable: true,\r
-                dataIndex: 'listId',\r
-                editor: new ListSelector({\r
-                               store:tx.data.lists\r
-                           }),\r
-                               renderer : function(v){\r
-                                       return tx.data.lists.getName(v);\r
-                               }\r
-            },\r
-            {\r
-                               id:'dueDate',\r
-                header: "Due Date",\r
-                width: 150,\r
-                sortable: true,\r
-                renderer: Ext.util.Format.dateRenderer('D m/d/Y'),\r
-                dataIndex: 'dueDate',\r
-                groupRenderer: Ext.util.Format.createTextDateRenderer(),\r
-                groupName: 'Due',\r
-                editor: new Ext.form.DateField({\r
-                    format : "m/d/Y"\r
-                })\r
-            },\r
-                       reminderColumn\r
-        ],\r
-\r
-        view: new TaskView()\r
-       });\r
-       \r
-       // Keep the visible date groups in the grid accurate\r
-       Ext.TaskMgr.start({\r
-               run: function(){\r
-                       var col = this.getColumnModel().getColumnById('dueDate');\r
-                       if(col.groupRenderer.date.getTime() != new Date().clearTime().getTime()){\r
-                               col.groupRenderer = Ext.util.Format.createTextDateRenderer();\r
-                               tx.data.tasks.applyGrouping();\r
-                       }\r
-               },\r
-               interval: 60000,\r
-               scope: this\r
-       });\r
-       \r
-       this.on('rowcontextmenu', this.onRowContext, this);\r
-};\r
-\r
-Ext.extend(TaskGrid, Ext.grid.EditorGridPanel, {\r
-       onCellDblClick: function(g, row){\r
-               clearTimeout(this.autoEditTimer); // allow dbl click without starting edit\r
-               var id = this.store.getAt(row).id;\r
-               \r
-               Ext.air.NativeWindowManager.getTaskWindow(id);\r
-       },\r
-\r
-    // private\r
-    onAutoEditClick : function(e, t){\r
-               clearTimeout(this.autoEditTimer);\r
-        if(e.button !== 0){\r
-            return;\r
-        }\r
-        var row = this.view.findRowIndex(t);\r
-        var col = this.view.findCellIndex(t);\r
-        if(row !== false && col !== false){\r
-               if(this.selModel.isSelected(row) && this.selModel.getCount() === 1){\r
-                               this.autoEditTimer = this.startEditing.defer(300, this, [row, col]);\r
-            }\r
-        }\r
-    },\r
-       \r
-       onRowContext : function(grid, row, e){\r
-        if(!this.menu){ // create context menu on first right click\r
-            this.menu = new Ext.menu.Menu({\r
-                id:'tasks-ctx',\r
-                               listWidth: 200,\r
-                items: [{\r
-                    text:'Open',\r
-                    scope: this,\r
-                    handler:function(){\r
-                                               Ext.each(this.selModel.getSelections(), function(r){\r
-                                                       Ext.air.NativeWindowManager.getTaskWindow(r.id);\r
-                                               });\r
-                    }\r
-                },'-',\r
-                                       tx.actions.complete,\r
-                                       tx.actions.deleteTask\r
-                ]\r
-            });\r
-        }\r
-               if(!this.selModel.isSelected(row)){\r
-                       this.selModel.selectRow(row);\r
-               }\r
-               \r
-               this.menu.showAt(e.getXY());\r
-    }\r
-})\r
-\r
-\r
-TaskView = Ext.extend(Ext.grid.GroupingView, {\r
-       forceFit:true,\r
-    ignoreAdd: true,\r
-    emptyText: 'There are no tasks to show in this list.',\r
-\r
-    templates: {\r
-        header: Templates.gridHeader\r
-    },\r
-    getRowClass : function(r){\r
-        var d = r.data;\r
-        if(d.completed){\r
-            return 'task-completed';\r
-        }\r
-        if(d.dueDate && d.dueDate.getTime() < new Date().clearTime().getTime()){\r
-            return 'task-overdue';\r
-        }\r
-        return '';\r
-    }\r
-});\r
-\r
-\r
-TaskHeader = function(grid){\r
-       grid.on('resize', syncFields);\r
-       grid.on('columnresize', syncFields);\r
-               \r
-    // The fields in the grid's header\r
-    var ntTitle = this.ntTitle = new Ext.form.TextField({\r
-        renderTo: 'new-task-title',\r
-        emptyText: 'Add a task...'\r
-    });\r
-\r
-    var ntCat = new ListSelector({\r
-        renderTo: 'new-task-cat',\r
-        disabled:true,\r
-        store:tx.data.lists,\r
-               listenForLoad: true\r
-    });\r
-\r
-    var ntDue = new Ext.form.DateField({\r
-        renderTo: 'new-task-due',\r
-        value: new Date(),\r
-        disabled:true,\r
-        format : "m/d/Y"\r
-    });\r
-\r
-    // syncs the header fields' widths with the grid column widths\r
-    function syncFields(){\r
-        var cm = grid.getColumnModel();\r
-        ntTitle.setSize(cm.getColumnWidth(1)-2);\r
-        ntCat.setSize(cm.getColumnWidth(2)-4);\r
-        ntDue.setSize(cm.getColumnWidth(3)-4);\r
-    }\r
-    syncFields();\r
-\r
-    var editing = false, focused = false, userTriggered = false;\r
-    var handlers = {\r
-        focus: function(){\r
-            setFocus.defer(20, window, [true]);\r
-        },\r
-        blur: function(){\r
-            focused = false;\r
-            doBlur.defer(250);\r
-        },\r
-        specialkey: function(f, e){\r
-            if(e.getKey()==e.ENTER && (!f.isExpanded || !f.isExpanded())){\r
-                userTriggered = true;\r
-                e.stopEvent();\r
-                f.el.blur();\r
-                if(f.triggerBlur){\r
-                    f.triggerBlur();\r
-                }\r
-            }\r
-        }\r
-    }\r
-    ntTitle.on(handlers);\r
-    ntCat.on(handlers);\r
-    ntDue.on(handlers);\r
-\r
-    ntTitle.on('focus', function(){\r
-        focused = true;\r
-        if(!editing){\r
-            ntCat.enable();\r
-            ntDue.enable();\r
-            syncFields();\r
-            editing = true;\r
-                       \r
-                       ntCat.setValue(tx.data.getActiveListId());\r
-        }\r
-    });\r
-\r
-    function setFocus(v){\r
-               focused = v;\r
-       }\r
-    // when a field in the add bar is blurred, this determines\r
-    // whether a new task should be created\r
-    function doBlur(){\r
-        if(editing && !focused){\r
-                       var title = ntTitle.getValue();\r
-            if(!Ext.isEmpty(title)){\r
-                               tx.data.tasks.createTask(title, ntCat.getRawValue(), ntDue.getValue());\r
-               ntTitle.setValue('');\r
-                if(userTriggered){ // if they entered to add the task, then go to a new add automatically\r
-                    userTriggered = false;\r
-                    ntTitle.focus.defer(100, ntTitle);\r
-                }\r
-            }\r
-            ntCat.disable();\r
-            ntDue.disable();\r
-            editing = false;\r
-        }\r
-    }\r
-};\r
-</pre>    \r
-</body>\r
-</html>
\ No newline at end of file