Upgrade to ExtJS 3.0.3 - Released 10/11/2009
[extjs.git] / docs / source / main.html
diff --git a/docs/source/main.html b/docs/source/main.html
deleted file mode 100644 (file)
index 45c5c62..0000000
+++ /dev/null
@@ -1,426 +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">// Initialize the state provider\r
-Ext.state.Manager.setProvider(new Ext.air.FileProvider({\r
-       file: 'tasks.state',\r
-       // if first time running\r
-       defaultState : {\r
-               mainWindow : {\r
-                       width:780,\r
-                       height:580,\r
-                       x:10,\r
-                       y:10\r
-               },\r
-               defaultReminder: 480\r
-       }\r
-}));\r
-\r
-Ext.onReady(function(){\r
-    Ext.QuickTips.init();\r
-\r
-       // maintain window state automatically\r
-       var win = new Ext.air.NativeWindow({\r
-               id: 'mainWindow',\r
-               instance: window.nativeWindow,\r
-               minimizeToTray: true,\r
-               trayIcon: 'ext-air/resources/icons/extlogo16.png',\r
-               trayTip: 'Simple Tasks',\r
-               trayMenu : [{\r
-                       text: 'Open Simple Tasks',\r
-                       handler: function(){\r
-                               win.activate();\r
-                       }\r
-               }, '-', {\r
-                       text: 'Exit',\r
-                       handler: function(){\r
-                               air.NativeApplication.nativeApplication.exit();\r
-                       }\r
-               }]\r
-       });\r
-       \r
-    tx.data.conn.open('tasks.db');\r
-    \r
-    var grid = new TaskGrid();\r
-       var selections = grid.getSelectionModel();\r
-       \r
-       \r
-       // Shared actions used by Ext toolbars, menus, etc.\r
-       var actions = {\r
-               newTask: new Ext.Action({\r
-                       text: 'New Task',\r
-                       iconCls: 'icon-active',\r
-                       tooltip: 'New Task',\r
-                       handler: function(){\r
-                               taskHeader.ntTitle.focus();\r
-                       }\r
-               }),\r
-               \r
-               deleteTask: new Ext.Action({\r
-                       itemText: 'Delete',\r
-                       iconCls: 'icon-delete-task',\r
-                       tooltip: 'Delete Task',\r
-                       disabled: true,\r
-                       handler: function(){\r
-                               Ext.Msg.confirm('Confirm', 'Are you sure you want to delete the selected task(s)?', function(btn){\r
-                                       if (btn == 'yes') {\r
-                                               selections.each(function(s){\r
-                                                       tx.data.tasks.remove(s);\r
-                                               });\r
-                                       }\r
-                               });\r
-                       }\r
-               }),\r
-               \r
-               complete: new Ext.Action({\r
-                       itemText: 'Mark Complete',\r
-                       iconCls: 'icon-mark-complete',\r
-                       tooltip: 'Mark Complete',\r
-                       disabled: true,\r
-                       handler: function(){\r
-                               selections.each(function(s){\r
-                                       s.set('completed', true);\r
-                               });\r
-                               tx.data.tasks.applyFilter();\r
-                       }\r
-               }),\r
-               \r
-               active: new Ext.Action({\r
-                       itemText: 'Mark Active',\r
-                       tooltip: 'Mark Active',\r
-                       iconCls: 'icon-mark-active',\r
-                       disabled: true,\r
-                       handler: function(){\r
-                               selections.each(function(s){\r
-                                       s.set('completed', false);\r
-                               });\r
-                               tx.data.tasks.applyFilter();\r
-                       }\r
-               }),\r
-               \r
-               newList: new Ext.Action({\r
-                       itemText: 'New List',\r
-                       tooltip: 'New List',\r
-                       iconCls: 'icon-list-new',\r
-                       handler: function(){\r
-                               var id = tx.data.lists.newList(false, tree.getActiveFolderId()).id;\r
-                               tree.startEdit(id, true);\r
-                       }\r
-               }),\r
-               \r
-               deleteList: new Ext.Action({\r
-                       itemText: 'Delete',\r
-                       tooltip: 'Delete List',\r
-                       iconCls: 'icon-list-delete',\r
-                       disabled: true,\r
-                       handler: function(){\r
-                               tree.removeList(tree.getSelectionModel().getSelectedNode());\r
-                       }\r
-               }),\r
-               \r
-               newFolder: new Ext.Action({\r
-                       itemText: 'New Folder',\r
-                       tooltip: 'New Folder',\r
-                       iconCls: 'icon-folder-new',\r
-                       handler: function(){\r
-                               var id = tx.data.lists.newList(true, tree.getActiveFolderId()).id;\r
-                               tree.startEdit(id, true);\r
-                       }\r
-               }),\r
-               \r
-               deleteFolder: new Ext.Action({\r
-                       itemText: 'Delete',\r
-                       tooltip: 'Delete Folder',\r
-                       iconCls: 'icon-folder-delete',\r
-                       disabled: true,\r
-                       handler: function(s){\r
-                               tree.removeList(tree.getSelectionModel().getSelectedNode());\r
-                       }\r
-               }),\r
-               \r
-               quit : new Ext.Action({\r
-                       text: 'Exit',\r
-                       handler: function(){\r
-                               air.NativeApplication.nativeApplication.exit();\r
-                       }\r
-               }),\r
-               \r
-               pasteAsTask : new Ext.Action({\r
-                       itemText: 'Paste as New Task',\r
-                       tooltip: 'Paste as New Task',\r
-            iconCls: 'icon-paste-new',\r
-            handler: function(){\r
-                if(air.Clipboard.generalClipboard.hasFormat(air.ClipboardFormats.TEXT_FORMAT)){\r
-                                   var text = air.Clipboard.generalClipboard.getData(air.ClipboardFormats.TEXT_FORMAT);\r
-                                       tx.data.tasks.addTask({\r
-                           taskId: Ext.uniqueId(),\r
-                           title: Ext.util.Format.htmlEncode(text.replace(/[\n\r]/g, '')),\r
-                           dueDate: new Date(),\r
-                           description: '', \r
-                           listId: tx.data.getActiveListId(),\r
-                           completed: false, \r
-                                               reminder: ''\r
-                       });\r
-                               }else{\r
-                    Ext.Msg.alert('Warning', 'Could not create task. The clipboard is empty.');\r
-                }\r
-                       }\r
-               }) \r
-       };\r
-    tx.actions = actions;\r
-\r
-    var menus = Ext.air.SystemMenu;\r
-       \r
-       menus.add('File', [\r
-               actions.newTask, \r
-               actions.newList, \r
-               actions.newFolder, \r
-               '-',{\r
-                       text:'Import...',\r
-                       handler: function(){\r
-                               var importer = new tx.Importer();\r
-                               importer.doImport(function(){\r
-                                       tx.data.lists.load();\r
-                                       root.reload();\r
-                                       loadList('root');\r
-                                       Ext.Msg.hide();\r
-                               });\r
-                       }\r
-               },{\r
-                       text:'Export...',\r
-                       handler: function(){\r
-                               new tx.Exporter();\r
-                       }\r
-               },\r
-               '-', \r
-               actions.quit\r
-       ]);\r
-\r
-       menus.add('Edit', [\r
-               actions.pasteAsTask\r
-       ]);\r
-\r
-        \r
-    var viewMenu = menus.add('View', [{\r
-        text: 'All Tasks',\r
-        checked: true,\r
-        handler: function(){\r
-            Ext.getCmp('filter').setActiveItem(0);\r
-        }\r
-    },{\r
-        text: 'Active Tasks',\r
-        checked: false,\r
-        handler: function(){\r
-            Ext.getCmp('filter').setActiveItem(1);\r
-        }\r
-    },{\r
-        text: 'Completed Tasks',\r
-        checked: false,\r
-        handler: function(){\r
-            Ext.getCmp('filter').setActiveItem(2);\r
-        }\r
-    }]);\r
-\r
-    menus.add('Help', [{\r
-        text: 'About',\r
-        handler: function(){\r
-            Ext.air.NativeWindowManager.getAboutWindow().activate();\r
-        }\r
-    }]);\r
-\r
-\r
-    var tree = new ListTree({\r
-               actions: actions,\r
-               store: tx.data.lists\r
-       });\r
-\r
-       var root = tree.getRootNode();  \r
-\r
-       var listSm = tree.getSelectionModel();\r
-       \r
-    tx.data.lists.bindTree(tree);\r
-       tx.data.lists.on('update', function(){\r
-               tx.data.tasks.applyGrouping();\r
-               if(grid.titleNode){\r
-                       grid.setTitle(grid.titleNode.text);\r
-               }\r
-       });\r
-       \r
-       var tb = new Ext.Toolbar({\r
-               region:'north',\r
-               id:'main-tb',\r
-               height:26,\r
-               items: [{\r
-                               xtype:'splitbutton',\r
-                               iconCls:'icon-edit',\r
-                               text:'New',\r
-                               handler: actions.newTask.initialConfig.handler,\r
-                               menu: [actions.newTask, actions.newList, actions.newFolder]\r
-                       },'-',\r
-                       actions.deleteTask,\r
-                       actions.complete,\r
-                       actions.active,\r
-            '-',\r
-            actions.pasteAsTask,\r
-            '->',{\r
-                               xtype:'switch',\r
-                               id:'filter',\r
-                activeItem:0,\r
-                               items: [{\r
-                               tooltip:'All Tasks',\r
-                                       filter: 'all',\r
-                               iconCls:'icon-all',\r
-                               menuIndex: 0\r
-                },{\r
-                               tooltip:'Active Tasks',\r
-                               filter: false,\r
-                               iconCls:'icon-active',\r
-                    menuIndex: 1\r
-                           },{\r
-                               tooltip:'Completed Tasks',\r
-                                       filter: true,\r
-                               iconCls:'icon-complete',\r
-                    menuIndex: 2\r
-                           }],\r
-                               listeners: {\r
-                                       change: function(btn, item){\r
-                                               tx.data.tasks.applyFilter(item.filter);\r
-                                               for (var i = 0; i < 3; i++) {\r
-                                                       viewMenu.items[i].checked = item.menuIndex === i;\r
-                                               }\r
-                                       },\r
-                                       delay: 10 // delay gives user instant click feedback before filtering tasks\r
-                               }\r
-                       }, ' ', ' ', ' '                \r
-               ]\r
-       });\r
-\r
-       var viewport = new Ext.Viewport({\r
-        layout:'border',\r
-        items: [tb, tree, grid]\r
-    });\r
-       \r
-       grid.on('keydown', function(e){\r
-         if(e.getKey() == e.DELETE && !grid.editing){\r
-             actions.deleteTask.execute();\r
-         }\r
-    });\r
-\r
-    tree.el.on('keydown', function(e){\r
-         if(e.getKey() == e.DELETE && !tree.editor.editing){\r
-             actions.deleteList.execute();\r
-         }\r
-    });\r
-\r
-    selections.on('selectionchange', function(sm){\r
-       var disabled = sm.getCount() < 1;\r
-       actions.complete.setDisabled(disabled);\r
-       actions.active.setDisabled(disabled);\r
-       actions.deleteTask.setDisabled(disabled);\r
-    });\r
-\r
-       var taskHeader = new TaskHeader(grid);\r
-\r
-       win.show();\r
-       win.instance.activate();\r
-       \r
-       tx.data.tasks.init();\r
-\r
-       tree.root.select();\r
-\r
-       var loadList = function(listId){\r
-               var node = tree.getNodeById(listId);\r
-               if(node && !node.isSelected()){\r
-                       node.select();\r
-                       return;\r
-               }\r
-               actions.deleteList.setDisabled(!node || !node.attributes.editable);\r
-               actions.deleteFolder.setDisabled(!node || node.attributes.editable === false || !node.attributes.isFolder);\r
-               if(node){\r
-                       if (node.attributes.isFolder) {\r
-                               var lists = [];\r
-                               node.cascade(function(n){\r
-                                       if (!n.attributes.isFolder) {\r
-                                               lists.push(n.attributes.id);\r
-                                       }\r
-                               });\r
-                               tx.data.tasks.loadList(lists);\r
-                       }\r
-                       else {\r
-                               tx.data.tasks.loadList(node.id);\r
-                       }\r
-                       grid.titleNode = node;\r
-                       grid.setTitle(node.text);\r
-                       grid.setIconClass(node.attributes.iconCls);\r
-               }\r
-       }\r
-\r
-       listSm.on('selectionchange', function(t, node){\r
-               loadList(node ? node.id : null);\r
-       });\r
-       \r
-       root.reload();\r
-       \r
-       if(Ext.state.Manager.get('defaultReminder') === undefined){\r
-               Ext.state.Manager.set('defaultReminder', 9 * 60); // default to 9am\r
-       }\r
-       \r
-       win.on('closing', function(){\r
-               Ext.air.NativeWindowManager.closeAll();\r
-       });\r
-       \r
-       tx.ReminderManager.init();\r
-       \r
-       grid.body.on('dragover', function(e){\r
-               if(e.hasFormat(Ext.air.DragType.TEXT)){\r
-                       e.preventDefault();\r
-               }\r
-       });\r
-       \r
-       grid.body.on('drop', function(e){\r
-               if(e.hasFormat(Ext.air.DragType.TEXT)){\r
-                       var text = e.getData(Ext.air.DragType.TEXT);\r
-                       try{\r
-                               // from outlook\r
-                               if(text.indexOf("Subject\t") != -1){\r
-                                       var tasks = text.split("\n");\r
-                                       for(var i = 1, len = tasks.length; i < len; i++){\r
-                                               var data = tasks[i].split("\t");\r
-                                               var list = tx.data.lists.findList(data[2]);\r
-                                               tx.data.tasks.addTask({\r
-                                       taskId: Ext.uniqueId(),\r
-                                       title: Ext.util.Format.htmlEncode(data[0]),\r
-                                       dueDate: Date.parseDate(data[1], 'D n/j/Y') || '',\r
-                                       description: '', \r
-                                       listId: list ? list.id : tx.data.getActiveListId(),\r
-                                       completed: false, \r
-                                                       reminder: ''\r
-                                   });\r
-                                       }\r
-                               }else{\r
-                                       tx.data.tasks.addTask({\r
-                               taskId: Ext.uniqueId(),\r
-                               title: Ext.util.Format.htmlEncode(text),\r
-                               dueDate: new Date(),\r
-                               description: '', \r
-                               listId: tx.data.getActiveListId(),\r
-                               completed: false, \r
-                                               reminder: ''\r
-                           });\r
-                               }\r
-                       }catch(e){\r
-                               air.trace('An error occured trying to import drag drop tasks.');\r
-                       }\r
-               }\r
-       });\r
-});\r
-\r
-    \r
-\r
-</pre>    \r
-</body>\r
-</html>
\ No newline at end of file