lpmp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. data/LICENSE +3 -0
  2. data/README +3 -0
  3. data/Rakefile +45 -0
  4. data/bin/lpmp +107 -0
  5. data/config/help.yaml +1 -0
  6. data/config/hosts.yaml +2 -0
  7. data/config/log.yaml +1 -0
  8. data/config/memcache.yaml +5 -0
  9. data/erb/index.erb +62 -0
  10. data/lib/bg_pull/caichen.rb +199 -0
  11. data/lib/bg_pull/lpmp.rb +45 -0
  12. data/lib/exception.rb +8 -0
  13. data/lib/lpmp.rb +53 -0
  14. data/lib/pull/lpmp.rb +355 -0
  15. data/lib/remote_lmp.rb +129 -0
  16. data/lib/utils.rb +14 -0
  17. data/lib/xq_push/caichen.rb +174 -0
  18. data/lib/xq_push/lpmp.rb +96 -0
  19. data/log/lpmp1st.log +1 -0
  20. data/public/css/ext-portal.css +40 -0
  21. data/public/css/lpmp.css +6 -0
  22. data/public/designer/caichen.epj +1 -0
  23. data/public/designer/hostmonitor.epj +1 -0
  24. data/public/ext-3.0.0/INCLUDE_ORDER.txt +35 -0
  25. data/public/ext-3.0.0/adapter/ext/ext-base-debug.js +3589 -0
  26. data/public/ext-3.0.0/adapter/ext/ext-base.js +7 -0
  27. data/public/ext-3.0.0/adapter/jquery/ext-jquery-adapter-debug.js +2292 -0
  28. data/public/ext-3.0.0/adapter/jquery/ext-jquery-adapter.js +7 -0
  29. data/public/ext-3.0.0/adapter/prototype/ext-prototype-adapter-debug.js +2346 -0
  30. data/public/ext-3.0.0/adapter/prototype/ext-prototype-adapter.js +7 -0
  31. data/public/ext-3.0.0/adapter/yui/ext-yui-adapter-debug.js +2136 -0
  32. data/public/ext-3.0.0/adapter/yui/ext-yui-adapter.js +7 -0
  33. data/public/ext-3.0.0/ext-all-debug.js +65610 -0
  34. data/public/ext-3.0.0/ext-all.js +11 -0
  35. data/public/ext-3.0.0/license.txt +42 -0
  36. data/public/ext-3.0.0/pkgs/cmp-foundation-debug.js +11287 -0
  37. data/public/ext-3.0.0/pkgs/cmp-foundation.js +7 -0
  38. data/public/ext-3.0.0/pkgs/data-foundation-debug.js +3853 -0
  39. data/public/ext-3.0.0/pkgs/data-foundation.js +7 -0
  40. data/public/ext-3.0.0/pkgs/data-grouping-debug.js +139 -0
  41. data/public/ext-3.0.0/pkgs/data-grouping.js +7 -0
  42. data/public/ext-3.0.0/pkgs/data-json-debug.js +582 -0
  43. data/public/ext-3.0.0/pkgs/data-json.js +7 -0
  44. data/public/ext-3.0.0/pkgs/data-list-views-debug.js +1278 -0
  45. data/public/ext-3.0.0/pkgs/data-list-views.js +7 -0
  46. data/public/ext-3.0.0/pkgs/data-xml-debug.js +234 -0
  47. data/public/ext-3.0.0/pkgs/data-xml.js +7 -0
  48. data/public/ext-3.0.0/pkgs/direct-debug.js +1121 -0
  49. data/public/ext-3.0.0/pkgs/direct.js +7 -0
  50. data/public/ext-3.0.0/pkgs/ext-dd-debug.js +4567 -0
  51. data/public/ext-3.0.0/pkgs/ext-dd.js +7 -0
  52. data/public/ext-3.0.0/pkgs/ext-foundation-debug.js +13417 -0
  53. data/public/ext-3.0.0/pkgs/ext-foundation.js +7 -0
  54. data/public/ext-3.0.0/pkgs/pkg-buttons-debug.js +1060 -0
  55. data/public/ext-3.0.0/pkgs/pkg-buttons.js +7 -0
  56. data/public/ext-3.0.0/pkgs/pkg-charts-debug.js +1621 -0
  57. data/public/ext-3.0.0/pkgs/pkg-charts.js +10 -0
  58. data/public/ext-3.0.0/pkgs/pkg-forms-debug.js +7661 -0
  59. data/public/ext-3.0.0/pkgs/pkg-forms.js +7 -0
  60. data/public/ext-3.0.0/pkgs/pkg-grid-editor-debug.js +560 -0
  61. data/public/ext-3.0.0/pkgs/pkg-grid-editor.js +7 -0
  62. data/public/ext-3.0.0/pkgs/pkg-grid-foundation-debug.js +4765 -0
  63. data/public/ext-3.0.0/pkgs/pkg-grid-foundation.js +7 -0
  64. data/public/ext-3.0.0/pkgs/pkg-grid-grouping-debug.js +517 -0
  65. data/public/ext-3.0.0/pkgs/pkg-grid-grouping.js +7 -0
  66. data/public/ext-3.0.0/pkgs/pkg-grid-property-debug.js +370 -0
  67. data/public/ext-3.0.0/pkgs/pkg-grid-property.js +7 -0
  68. data/public/ext-3.0.0/pkgs/pkg-history-debug.js +203 -0
  69. data/public/ext-3.0.0/pkgs/pkg-history.js +7 -0
  70. data/public/ext-3.0.0/pkgs/pkg-menu-debug.js +1628 -0
  71. data/public/ext-3.0.0/pkgs/pkg-menu.js +7 -0
  72. data/public/ext-3.0.0/pkgs/pkg-tabs-debug.js +1100 -0
  73. data/public/ext-3.0.0/pkgs/pkg-tabs.js +7 -0
  74. data/public/ext-3.0.0/pkgs/pkg-tips-debug.js +994 -0
  75. data/public/ext-3.0.0/pkgs/pkg-tips.js +7 -0
  76. data/public/ext-3.0.0/pkgs/pkg-toolbars-debug.js +1374 -0
  77. data/public/ext-3.0.0/pkgs/pkg-toolbars.js +7 -0
  78. data/public/ext-3.0.0/pkgs/pkg-tree-debug.js +4522 -0
  79. data/public/ext-3.0.0/pkgs/pkg-tree.js +7 -0
  80. data/public/ext-3.0.0/pkgs/resizable-debug.js +760 -0
  81. data/public/ext-3.0.0/pkgs/resizable.js +7 -0
  82. data/public/ext-3.0.0/pkgs/state-debug.js +274 -0
  83. data/public/ext-3.0.0/pkgs/state.js +7 -0
  84. data/public/ext-3.0.0/pkgs/window-debug.js +1888 -0
  85. data/public/ext-3.0.0/pkgs/window.js +7 -0
  86. data/public/ext-3.0.0/resources/charts.swf +0 -0
  87. data/public/ext-3.0.0/resources/css/README.txt +3 -0
  88. data/public/ext-3.0.0/resources/css/ext-all-notheme.css +5345 -0
  89. data/public/ext-3.0.0/resources/css/ext-all.css +6990 -0
  90. data/public/ext-3.0.0/resources/css/reset-min.css +7 -0
  91. data/public/ext-3.0.0/resources/css/structure/borders.css +54 -0
  92. data/public/ext-3.0.0/resources/css/structure/box.css +80 -0
  93. data/public/ext-3.0.0/resources/css/structure/button.css +440 -0
  94. data/public/ext-3.0.0/resources/css/structure/combo.css +45 -0
  95. data/public/ext-3.0.0/resources/css/structure/core.css +326 -0
  96. data/public/ext-3.0.0/resources/css/structure/date-picker.css +265 -0
  97. data/public/ext-3.0.0/resources/css/structure/dd.css +61 -0
  98. data/public/ext-3.0.0/resources/css/structure/debug.css +26 -0
  99. data/public/ext-3.0.0/resources/css/structure/dialog.css +62 -0
  100. data/public/ext-3.0.0/resources/css/structure/editor.css +92 -0
  101. data/public/ext-3.0.0/resources/css/structure/form.css +562 -0
  102. data/public/ext-3.0.0/resources/css/structure/grid.css +552 -0
  103. data/public/ext-3.0.0/resources/css/structure/layout.css +296 -0
  104. data/public/ext-3.0.0/resources/css/structure/list-view.css +85 -0
  105. data/public/ext-3.0.0/resources/css/structure/menu.css +205 -0
  106. data/public/ext-3.0.0/resources/css/structure/panel-reset.css +130 -0
  107. data/public/ext-3.0.0/resources/css/structure/panel.css +468 -0
  108. data/public/ext-3.0.0/resources/css/structure/progress.css +42 -0
  109. data/public/ext-3.0.0/resources/css/structure/qtips.css +153 -0
  110. data/public/ext-3.0.0/resources/css/structure/reset.css +7 -0
  111. data/public/ext-3.0.0/resources/css/structure/resizable.css +149 -0
  112. data/public/ext-3.0.0/resources/css/structure/slider.css +103 -0
  113. data/public/ext-3.0.0/resources/css/structure/tabs.css +372 -0
  114. data/public/ext-3.0.0/resources/css/structure/toolbar.css +259 -0
  115. data/public/ext-3.0.0/resources/css/structure/tree.css +203 -0
  116. data/public/ext-3.0.0/resources/css/structure/window.css +222 -0
  117. data/public/ext-3.0.0/resources/css/visual/borders.css +25 -0
  118. data/public/ext-3.0.0/resources/css/visual/box.css +74 -0
  119. data/public/ext-3.0.0/resources/css/visual/button.css +94 -0
  120. data/public/ext-3.0.0/resources/css/visual/combo.css +43 -0
  121. data/public/ext-3.0.0/resources/css/visual/core.css +76 -0
  122. data/public/ext-3.0.0/resources/css/visual/date-picker.css +143 -0
  123. data/public/ext-3.0.0/resources/css/visual/dd.css +29 -0
  124. data/public/ext-3.0.0/resources/css/visual/debug.css +24 -0
  125. data/public/ext-3.0.0/resources/css/visual/dialog.css +34 -0
  126. data/public/ext-3.0.0/resources/css/visual/editor.css +13 -0
  127. data/public/ext-3.0.0/resources/css/visual/form.css +117 -0
  128. data/public/ext-3.0.0/resources/css/visual/grid.css +272 -0
  129. data/public/ext-3.0.0/resources/css/visual/layout.css +53 -0
  130. data/public/ext-3.0.0/resources/css/visual/list-view.css +37 -0
  131. data/public/ext-3.0.0/resources/css/visual/menu.css +82 -0
  132. data/public/ext-3.0.0/resources/css/visual/panel.css +87 -0
  133. data/public/ext-3.0.0/resources/css/visual/progress.css +32 -0
  134. data/public/ext-3.0.0/resources/css/visual/qtips.css +44 -0
  135. data/public/ext-3.0.0/resources/css/visual/resizable.css +43 -0
  136. data/public/ext-3.0.0/resources/css/visual/slider.css +21 -0
  137. data/public/ext-3.0.0/resources/css/visual/tabs.css +119 -0
  138. data/public/ext-3.0.0/resources/css/visual/toolbar.css +103 -0
  139. data/public/ext-3.0.0/resources/css/visual/tree.css +157 -0
  140. data/public/ext-3.0.0/resources/css/visual/window.css +86 -0
  141. data/public/ext-3.0.0/resources/css/xtheme-blue.css +1652 -0
  142. data/public/ext-3.0.0/resources/expressinstall.swf +0 -0
  143. data/public/ext-3.0.0/resources/images/default/box/corners-blue.gif +0 -0
  144. data/public/ext-3.0.0/resources/images/default/box/corners.gif +0 -0
  145. data/public/ext-3.0.0/resources/images/default/box/l-blue.gif +0 -0
  146. data/public/ext-3.0.0/resources/images/default/box/l.gif +0 -0
  147. data/public/ext-3.0.0/resources/images/default/box/r-blue.gif +0 -0
  148. data/public/ext-3.0.0/resources/images/default/box/r.gif +0 -0
  149. data/public/ext-3.0.0/resources/images/default/box/tb-blue.gif +0 -0
  150. data/public/ext-3.0.0/resources/images/default/box/tb.gif +0 -0
  151. data/public/ext-3.0.0/resources/images/default/button/arrow.gif +0 -0
  152. data/public/ext-3.0.0/resources/images/default/button/btn.gif +0 -0
  153. data/public/ext-3.0.0/resources/images/default/button/group-cs.gif +0 -0
  154. data/public/ext-3.0.0/resources/images/default/button/group-lr.gif +0 -0
  155. data/public/ext-3.0.0/resources/images/default/button/group-tb.gif +0 -0
  156. data/public/ext-3.0.0/resources/images/default/button/s-arrow-b-noline.gif +0 -0
  157. data/public/ext-3.0.0/resources/images/default/button/s-arrow-b.gif +0 -0
  158. data/public/ext-3.0.0/resources/images/default/button/s-arrow-bo.gif +0 -0
  159. data/public/ext-3.0.0/resources/images/default/button/s-arrow-noline.gif +0 -0
  160. data/public/ext-3.0.0/resources/images/default/button/s-arrow-o.gif +0 -0
  161. data/public/ext-3.0.0/resources/images/default/button/s-arrow.gif +0 -0
  162. data/public/ext-3.0.0/resources/images/default/dd/drop-add.gif +0 -0
  163. data/public/ext-3.0.0/resources/images/default/dd/drop-no.gif +0 -0
  164. data/public/ext-3.0.0/resources/images/default/dd/drop-yes.gif +0 -0
  165. data/public/ext-3.0.0/resources/images/default/editor/tb-sprite.gif +0 -0
  166. data/public/ext-3.0.0/resources/images/default/form/checkbox.gif +0 -0
  167. data/public/ext-3.0.0/resources/images/default/form/clear-trigger.gif +0 -0
  168. data/public/ext-3.0.0/resources/images/default/form/clear-trigger.psd +0 -0
  169. data/public/ext-3.0.0/resources/images/default/form/date-trigger.gif +0 -0
  170. data/public/ext-3.0.0/resources/images/default/form/date-trigger.psd +0 -0
  171. data/public/ext-3.0.0/resources/images/default/form/error-tip-corners.gif +0 -0
  172. data/public/ext-3.0.0/resources/images/default/form/exclamation.gif +0 -0
  173. data/public/ext-3.0.0/resources/images/default/form/radio.gif +0 -0
  174. data/public/ext-3.0.0/resources/images/default/form/search-trigger.gif +0 -0
  175. data/public/ext-3.0.0/resources/images/default/form/search-trigger.psd +0 -0
  176. data/public/ext-3.0.0/resources/images/default/form/text-bg.gif +0 -0
  177. data/public/ext-3.0.0/resources/images/default/form/trigger-tpl.gif +0 -0
  178. data/public/ext-3.0.0/resources/images/default/form/trigger.gif +0 -0
  179. data/public/ext-3.0.0/resources/images/default/form/trigger.psd +0 -0
  180. data/public/ext-3.0.0/resources/images/default/gradient-bg.gif +0 -0
  181. data/public/ext-3.0.0/resources/images/default/grid/arrow-left-white.gif +0 -0
  182. data/public/ext-3.0.0/resources/images/default/grid/arrow-right-white.gif +0 -0
  183. data/public/ext-3.0.0/resources/images/default/grid/col-move-bottom.gif +0 -0
  184. data/public/ext-3.0.0/resources/images/default/grid/col-move-top.gif +0 -0
  185. data/public/ext-3.0.0/resources/images/default/grid/columns.gif +0 -0
  186. data/public/ext-3.0.0/resources/images/default/grid/dirty.gif +0 -0
  187. data/public/ext-3.0.0/resources/images/default/grid/done.gif +0 -0
  188. data/public/ext-3.0.0/resources/images/default/grid/drop-no.gif +0 -0
  189. data/public/ext-3.0.0/resources/images/default/grid/drop-yes.gif +0 -0
  190. data/public/ext-3.0.0/resources/images/default/grid/footer-bg.gif +0 -0
  191. data/public/ext-3.0.0/resources/images/default/grid/grid-blue-hd.gif +0 -0
  192. data/public/ext-3.0.0/resources/images/default/grid/grid-blue-split.gif +0 -0
  193. data/public/ext-3.0.0/resources/images/default/grid/grid-hrow.gif +0 -0
  194. data/public/ext-3.0.0/resources/images/default/grid/grid-loading.gif +0 -0
  195. data/public/ext-3.0.0/resources/images/default/grid/grid-split.gif +0 -0
  196. data/public/ext-3.0.0/resources/images/default/grid/grid-vista-hd.gif +0 -0
  197. data/public/ext-3.0.0/resources/images/default/grid/grid3-hd-btn.gif +0 -0
  198. data/public/ext-3.0.0/resources/images/default/grid/grid3-hrow-over.gif +0 -0
  199. data/public/ext-3.0.0/resources/images/default/grid/grid3-hrow.gif +0 -0
  200. data/public/ext-3.0.0/resources/images/default/grid/grid3-special-col-bg.gif +0 -0
  201. data/public/ext-3.0.0/resources/images/default/grid/grid3-special-col-sel-bg.gif +0 -0
  202. data/public/ext-3.0.0/resources/images/default/grid/group-by.gif +0 -0
  203. data/public/ext-3.0.0/resources/images/default/grid/group-collapse.gif +0 -0
  204. data/public/ext-3.0.0/resources/images/default/grid/group-expand-sprite.gif +0 -0
  205. data/public/ext-3.0.0/resources/images/default/grid/group-expand.gif +0 -0
  206. data/public/ext-3.0.0/resources/images/default/grid/hd-pop.gif +0 -0
  207. data/public/ext-3.0.0/resources/images/default/grid/hmenu-asc.gif +0 -0
  208. data/public/ext-3.0.0/resources/images/default/grid/hmenu-desc.gif +0 -0
  209. data/public/ext-3.0.0/resources/images/default/grid/hmenu-lock.gif +0 -0
  210. data/public/ext-3.0.0/resources/images/default/grid/hmenu-lock.png +0 -0
  211. data/public/ext-3.0.0/resources/images/default/grid/hmenu-unlock.gif +0 -0
  212. data/public/ext-3.0.0/resources/images/default/grid/hmenu-unlock.png +0 -0
  213. data/public/ext-3.0.0/resources/images/default/grid/invalid_line.gif +0 -0
  214. data/public/ext-3.0.0/resources/images/default/grid/loading.gif +0 -0
  215. data/public/ext-3.0.0/resources/images/default/grid/mso-hd.gif +0 -0
  216. data/public/ext-3.0.0/resources/images/default/grid/nowait.gif +0 -0
  217. data/public/ext-3.0.0/resources/images/default/grid/page-first-disabled.gif +0 -0
  218. data/public/ext-3.0.0/resources/images/default/grid/page-first.gif +0 -0
  219. data/public/ext-3.0.0/resources/images/default/grid/page-last-disabled.gif +0 -0
  220. data/public/ext-3.0.0/resources/images/default/grid/page-last.gif +0 -0
  221. data/public/ext-3.0.0/resources/images/default/grid/page-next-disabled.gif +0 -0
  222. data/public/ext-3.0.0/resources/images/default/grid/page-next.gif +0 -0
  223. data/public/ext-3.0.0/resources/images/default/grid/page-prev-disabled.gif +0 -0
  224. data/public/ext-3.0.0/resources/images/default/grid/page-prev.gif +0 -0
  225. data/public/ext-3.0.0/resources/images/default/grid/pick-button.gif +0 -0
  226. data/public/ext-3.0.0/resources/images/default/grid/refresh.gif +0 -0
  227. data/public/ext-3.0.0/resources/images/default/grid/row-check-sprite.gif +0 -0
  228. data/public/ext-3.0.0/resources/images/default/grid/row-expand-sprite.gif +0 -0
  229. data/public/ext-3.0.0/resources/images/default/grid/row-over.gif +0 -0
  230. data/public/ext-3.0.0/resources/images/default/grid/row-sel.gif +0 -0
  231. data/public/ext-3.0.0/resources/images/default/grid/sort-hd.gif +0 -0
  232. data/public/ext-3.0.0/resources/images/default/grid/sort_asc.gif +0 -0
  233. data/public/ext-3.0.0/resources/images/default/grid/sort_desc.gif +0 -0
  234. data/public/ext-3.0.0/resources/images/default/grid/wait.gif +0 -0
  235. data/public/ext-3.0.0/resources/images/default/layout/collapse.gif +0 -0
  236. data/public/ext-3.0.0/resources/images/default/layout/expand.gif +0 -0
  237. data/public/ext-3.0.0/resources/images/default/layout/gradient-bg.gif +0 -0
  238. data/public/ext-3.0.0/resources/images/default/layout/mini-bottom.gif +0 -0
  239. data/public/ext-3.0.0/resources/images/default/layout/mini-left.gif +0 -0
  240. data/public/ext-3.0.0/resources/images/default/layout/mini-right.gif +0 -0
  241. data/public/ext-3.0.0/resources/images/default/layout/mini-top.gif +0 -0
  242. data/public/ext-3.0.0/resources/images/default/layout/ns-collapse.gif +0 -0
  243. data/public/ext-3.0.0/resources/images/default/layout/ns-expand.gif +0 -0
  244. data/public/ext-3.0.0/resources/images/default/layout/panel-close.gif +0 -0
  245. data/public/ext-3.0.0/resources/images/default/layout/panel-title-bg.gif +0 -0
  246. data/public/ext-3.0.0/resources/images/default/layout/panel-title-light-bg.gif +0 -0
  247. data/public/ext-3.0.0/resources/images/default/layout/stick.gif +0 -0
  248. data/public/ext-3.0.0/resources/images/default/layout/stuck.gif +0 -0
  249. data/public/ext-3.0.0/resources/images/default/layout/tab-close-on.gif +0 -0
  250. data/public/ext-3.0.0/resources/images/default/layout/tab-close.gif +0 -0
  251. data/public/ext-3.0.0/resources/images/default/menu/checked.gif +0 -0
  252. data/public/ext-3.0.0/resources/images/default/menu/group-checked.gif +0 -0
  253. data/public/ext-3.0.0/resources/images/default/menu/item-over.gif +0 -0
  254. data/public/ext-3.0.0/resources/images/default/menu/menu-parent.gif +0 -0
  255. data/public/ext-3.0.0/resources/images/default/menu/menu.gif +0 -0
  256. data/public/ext-3.0.0/resources/images/default/menu/unchecked.gif +0 -0
  257. data/public/ext-3.0.0/resources/images/default/panel/corners-sprite.gif +0 -0
  258. data/public/ext-3.0.0/resources/images/default/panel/left-right.gif +0 -0
  259. data/public/ext-3.0.0/resources/images/default/panel/light-hd.gif +0 -0
  260. data/public/ext-3.0.0/resources/images/default/panel/tool-sprite-tpl.gif +0 -0
  261. data/public/ext-3.0.0/resources/images/default/panel/tool-sprites.gif +0 -0
  262. data/public/ext-3.0.0/resources/images/default/panel/tools-sprites-trans.gif +0 -0
  263. data/public/ext-3.0.0/resources/images/default/panel/top-bottom.gif +0 -0
  264. data/public/ext-3.0.0/resources/images/default/panel/top-bottom.png +0 -0
  265. data/public/ext-3.0.0/resources/images/default/panel/white-corners-sprite.gif +0 -0
  266. data/public/ext-3.0.0/resources/images/default/panel/white-left-right.gif +0 -0
  267. data/public/ext-3.0.0/resources/images/default/panel/white-top-bottom.gif +0 -0
  268. data/public/ext-3.0.0/resources/images/default/progress/progress-bg.gif +0 -0
  269. data/public/ext-3.0.0/resources/images/default/qtip/bg.gif +0 -0
  270. data/public/ext-3.0.0/resources/images/default/qtip/close.gif +0 -0
  271. data/public/ext-3.0.0/resources/images/default/qtip/tip-anchor-sprite.gif +0 -0
  272. data/public/ext-3.0.0/resources/images/default/qtip/tip-sprite.gif +0 -0
  273. data/public/ext-3.0.0/resources/images/default/s.gif +0 -0
  274. data/public/ext-3.0.0/resources/images/default/shadow-c.png +0 -0
  275. data/public/ext-3.0.0/resources/images/default/shadow-lr.png +0 -0
  276. data/public/ext-3.0.0/resources/images/default/shadow.png +0 -0
  277. data/public/ext-3.0.0/resources/images/default/shared/blue-loading.gif +0 -0
  278. data/public/ext-3.0.0/resources/images/default/shared/calendar.gif +0 -0
  279. data/public/ext-3.0.0/resources/images/default/shared/glass-bg.gif +0 -0
  280. data/public/ext-3.0.0/resources/images/default/shared/hd-sprite.gif +0 -0
  281. data/public/ext-3.0.0/resources/images/default/shared/large-loading.gif +0 -0
  282. data/public/ext-3.0.0/resources/images/default/shared/left-btn.gif +0 -0
  283. data/public/ext-3.0.0/resources/images/default/shared/loading-balls.gif +0 -0
  284. data/public/ext-3.0.0/resources/images/default/shared/right-btn.gif +0 -0
  285. data/public/ext-3.0.0/resources/images/default/shared/warning.gif +0 -0
  286. data/public/ext-3.0.0/resources/images/default/sizer/e-handle-dark.gif +0 -0
  287. data/public/ext-3.0.0/resources/images/default/sizer/e-handle.gif +0 -0
  288. data/public/ext-3.0.0/resources/images/default/sizer/ne-handle-dark.gif +0 -0
  289. data/public/ext-3.0.0/resources/images/default/sizer/ne-handle.gif +0 -0
  290. data/public/ext-3.0.0/resources/images/default/sizer/nw-handle-dark.gif +0 -0
  291. data/public/ext-3.0.0/resources/images/default/sizer/nw-handle.gif +0 -0
  292. data/public/ext-3.0.0/resources/images/default/sizer/s-handle-dark.gif +0 -0
  293. data/public/ext-3.0.0/resources/images/default/sizer/s-handle.gif +0 -0
  294. data/public/ext-3.0.0/resources/images/default/sizer/se-handle-dark.gif +0 -0
  295. data/public/ext-3.0.0/resources/images/default/sizer/se-handle.gif +0 -0
  296. data/public/ext-3.0.0/resources/images/default/sizer/square.gif +0 -0
  297. data/public/ext-3.0.0/resources/images/default/sizer/sw-handle-dark.gif +0 -0
  298. data/public/ext-3.0.0/resources/images/default/sizer/sw-handle.gif +0 -0
  299. data/public/ext-3.0.0/resources/images/default/slider/slider-bg.png +0 -0
  300. data/public/ext-3.0.0/resources/images/default/slider/slider-thumb.png +0 -0
  301. data/public/ext-3.0.0/resources/images/default/slider/slider-v-bg.png +0 -0
  302. data/public/ext-3.0.0/resources/images/default/slider/slider-v-thumb.png +0 -0
  303. data/public/ext-3.0.0/resources/images/default/tabs/scroll-left.gif +0 -0
  304. data/public/ext-3.0.0/resources/images/default/tabs/scroll-right.gif +0 -0
  305. data/public/ext-3.0.0/resources/images/default/tabs/scroller-bg.gif +0 -0
  306. data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
  307. data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
  308. data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-left-bg.gif +0 -0
  309. data/public/ext-3.0.0/resources/images/default/tabs/tab-btm-right-bg.gif +0 -0
  310. data/public/ext-3.0.0/resources/images/default/tabs/tab-close.gif +0 -0
  311. data/public/ext-3.0.0/resources/images/default/tabs/tab-strip-bg.gif +0 -0
  312. data/public/ext-3.0.0/resources/images/default/tabs/tab-strip-bg.png +0 -0
  313. data/public/ext-3.0.0/resources/images/default/tabs/tab-strip-btm-bg.gif +0 -0
  314. data/public/ext-3.0.0/resources/images/default/tabs/tabs-sprite.gif +0 -0
  315. data/public/ext-3.0.0/resources/images/default/toolbar/bg.gif +0 -0
  316. data/public/ext-3.0.0/resources/images/default/toolbar/btn-arrow-light.gif +0 -0
  317. data/public/ext-3.0.0/resources/images/default/toolbar/btn-arrow.gif +0 -0
  318. data/public/ext-3.0.0/resources/images/default/toolbar/btn-over-bg.gif +0 -0
  319. data/public/ext-3.0.0/resources/images/default/toolbar/gray-bg.gif +0 -0
  320. data/public/ext-3.0.0/resources/images/default/toolbar/more.gif +0 -0
  321. data/public/ext-3.0.0/resources/images/default/toolbar/tb-bg.gif +0 -0
  322. data/public/ext-3.0.0/resources/images/default/toolbar/tb-btn-sprite.gif +0 -0
  323. data/public/ext-3.0.0/resources/images/default/toolbar/tb-xl-btn-sprite.gif +0 -0
  324. data/public/ext-3.0.0/resources/images/default/toolbar/tb-xl-sep.gif +0 -0
  325. data/public/ext-3.0.0/resources/images/default/tree/arrows.gif +0 -0
  326. data/public/ext-3.0.0/resources/images/default/tree/drop-add.gif +0 -0
  327. data/public/ext-3.0.0/resources/images/default/tree/drop-between.gif +0 -0
  328. data/public/ext-3.0.0/resources/images/default/tree/drop-no.gif +0 -0
  329. data/public/ext-3.0.0/resources/images/default/tree/drop-over.gif +0 -0
  330. data/public/ext-3.0.0/resources/images/default/tree/drop-under.gif +0 -0
  331. data/public/ext-3.0.0/resources/images/default/tree/drop-yes.gif +0 -0
  332. data/public/ext-3.0.0/resources/images/default/tree/elbow-end-minus-nl.gif +0 -0
  333. data/public/ext-3.0.0/resources/images/default/tree/elbow-end-minus.gif +0 -0
  334. data/public/ext-3.0.0/resources/images/default/tree/elbow-end-plus-nl.gif +0 -0
  335. data/public/ext-3.0.0/resources/images/default/tree/elbow-end-plus.gif +0 -0
  336. data/public/ext-3.0.0/resources/images/default/tree/elbow-end.gif +0 -0
  337. data/public/ext-3.0.0/resources/images/default/tree/elbow-line.gif +0 -0
  338. data/public/ext-3.0.0/resources/images/default/tree/elbow-minus-nl.gif +0 -0
  339. data/public/ext-3.0.0/resources/images/default/tree/elbow-minus.gif +0 -0
  340. data/public/ext-3.0.0/resources/images/default/tree/elbow-plus-nl.gif +0 -0
  341. data/public/ext-3.0.0/resources/images/default/tree/elbow-plus.gif +0 -0
  342. data/public/ext-3.0.0/resources/images/default/tree/elbow.gif +0 -0
  343. data/public/ext-3.0.0/resources/images/default/tree/folder-open.gif +0 -0
  344. data/public/ext-3.0.0/resources/images/default/tree/folder.gif +0 -0
  345. data/public/ext-3.0.0/resources/images/default/tree/leaf.gif +0 -0
  346. data/public/ext-3.0.0/resources/images/default/tree/loading.gif +0 -0
  347. data/public/ext-3.0.0/resources/images/default/tree/s.gif +0 -0
  348. data/public/ext-3.0.0/resources/images/default/window/icon-error.gif +0 -0
  349. data/public/ext-3.0.0/resources/images/default/window/icon-info.gif +0 -0
  350. data/public/ext-3.0.0/resources/images/default/window/icon-question.gif +0 -0
  351. data/public/ext-3.0.0/resources/images/default/window/icon-warning.gif +0 -0
  352. data/public/ext-3.0.0/resources/images/default/window/left-corners.png +0 -0
  353. data/public/ext-3.0.0/resources/images/default/window/left-corners.psd +0 -0
  354. data/public/ext-3.0.0/resources/images/default/window/left-right.png +0 -0
  355. data/public/ext-3.0.0/resources/images/default/window/left-right.psd +0 -0
  356. data/public/ext-3.0.0/resources/images/default/window/right-corners.png +0 -0
  357. data/public/ext-3.0.0/resources/images/default/window/right-corners.psd +0 -0
  358. data/public/ext-3.0.0/resources/images/default/window/top-bottom.png +0 -0
  359. data/public/ext-3.0.0/resources/images/default/window/top-bottom.psd +0 -0
  360. data/public/ext-3.0.0/resources/images/icon/chart.gif +0 -0
  361. data/public/ext-3.0.0/src/adapter/core/ext-base-ajax.js +371 -0
  362. data/public/ext-3.0.0/src/adapter/core/ext-base-anim-extra.js +301 -0
  363. data/public/ext-3.0.0/src/adapter/core/ext-base-anim.js +477 -0
  364. data/public/ext-3.0.0/src/adapter/core/ext-base-begin.js +18 -0
  365. data/public/ext-3.0.0/src/adapter/core/ext-base-dom.js +157 -0
  366. data/public/ext-3.0.0/src/adapter/core/ext-base-end.js +21 -0
  367. data/public/ext-3.0.0/src/adapter/core/ext-base-event.js +453 -0
  368. data/public/ext-3.0.0/src/adapter/core/ext-base-point.js +17 -0
  369. data/public/ext-3.0.0/src/adapter/core/ext-base-region.js +81 -0
  370. data/public/ext-3.0.0/src/adapter/ext-base-dom-more.js +9 -0
  371. data/public/ext-3.0.0/src/adapter/jquery-bridge.js +546 -0
  372. data/public/ext-3.0.0/src/adapter/prototype-bridge.js +600 -0
  373. data/public/ext-3.0.0/src/adapter/yui-bridge.js +390 -0
  374. data/public/ext-3.0.0/src/core/CompositeElement.js +136 -0
  375. data/public/ext-3.0.0/src/core/CompositeElementLite-more.js +102 -0
  376. data/public/ext-3.0.0/src/core/DomHelper-more.js +179 -0
  377. data/public/ext-3.0.0/src/core/Element-more.js +192 -0
  378. data/public/ext-3.0.0/src/core/Element.alignment.js +370 -0
  379. data/public/ext-3.0.0/src/core/Element.dd.js +46 -0
  380. data/public/ext-3.0.0/src/core/Element.fx-more.js +152 -0
  381. data/public/ext-3.0.0/src/core/Element.insertion-more.js +52 -0
  382. data/public/ext-3.0.0/src/core/Element.keys.js +48 -0
  383. data/public/ext-3.0.0/src/core/Element.legacy.js +42 -0
  384. data/public/ext-3.0.0/src/core/Element.position-more.js +165 -0
  385. data/public/ext-3.0.0/src/core/Element.scroll-more.js +110 -0
  386. data/public/ext-3.0.0/src/core/Element.style-more.js +318 -0
  387. data/public/ext-3.0.0/src/core/Error.js +81 -0
  388. data/public/ext-3.0.0/src/core/EventManager-more.js +334 -0
  389. data/public/ext-3.0.0/src/core/Ext-more.js +669 -0
  390. data/public/ext-3.0.0/src/core/Template-more.js +115 -0
  391. data/public/ext-3.0.0/src/core/core/CompositeElementLite.js +197 -0
  392. data/public/ext-3.0.0/src/core/core/DomHelper.js +378 -0
  393. data/public/ext-3.0.0/src/core/core/DomQuery.js +826 -0
  394. data/public/ext-3.0.0/src/core/core/Element.fx.js +324 -0
  395. data/public/ext-3.0.0/src/core/core/Element.insertion.js +147 -0
  396. data/public/ext-3.0.0/src/core/core/Element.js +945 -0
  397. data/public/ext-3.0.0/src/core/core/Element.position.js +303 -0
  398. data/public/ext-3.0.0/src/core/core/Element.scroll.js +58 -0
  399. data/public/ext-3.0.0/src/core/core/Element.style.js +439 -0
  400. data/public/ext-3.0.0/src/core/core/Element.traversal.js +176 -0
  401. data/public/ext-3.0.0/src/core/core/EventManager.js +623 -0
  402. data/public/ext-3.0.0/src/core/core/Ext.js +922 -0
  403. data/public/ext-3.0.0/src/core/core/Fx.js +1115 -0
  404. data/public/ext-3.0.0/src/core/core/Template.js +185 -0
  405. data/public/ext-3.0.0/src/data/Api.js +210 -0
  406. data/public/ext-3.0.0/src/data/ArrayReader.js +102 -0
  407. data/public/ext-3.0.0/src/data/ArrayStore.js +70 -0
  408. data/public/ext-3.0.0/src/data/DataField.js +249 -0
  409. data/public/ext-3.0.0/src/data/DataProxy.js +427 -0
  410. data/public/ext-3.0.0/src/data/DataReader.js +160 -0
  411. data/public/ext-3.0.0/src/data/DataWriter.js +201 -0
  412. data/public/ext-3.0.0/src/data/DirectProxy.js +141 -0
  413. data/public/ext-3.0.0/src/data/DirectStore.js +52 -0
  414. data/public/ext-3.0.0/src/data/GroupingStore.js +139 -0
  415. data/public/ext-3.0.0/src/data/HttpProxy.js +276 -0
  416. data/public/ext-3.0.0/src/data/JsonReader.js +311 -0
  417. data/public/ext-3.0.0/src/data/JsonStore.js +49 -0
  418. data/public/ext-3.0.0/src/data/JsonWriter.js +77 -0
  419. data/public/ext-3.0.0/src/data/MemoryProxy.js +69 -0
  420. data/public/ext-3.0.0/src/data/Record.js +400 -0
  421. data/public/ext-3.0.0/src/data/ScriptTagProxy.js +279 -0
  422. data/public/ext-3.0.0/src/data/SortTypes.js +91 -0
  423. data/public/ext-3.0.0/src/data/Store.js +1492 -0
  424. data/public/ext-3.0.0/src/data/StoreMgr.js +72 -0
  425. data/public/ext-3.0.0/src/data/Tree.js +785 -0
  426. data/public/ext-3.0.0/src/data/XmlReader.js +128 -0
  427. data/public/ext-3.0.0/src/data/XmlStore.js +75 -0
  428. data/public/ext-3.0.0/src/data/XmlWriter.js +45 -0
  429. data/public/ext-3.0.0/src/data/core/Connection.js +575 -0
  430. data/public/ext-3.0.0/src/dd/DDCore.js +2992 -0
  431. data/public/ext-3.0.0/src/dd/DragSource.js +365 -0
  432. data/public/ext-3.0.0/src/dd/DragTracker.js +217 -0
  433. data/public/ext-3.0.0/src/dd/DragZone.js +133 -0
  434. data/public/ext-3.0.0/src/dd/DropTarget.js +115 -0
  435. data/public/ext-3.0.0/src/dd/DropZone.js +262 -0
  436. data/public/ext-3.0.0/src/dd/Registry.js +127 -0
  437. data/public/ext-3.0.0/src/dd/ScrollManager.js +201 -0
  438. data/public/ext-3.0.0/src/dd/StatusProxy.js +171 -0
  439. data/public/ext-3.0.0/src/debug.js +906 -0
  440. data/public/ext-3.0.0/src/direct/Direct.js +235 -0
  441. data/public/ext-3.0.0/src/direct/Event.js +34 -0
  442. data/public/ext-3.0.0/src/direct/JsonProvider.js +45 -0
  443. data/public/ext-3.0.0/src/direct/PollingProvider.js +151 -0
  444. data/public/ext-3.0.0/src/direct/Provider.js +110 -0
  445. data/public/ext-3.0.0/src/direct/RemotingProvider.js +373 -0
  446. data/public/ext-3.0.0/src/direct/Transaction.js +32 -0
  447. data/public/ext-3.0.0/src/locale/ext-lang-af.js +184 -0
  448. data/public/ext-3.0.0/src/locale/ext-lang-bg.js +278 -0
  449. data/public/ext-3.0.0/src/locale/ext-lang-ca.js +315 -0
  450. data/public/ext-3.0.0/src/locale/ext-lang-cs.js +293 -0
  451. data/public/ext-3.0.0/src/locale/ext-lang-da.js +296 -0
  452. data/public/ext-3.0.0/src/locale/ext-lang-de.js +326 -0
  453. data/public/ext-3.0.0/src/locale/ext-lang-el_GR.js +309 -0
  454. data/public/ext-3.0.0/src/locale/ext-lang-en.js +335 -0
  455. data/public/ext-3.0.0/src/locale/ext-lang-en_GB.js +315 -0
  456. data/public/ext-3.0.0/src/locale/ext-lang-es.js +318 -0
  457. data/public/ext-3.0.0/src/locale/ext-lang-fa.js +272 -0
  458. data/public/ext-3.0.0/src/locale/ext-lang-fi.js +302 -0
  459. data/public/ext-3.0.0/src/locale/ext-lang-fr.js +335 -0
  460. data/public/ext-3.0.0/src/locale/ext-lang-fr_CA.js +218 -0
  461. data/public/ext-3.0.0/src/locale/ext-lang-gr.js +175 -0
  462. data/public/ext-3.0.0/src/locale/ext-lang-he.js +292 -0
  463. data/public/ext-3.0.0/src/locale/ext-lang-hr.js +295 -0
  464. data/public/ext-3.0.0/src/locale/ext-lang-hu.js +296 -0
  465. data/public/ext-3.0.0/src/locale/ext-lang-id.js +302 -0
  466. data/public/ext-3.0.0/src/locale/ext-lang-it.js +295 -0
  467. data/public/ext-3.0.0/src/locale/ext-lang-ja.js +318 -0
  468. data/public/ext-3.0.0/src/locale/ext-lang-ko.js +267 -0
  469. data/public/ext-3.0.0/src/locale/ext-lang-lt.js +333 -0
  470. data/public/ext-3.0.0/src/locale/ext-lang-lv.js +176 -0
  471. data/public/ext-3.0.0/src/locale/ext-lang-mk.js +176 -0
  472. data/public/ext-3.0.0/src/locale/ext-lang-nl.js +323 -0
  473. data/public/ext-3.0.0/src/locale/ext-lang-no_NB.js +294 -0
  474. data/public/ext-3.0.0/src/locale/ext-lang-no_NN.js +294 -0
  475. data/public/ext-3.0.0/src/locale/ext-lang-pl.js +304 -0
  476. data/public/ext-3.0.0/src/locale/ext-lang-pt.js +260 -0
  477. data/public/ext-3.0.0/src/locale/ext-lang-pt_BR.js +302 -0
  478. data/public/ext-3.0.0/src/locale/ext-lang-pt_PT.js +298 -0
  479. data/public/ext-3.0.0/src/locale/ext-lang-ro.js +295 -0
  480. data/public/ext-3.0.0/src/locale/ext-lang-ru.js +319 -0
  481. data/public/ext-3.0.0/src/locale/ext-lang-sk.js +182 -0
  482. data/public/ext-3.0.0/src/locale/ext-lang-sl.js +176 -0
  483. data/public/ext-3.0.0/src/locale/ext-lang-sr.js +179 -0
  484. data/public/ext-3.0.0/src/locale/ext-lang-sr_RS.js +178 -0
  485. data/public/ext-3.0.0/src/locale/ext-lang-sv_SE.js +178 -0
  486. data/public/ext-3.0.0/src/locale/ext-lang-th.js +294 -0
  487. data/public/ext-3.0.0/src/locale/ext-lang-tr.js +306 -0
  488. data/public/ext-3.0.0/src/locale/ext-lang-ukr.js +258 -0
  489. data/public/ext-3.0.0/src/locale/ext-lang-vn.js +181 -0
  490. data/public/ext-3.0.0/src/locale/ext-lang-zh_CN.js +174 -0
  491. data/public/ext-3.0.0/src/locale/ext-lang-zh_TW.js +178 -0
  492. data/public/ext-3.0.0/src/state/CookieProvider.js +91 -0
  493. data/public/ext-3.0.0/src/state/Provider.js +127 -0
  494. data/public/ext-3.0.0/src/state/StateManager.js +69 -0
  495. data/public/ext-3.0.0/src/util/CSS.js +161 -0
  496. data/public/ext-3.0.0/src/util/ClickRepeater.js +200 -0
  497. data/public/ext-3.0.0/src/util/Cookies.js +96 -0
  498. data/public/ext-3.0.0/src/util/Date.js +1317 -0
  499. data/public/ext-3.0.0/src/util/Format.js +356 -0
  500. data/public/ext-3.0.0/src/util/History.js +203 -0
  501. data/public/ext-3.0.0/src/util/KeyMap.js +242 -0
  502. data/public/ext-3.0.0/src/util/KeyNav.js +161 -0
  503. data/public/ext-3.0.0/src/util/MixedCollection.js +576 -0
  504. data/public/ext-3.0.0/src/util/Observable-more.js +178 -0
  505. data/public/ext-3.0.0/src/util/TextMetrics.js +131 -0
  506. data/public/ext-3.0.0/src/util/UpdateManager.js +536 -0
  507. data/public/ext-3.0.0/src/util/XTemplate.js +379 -0
  508. data/public/ext-3.0.0/src/util/core/DelayedTask.js +68 -0
  509. data/public/ext-3.0.0/src/util/core/JSON.js +174 -0
  510. data/public/ext-3.0.0/src/util/core/Observable.js +483 -0
  511. data/public/ext-3.0.0/src/util/core/TaskMgr.js +174 -0
  512. data/public/ext-3.0.0/src/widgets/Action.js +252 -0
  513. data/public/ext-3.0.0/src/widgets/BoxComponent.js +519 -0
  514. data/public/ext-3.0.0/src/widgets/Button.js +762 -0
  515. data/public/ext-3.0.0/src/widgets/ButtonGroup.js +103 -0
  516. data/public/ext-3.0.0/src/widgets/ColorPalette.js +148 -0
  517. data/public/ext-3.0.0/src/widgets/Component.js +1540 -0
  518. data/public/ext-3.0.0/src/widgets/ComponentMgr.js +159 -0
  519. data/public/ext-3.0.0/src/widgets/Container.js +894 -0
  520. data/public/ext-3.0.0/src/widgets/CycleButton.js +188 -0
  521. data/public/ext-3.0.0/src/widgets/DataView.js +749 -0
  522. data/public/ext-3.0.0/src/widgets/DatePicker.js +771 -0
  523. data/public/ext-3.0.0/src/widgets/Editor.js +385 -0
  524. data/public/ext-3.0.0/src/widgets/Layer.js +466 -0
  525. data/public/ext-3.0.0/src/widgets/LoadMask.js +123 -0
  526. data/public/ext-3.0.0/src/widgets/MessageBox.js +626 -0
  527. data/public/ext-3.0.0/src/widgets/PagingToolbar.js +502 -0
  528. data/public/ext-3.0.0/src/widgets/Panel.js +1772 -0
  529. data/public/ext-3.0.0/src/widgets/PanelDD.js +154 -0
  530. data/public/ext-3.0.0/src/widgets/ProgressBar.js +289 -0
  531. data/public/ext-3.0.0/src/widgets/Resizable.js +760 -0
  532. data/public/ext-3.0.0/src/widgets/Shadow.js +192 -0
  533. data/public/ext-3.0.0/src/widgets/Slider.js +426 -0
  534. data/public/ext-3.0.0/src/widgets/SplitBar.js +436 -0
  535. data/public/ext-3.0.0/src/widgets/SplitButton.js +124 -0
  536. data/public/ext-3.0.0/src/widgets/TabPanel.js +1100 -0
  537. data/public/ext-3.0.0/src/widgets/Toolbar.js +781 -0
  538. data/public/ext-3.0.0/src/widgets/Viewport.js +124 -0
  539. data/public/ext-3.0.0/src/widgets/Window.js +941 -0
  540. data/public/ext-3.0.0/src/widgets/WindowManager.js +187 -0
  541. data/public/ext-3.0.0/src/widgets/chart/Chart.js +721 -0
  542. data/public/ext-3.0.0/src/widgets/chart/EventProxy.js +20 -0
  543. data/public/ext-3.0.0/src/widgets/chart/FlashComponent.js +117 -0
  544. data/public/ext-3.0.0/src/widgets/chart/swfobject.js +783 -0
  545. data/public/ext-3.0.0/src/widgets/form/Action.js +626 -0
  546. data/public/ext-3.0.0/src/widgets/form/BasicForm.js +735 -0
  547. data/public/ext-3.0.0/src/widgets/form/Checkbox.js +177 -0
  548. data/public/ext-3.0.0/src/widgets/form/CheckboxGroup.js +419 -0
  549. data/public/ext-3.0.0/src/widgets/form/Combo.js +1232 -0
  550. data/public/ext-3.0.0/src/widgets/form/DateField.js +389 -0
  551. data/public/ext-3.0.0/src/widgets/form/DisplayField.js +98 -0
  552. data/public/ext-3.0.0/src/widgets/form/Field.js +640 -0
  553. data/public/ext-3.0.0/src/widgets/form/FieldSet.js +305 -0
  554. data/public/ext-3.0.0/src/widgets/form/Form.js +335 -0
  555. data/public/ext-3.0.0/src/widgets/form/Hidden.js +39 -0
  556. data/public/ext-3.0.0/src/widgets/form/HtmlEditor.js +1179 -0
  557. data/public/ext-3.0.0/src/widgets/form/Label.js +64 -0
  558. data/public/ext-3.0.0/src/widgets/form/NumberField.js +139 -0
  559. data/public/ext-3.0.0/src/widgets/form/Radio.js +81 -0
  560. data/public/ext-3.0.0/src/widgets/form/RadioGroup.js +116 -0
  561. data/public/ext-3.0.0/src/widgets/form/TextArea.js +117 -0
  562. data/public/ext-3.0.0/src/widgets/form/TextField.js +491 -0
  563. data/public/ext-3.0.0/src/widgets/form/TimeField.js +146 -0
  564. data/public/ext-3.0.0/src/widgets/form/TriggerField.js +328 -0
  565. data/public/ext-3.0.0/src/widgets/form/VTypes.js +135 -0
  566. data/public/ext-3.0.0/src/widgets/grid/AbstractSelectionModel.js +57 -0
  567. data/public/ext-3.0.0/src/widgets/grid/CellSelectionModel.js +262 -0
  568. data/public/ext-3.0.0/src/widgets/grid/CheckboxSelectionModel.js +103 -0
  569. data/public/ext-3.0.0/src/widgets/grid/Column.js +406 -0
  570. data/public/ext-3.0.0/src/widgets/grid/ColumnDD.js +199 -0
  571. data/public/ext-3.0.0/src/widgets/grid/ColumnModel.js +592 -0
  572. data/public/ext-3.0.0/src/widgets/grid/ColumnSplitDD.js +62 -0
  573. data/public/ext-3.0.0/src/widgets/grid/EditorGrid.js +291 -0
  574. data/public/ext-3.0.0/src/widgets/grid/GridDD.js +95 -0
  575. data/public/ext-3.0.0/src/widgets/grid/GridEditor.js +21 -0
  576. data/public/ext-3.0.0/src/widgets/grid/GridPanel.js +952 -0
  577. data/public/ext-3.0.0/src/widgets/grid/GridView.js +1776 -0
  578. data/public/ext-3.0.0/src/widgets/grid/GroupingView.js +517 -0
  579. data/public/ext-3.0.0/src/widgets/grid/PropertyGrid.js +370 -0
  580. data/public/ext-3.0.0/src/widgets/grid/RowNumberer.js +61 -0
  581. data/public/ext-3.0.0/src/widgets/grid/RowSelectionModel.js +530 -0
  582. data/public/ext-3.0.0/src/widgets/layout/AbsoluteLayout.js +82 -0
  583. data/public/ext-3.0.0/src/widgets/layout/AccordionLayout.js +177 -0
  584. data/public/ext-3.0.0/src/widgets/layout/AnchorLayout.js +200 -0
  585. data/public/ext-3.0.0/src/widgets/layout/BorderLayout.js +1108 -0
  586. data/public/ext-3.0.0/src/widgets/layout/BoxLayout.js +417 -0
  587. data/public/ext-3.0.0/src/widgets/layout/CardLayout.js +127 -0
  588. data/public/ext-3.0.0/src/widgets/layout/ColumnLayout.js +130 -0
  589. data/public/ext-3.0.0/src/widgets/layout/ContainerLayout.js +215 -0
  590. data/public/ext-3.0.0/src/widgets/layout/FitLayout.js +48 -0
  591. data/public/ext-3.0.0/src/widgets/layout/FormLayout.js +266 -0
  592. data/public/ext-3.0.0/src/widgets/layout/TableLayout.js +194 -0
  593. data/public/ext-3.0.0/src/widgets/list/ColumnResizer.js +123 -0
  594. data/public/ext-3.0.0/src/widgets/list/ListView.js +357 -0
  595. data/public/ext-3.0.0/src/widgets/list/Sorter.js +70 -0
  596. data/public/ext-3.0.0/src/widgets/menu/BaseItem.js +160 -0
  597. data/public/ext-3.0.0/src/widgets/menu/CheckItem.js +114 -0
  598. data/public/ext-3.0.0/src/widgets/menu/ColorMenu.js +72 -0
  599. data/public/ext-3.0.0/src/widgets/menu/DateMenu.js +90 -0
  600. data/public/ext-3.0.0/src/widgets/menu/Item.js +211 -0
  601. data/public/ext-3.0.0/src/widgets/menu/Menu.js +733 -0
  602. data/public/ext-3.0.0/src/widgets/menu/MenuMgr.js +211 -0
  603. data/public/ext-3.0.0/src/widgets/menu/Separator.js +46 -0
  604. data/public/ext-3.0.0/src/widgets/menu/TextItem.js +46 -0
  605. data/public/ext-3.0.0/src/widgets/tips/QuickTip.js +207 -0
  606. data/public/ext-3.0.0/src/widgets/tips/QuickTips.js +159 -0
  607. data/public/ext-3.0.0/src/widgets/tips/Tip.js +157 -0
  608. data/public/ext-3.0.0/src/widgets/tips/ToolTip.js +492 -0
  609. data/public/ext-3.0.0/src/widgets/tree/AsyncTreeNode.js +114 -0
  610. data/public/ext-3.0.0/src/widgets/tree/TreeDragZone.js +82 -0
  611. data/public/ext-3.0.0/src/widgets/tree/TreeDropZone.js +321 -0
  612. data/public/ext-3.0.0/src/widgets/tree/TreeEditor.js +160 -0
  613. data/public/ext-3.0.0/src/widgets/tree/TreeEventModel.js +169 -0
  614. data/public/ext-3.0.0/src/widgets/tree/TreeFilter.js +114 -0
  615. data/public/ext-3.0.0/src/widgets/tree/TreeLoader.js +342 -0
  616. data/public/ext-3.0.0/src/widgets/tree/TreeNode.js +546 -0
  617. data/public/ext-3.0.0/src/widgets/tree/TreeNodeUI.js +633 -0
  618. data/public/ext-3.0.0/src/widgets/tree/TreePanel.js +918 -0
  619. data/public/ext-3.0.0/src/widgets/tree/TreeSelectionModel.js +315 -0
  620. data/public/ext-3.0.0/src/widgets/tree/TreeSorter.js +106 -0
  621. data/public/js/ext-portal.js +235 -0
  622. data/public/js/global.js +7 -0
  623. data/public/js/outerframe.js +47 -0
  624. data/public/js/portal.js +713 -0
  625. data/public/js/test_chart.js +152 -0
  626. data/test/config.rb +62 -0
  627. data/test/config/hosts.yaml +5 -0
  628. data/test/config/log.yaml +1 -0
  629. data/test/config/memcache.yaml +5 -0
  630. data/test/exception.rb +39 -0
  631. data/test/method_missing.rb +14 -0
  632. data/test/module.rb +39 -0
  633. data/test/remote_lmp.rb +126 -0
  634. data/test/sinatra.rb +29 -0
  635. data/test/sinatra_base.rb +16 -0
  636. metadata +690 -0
@@ -0,0 +1,178 @@
1
+ /*!
2
+ * Ext JS Library 3.0.0
3
+ * Copyright(c) 2006-2009 Ext JS, LLC
4
+ * licensing@extjs.com
5
+ * http://www.extjs.com/license
6
+ */
7
+ /**
8
+ * @class Ext.util.Observable
9
+ */
10
+ Ext.apply(Ext.util.Observable.prototype, function(){
11
+ // this is considered experimental (along with beforeMethod, afterMethod, removeMethodListener?)
12
+ // allows for easier interceptor and sequences, including cancelling and overwriting the return value of the call
13
+ // private
14
+ function getMethodEvent(method){
15
+ var e = (this.methodEvents = this.methodEvents ||
16
+ {})[method], returnValue, v, cancel, obj = this;
17
+
18
+ if (!e) {
19
+ this.methodEvents[method] = e = {};
20
+ e.originalFn = this[method];
21
+ e.methodName = method;
22
+ e.before = [];
23
+ e.after = [];
24
+
25
+ var makeCall = function(fn, scope, args){
26
+ if (!Ext.isEmpty(v = fn.apply(scope || obj, args))) {
27
+ if (Ext.isObject(v)) {
28
+ returnValue = !Ext.isEmpty(v.returnValue) ? v.returnValue : v;
29
+ cancel = !!v.cancel;
30
+ }
31
+ else
32
+ if (v === false) {
33
+ cancel = true;
34
+ }
35
+ else {
36
+ returnValue = v;
37
+ }
38
+ }
39
+ };
40
+
41
+ this[method] = function(){
42
+ var args = Ext.toArray(arguments);
43
+ returnValue = v = undefined;
44
+ cancel = false;
45
+
46
+ Ext.each(e.before, function(b){
47
+ makeCall(b.fn, b.scope, args);
48
+ if (cancel) {
49
+ return returnValue;
50
+ }
51
+ });
52
+
53
+ if (!Ext.isEmpty(v = e.originalFn.apply(obj, args))) {
54
+ returnValue = v;
55
+ }
56
+ Ext.each(e.after, function(a){
57
+ makeCall(a.fn, a.scope, args);
58
+ if (cancel) {
59
+ return returnValue;
60
+ }
61
+ });
62
+ return returnValue;
63
+ };
64
+ }
65
+ return e;
66
+ }
67
+
68
+ return {
69
+ // these are considered experimental
70
+ // allows for easier interceptor and sequences, including cancelling and overwriting the return value of the call
71
+ // adds an "interceptor" called before the original method
72
+ beforeMethod: function(method, fn, scope){
73
+ getMethodEvent.call(this, method).before.push({
74
+ fn: fn,
75
+ scope: scope
76
+ });
77
+ },
78
+
79
+ // adds a "sequence" called after the original method
80
+ afterMethod: function(method, fn, scope){
81
+ getMethodEvent.call(this, method).after.push({
82
+ fn: fn,
83
+ scope: scope
84
+ });
85
+ },
86
+
87
+ removeMethodListener: function(method, fn, scope){
88
+ var e = getMethodEvent.call(this, method), found = false;
89
+ Ext.each(e.before, function(b, i, arr){
90
+ if (b.fn == fn && b.scope == scope) {
91
+ arr.splice(i, 1);
92
+ found = true;
93
+ return false;
94
+ }
95
+ });
96
+ if (!found) {
97
+ Ext.each(e.after, function(a, i, arr){
98
+ if (a.fn == fn && a.scope == scope) {
99
+ arr.splice(i, 1);
100
+ return false;
101
+ }
102
+ });
103
+ }
104
+ },
105
+
106
+ /**
107
+ * Relays selected events from the specified Observable as if the events were fired by <tt><b>this</b></tt>.
108
+ * @param {Object} o The Observable whose events this object is to relay.
109
+ * @param {Array} events Array of event names to relay.
110
+ */
111
+ relayEvents: function(o, events){
112
+ var me = this;
113
+ function createHandler(ename){
114
+ return function(){
115
+ return me.fireEvent.apply(me, [ename].concat(Ext.toArray(arguments)));
116
+ };
117
+ }
118
+ Ext.each(events, function(ename){
119
+ me.events[ename] = me.events[ename] || true;
120
+ o.on(ename, createHandler(ename), me);
121
+ });
122
+ },
123
+
124
+ /**
125
+ * Used to enable bubbling of events
126
+ * @param {Object} events
127
+ */
128
+ enableBubble: function(events){
129
+ var me = this;
130
+ events = Ext.isArray(events) ? events : Ext.toArray(arguments);
131
+ Ext.each(events, function(ename){
132
+ ename = ename.toLowerCase();
133
+ var ce = me.events[ename] || true;
134
+ if (typeof ce == "boolean") {
135
+ ce = new Ext.util.Event(me, ename);
136
+ me.events[ename] = ce;
137
+ }
138
+ ce.bubble = true;
139
+ });
140
+ }
141
+ };
142
+ }());
143
+
144
+
145
+ /**
146
+ * Starts capture on the specified Observable. All events will be passed
147
+ * to the supplied function with the event name + standard signature of the event
148
+ * <b>before</b> the event is fired. If the supplied function returns false,
149
+ * the event will not fire.
150
+ * @param {Observable} o The Observable to capture
151
+ * @param {Function} fn The function to call
152
+ * @param {Object} scope (optional) The scope (this object) for the fn
153
+ * @static
154
+ */
155
+ Ext.util.Observable.capture = function(o, fn, scope){
156
+ o.fireEvent = o.fireEvent.createInterceptor(fn, scope);
157
+ };
158
+
159
+
160
+ /**
161
+ * Sets observability on the passed class constructor.<p>
162
+ * <p>This makes any event fired on any instance of the passed class also fire a single event through
163
+ * the <i>class</i> allowing for central handling of events on many instances at once.</p>
164
+ * <p>Usage:</p><pre><code>
165
+ Ext.util.Observable.observeClass(Ext.data.Connection);
166
+ Ext.data.Connection.on('beforerequest', function(con, options) {
167
+ console.log("Ajax request made to " + options.url);
168
+ });</code></pre>
169
+ * @param {Function} c The class constructor to make observable.
170
+ * @static
171
+ */
172
+ Ext.util.Observable.observeClass = function(c){
173
+ Ext.apply(c, new Ext.util.Observable());
174
+ c.prototype.fireEvent = function(){
175
+ return (c.fireEvent.apply(c, arguments) !== false) &&
176
+ (Ext.util.Observable.prototype.fireEvent.apply(this, arguments) !== false);
177
+ };
178
+ };
@@ -0,0 +1,131 @@
1
+ /*!
2
+ * Ext JS Library 3.0.0
3
+ * Copyright(c) 2006-2009 Ext JS, LLC
4
+ * licensing@extjs.com
5
+ * http://www.extjs.com/license
6
+ */
7
+ /**
8
+ * @class Ext.util.TextMetrics
9
+ * Provides precise pixel measurements for blocks of text so that you can determine exactly how high and
10
+ * wide, in pixels, a given block of text will be. Note that when measuring text, it should be plain text and
11
+ * should not contain any HTML, otherwise it may not be measured correctly.
12
+ * @singleton
13
+ */
14
+ Ext.util.TextMetrics = function(){
15
+ var shared;
16
+ return {
17
+ /**
18
+ * Measures the size of the specified text
19
+ * @param {String/HTMLElement} el The element, dom node or id from which to copy existing CSS styles
20
+ * that can affect the size of the rendered text
21
+ * @param {String} text The text to measure
22
+ * @param {Number} fixedWidth (optional) If the text will be multiline, you have to set a fixed width
23
+ * in order to accurately measure the text height
24
+ * @return {Object} An object containing the text's size {width: (width), height: (height)}
25
+ */
26
+ measure : function(el, text, fixedWidth){
27
+ if(!shared){
28
+ shared = Ext.util.TextMetrics.Instance(el, fixedWidth);
29
+ }
30
+ shared.bind(el);
31
+ shared.setFixedWidth(fixedWidth || 'auto');
32
+ return shared.getSize(text);
33
+ },
34
+
35
+ /**
36
+ * Return a unique TextMetrics instance that can be bound directly to an element and reused. This reduces
37
+ * the overhead of multiple calls to initialize the style properties on each measurement.
38
+ * @param {String/HTMLElement} el The element, dom node or id that the instance will be bound to
39
+ * @param {Number} fixedWidth (optional) If the text will be multiline, you have to set a fixed width
40
+ * in order to accurately measure the text height
41
+ * @return {Ext.util.TextMetrics.Instance} instance The new instance
42
+ */
43
+ createInstance : function(el, fixedWidth){
44
+ return Ext.util.TextMetrics.Instance(el, fixedWidth);
45
+ }
46
+ };
47
+ }();
48
+
49
+ Ext.util.TextMetrics.Instance = function(bindTo, fixedWidth){
50
+ var ml = new Ext.Element(document.createElement('div'));
51
+ document.body.appendChild(ml.dom);
52
+ ml.position('absolute');
53
+ ml.setLeftTop(-1000, -1000);
54
+ ml.hide();
55
+
56
+ if(fixedWidth){
57
+ ml.setWidth(fixedWidth);
58
+ }
59
+
60
+ var instance = {
61
+ /**
62
+ * Returns the size of the specified text based on the internal element's style and width properties
63
+ * @param {String} text The text to measure
64
+ * @return {Object} An object containing the text's size {width: (width), height: (height)}
65
+ */
66
+ getSize : function(text){
67
+ ml.update(text);
68
+ var s = ml.getSize();
69
+ ml.update('');
70
+ return s;
71
+ },
72
+
73
+ /**
74
+ * Binds this TextMetrics instance to an element from which to copy existing CSS styles
75
+ * that can affect the size of the rendered text
76
+ * @param {String/HTMLElement} el The element, dom node or id
77
+ */
78
+ bind : function(el){
79
+ ml.setStyle(
80
+ Ext.fly(el).getStyles('font-size','font-style', 'font-weight', 'font-family','line-height', 'text-transform', 'letter-spacing')
81
+ );
82
+ },
83
+
84
+ /**
85
+ * Sets a fixed width on the internal measurement element. If the text will be multiline, you have
86
+ * to set a fixed width in order to accurately measure the text height.
87
+ * @param {Number} width The width to set on the element
88
+ */
89
+ setFixedWidth : function(width){
90
+ ml.setWidth(width);
91
+ },
92
+
93
+ /**
94
+ * Returns the measured width of the specified text
95
+ * @param {String} text The text to measure
96
+ * @return {Number} width The width in pixels
97
+ */
98
+ getWidth : function(text){
99
+ ml.dom.style.width = 'auto';
100
+ return this.getSize(text).width;
101
+ },
102
+
103
+ /**
104
+ * Returns the measured height of the specified text. For multiline text, be sure to call
105
+ * {@link #setFixedWidth} if necessary.
106
+ * @param {String} text The text to measure
107
+ * @return {Number} height The height in pixels
108
+ */
109
+ getHeight : function(text){
110
+ return this.getSize(text).height;
111
+ }
112
+ };
113
+
114
+ instance.bind(bindTo);
115
+
116
+ return instance;
117
+ };
118
+
119
+ Ext.Element.addMethods({
120
+ /**
121
+ * Returns the width in pixels of the passed text, or the width of the text in this Element.
122
+ * @param {String} text The text to measure. Defaults to the innerHTML of the element.
123
+ * @param {Number} min (Optional) The minumum value to return.
124
+ * @param {Number} max (Optional) The maximum value to return.
125
+ * @return {Number} The text width in pixels.
126
+ * @member Ext.Element getTextWidth
127
+ */
128
+ getTextWidth : function(text, min, max){
129
+ return (Ext.util.TextMetrics.measure(this.dom, Ext.value(text, this.dom.innerHTML, true)).width).constrain(min || 0, max || 1000000);
130
+ }
131
+ });
@@ -0,0 +1,536 @@
1
+ /*!
2
+ * Ext JS Library 3.0.0
3
+ * Copyright(c) 2006-2009 Ext JS, LLC
4
+ * licensing@extjs.com
5
+ * http://www.extjs.com/license
6
+ */
7
+ /**
8
+ * @class Ext.Updater
9
+ * @extends Ext.util.Observable
10
+ * Provides AJAX-style update capabilities for Element objects. Updater can be used to {@link #update}
11
+ * an {@link Ext.Element} once, or you can use {@link #startAutoRefresh} to set up an auto-updating
12
+ * {@link Ext.Element Element} on a specific interval.<br><br>
13
+ * Usage:<br>
14
+ * <pre><code>
15
+ * var el = Ext.get("foo"); // Get Ext.Element object
16
+ * var mgr = el.getUpdater();
17
+ * mgr.update({
18
+ url: "http://myserver.com/index.php",
19
+ params: {
20
+ param1: "foo",
21
+ param2: "bar"
22
+ }
23
+ * });
24
+ * ...
25
+ * mgr.formUpdate("myFormId", "http://myserver.com/index.php");
26
+ * <br>
27
+ * // or directly (returns the same Updater instance)
28
+ * var mgr = new Ext.Updater("myElementId");
29
+ * mgr.startAutoRefresh(60, "http://myserver.com/index.php");
30
+ * mgr.on("update", myFcnNeedsToKnow);
31
+ * <br>
32
+ * // short handed call directly from the element object
33
+ * Ext.get("foo").load({
34
+ url: "bar.php",
35
+ scripts: true,
36
+ params: "param1=foo&amp;param2=bar",
37
+ text: "Loading Foo..."
38
+ * });
39
+ * </code></pre>
40
+ * @constructor
41
+ * Create new Updater directly.
42
+ * @param {Mixed} el The element to update
43
+ * @param {Boolean} forceNew (optional) By default the constructor checks to see if the passed element already
44
+ * has an Updater and if it does it returns the same instance. This will skip that check (useful for extending this class).
45
+ */
46
+ Ext.UpdateManager = Ext.Updater = Ext.extend(Ext.util.Observable,
47
+ function() {
48
+ var BEFOREUPDATE = "beforeupdate",
49
+ UPDATE = "update",
50
+ FAILURE = "failure";
51
+
52
+ // private
53
+ function processSuccess(response){
54
+ var me = this;
55
+ me.transaction = null;
56
+ if (response.argument.form && response.argument.reset) {
57
+ try { // put in try/catch since some older FF releases had problems with this
58
+ response.argument.form.reset();
59
+ } catch(e){}
60
+ }
61
+ if (me.loadScripts) {
62
+ me.renderer.render(me.el, response, me,
63
+ updateComplete.createDelegate(me, [response]));
64
+ } else {
65
+ me.renderer.render(me.el, response, me);
66
+ updateComplete.call(me, response);
67
+ }
68
+ }
69
+
70
+ // private
71
+ function updateComplete(response, type, success){
72
+ this.fireEvent(type || UPDATE, this.el, response);
73
+ if(Ext.isFunction(response.argument.callback)){
74
+ response.argument.callback.call(response.argument.scope, this.el, Ext.isEmpty(success) ? true : false, response, response.argument.options);
75
+ }
76
+ }
77
+
78
+ // private
79
+ function processFailure(response){
80
+ updateComplete.call(this, response, FAILURE, !!(this.transaction = null));
81
+ }
82
+
83
+ return {
84
+ constructor: function(el, forceNew){
85
+ var me = this;
86
+ el = Ext.get(el);
87
+ if(!forceNew && el.updateManager){
88
+ return el.updateManager;
89
+ }
90
+ /**
91
+ * The Element object
92
+ * @type Ext.Element
93
+ */
94
+ me.el = el;
95
+ /**
96
+ * Cached url to use for refreshes. Overwritten every time update() is called unless "discardUrl" param is set to true.
97
+ * @type String
98
+ */
99
+ me.defaultUrl = null;
100
+
101
+ me.addEvents(
102
+ /**
103
+ * @event beforeupdate
104
+ * Fired before an update is made, return false from your handler and the update is cancelled.
105
+ * @param {Ext.Element} el
106
+ * @param {String/Object/Function} url
107
+ * @param {String/Object} params
108
+ */
109
+ BEFOREUPDATE,
110
+ /**
111
+ * @event update
112
+ * Fired after successful update is made.
113
+ * @param {Ext.Element} el
114
+ * @param {Object} oResponseObject The response Object
115
+ */
116
+ UPDATE,
117
+ /**
118
+ * @event failure
119
+ * Fired on update failure.
120
+ * @param {Ext.Element} el
121
+ * @param {Object} oResponseObject The response Object
122
+ */
123
+ FAILURE
124
+ );
125
+
126
+ Ext.apply(me, Ext.Updater.defaults);
127
+ /**
128
+ * Blank page URL to use with SSL file uploads (defaults to {@link Ext.Updater.defaults#sslBlankUrl}).
129
+ * @property sslBlankUrl
130
+ * @type String
131
+ */
132
+ /**
133
+ * Whether to append unique parameter on get request to disable caching (defaults to {@link Ext.Updater.defaults#disableCaching}).
134
+ * @property disableCaching
135
+ * @type Boolean
136
+ */
137
+ /**
138
+ * Text for loading indicator (defaults to {@link Ext.Updater.defaults#indicatorText}).
139
+ * @property indicatorText
140
+ * @type String
141
+ */
142
+ /**
143
+ * Whether to show indicatorText when loading (defaults to {@link Ext.Updater.defaults#showLoadIndicator}).
144
+ * @property showLoadIndicator
145
+ * @type String
146
+ */
147
+ /**
148
+ * Timeout for requests or form posts in seconds (defaults to {@link Ext.Updater.defaults#timeout}).
149
+ * @property timeout
150
+ * @type Number
151
+ */
152
+ /**
153
+ * True to process scripts in the output (defaults to {@link Ext.Updater.defaults#loadScripts}).
154
+ * @property loadScripts
155
+ * @type Boolean
156
+ */
157
+
158
+ /**
159
+ * Transaction object of the current executing transaction, or null if there is no active transaction.
160
+ */
161
+ me.transaction = null;
162
+ /**
163
+ * Delegate for refresh() prebound to "this", use myUpdater.refreshDelegate.createCallback(arg1, arg2) to bind arguments
164
+ * @type Function
165
+ */
166
+ me.refreshDelegate = me.refresh.createDelegate(me);
167
+ /**
168
+ * Delegate for update() prebound to "this", use myUpdater.updateDelegate.createCallback(arg1, arg2) to bind arguments
169
+ * @type Function
170
+ */
171
+ me.updateDelegate = me.update.createDelegate(me);
172
+ /**
173
+ * Delegate for formUpdate() prebound to "this", use myUpdater.formUpdateDelegate.createCallback(arg1, arg2) to bind arguments
174
+ * @type Function
175
+ */
176
+ me.formUpdateDelegate = (me.formUpdate || function(){}).createDelegate(me);
177
+
178
+ /**
179
+ * The renderer for this Updater (defaults to {@link Ext.Updater.BasicRenderer}).
180
+ */
181
+ me.renderer = me.renderer || me.getDefaultRenderer();
182
+
183
+ Ext.Updater.superclass.constructor.call(me);
184
+ },
185
+
186
+ /**
187
+ * Sets the content renderer for this Updater. See {@link Ext.Updater.BasicRenderer#render} for more details.
188
+ * @param {Object} renderer The object implementing the render() method
189
+ */
190
+ setRenderer : function(renderer){
191
+ this.renderer = renderer;
192
+ },
193
+
194
+ /**
195
+ * Returns the current content renderer for this Updater. See {@link Ext.Updater.BasicRenderer#render} for more details.
196
+ * @return {Object}
197
+ */
198
+ getRenderer : function(){
199
+ return this.renderer;
200
+ },
201
+
202
+ /**
203
+ * This is an overrideable method which returns a reference to a default
204
+ * renderer class if none is specified when creating the Ext.Updater.
205
+ * Defaults to {@link Ext.Updater.BasicRenderer}
206
+ */
207
+ getDefaultRenderer: function() {
208
+ return new Ext.Updater.BasicRenderer();
209
+ },
210
+
211
+ /**
212
+ * Sets the default URL used for updates.
213
+ * @param {String/Function} defaultUrl The url or a function to call to get the url
214
+ */
215
+ setDefaultUrl : function(defaultUrl){
216
+ this.defaultUrl = defaultUrl;
217
+ },
218
+
219
+ /**
220
+ * Get the Element this Updater is bound to
221
+ * @return {Ext.Element} The element
222
+ */
223
+ getEl : function(){
224
+ return this.el;
225
+ },
226
+
227
+ /**
228
+ * Performs an <b>asynchronous</b> request, updating this element with the response.
229
+ * If params are specified it uses POST, otherwise it uses GET.<br><br>
230
+ * <b>Note:</b> Due to the asynchronous nature of remote server requests, the Element
231
+ * will not have been fully updated when the function returns. To post-process the returned
232
+ * data, use the callback option, or an <b><tt>update</tt></b> event handler.
233
+ * @param {Object} options A config object containing any of the following options:<ul>
234
+ * <li>url : <b>String/Function</b><p class="sub-desc">The URL to request or a function which
235
+ * <i>returns</i> the URL (defaults to the value of {@link Ext.Ajax#url} if not specified).</p></li>
236
+ * <li>method : <b>String</b><p class="sub-desc">The HTTP method to
237
+ * use. Defaults to POST if the <tt>params</tt> argument is present, otherwise GET.</p></li>
238
+ * <li>params : <b>String/Object/Function</b><p class="sub-desc">The
239
+ * parameters to pass to the server (defaults to none). These may be specified as a url-encoded
240
+ * string, or as an object containing properties which represent parameters,
241
+ * or as a function, which returns such an object.</p></li>
242
+ * <li>scripts : <b>Boolean</b><p class="sub-desc">If <tt>true</tt>
243
+ * any &lt;script&gt; tags embedded in the response text will be extracted
244
+ * and executed (defaults to {@link Ext.Updater.defaults#loadScripts}). If this option is specified,
245
+ * the callback will be called <i>after</i> the execution of the scripts.</p></li>
246
+ * <li>callback : <b>Function</b><p class="sub-desc">A function to
247
+ * be called when the response from the server arrives. The following
248
+ * parameters are passed:<ul>
249
+ * <li><b>el</b> : Ext.Element<p class="sub-desc">The Element being updated.</p></li>
250
+ * <li><b>success</b> : Boolean<p class="sub-desc">True for success, false for failure.</p></li>
251
+ * <li><b>response</b> : XMLHttpRequest<p class="sub-desc">The XMLHttpRequest which processed the update.</p></li>
252
+ * <li><b>options</b> : Object<p class="sub-desc">The config object passed to the update call.</p></li></ul>
253
+ * </p></li>
254
+ * <li>scope : <b>Object</b><p class="sub-desc">The scope in which
255
+ * to execute the callback (The callback's <tt>this</tt> reference.) If the
256
+ * <tt>params</tt> argument is a function, this scope is used for that function also.</p></li>
257
+ * <li>discardUrl : <b>Boolean</b><p class="sub-desc">By default, the URL of this request becomes
258
+ * the default URL for this Updater object, and will be subsequently used in {@link #refresh}
259
+ * calls. To bypass this behavior, pass <tt>discardUrl:true</tt> (defaults to false).</p></li>
260
+ * <li>timeout : <b>Number</b><p class="sub-desc">The number of seconds to wait for a response before
261
+ * timing out (defaults to {@link Ext.Updater.defaults#timeout}).</p></li>
262
+ * <li>text : <b>String</b><p class="sub-desc">The text to use as the innerHTML of the
263
+ * {@link Ext.Updater.defaults#indicatorText} div (defaults to 'Loading...'). To replace the entire div, not
264
+ * just the text, override {@link Ext.Updater.defaults#indicatorText} directly.</p></li>
265
+ * <li>nocache : <b>Boolean</b><p class="sub-desc">Only needed for GET
266
+ * requests, this option causes an extra, auto-generated parameter to be appended to the request
267
+ * to defeat caching (defaults to {@link Ext.Updater.defaults#disableCaching}).</p></li></ul>
268
+ * <p>
269
+ * For example:
270
+ <pre><code>
271
+ um.update({
272
+ url: "your-url.php",
273
+ params: {param1: "foo", param2: "bar"}, // or a URL encoded string
274
+ callback: yourFunction,
275
+ scope: yourObject, //(optional scope)
276
+ discardUrl: true,
277
+ nocache: true,
278
+ text: "Loading...",
279
+ timeout: 60,
280
+ scripts: false // Save time by avoiding RegExp execution.
281
+ });
282
+ </code></pre>
283
+ */
284
+ update : function(url, params, callback, discardUrl){
285
+ var me = this,
286
+ cfg,
287
+ callerScope;
288
+
289
+ if(me.fireEvent(BEFOREUPDATE, me.el, url, params) !== false){
290
+ if(Ext.isObject(url)){ // must be config object
291
+ cfg = url;
292
+ url = cfg.url;
293
+ params = params || cfg.params;
294
+ callback = callback || cfg.callback;
295
+ discardUrl = discardUrl || cfg.discardUrl;
296
+ callerScope = cfg.scope;
297
+ if(!Ext.isEmpty(cfg.nocache)){me.disableCaching = cfg.nocache;};
298
+ if(!Ext.isEmpty(cfg.text)){me.indicatorText = '<div class="loading-indicator">'+cfg.text+"</div>";};
299
+ if(!Ext.isEmpty(cfg.scripts)){me.loadScripts = cfg.scripts;};
300
+ if(!Ext.isEmpty(cfg.timeout)){me.timeout = cfg.timeout;};
301
+ }
302
+ me.showLoading();
303
+
304
+ if(!discardUrl){
305
+ me.defaultUrl = url;
306
+ }
307
+ if(Ext.isFunction(url)){
308
+ url = url.call(me);
309
+ }
310
+
311
+ var o = Ext.apply({}, {
312
+ url : url,
313
+ params: (Ext.isFunction(params) && callerScope) ? params.createDelegate(callerScope) : params,
314
+ success: processSuccess,
315
+ failure: processFailure,
316
+ scope: me,
317
+ callback: undefined,
318
+ timeout: (me.timeout*1000),
319
+ disableCaching: me.disableCaching,
320
+ argument: {
321
+ "options": cfg,
322
+ "url": url,
323
+ "form": null,
324
+ "callback": callback,
325
+ "scope": callerScope || window,
326
+ "params": params
327
+ }
328
+ }, cfg);
329
+
330
+ me.transaction = Ext.Ajax.request(o);
331
+ }
332
+ },
333
+
334
+ /**
335
+ * <p>Performs an async form post, updating this element with the response. If the form has the attribute
336
+ * enctype="<a href="http://www.faqs.org/rfcs/rfc2388.html">multipart/form-data</a>", it assumes it's a file upload.
337
+ * Uses this.sslBlankUrl for SSL file uploads to prevent IE security warning.</p>
338
+ * <p>File uploads are not performed using normal "Ajax" techniques, that is they are <b>not</b>
339
+ * performed using XMLHttpRequests. Instead the form is submitted in the standard manner with the
340
+ * DOM <tt>&lt;form></tt> element temporarily modified to have its
341
+ * <a href="http://www.w3.org/TR/REC-html40/present/frames.html#adef-target">target</a> set to refer
342
+ * to a dynamically generated, hidden <tt>&lt;iframe></tt> which is inserted into the document
343
+ * but removed after the return data has been gathered.</p>
344
+ * <p>Be aware that file upload packets, sent with the content type <a href="http://www.faqs.org/rfcs/rfc2388.html">multipart/form-data</a>
345
+ * and some server technologies (notably JEE) may require some custom processing in order to
346
+ * retrieve parameter names and parameter values from the packet content.</p>
347
+ * @param {String/HTMLElement} form The form Id or form element
348
+ * @param {String} url (optional) The url to pass the form to. If omitted the action attribute on the form will be used.
349
+ * @param {Boolean} reset (optional) Whether to try to reset the form after the update
350
+ * @param {Function} callback (optional) Callback when transaction is complete. The following
351
+ * parameters are passed:<ul>
352
+ * <li><b>el</b> : Ext.Element<p class="sub-desc">The Element being updated.</p></li>
353
+ * <li><b>success</b> : Boolean<p class="sub-desc">True for success, false for failure.</p></li>
354
+ * <li><b>response</b> : XMLHttpRequest<p class="sub-desc">The XMLHttpRequest which processed the update.</p></li></ul>
355
+ */
356
+ formUpdate : function(form, url, reset, callback){
357
+ var me = this;
358
+ if(me.fireEvent(BEFOREUPDATE, me.el, form, url) !== false){
359
+ if(Ext.isFunction(url)){
360
+ url = url.call(me);
361
+ }
362
+ form = Ext.getDom(form)
363
+ me.transaction = Ext.Ajax.request({
364
+ form: form,
365
+ url:url,
366
+ success: processSuccess,
367
+ failure: processFailure,
368
+ scope: me,
369
+ timeout: (me.timeout*1000),
370
+ argument: {
371
+ "url": url,
372
+ "form": form,
373
+ "callback": callback,
374
+ "reset": reset
375
+ }
376
+ });
377
+ me.showLoading.defer(1, me);
378
+ }
379
+ },
380
+
381
+ /**
382
+ * Set this element to auto refresh. Can be canceled by calling {@link #stopAutoRefresh}.
383
+ * @param {Number} interval How often to update (in seconds).
384
+ * @param {String/Object/Function} url (optional) The url for this request, a config object in the same format
385
+ * supported by {@link #load}, or a function to call to get the url (defaults to the last used url). Note that while
386
+ * the url used in a load call can be reused by this method, other load config options will not be reused and must be
387
+ * sepcified as part of a config object passed as this paramter if needed.
388
+ * @param {String/Object} params (optional) The parameters to pass as either a url encoded string
389
+ * "&param1=1&param2=2" or as an object {param1: 1, param2: 2}
390
+ * @param {Function} callback (optional) Callback when transaction is complete - called with signature (oElement, bSuccess)
391
+ * @param {Boolean} refreshNow (optional) Whether to execute the refresh now, or wait the interval
392
+ */
393
+ startAutoRefresh : function(interval, url, params, callback, refreshNow){
394
+ var me = this;
395
+ if(refreshNow){
396
+ me.update(url || me.defaultUrl, params, callback, true);
397
+ }
398
+ if(me.autoRefreshProcId){
399
+ clearInterval(me.autoRefreshProcId);
400
+ }
401
+ me.autoRefreshProcId = setInterval(me.update.createDelegate(me, [url || me.defaultUrl, params, callback, true]), interval * 1000);
402
+ },
403
+
404
+ /**
405
+ * Stop auto refresh on this element.
406
+ */
407
+ stopAutoRefresh : function(){
408
+ if(this.autoRefreshProcId){
409
+ clearInterval(this.autoRefreshProcId);
410
+ delete this.autoRefreshProcId;
411
+ }
412
+ },
413
+
414
+ /**
415
+ * Returns true if the Updater is currently set to auto refresh its content (see {@link #startAutoRefresh}), otherwise false.
416
+ */
417
+ isAutoRefreshing : function(){
418
+ return !!this.autoRefreshProcId;
419
+ },
420
+
421
+ /**
422
+ * Display the element's "loading" state. By default, the element is updated with {@link #indicatorText}. This
423
+ * method may be overridden to perform a custom action while this Updater is actively updating its contents.
424
+ */
425
+ showLoading : function(){
426
+ if(this.showLoadIndicator){
427
+ this.el.dom.innerHTML = this.indicatorText;
428
+ }
429
+ },
430
+
431
+ /**
432
+ * Aborts the currently executing transaction, if any.
433
+ */
434
+ abort : function(){
435
+ if(this.transaction){
436
+ Ext.Ajax.abort(this.transaction);
437
+ }
438
+ },
439
+
440
+ /**
441
+ * Returns true if an update is in progress, otherwise false.
442
+ * @return {Boolean}
443
+ */
444
+ isUpdating : function(){
445
+ return this.transaction ? Ext.Ajax.isLoading(this.transaction) : false;
446
+ },
447
+
448
+ /**
449
+ * Refresh the element with the last used url or defaultUrl. If there is no url, it returns immediately
450
+ * @param {Function} callback (optional) Callback when transaction is complete - called with signature (oElement, bSuccess)
451
+ */
452
+ refresh : function(callback){
453
+ if(this.defaultUrl){
454
+ this.update(this.defaultUrl, null, callback, true);
455
+ }
456
+ }
457
+ }
458
+ }());
459
+
460
+ /**
461
+ * @class Ext.Updater.defaults
462
+ * The defaults collection enables customizing the default properties of Updater
463
+ */
464
+ Ext.Updater.defaults = {
465
+ /**
466
+ * Timeout for requests or form posts in seconds (defaults to 30 seconds).
467
+ * @type Number
468
+ */
469
+ timeout : 30,
470
+ /**
471
+ * True to append a unique parameter to GET requests to disable caching (defaults to false).
472
+ * @type Boolean
473
+ */
474
+ disableCaching : false,
475
+ /**
476
+ * Whether or not to show {@link #indicatorText} during loading (defaults to true).
477
+ * @type Boolean
478
+ */
479
+ showLoadIndicator : true,
480
+ /**
481
+ * Text for loading indicator (defaults to '&lt;div class="loading-indicator"&gt;Loading...&lt;/div&gt;').
482
+ * @type String
483
+ */
484
+ indicatorText : '<div class="loading-indicator">Loading...</div>',
485
+ /**
486
+ * True to process scripts by default (defaults to false).
487
+ * @type Boolean
488
+ */
489
+ loadScripts : false,
490
+ /**
491
+ * Blank page URL to use with SSL file uploads (defaults to {@link Ext#SSL_SECURE_URL} if set, or "javascript:false").
492
+ * @type String
493
+ */
494
+ sslBlankUrl : (Ext.SSL_SECURE_URL || "javascript:false")
495
+ };
496
+
497
+
498
+ /**
499
+ * Static convenience method. <b>This method is deprecated in favor of el.load({url:'foo.php', ...})</b>.
500
+ * Usage:
501
+ * <pre><code>Ext.Updater.updateElement("my-div", "stuff.php");</code></pre>
502
+ * @param {Mixed} el The element to update
503
+ * @param {String} url The url
504
+ * @param {String/Object} params (optional) Url encoded param string or an object of name/value pairs
505
+ * @param {Object} options (optional) A config object with any of the Updater properties you want to set - for
506
+ * example: {disableCaching:true, indicatorText: "Loading data..."}
507
+ * @static
508
+ * @deprecated
509
+ * @member Ext.Updater
510
+ */
511
+ Ext.Updater.updateElement = function(el, url, params, options){
512
+ var um = Ext.get(el).getUpdater();
513
+ Ext.apply(um, options);
514
+ um.update(url, params, options ? options.callback : null);
515
+ };
516
+
517
+ /**
518
+ * @class Ext.Updater.BasicRenderer
519
+ * Default Content renderer. Updates the elements innerHTML with the responseText.
520
+ */
521
+ Ext.Updater.BasicRenderer = function(){};
522
+
523
+ Ext.Updater.BasicRenderer.prototype = {
524
+ /**
525
+ * This is called when the transaction is completed and it's time to update the element - The BasicRenderer
526
+ * updates the elements innerHTML with the responseText - To perform a custom render (i.e. XML or JSON processing),
527
+ * create an object with a "render(el, response)" method and pass it to setRenderer on the Updater.
528
+ * @param {Ext.Element} el The element being rendered
529
+ * @param {Object} response The XMLHttpRequest object
530
+ * @param {Updater} updateManager The calling update manager
531
+ * @param {Function} callback A callback that will need to be called if loadScripts is true on the Updater
532
+ */
533
+ render : function(el, response, updateManager, callback){
534
+ el.update(response.responseText, updateManager.loadScripts, callback);
535
+ }
536
+ };