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,762 @@
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.Button
9
+ * @extends Ext.BoxComponent
10
+ * Simple Button class
11
+ * @cfg {String} text The button text to be used as innerHTML (html tags are accepted)
12
+ * @cfg {String} icon The path to an image to display in the button (the image will be set as the background-image
13
+ * CSS property of the button by default, so if you want a mixed icon/text button, set cls:'x-btn-text-icon')
14
+ * @cfg {Function} handler A function called when the button is clicked (can be used instead of click event).
15
+ * The handler is passed the following parameters:<div class="mdetail-params"><ul>
16
+ * <li><code>b</code> : Button<div class="sub-desc">This Button.</div></li>
17
+ * <li><code>e</code> : EventObject<div class="sub-desc">The click event.</div></li>
18
+ * </ul></div>
19
+ * @cfg {Object} scope The scope (<tt><b>this</b></tt> reference) in which the handler is executed. Defaults to this Button.
20
+ * @cfg {Number} minWidth The minimum width for this button (used to give a set of buttons a common width).
21
+ * See also {@link Ext.Panel}.<tt>{@link Ext.Panel#minButtonWidth minButtonWidth}</tt>.
22
+ * @cfg {String/Object} tooltip The tooltip for the button - can be a string to be used as innerHTML (html tags are accepted) or QuickTips config object
23
+ * @cfg {Boolean} hidden True to start hidden (defaults to false)
24
+ * @cfg {Boolean} disabled True to start disabled (defaults to false)
25
+ * @cfg {Boolean} pressed True to start pressed (only if enableToggle = true)
26
+ * @cfg {String} toggleGroup The group this toggle button is a member of (only 1 per group can be pressed)
27
+ * @cfg {Boolean/Object} repeat True to repeat fire the click event while the mouse is down. This can also be
28
+ * a {@link Ext.util.ClickRepeater ClickRepeater} config object (defaults to false).
29
+ * @constructor
30
+ * Create a new button
31
+ * @param {Object} config The config object
32
+ * @xtype button
33
+ */
34
+ Ext.Button = Ext.extend(Ext.BoxComponent, {
35
+ /**
36
+ * Read-only. True if this button is hidden
37
+ * @type Boolean
38
+ */
39
+ hidden : false,
40
+ /**
41
+ * Read-only. True if this button is disabled
42
+ * @type Boolean
43
+ */
44
+ disabled : false,
45
+ /**
46
+ * Read-only. True if this button is pressed (only if enableToggle = true)
47
+ * @type Boolean
48
+ */
49
+ pressed : false,
50
+ /**
51
+ * The Button's owner {@link Ext.Panel} (defaults to undefined, and is set automatically when
52
+ * the Button is added to a container). Read-only.
53
+ * @type Ext.Panel
54
+ * @property ownerCt
55
+ */
56
+
57
+ /**
58
+ * @cfg {Number} tabIndex Set a DOM tabIndex for this button (defaults to undefined)
59
+ */
60
+
61
+ /**
62
+ * @cfg {Boolean} allowDepress
63
+ * False to not allow a pressed Button to be depressed (defaults to undefined). Only valid when {@link #enableToggle} is true.
64
+ */
65
+
66
+ /**
67
+ * @cfg {Boolean} enableToggle
68
+ * True to enable pressed/not pressed toggling (defaults to false)
69
+ */
70
+ enableToggle: false,
71
+ /**
72
+ * @cfg {Function} toggleHandler
73
+ * Function called when a Button with {@link #enableToggle} set to true is clicked. Two arguments are passed:<ul class="mdetail-params">
74
+ * <li><b>button</b> : Ext.Button<div class="sub-desc">this Button object</div></li>
75
+ * <li><b>state</b> : Boolean<div class="sub-desc">The next state if the Button, true means pressed.</div></li>
76
+ * </ul>
77
+ */
78
+ /**
79
+ * @cfg {Mixed} menu
80
+ * Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined).
81
+ */
82
+ /**
83
+ * @cfg {String} menuAlign
84
+ * The position to align the menu to (see {@link Ext.Element#alignTo} for more details, defaults to 'tl-bl?').
85
+ */
86
+ menuAlign : 'tl-bl?',
87
+
88
+ /**
89
+ * @cfg {String} overflowText If used in a {@link Ext.Toolbar Toolbar}, the
90
+ * text to be used if this item is shown in the overflow menu. See also
91
+ * {@link Ext.Toolbar.Item}.<code>{@link Ext.Toolbar.Item#overflowText overflowText}</code>.
92
+ */
93
+ /**
94
+ * @cfg {String} iconCls
95
+ * A css class which sets a background image to be used as the icon for this button
96
+ */
97
+ /**
98
+ * @cfg {String} type
99
+ * submit, reset or button - defaults to 'button'
100
+ */
101
+ type : 'button',
102
+
103
+ // private
104
+ menuClassTarget: 'tr:nth(2)',
105
+
106
+ /**
107
+ * @cfg {String} clickEvent
108
+ * The type of event to map to the button's event handler (defaults to 'click')
109
+ */
110
+ clickEvent : 'click',
111
+
112
+ /**
113
+ * @cfg {Boolean} handleMouseEvents
114
+ * False to disable visual cues on mouseover, mouseout and mousedown (defaults to true)
115
+ */
116
+ handleMouseEvents : true,
117
+
118
+ /**
119
+ * @cfg {String} tooltipType
120
+ * The type of tooltip to use. Either 'qtip' (default) for QuickTips or 'title' for title attribute.
121
+ */
122
+ tooltipType : 'qtip',
123
+
124
+ /**
125
+ * @cfg {String} buttonSelector
126
+ * <p>(Optional) A {@link Ext.DomQuery DomQuery} selector which is used to extract the active, clickable element from the
127
+ * DOM structure created.</p>
128
+ * <p>When a custom {@link #template} is used, you must ensure that this selector results in the selection of
129
+ * a focussable element.</p>
130
+ * <p>Defaults to <b><tt>"button:first-child"</tt></b>.</p>
131
+ */
132
+ buttonSelector : 'button:first-child',
133
+
134
+ /**
135
+ * @cfg {String} scale
136
+ * <p>(Optional) The size of the Button. Three values are allowed:</p>
137
+ * <ul class="mdetail-params">
138
+ * <li>'small'<div class="sub-desc">Results in the button element being 16px high.</div></li>
139
+ * <li>'medium'<div class="sub-desc">Results in the button element being 24px high.</div></li>
140
+ * <li>'large'<div class="sub-desc">Results in the button element being 32px high.</div></li>
141
+ * </ul>
142
+ * <p>Defaults to <b><tt>'small'</tt></b>.</p>
143
+ */
144
+ scale: 'small',
145
+
146
+ /**
147
+ * @cfg {String} iconAlign
148
+ * <p>(Optional) The side of the Button box to render the icon. Four values are allowed:</p>
149
+ * <ul class="mdetail-params">
150
+ * <li>'top'<div class="sub-desc"></div></li>
151
+ * <li>'right'<div class="sub-desc"></div></li>
152
+ * <li>'bottom'<div class="sub-desc"></div></li>
153
+ * <li>'left'<div class="sub-desc"></div></li>
154
+ * </ul>
155
+ * <p>Defaults to <b><tt>'left'</tt></b>.</p>
156
+ */
157
+ iconAlign : 'left',
158
+
159
+ /**
160
+ * @cfg {String} arrowAlign
161
+ * <p>(Optional) The side of the Button box to render the arrow if the button has an associated {@link #menu}.
162
+ * Two values are allowed:</p>
163
+ * <ul class="mdetail-params">
164
+ * <li>'right'<div class="sub-desc"></div></li>
165
+ * <li>'bottom'<div class="sub-desc"></div></li>
166
+ * </ul>
167
+ * <p>Defaults to <b><tt>'right'</tt></b>.</p>
168
+ */
169
+ arrowAlign : 'right',
170
+
171
+ /**
172
+ * @cfg {Ext.Template} template (Optional)
173
+ * <p>A {@link Ext.Template Template} used to create the Button's DOM structure.</p>
174
+ * Instances, or subclasses which need a different DOM structure may provide a different
175
+ * template layout in conjunction with an implementation of {@link #getTemplateArgs}.
176
+ * @type Ext.Template
177
+ * @property template
178
+ */
179
+ /**
180
+ * @cfg {String} cls
181
+ * A CSS class string to apply to the button's main element.
182
+ */
183
+ /**
184
+ * @property menu
185
+ * @type Menu
186
+ * The {@link Ext.menu.Menu Menu} object associated with this Button when configured with the {@link #menu} config option.
187
+ */
188
+
189
+ initComponent : function(){
190
+ Ext.Button.superclass.initComponent.call(this);
191
+
192
+ this.addEvents(
193
+ /**
194
+ * @event click
195
+ * Fires when this button is clicked
196
+ * @param {Button} this
197
+ * @param {EventObject} e The click event
198
+ */
199
+ 'click',
200
+ /**
201
+ * @event toggle
202
+ * Fires when the 'pressed' state of this button changes (only if enableToggle = true)
203
+ * @param {Button} this
204
+ * @param {Boolean} pressed
205
+ */
206
+ 'toggle',
207
+ /**
208
+ * @event mouseover
209
+ * Fires when the mouse hovers over the button
210
+ * @param {Button} this
211
+ * @param {Event} e The event object
212
+ */
213
+ 'mouseover',
214
+ /**
215
+ * @event mouseout
216
+ * Fires when the mouse exits the button
217
+ * @param {Button} this
218
+ * @param {Event} e The event object
219
+ */
220
+ 'mouseout',
221
+ /**
222
+ * @event menushow
223
+ * If this button has a menu, this event fires when it is shown
224
+ * @param {Button} this
225
+ * @param {Menu} menu
226
+ */
227
+ 'menushow',
228
+ /**
229
+ * @event menuhide
230
+ * If this button has a menu, this event fires when it is hidden
231
+ * @param {Button} this
232
+ * @param {Menu} menu
233
+ */
234
+ 'menuhide',
235
+ /**
236
+ * @event menutriggerover
237
+ * If this button has a menu, this event fires when the mouse enters the menu triggering element
238
+ * @param {Button} this
239
+ * @param {Menu} menu
240
+ * @param {EventObject} e
241
+ */
242
+ 'menutriggerover',
243
+ /**
244
+ * @event menutriggerout
245
+ * If this button has a menu, this event fires when the mouse leaves the menu triggering element
246
+ * @param {Button} this
247
+ * @param {Menu} menu
248
+ * @param {EventObject} e
249
+ */
250
+ 'menutriggerout'
251
+ );
252
+ if(this.menu){
253
+ this.menu = Ext.menu.MenuMgr.get(this.menu);
254
+ }
255
+ if(Ext.isString(this.toggleGroup)){
256
+ this.enableToggle = true;
257
+ }
258
+ },
259
+
260
+ /**
261
+ * <p>This method returns an object which provides substitution parameters for the {@link #template Template} used
262
+ * to create this Button's DOM structure.</p>
263
+ * <p>Instances or subclasses which use a different Template to create a different DOM structure may need to provide their
264
+ * own implementation of this method.</p>
265
+ * <p>The default implementation which provides data for the default {@link #template} returns an Array containing the
266
+ * following items:</p><div class="mdetail-params"><ul>
267
+ * <li>The Button's {@link #text}</li>
268
+ * <li>The &lt;button&gt;'s {@link #type}</li>
269
+ * <li>The {@link iconCls} applied to the &lt;button&gt; {@link #btnEl element}</li>
270
+ * <li>The {@link #cls} applied to the Button's main {@link #getEl Element}</li>
271
+ * <li>A CSS class name controlling the Button's {@link #scale} and {@link #iconAlign icon alignment}</li>
272
+ * <li>A CSS class name which applies an arrow to the Button if configured with a {@link #menu}</li>
273
+ * </ul></div>
274
+ * @return {Object} Substitution data for a Template.
275
+ */
276
+ getTemplateArgs : function(){
277
+ var cls = (this.cls || '');
278
+ cls += (this.iconCls || this.icon) ? (this.text ? ' x-btn-text-icon' : ' x-btn-icon') : ' x-btn-noicon';
279
+ if(this.pressed){
280
+ cls += ' x-btn-pressed';
281
+ }
282
+ return [this.text || '&#160;', this.type, this.iconCls || '', cls, 'x-btn-' + this.scale + ' x-btn-icon-' + this.scale + '-' + this.iconAlign, this.getMenuClass()];
283
+ },
284
+
285
+ // protected
286
+ getMenuClass : function(){
287
+ return this.menu ? (this.arrowAlign != 'bottom' ? 'x-btn-arrow' : 'x-btn-arrow-bottom') : '';
288
+ },
289
+
290
+ // private
291
+ onRender : function(ct, position){
292
+ if(!this.template){
293
+ if(!Ext.Button.buttonTemplate){
294
+ // hideous table template
295
+ Ext.Button.buttonTemplate = new Ext.Template(
296
+ '<table cellspacing="0" class="x-btn {3}"><tbody class="{4}">',
297
+ '<tr><td class="x-btn-tl"><i>&#160;</i></td><td class="x-btn-tc"></td><td class="x-btn-tr"><i>&#160;</i></td></tr>',
298
+ '<tr><td class="x-btn-ml"><i>&#160;</i></td><td class="x-btn-mc"><em class="{5}" unselectable="on"><button class="x-btn-text {2}" type="{1}">{0}</button></em></td><td class="x-btn-mr"><i>&#160;</i></td></tr>',
299
+ '<tr><td class="x-btn-bl"><i>&#160;</i></td><td class="x-btn-bc"></td><td class="x-btn-br"><i>&#160;</i></td></tr>',
300
+ "</tbody></table>");
301
+ Ext.Button.buttonTemplate.compile();
302
+ }
303
+ this.template = Ext.Button.buttonTemplate;
304
+ }
305
+
306
+ var btn, targs = this.getTemplateArgs();
307
+
308
+ if(position){
309
+ btn = this.template.insertBefore(position, targs, true);
310
+ }else{
311
+ btn = this.template.append(ct, targs, true);
312
+ }
313
+ /**
314
+ * An {@link Ext.Element Element} encapsulating the Button's clickable element. By default,
315
+ * this references a <tt>&lt;button&gt;</tt> element. Read only.
316
+ * @type Ext.Element
317
+ * @property btnEl
318
+ */
319
+ this.btnEl = btn.child(this.buttonSelector);
320
+ this.mon(this.btnEl, {
321
+ scope: this,
322
+ focus: this.onFocus,
323
+ blur: this.onBlur
324
+ });
325
+
326
+ this.initButtonEl(btn, this.btnEl);
327
+
328
+ Ext.ButtonToggleMgr.register(this);
329
+ },
330
+
331
+ // private
332
+ initButtonEl : function(btn, btnEl){
333
+ this.el = btn;
334
+
335
+ if(this.id){
336
+ this.el.dom.id = this.el.id = this.id;
337
+ }
338
+ if(this.icon){
339
+ btnEl.setStyle('background-image', 'url(' +this.icon +')');
340
+ }
341
+ if(this.tabIndex !== undefined){
342
+ btnEl.dom.tabIndex = this.tabIndex;
343
+ }
344
+ if(this.tooltip){
345
+ this.setTooltip(this.tooltip, true);
346
+ }
347
+
348
+ if(this.handleMouseEvents){
349
+ this.mon(btn, {
350
+ scope: this,
351
+ mouseover: this.onMouseOver,
352
+ mousedown: this.onMouseDown
353
+ });
354
+
355
+ // new functionality for monitoring on the document level
356
+ //this.mon(btn, 'mouseout', this.onMouseOut, this);
357
+ }
358
+
359
+ if(this.menu){
360
+ this.mon(this.menu, {
361
+ scope: this,
362
+ show: this.onMenuShow,
363
+ hide: this.onMenuHide
364
+ });
365
+ }
366
+
367
+ if(this.repeat){
368
+ var repeater = new Ext.util.ClickRepeater(btn, Ext.isObject(this.repeat) ? this.repeat : {});
369
+ this.mon(repeater, 'click', this.onClick, this);
370
+ }
371
+
372
+ this.mon(btn, this.clickEvent, this.onClick, this);
373
+ },
374
+
375
+ // private
376
+ afterRender : function(){
377
+ Ext.Button.superclass.afterRender.call(this);
378
+ this.doAutoWidth();
379
+ },
380
+
381
+ /**
382
+ * Sets the CSS class that provides a background image to use as the button's icon. This method also changes
383
+ * the value of the {@link iconCls} config internally.
384
+ * @param {String} cls The CSS class providing the icon image
385
+ * @return {Ext.Button} this
386
+ */
387
+ setIconClass : function(cls){
388
+ if(this.el){
389
+ this.btnEl.replaceClass(this.iconCls, cls);
390
+ }
391
+ this.iconCls = cls;
392
+ return this;
393
+ },
394
+
395
+ /**
396
+ * Sets the tooltip for this Button.
397
+ * @param {String/Object} tooltip. This may be:<div class="mdesc-details"><ul>
398
+ * <li><b>String</b> : A string to be used as innerHTML (html tags are accepted) to show in a tooltip</li>
399
+ * <li><b>Object</b> : A configuration object for {@link Ext.QuickTips#register}.</li>
400
+ * </ul></div>
401
+ * @return {Ext.Button} this
402
+ */
403
+ setTooltip : function(tooltip, /* private */ initial){
404
+ if(this.rendered){
405
+ if(!initial){
406
+ this.clearTip();
407
+ }
408
+ if(Ext.isObject(tooltip)){
409
+ Ext.QuickTips.register(Ext.apply({
410
+ target: this.btnEl.id
411
+ }, tooltip));
412
+ this.tooltip = tooltip;
413
+ }else{
414
+ this.btnEl.dom[this.tooltipType] = tooltip;
415
+ }
416
+ }else{
417
+ this.tooltip = tooltip;
418
+ }
419
+ return this;
420
+ },
421
+
422
+ // private
423
+ clearTip: function(){
424
+ if(Ext.isObject(this.tooltip)){
425
+ Ext.QuickTips.unregister(this.btnEl);
426
+ }
427
+ },
428
+
429
+ // private
430
+ beforeDestroy: function(){
431
+ if(this.rendered){
432
+ this.clearTip();
433
+ }
434
+ Ext.destroy(this.menu, this.repeater);
435
+ },
436
+
437
+ // private
438
+ onDestroy : function(){
439
+ var doc = Ext.getDoc();
440
+ doc.un('mouseover', this.monitorMouseOver, this);
441
+ doc.un('mouseup', this.onMouseUp, this);
442
+ if(this.rendered){
443
+ Ext.ButtonToggleMgr.unregister(this);
444
+ }
445
+ },
446
+
447
+ // private
448
+ doAutoWidth : function(){
449
+ if(this.el && this.text && this.width === undefined){
450
+ this.el.setWidth('auto');
451
+ if(Ext.isIE7 && Ext.isStrict){
452
+ var ib = this.btnEl;
453
+ if(ib && ib.getWidth() > 20){
454
+ ib.clip();
455
+ ib.setWidth(Ext.util.TextMetrics.measure(ib, this.text).width+ib.getFrameWidth('lr'));
456
+ }
457
+ }
458
+ if(this.minWidth){
459
+ if(this.el.getWidth() < this.minWidth){
460
+ this.el.setWidth(this.minWidth);
461
+ }
462
+ }
463
+ }
464
+ },
465
+
466
+ /**
467
+ * Assigns this Button's click handler
468
+ * @param {Function} handler The function to call when the button is clicked
469
+ * @param {Object} scope (optional) Scope for the function passed in
470
+ * @return {Ext.Button} this
471
+ */
472
+ setHandler : function(handler, scope){
473
+ this.handler = handler;
474
+ this.scope = scope;
475
+ return this;
476
+ },
477
+
478
+ /**
479
+ * Sets this Button's text
480
+ * @param {String} text The button text
481
+ * @return {Ext.Button} this
482
+ */
483
+ setText : function(text){
484
+ this.text = text;
485
+ if(this.el){
486
+ this.el.child('td.x-btn-mc ' + this.buttonSelector).update(text);
487
+ }
488
+ this.doAutoWidth();
489
+ return this;
490
+ },
491
+
492
+ /**
493
+ * Gets the text for this Button
494
+ * @return {String} The button text
495
+ */
496
+ getText : function(){
497
+ return this.text;
498
+ },
499
+
500
+ /**
501
+ * If a state it passed, it becomes the pressed state otherwise the current state is toggled.
502
+ * @param {Boolean} state (optional) Force a particular state
503
+ * @param {Boolean} supressEvent (optional) True to stop events being fired when calling this method.
504
+ * @return {Ext.Button} this
505
+ */
506
+ toggle : function(state, suppressEvent){
507
+ state = state === undefined ? !this.pressed : !!state;
508
+ if(state != this.pressed){
509
+ this.el[state ? 'addClass' : 'removeClass']('x-btn-pressed');
510
+ this.pressed = state;
511
+ if(!suppressEvent){
512
+ this.fireEvent('toggle', this, state);
513
+ if(this.toggleHandler){
514
+ this.toggleHandler.call(this.scope || this, this, state);
515
+ }
516
+ }
517
+ }
518
+ return this;
519
+ },
520
+
521
+ /**
522
+ * Focus the button
523
+ */
524
+ focus : function(){
525
+ this.btnEl.focus();
526
+ },
527
+
528
+ // private
529
+ onDisable : function(){
530
+ this.onDisableChange(true);
531
+ },
532
+
533
+ // private
534
+ onEnable : function(){
535
+ this.onDisableChange(false);
536
+ },
537
+
538
+ onDisableChange : function(disabled){
539
+ if(this.el){
540
+ if(!Ext.isIE6 || !this.text){
541
+ this.el[disabled ? 'addClass' : 'removeClass'](this.disabledClass);
542
+ }
543
+ this.el.dom.disabled = disabled;
544
+ }
545
+ this.disabled = disabled;
546
+ },
547
+
548
+ /**
549
+ * Show this button's menu (if it has one)
550
+ */
551
+ showMenu : function(){
552
+ if(this.rendered && this.menu){
553
+ if(this.tooltip){
554
+ Ext.QuickTips.getQuickTip().cancelShow(this.btnEl);
555
+ }
556
+ this.menu.show(this.el, this.menuAlign);
557
+ }
558
+ return this;
559
+ },
560
+
561
+ /**
562
+ * Hide this button's menu (if it has one)
563
+ */
564
+ hideMenu : function(){
565
+ if(this.menu){
566
+ this.menu.hide();
567
+ }
568
+ return this;
569
+ },
570
+
571
+ /**
572
+ * Returns true if the button has a menu and it is visible
573
+ * @return {Boolean}
574
+ */
575
+ hasVisibleMenu : function(){
576
+ return this.menu && this.menu.isVisible();
577
+ },
578
+
579
+ // private
580
+ onClick : function(e){
581
+ if(e){
582
+ e.preventDefault();
583
+ }
584
+ if(e.button !== 0){
585
+ return;
586
+ }
587
+ if(!this.disabled){
588
+ if(this.enableToggle && (this.allowDepress !== false || !this.pressed)){
589
+ this.toggle();
590
+ }
591
+ if(this.menu && !this.menu.isVisible() && !this.ignoreNextClick){
592
+ this.showMenu();
593
+ }
594
+ this.fireEvent('click', this, e);
595
+ if(this.handler){
596
+ //this.el.removeClass('x-btn-over');
597
+ this.handler.call(this.scope || this, this, e);
598
+ }
599
+ }
600
+ },
601
+
602
+ // private
603
+ isMenuTriggerOver : function(e, internal){
604
+ return this.menu && !internal;
605
+ },
606
+
607
+ // private
608
+ isMenuTriggerOut : function(e, internal){
609
+ return this.menu && !internal;
610
+ },
611
+
612
+ // private
613
+ onMouseOver : function(e){
614
+ if(!this.disabled){
615
+ var internal = e.within(this.el, true);
616
+ if(!internal){
617
+ this.el.addClass('x-btn-over');
618
+ if(!this.monitoringMouseOver){
619
+ Ext.getDoc().on('mouseover', this.monitorMouseOver, this);
620
+ this.monitoringMouseOver = true;
621
+ }
622
+ this.fireEvent('mouseover', this, e);
623
+ }
624
+ if(this.isMenuTriggerOver(e, internal)){
625
+ this.fireEvent('menutriggerover', this, this.menu, e);
626
+ }
627
+ }
628
+ },
629
+
630
+ // private
631
+ monitorMouseOver : function(e){
632
+ if(e.target != this.el.dom && !e.within(this.el)){
633
+ if(this.monitoringMouseOver){
634
+ Ext.getDoc().un('mouseover', this.monitorMouseOver, this);
635
+ this.monitoringMouseOver = false;
636
+ }
637
+ this.onMouseOut(e);
638
+ }
639
+ },
640
+
641
+ // private
642
+ onMouseOut : function(e){
643
+ var internal = e.within(this.el) && e.target != this.el.dom;
644
+ this.el.removeClass('x-btn-over');
645
+ this.fireEvent('mouseout', this, e);
646
+ if(this.isMenuTriggerOut(e, internal)){
647
+ this.fireEvent('menutriggerout', this, this.menu, e);
648
+ }
649
+ },
650
+ // private
651
+ onFocus : function(e){
652
+ if(!this.disabled){
653
+ this.el.addClass('x-btn-focus');
654
+ }
655
+ },
656
+ // private
657
+ onBlur : function(e){
658
+ this.el.removeClass('x-btn-focus');
659
+ },
660
+
661
+ // private
662
+ getClickEl : function(e, isUp){
663
+ return this.el;
664
+ },
665
+
666
+ // private
667
+ onMouseDown : function(e){
668
+ if(!this.disabled && e.button === 0){
669
+ this.getClickEl(e).addClass('x-btn-click');
670
+ Ext.getDoc().on('mouseup', this.onMouseUp, this);
671
+ }
672
+ },
673
+ // private
674
+ onMouseUp : function(e){
675
+ if(e.button === 0){
676
+ this.getClickEl(e, true).removeClass('x-btn-click');
677
+ Ext.getDoc().un('mouseup', this.onMouseUp, this);
678
+ }
679
+ },
680
+ // private
681
+ onMenuShow : function(e){
682
+ this.ignoreNextClick = 0;
683
+ this.el.addClass('x-btn-menu-active');
684
+ this.fireEvent('menushow', this, this.menu);
685
+ },
686
+ // private
687
+ onMenuHide : function(e){
688
+ this.el.removeClass('x-btn-menu-active');
689
+ this.ignoreNextClick = this.restoreClick.defer(250, this);
690
+ this.fireEvent('menuhide', this, this.menu);
691
+ },
692
+
693
+ // private
694
+ restoreClick : function(){
695
+ this.ignoreNextClick = 0;
696
+ }
697
+
698
+
699
+
700
+ /**
701
+ * @cfg {String} autoEl @hide
702
+ */
703
+ });
704
+ Ext.reg('button', Ext.Button);
705
+
706
+ // Private utility class used by Button
707
+ Ext.ButtonToggleMgr = function(){
708
+ var groups = {};
709
+
710
+ function toggleGroup(btn, state){
711
+ if(state){
712
+ var g = groups[btn.toggleGroup];
713
+ for(var i = 0, l = g.length; i < l; i++){
714
+ if(g[i] != btn){
715
+ g[i].toggle(false);
716
+ }
717
+ }
718
+ }
719
+ }
720
+
721
+ return {
722
+ register : function(btn){
723
+ if(!btn.toggleGroup){
724
+ return;
725
+ }
726
+ var g = groups[btn.toggleGroup];
727
+ if(!g){
728
+ g = groups[btn.toggleGroup] = [];
729
+ }
730
+ g.push(btn);
731
+ btn.on('toggle', toggleGroup);
732
+ },
733
+
734
+ unregister : function(btn){
735
+ if(!btn.toggleGroup){
736
+ return;
737
+ }
738
+ var g = groups[btn.toggleGroup];
739
+ if(g){
740
+ g.remove(btn);
741
+ btn.un('toggle', toggleGroup);
742
+ }
743
+ },
744
+
745
+ /**
746
+ * Gets the pressed button in the passed group or null
747
+ * @param {String} group
748
+ * @return Button
749
+ */
750
+ getPressed : function(group){
751
+ var g = groups[group];
752
+ if(g){
753
+ for(var i = 0, len = g.length; i < len; i++){
754
+ if(g[i].pressed === true){
755
+ return g[i];
756
+ }
757
+ }
758
+ }
759
+ return null;
760
+ }
761
+ };
762
+ }();