第一部分 Ext JS介紹
第1章 獨特的框架 3
1.1 認識Ext JS 4
1.1.1 和已有的站點相整合 5
1.1.2 富API文檔 6
1.1.3 通過預置的部件進行快速開發 7
1.1.4 與Prototype、jQuery、YUI結合使用以及在AIR中使用 8
1.2 需要知道的事項 8
1.3 框架概覽 9
1.3.1 容器和布局一覽 11
1.3.2 實際應用中的其他容器 12
1.3.3 網格、DataView和ListView 12
1.3.4 模仿一個TreePanel和葉子 14
1.3.5 表單的輸入字段 15
1.3.6 其他部件 17
1.4 Ext JS 3.0的新特性 19
1.4.1 Ext JS通過Direct完成遠程操作 19
1.4.2 數據類 19
1.4.3 新的布局 19
1.4.4 網格中ColumnModel的增強 20
1.4.5 ListView 21
1.4.6 Ext JS中新增的圖表功能 22
1.5 下載并配置 22
1.5.1 檢查SDK的內容 23
1.5.2 第一次配置Ext JS 24
1.5.3 配置Ext JS使用其他框架 24
1.5.4 配置BLANK_IMAGE_URL 25
1.6 測試 26
1.7 小結 29
第2章 基礎回顧 31
2.1 正確的開始 32
2.1.1 準備好了再行動 32
2.1.2 由Ext JS來觸發 32
2.2 Ext.Element類 34
2.2.1 框架的核心 34
2.2.2 與Ext.Element的第一次親密接觸 34
2.2.3 創建子節點 36
2.2.4 刪除子節點 38
2.2.5 Ext.Element與Ajax一起使用 40
2.3 使用Template和XTemplate 41
2.3.1 模板練習 41
2.3.2 用XTemplate循環 43
2.3.3 XTemplate的高級用途 45
2.4 小結 46
第3章 事件、組件和容器 47
3.1 通過Observable管理事件 48
3.1.1 回顧 48
3.1.2 基于DOM的事件 48
3.1.3 DOM中的事件流 49
3.1.4 把泡泡戳破 51
3.1.5 軟件驅動的事件 52
3.1.6 注冊事件和事件監聽器 53
3.2 組件模型 55
3.2.1 XType和組件管理器 56
3.2.2 組件的渲染 58
3.3 組件的生命周期 59
3.3.1 初始化 60
3.3.2 渲染 61
3.3.3 銷毀階段 63
3.4 容器 64
3.4.1 學會掌控子元素 65
3.4.2 查詢容器的層次結構 67
3.4.3 Viewport容器 68
3.5 小結 69
第二部分 Ext JS 組件
第4章 組件的安身之所 73
4.1 Panel 74
4.1.1 構建一個復雜的面板 74
4.2 彈出窗口 78
4.2.1 進一步探討窗口的配置選項 80
4.2.2 用MessageBox取代alert和prompt 81
4.2.3 MessageBox的高級技術 83
4.2.4 顯示一個動畫效果的等待MessageBox 84
4.3 組件也可以放在選項卡面板里 86
4.3.1 記住兩個選項 86
4.3.2 構建第一個TabPanel 88
4.3.3 需要知道的選項卡管理方法 90
4.3.4 缺陷與不足 91
4.4 小結 93
第5章 元素的擺放 94
5.1 簡單的ContainerLayout 94
5.2 AnchorLayout 97
5.3 FormLayout 100
5.4 AbsoluteLayout 102
5.5 讓組件填滿整個容器空間 104
5.6 AccordionLayout 104
5.7 CardLayout 107
5.8 ColumnLayout 109
5.9 HBox和VBox布局 112
5.10 TableLayout 115
5.11 BorderLayout 117
5.12 小結 122
第6章 Ext JS的表單 123
6.1 TextField 124
6.1.1 密碼和文件選擇字段 127
6.1.2 構建TextArea 128
6.1.3 方便的NumberField 128
6.2 ComboBox的預先輸入 129
6.2.1 構建一個本地ComboBox 130
6.2.2 使用遠程的ComboBox 131
6.2.3 剖析ComboBox 134
6.2.4 定制自己的ComboBox 135
6.2.5 時間 136
6.3 所見即所得 137
6.3.1 構造第一個HtmlEditor 137
6.3.2 解決缺少校驗的問題 138
6.4 選擇日期 138
6.5 Checkbox和Radio 139
6.6 FormPanel 141
6.7 數據提交和加載 147
6.7.1 傳統的提交 147
6.7.2 通過Ajax提交 147
6.7.3 表單的數據加載 149
6.8 小結 151
第三部分 數據驅動的組件
第7章 歷史悠久的
GridPanel 155
7.1 GridPanel簡介 155
7.1.1 深入內部 156
7.2 數據存儲器快速入門 157
7.2.1 數據存儲器的工作方式 158
7.3 構建一個簡單的GridPanel 160
7.3.1 配置一個ArrayStore 161
7.3.2 完成第一個GridPanel 162
7.4 高級GridPanel的構造 165
7.4.1 目標 165
7.4.2 用快捷方式創建數據存儲器 165
7.4.3 用自定義的渲染器構造ColumnModel 167
7.4.4 配置高級GridPanel 169
7.4.5 為GridPanel配置一個容器 170
7.4.6 加上事件處理 172
7.5 小結 175
第8章 EditorGridPanel 177
8.1 近觀EditorGridPanel 178
8.2 構建第一個EditorGridPanel 178
8.3 EditorGridPanel的導航 183
8.4 進入CRUD 184
8.4.1 添加保存和拒絕邏輯 184
8.4.2 保存修改或拒絕修改 187
8.4.3 添加創建和刪除 188
8.4.4 使用創建和刪除 192
8.5 使用Ext.data.DataWriter 195
8.5.1 走進Ext.data.DataWriter 196
8.5.2 給JsonStore添加DataWriter 196
8.5.3 使用DataWriter 199
8.5.4 自動寫數據存儲器 201
8.6 小結 201
第9章 DataView和ListView 202
9.1 什么是DataView 203
9.2 構建一個DataView 203
9.2.1 構造數據存儲器和XTemplate 205
9.2.2 構建DataView和Viewport 209
9.3 深入ListView 211
9.3.1 把DataView綁定到ListView 214
9.4 整合 215
9.4.1 配置FormPanel 216
9.4.2 應用最后的綁定 218
9.5 小結 221
第10章 圖表 222
10.1 定義4種圖表 223
10.2 剖析圖表 224
10.3 構建一個LineChart 226
10.3.1 ToolTip的定制 229
10.3.2 給x軸和y軸添加標題 230
10.3.3 美化圖表內容區 231
10.4 增加多個系列 232
10.4.1 添加圖例 235
10.5 構造ColumnChart 236
10.5.1 堆疊柱狀圖 237
10.5.2 混合使用Line和Column 238
10.6 構造BarChart 239
10.6.1 配置一個BarChart 241
10.7 PieChart的一片 242
10.7.1 自定義的tipRenderer 244
10.8 小結 245
第11章 樹 247
11.1 TreePanel 247
11.1.1 分析root 248
11.2 構建第一個TreePanel 249
11.3 動態增長的TreePanel 251
11.3.1 TreePanel 252
11.4 TreePanel的CRUD 254
11.4.1 給TreePanel添加上下文菜單 254
11.4.2 Edit的邏輯 258
11.4.3 實現刪除 261
11.4.4 給TreePanel創建節點 263
11.5 小結 266
第12章 菜單、按鈕和工具欄 267
12.1 初識菜單 268
12.1.1 構建一個菜單 268
12.1.2 獲得和使用圖標 270
12.1.3 駕馭瘋狂的圖標 271
12.1.4 添加子菜單 271
12.1.5 添加分隔欄和TextItem 273
12.1.6 選顏色和選擇日期 274
12.1.7 可以勾選的菜單項 276
12.1.8 單選項 278
12.2 按鈕的使用 280
12.2.1 構建按鈕 280
12.2.2 把菜單和按鈕綁在一起 281
12.2.3 SplitButton 282
12.2.4 自定義按鈕的布局 283
12.3 對按鈕進行分組 284
12.4 工具欄 287
12.5 讀取、設置和Ext.Action 290
12.6 小結 291
第四部分 高級Ext
第13章 拖放基礎 295
13.1 仔細研究拖放 296
13.1.1 拖放的生命周期 296
13.1.2 從上向下觀察拖放類 297
13.1.3 關鍵在于重載 299
13.1.4 拖放總是成組使用的 300
13.2 從簡單的開始 300
13.2.1 創建一個小的工作區 300
13.2.2 讓元素可以拖曳 302
13.2.3 分析Ext.dd.DD的DOM改變 302
13.2.4 添加用作投放目標的游泳池和熱水池 304
13.3 完成拖放 305
13.3.1 添加投放邀請 305
13.3.2 添加有效投放 308
13.3.3 實現無效投放 309
13.4 使用DDProxy 311
13.4.1 使用DDProxy的投放邀請 311
13.5 小結 314
第14章 部件的拖放 315
14.1 快速回顧拖放類 316
14.2 DataView的拖放 317
14.2.1 構造DataView 317
14.2.2 添加拖曳 321
14.2.3 投放 325
14.3 GridPanel的拖放 327
14.3.1 構造GridPanel 328
14.3.2 啟用拖曳 330
14.3.3 更好的投放邀請 331
14.3.4 添加投放 332
14.4 TreePanel的拖放 336
14.4.1 構造TreePanel 336
14.4.2 啟用拖放 338
14.4.3 使用靈活的約束 339
14.5 小結 342
第15章 擴展和插件 343
15.1 Ext JS的繼承 344
15.1.1 JavaScript的繼承 345
15.1.2 Ext JS的擴展 347
15.2 擴展Ext JS的組件 350
15.2.1 設想實現結果 350
15.2.2 擴展GridPanel 351
15.2.3 擴展實戰 355
15.2.4 擴展的局限性 357
15.3 插件 358
15.3.1 健壯的插件設計模式 359
15.3.2 開發一個插件 360
15.3.3 插件實踐 362
15.4 小結 366
第五部分 構建應用程序
第16章 可重用的開發 369
16.1 面向未來的開發 370
16.1.1 命名空間 370
16.1.2 命名空間的分段 371
16.1.3 大型應用程序的命名空間分段 372
16.2 分析應用需求 373
16.2.1 可重用性的提取 373
16.2.2 Dashboard界面 374
16.2.3 Manage Departments界面 376
16.2.4 Manage Employees界面 379
16.3 構造ChartPanel組件 381
16.3.1 ChartPanelBaseCls 381
16.3.2 CompanySnapshot類 383
16.3.3 DepartmentBreakdown類 385
16.4 構造列表面板組件 386
16.4.1 ListPanelBaseCls 387
16.4.2 DepartmentListView和EmployeeList類 388
16.5 構造EmployeeGridPanel類 390
16.6 EmployeeAssociationWindow類 392
16.7 form命名空間 396
16.7.1 FormPanelBaseCls類 396
16.7.2 DepartmentForm類 397
16.7.3 EmployeeForm類 404
16.8 小結 413
第
17章 應用層 414
17.1 開發應用程序命名空間 415
17.1.1 回顧應用程序界面 415
17.1.2 設計應用程序的命名空間 417
17.2 構造Dashboard 界面 417
17.3 Manage Employees界面 419
17.3.1 討論工作流程 419
17.3.2 構造Employee Manager 420
17.4 Manage Departments界面 430
17.4.1 導航和部門CRUD工作流 430
17.4.2 員工CRUD工作流 433
17.4.3 員工調動工作流 436
17.5 整合 437
17.5.1 工作區工作流 438
17.5.2 構造工作區單體 438
17.6 小結 445
《Ext JS實戰》以示例方式對Ext JS這種用于創建前端用戶界面的Ajax框架進行了詳細講解,內容豐富全面,易于理解。
《Ext JS實戰》共分為5個部分,包含17章內容,分別介紹了Ext JS基本概念、Ext JS組件、數據驅動的組件等內容,此外還介紹了Ext JS框架中的其他高級內容,比如拖曳支持以及創建擴展和插件等內容。在《Ext JS實戰》最后一部分中,還通過構建Web程序的方式來幫助讀者學習其中的關鍵概念,比如用命名空間和文件系統來組織類。
《Ext JS實戰》適合想要學習并在實際中應用Ext JS,而且具有一定的JavaScript、HTML、CSS經驗的開發人員閱讀。