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,174 @@
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.TaskRunner
9
+ * Provides the ability to execute one or more arbitrary tasks in a multithreaded
10
+ * manner. Generally, you can use the singleton {@link Ext.TaskMgr} instead, but
11
+ * if needed, you can create separate instances of TaskRunner. Any number of
12
+ * separate tasks can be started at any time and will run independently of each
13
+ * other. Example usage:
14
+ * <pre><code>
15
+ // Start a simple clock task that updates a div once per second
16
+ var updateClock = function(){
17
+ Ext.fly('clock').update(new Date().format('g:i:s A'));
18
+ }
19
+ var task = {
20
+ run: updateClock,
21
+ interval: 1000 //1 second
22
+ }
23
+ var runner = new Ext.util.TaskRunner();
24
+ runner.start(task);
25
+
26
+ // equivalent using TaskMgr
27
+ Ext.TaskMgr.start({
28
+ run: updateClock,
29
+ interval: 1000
30
+ });
31
+
32
+ * </code></pre>
33
+ * Also see {@link Ext.util.DelayedTask}.
34
+ *
35
+ * @constructor
36
+ * @param {Number} interval (optional) The minimum precision in milliseconds supported by this TaskRunner instance
37
+ * (defaults to 10)
38
+ */
39
+ Ext.util.TaskRunner = function(interval){
40
+ interval = interval || 10;
41
+ var tasks = [],
42
+ removeQueue = [],
43
+ id = 0,
44
+ running = false,
45
+
46
+ // private
47
+ stopThread = function(){
48
+ running = false;
49
+ clearInterval(id);
50
+ id = 0;
51
+ },
52
+
53
+ // private
54
+ startThread = function(){
55
+ if(!running){
56
+ running = true;
57
+ id = setInterval(runTasks, interval);
58
+ }
59
+ },
60
+
61
+ // private
62
+ removeTask = function(t){
63
+ removeQueue.push(t);
64
+ if(t.onStop){
65
+ t.onStop.apply(t.scope || t);
66
+ }
67
+ },
68
+
69
+ // private
70
+ runTasks = function(){
71
+ var rqLen = removeQueue.length,
72
+ now = new Date().getTime();
73
+
74
+ if(rqLen > 0){
75
+ for(var i = 0; i < rqLen; i++){
76
+ tasks.remove(removeQueue[i]);
77
+ }
78
+ removeQueue = [];
79
+ if(tasks.length < 1){
80
+ stopThread();
81
+ return;
82
+ }
83
+ }
84
+ for(var i = 0, t, itime, rt, len = tasks.length; i < len; ++i){
85
+ t = tasks[i];
86
+ itime = now - t.taskRunTime;
87
+ if(t.interval <= itime){
88
+ rt = t.run.apply(t.scope || t, t.args || [++t.taskRunCount]);
89
+ t.taskRunTime = now;
90
+ if(rt === false || t.taskRunCount === t.repeat){
91
+ removeTask(t);
92
+ return;
93
+ }
94
+ }
95
+ if(t.duration && t.duration <= (now - t.taskStartTime)){
96
+ removeTask(t);
97
+ }
98
+ }
99
+ };
100
+
101
+ /**
102
+ * Starts a new task.
103
+ * @method start
104
+ * @param {Object} task A config object that supports the following properties:<ul>
105
+ * <li><code>run</code> : Function<div class="sub-desc">The function to execute each time the task is run. The
106
+ * function will be called at each interval and passed the <code>args</code> argument if specified. If a
107
+ * particular scope is required, be sure to specify it using the <code>scope</code> argument.</div></li>
108
+ * <li><code>interval</code> : Number<div class="sub-desc">The frequency in milliseconds with which the task
109
+ * should be executed.</div></li>
110
+ * <li><code>args</code> : Array<div class="sub-desc">(optional) An array of arguments to be passed to the function
111
+ * specified by <code>run</code>.</div></li>
112
+ * <li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<tt>this</tt> reference) in which to execute the
113
+ * <code>run</code> function. Defaults to the task config object.</div></li>
114
+ * <li><code>duration</code> : Number<div class="sub-desc">(optional) The length of time in milliseconds to execute
115
+ * the task before stopping automatically (defaults to indefinite).</div></li>
116
+ * <li><code>repeat</code> : Number<div class="sub-desc">(optional) The number of times to execute the task before
117
+ * stopping automatically (defaults to indefinite).</div></li>
118
+ * </ul>
119
+ * @return {Object} The task
120
+ */
121
+ this.start = function(task){
122
+ tasks.push(task);
123
+ task.taskStartTime = new Date().getTime();
124
+ task.taskRunTime = 0;
125
+ task.taskRunCount = 0;
126
+ startThread();
127
+ return task;
128
+ };
129
+
130
+ /**
131
+ * Stops an existing running task.
132
+ * @method stop
133
+ * @param {Object} task The task to stop
134
+ * @return {Object} The task
135
+ */
136
+ this.stop = function(task){
137
+ removeTask(task);
138
+ return task;
139
+ };
140
+
141
+ /**
142
+ * Stops all tasks that are currently running.
143
+ * @method stopAll
144
+ */
145
+ this.stopAll = function(){
146
+ stopThread();
147
+ for(var i = 0, len = tasks.length; i < len; i++){
148
+ if(tasks[i].onStop){
149
+ tasks[i].onStop();
150
+ }
151
+ }
152
+ tasks = [];
153
+ removeQueue = [];
154
+ };
155
+ };
156
+
157
+ /**
158
+ * @class Ext.TaskMgr
159
+ * @extends Ext.util.TaskRunner
160
+ * A static {@link Ext.util.TaskRunner} instance that can be used to start and stop arbitrary tasks. See
161
+ * {@link Ext.util.TaskRunner} for supported methods and task config properties.
162
+ * <pre><code>
163
+ // Start a simple clock task that updates a div once per second
164
+ var task = {
165
+ run: function(){
166
+ Ext.fly('clock').update(new Date().format('g:i:s A'));
167
+ },
168
+ interval: 1000 //1 second
169
+ }
170
+ Ext.TaskMgr.start(task);
171
+ </code></pre>
172
+ * @singleton
173
+ */
174
+ Ext.TaskMgr = new Ext.util.TaskRunner();
@@ -0,0 +1,252 @@
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.Action
9
+ * <p>An Action is a piece of reusable functionality that can be abstracted out of any particular component so that it
10
+ * can be usefully shared among multiple components. Actions let you share handlers, configuration options and UI
11
+ * updates across any components that support the Action interface (primarily {@link Ext.Toolbar}, {@link Ext.Button}
12
+ * and {@link Ext.menu.Menu} components).</p>
13
+ * <p>Aside from supporting the config object interface, any component that needs to use Actions must also support
14
+ * the following method list, as these will be called as needed by the Action class: setText(string), setIconCls(string),
15
+ * setDisabled(boolean), setVisible(boolean) and setHandler(function).</p>
16
+ * Example usage:<br>
17
+ * <pre><code>
18
+ // Define the shared action. Each component below will have the same
19
+ // display text and icon, and will display the same message on click.
20
+ var action = new Ext.Action({
21
+ {@link #text}: 'Do something',
22
+ {@link #handler}: function(){
23
+ Ext.Msg.alert('Click', 'You did something.');
24
+ },
25
+ {@link #iconCls}: 'do-something',
26
+ {@link #itemId}: 'myAction'
27
+ });
28
+
29
+ var panel = new Ext.Panel({
30
+ title: 'Actions',
31
+ width: 500,
32
+ height: 300,
33
+ tbar: [
34
+ // Add the action directly to a toolbar as a menu button
35
+ action,
36
+ {
37
+ text: 'Action Menu',
38
+ // Add the action to a menu as a text item
39
+ menu: [action]
40
+ }
41
+ ],
42
+ items: [
43
+ // Add the action to the panel body as a standard button
44
+ new Ext.Button(action)
45
+ ],
46
+ renderTo: Ext.getBody()
47
+ });
48
+
49
+ // Change the text for all components using the action
50
+ action.setText('Something else');
51
+
52
+ // Reference an action through a container using the itemId
53
+ var btn = panel.getComponent('myAction');
54
+ var aRef = btn.baseAction;
55
+ aRef.setText('New text');
56
+ </code></pre>
57
+ * @constructor
58
+ * @param {Object} config The configuration options
59
+ */
60
+ Ext.Action = function(config){
61
+ this.initialConfig = config;
62
+ this.itemId = config.itemId = (config.itemId || config.id || Ext.id());
63
+ this.items = [];
64
+ }
65
+
66
+ Ext.Action.prototype = {
67
+ /**
68
+ * @cfg {String} text The text to set for all components using this action (defaults to '').
69
+ */
70
+ /**
71
+ * @cfg {String} iconCls
72
+ * The CSS class selector that specifies a background image to be used as the header icon for
73
+ * all components using this action (defaults to '').
74
+ * <p>An example of specifying a custom icon class would be something like:
75
+ * </p><pre><code>
76
+ // specify the property in the config for the class:
77
+ ...
78
+ iconCls: 'do-something'
79
+
80
+ // css class that specifies background image to be used as the icon image:
81
+ .do-something { background-image: url(../images/my-icon.gif) 0 6px no-repeat !important; }
82
+ </code></pre>
83
+ */
84
+ /**
85
+ * @cfg {Boolean} disabled True to disable all components using this action, false to enable them (defaults to false).
86
+ */
87
+ /**
88
+ * @cfg {Boolean} hidden True to hide all components using this action, false to show them (defaults to false).
89
+ */
90
+ /**
91
+ * @cfg {Function} handler The function that will be invoked by each component tied to this action
92
+ * when the component's primary event is triggered (defaults to undefined).
93
+ */
94
+ /**
95
+ * @cfg {String} itemId
96
+ * See {@link Ext.Component}.{@link Ext.Component#itemId itemId}.
97
+ */
98
+ /**
99
+ * @cfg {Object} scope The scope in which the {@link #handler} function will execute.
100
+ */
101
+
102
+ // private
103
+ isAction : true,
104
+
105
+ /**
106
+ * Sets the text to be displayed by all components using this action.
107
+ * @param {String} text The text to display
108
+ */
109
+ setText : function(text){
110
+ this.initialConfig.text = text;
111
+ this.callEach('setText', [text]);
112
+ },
113
+
114
+ /**
115
+ * Gets the text currently displayed by all components using this action.
116
+ */
117
+ getText : function(){
118
+ return this.initialConfig.text;
119
+ },
120
+
121
+ /**
122
+ * Sets the icon CSS class for all components using this action. The class should supply
123
+ * a background image that will be used as the icon image.
124
+ * @param {String} cls The CSS class supplying the icon image
125
+ */
126
+ setIconClass : function(cls){
127
+ this.initialConfig.iconCls = cls;
128
+ this.callEach('setIconClass', [cls]);
129
+ },
130
+
131
+ /**
132
+ * Gets the icon CSS class currently used by all components using this action.
133
+ */
134
+ getIconClass : function(){
135
+ return this.initialConfig.iconCls;
136
+ },
137
+
138
+ /**
139
+ * Sets the disabled state of all components using this action. Shortcut method
140
+ * for {@link #enable} and {@link #disable}.
141
+ * @param {Boolean} disabled True to disable the component, false to enable it
142
+ */
143
+ setDisabled : function(v){
144
+ this.initialConfig.disabled = v;
145
+ this.callEach('setDisabled', [v]);
146
+ },
147
+
148
+ /**
149
+ * Enables all components using this action.
150
+ */
151
+ enable : function(){
152
+ this.setDisabled(false);
153
+ },
154
+
155
+ /**
156
+ * Disables all components using this action.
157
+ */
158
+ disable : function(){
159
+ this.setDisabled(true);
160
+ },
161
+
162
+ /**
163
+ * Returns true if the components using this action are currently disabled, else returns false.
164
+ */
165
+ isDisabled : function(){
166
+ return this.initialConfig.disabled;
167
+ },
168
+
169
+ /**
170
+ * Sets the hidden state of all components using this action. Shortcut method
171
+ * for <code>{@link #hide}</code> and <code>{@link #show}</code>.
172
+ * @param {Boolean} hidden True to hide the component, false to show it
173
+ */
174
+ setHidden : function(v){
175
+ this.initialConfig.hidden = v;
176
+ this.callEach('setVisible', [!v]);
177
+ },
178
+
179
+ /**
180
+ * Shows all components using this action.
181
+ */
182
+ show : function(){
183
+ this.setHidden(false);
184
+ },
185
+
186
+ /**
187
+ * Hides all components using this action.
188
+ */
189
+ hide : function(){
190
+ this.setHidden(true);
191
+ },
192
+
193
+ /**
194
+ * Returns true if the components using this action are currently hidden, else returns false.
195
+ */
196
+ isHidden : function(){
197
+ return this.initialConfig.hidden;
198
+ },
199
+
200
+ /**
201
+ * Sets the function that will be called by each component using this action when its primary event is triggered.
202
+ * @param {Function} fn The function that will be invoked by the action's components. The function
203
+ * will be called with no arguments.
204
+ * @param {Object} scope The scope in which the function will execute
205
+ */
206
+ setHandler : function(fn, scope){
207
+ this.initialConfig.handler = fn;
208
+ this.initialConfig.scope = scope;
209
+ this.callEach('setHandler', [fn, scope]);
210
+ },
211
+
212
+ /**
213
+ * Executes the specified function once for each component currently tied to this action. The function passed
214
+ * in should accept a single argument that will be an object that supports the basic Action config/method interface.
215
+ * @param {Function} fn The function to execute for each component
216
+ * @param {Object} scope The scope in which the function will execute
217
+ */
218
+ each : function(fn, scope){
219
+ Ext.each(this.items, fn, scope);
220
+ },
221
+
222
+ // private
223
+ callEach : function(fnName, args){
224
+ var cs = this.items;
225
+ for(var i = 0, len = cs.length; i < len; i++){
226
+ cs[i][fnName].apply(cs[i], args);
227
+ }
228
+ },
229
+
230
+ // private
231
+ addComponent : function(comp){
232
+ this.items.push(comp);
233
+ comp.on('destroy', this.removeComponent, this);
234
+ },
235
+
236
+ // private
237
+ removeComponent : function(comp){
238
+ this.items.remove(comp);
239
+ },
240
+
241
+ /**
242
+ * Executes this action manually using the handler function specified in the original config object
243
+ * or the handler function set with <code>{@link #setHandler}</code>. Any arguments passed to this
244
+ * function will be passed on to the handler function.
245
+ * @param {Mixed} arg1 (optional) Variable number of arguments passed to the handler function
246
+ * @param {Mixed} arg2 (optional)
247
+ * @param {Mixed} etc... (optional)
248
+ */
249
+ execute : function(){
250
+ this.initialConfig.handler.apply(this.initialConfig.scope || window, arguments);
251
+ }
252
+ };
@@ -0,0 +1,519 @@
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.BoxComponent
9
+ * @extends Ext.Component
10
+ * <p>Base class for any {@link Ext.Component Component} that is to be sized as a box, using width and height.</p>
11
+ * <p>BoxComponent provides automatic box model adjustments for sizing and positioning and will work correctly
12
+ * within the Component rendering model.</p>
13
+ * <p>A BoxComponent may be created as a custom Component which encapsulates any HTML element, either a pre-existing
14
+ * element, or one that is created to your specifications at render time. Usually, to participate in layouts,
15
+ * a Component will need to be a <b>Box</b>Component in order to have its width and height managed.</p>
16
+ * <p>To use a pre-existing element as a BoxComponent, configure it so that you preset the <b>el</b> property to the
17
+ * element to reference:<pre><code>
18
+ var pageHeader = new Ext.BoxComponent({
19
+ el: 'my-header-div'
20
+ });</code></pre>
21
+ * This may then be {@link Ext.Container#add added} to a {@link Ext.Container Container} as a child item.</p>
22
+ * <p>To create a BoxComponent based around a HTML element to be created at render time, use the
23
+ * {@link Ext.Component#autoEl autoEl} config option which takes the form of a
24
+ * {@link Ext.DomHelper DomHelper} specification:<pre><code>
25
+ var myImage = new Ext.BoxComponent({
26
+ autoEl: {
27
+ tag: 'img',
28
+ src: '/images/my-image.jpg'
29
+ }
30
+ });</code></pre></p>
31
+ * @constructor
32
+ * @param {Ext.Element/String/Object} config The configuration options.
33
+ * @xtype box
34
+ */
35
+ Ext.BoxComponent = Ext.extend(Ext.Component, {
36
+
37
+ // Configs below are used for all Components when rendered by BorderLayout.
38
+ /**
39
+ * @cfg {String} region <p><b>Note</b>: this config is only used when this BoxComponent is rendered
40
+ * by a Container which has been configured to use the <b>{@link Ext.layout.BorderLayout BorderLayout}</b>
41
+ * layout manager (e.g. specifying <tt>layout:'border'</tt>).</p><br>
42
+ * <p>See {@link Ext.layout.BorderLayout} also.</p>
43
+ */
44
+ // margins config is used when a BoxComponent is rendered by BorderLayout or BoxLayout.
45
+ /**
46
+ * @cfg {Object} margins <p><b>Note</b>: this config is only used when this BoxComponent is rendered
47
+ * by a Container which has been configured to use the <b>{@link Ext.layout.BorderLayout BorderLayout}</b>
48
+ * or one of the two <b>{@link Ext.layout.BoxLayout BoxLayout} subclasses.</b></p>
49
+ * <p>An object containing margins to apply to this BoxComponent in the
50
+ * format:</p><pre><code>
51
+ {
52
+ top: (top margin),
53
+ right: (right margin),
54
+ bottom: (bottom margin),
55
+ left: (left margin)
56
+ }</code></pre>
57
+ * <p>May also be a string containing space-separated, numeric margin values. The order of the
58
+ * sides associated with each value matches the way CSS processes margin values:</p>
59
+ * <p><div class="mdetail-params"><ul>
60
+ * <li>If there is only one value, it applies to all sides.</li>
61
+ * <li>If there are two values, the top and bottom borders are set to the first value and the
62
+ * right and left are set to the second.</li>
63
+ * <li>If there are three values, the top is set to the first value, the left and right are set
64
+ * to the second, and the bottom is set to the third.</li>
65
+ * <li>If there are four values, they apply to the top, right, bottom, and left, respectively.</li>
66
+ * </ul></div></p>
67
+ * <p>Defaults to:</p><pre><code>
68
+ * {top:0, right:0, bottom:0, left:0}
69
+ * </code></pre>
70
+ */
71
+ /**
72
+ * @cfg {Number} x
73
+ * The local x (left) coordinate for this component if contained within a positioning container.
74
+ */
75
+ /**
76
+ * @cfg {Number} y
77
+ * The local y (top) coordinate for this component if contained within a positioning container.
78
+ */
79
+ /**
80
+ * @cfg {Number} pageX
81
+ * The page level x coordinate for this component if contained within a positioning container.
82
+ */
83
+ /**
84
+ * @cfg {Number} pageY
85
+ * The page level y coordinate for this component if contained within a positioning container.
86
+ */
87
+ /**
88
+ * @cfg {Number} height
89
+ * The height of this component in pixels (defaults to auto).
90
+ * <b>Note</b> to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
91
+ */
92
+ /**
93
+ * @cfg {Number} width
94
+ * The width of this component in pixels (defaults to auto).
95
+ * <b>Note</b> to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
96
+ */
97
+ /**
98
+ * @cfg {Boolean} autoHeight
99
+ * <p>True to use height:'auto', false to use fixed height (or allow it to be managed by its parent
100
+ * Container's {@link Ext.Container#layout layout manager}. Defaults to false.</p>
101
+ * <p><b>Note</b>: Although many components inherit this config option, not all will
102
+ * function as expected with a height of 'auto'. Setting autoHeight:true means that the
103
+ * browser will manage height based on the element's contents, and that Ext will not manage it at all.</p>
104
+ * <p>If the <i>browser</i> is managing the height, be aware that resizes performed by the browser in response
105
+ * to changes within the structure of the Component cannot be detected. Therefore changes to the height might
106
+ * result in elements needing to be synchronized with the new height. Example:</p><pre><code>
107
+ var w = new Ext.Window({
108
+ title: 'Window',
109
+ width: 600,
110
+ autoHeight: true,
111
+ items: {
112
+ title: 'Collapse Me',
113
+ height: 400,
114
+ collapsible: true,
115
+ border: false,
116
+ listeners: {
117
+ beforecollapse: function() {
118
+ w.el.shadow.hide();
119
+ },
120
+ beforeexpand: function() {
121
+ w.el.shadow.hide();
122
+ },
123
+ collapse: function() {
124
+ w.syncShadow();
125
+ },
126
+ expand: function() {
127
+ w.syncShadow();
128
+ }
129
+ }
130
+ }
131
+ }).show();
132
+ </code></pre>
133
+ */
134
+ /**
135
+ * @cfg {Boolean} autoWidth
136
+ * <p>True to use width:'auto', false to use fixed width (or allow it to be managed by its parent
137
+ * Container's {@link Ext.Container#layout layout manager}. Defaults to false.</p>
138
+ * <p><b>Note</b>: Although many components inherit this config option, not all will
139
+ * function as expected with a width of 'auto'. Setting autoWidth:true means that the
140
+ * browser will manage width based on the element's contents, and that Ext will not manage it at all.</p>
141
+ * <p>If the <i>browser</i> is managing the width, be aware that resizes performed by the browser in response
142
+ * to changes within the structure of the Component cannot be detected. Therefore changes to the width might
143
+ * result in elements needing to be synchronized with the new width. For example, where the target element is:</p><pre><code>
144
+ &lt;div id='grid-container' style='margin-left:25%;width:50%'>&lt;/div>
145
+ </code></pre>
146
+ * A Panel rendered into that target element must listen for browser window resize in order to relay its
147
+ * child items when the browser changes its width:<pre><code>
148
+ var myPanel = new Ext.Panel({
149
+ renderTo: 'grid-container',
150
+ monitorResize: true, // relay on browser resize
151
+ title: 'Panel',
152
+ height: 400,
153
+ autoWidth: true,
154
+ layout: 'hbox',
155
+ layoutConfig: {
156
+ align: 'stretch'
157
+ },
158
+ defaults: {
159
+ flex: 1
160
+ },
161
+ items: [{
162
+ title: 'Box 1',
163
+ }, {
164
+ title: 'Box 2'
165
+ }, {
166
+ title: 'Box 3'
167
+ }],
168
+ });
169
+ </code></pre>
170
+ */
171
+
172
+ /* // private internal config
173
+ * {Boolean} deferHeight
174
+ * True to defer height calculations to an external component, false to allow this component to set its own
175
+ * height (defaults to false).
176
+ */
177
+
178
+ // private
179
+ initComponent : function(){
180
+ Ext.BoxComponent.superclass.initComponent.call(this);
181
+ this.addEvents(
182
+ /**
183
+ * @event resize
184
+ * Fires after the component is resized.
185
+ * @param {Ext.Component} this
186
+ * @param {Number} adjWidth The box-adjusted width that was set
187
+ * @param {Number} adjHeight The box-adjusted height that was set
188
+ * @param {Number} rawWidth The width that was originally specified
189
+ * @param {Number} rawHeight The height that was originally specified
190
+ */
191
+ 'resize',
192
+ /**
193
+ * @event move
194
+ * Fires after the component is moved.
195
+ * @param {Ext.Component} this
196
+ * @param {Number} x The new x position
197
+ * @param {Number} y The new y position
198
+ */
199
+ 'move'
200
+ );
201
+ },
202
+
203
+ // private, set in afterRender to signify that the component has been rendered
204
+ boxReady : false,
205
+ // private, used to defer height settings to subclasses
206
+ deferHeight: false,
207
+
208
+ /**
209
+ * Sets the width and height of this BoxComponent. This method fires the {@link #resize} event. This method can accept
210
+ * either width and height as separate arguments, or you can pass a size object like <code>{width:10, height:20}</code>.
211
+ * @param {Mixed} width The new width to set. This may be one of:<div class="mdetail-params"><ul>
212
+ * <li>A Number specifying the new width in the {@link #getEl Element}'s {@link Ext.Element#defaultUnit}s (by default, pixels).</li>
213
+ * <li>A String used to set the CSS width style.</li>
214
+ * <li>A size object in the format <code>{width: widthValue, height: heightValue}</code>.</li>
215
+ * <li><code>undefined</code> to leave the width unchanged.</li>
216
+ * </ul></div>
217
+ * @param {Mixed} height The new height to set (not required if a size object is passed as the first arg).
218
+ * This may be one of:<div class="mdetail-params"><ul>
219
+ * <li>A Number specifying the new height in the {@link #getEl Element}'s {@link Ext.Element#defaultUnit}s (by default, pixels).</li>
220
+ * <li>A String used to set the CSS height style. Animation may <b>not</b> be used.</li>
221
+ * <li><code>undefined</code> to leave the height unchanged.</li>
222
+ * </ul></div>
223
+ * @return {Ext.BoxComponent} this
224
+ */
225
+ setSize : function(w, h){
226
+ // support for standard size objects
227
+ if(typeof w == 'object'){
228
+ h = w.height;
229
+ w = w.width;
230
+ }
231
+ // not rendered
232
+ if(!this.boxReady){
233
+ this.width = w;
234
+ this.height = h;
235
+ return this;
236
+ }
237
+
238
+ // prevent recalcs when not needed
239
+ if(this.cacheSizes !== false && this.lastSize && this.lastSize.width == w && this.lastSize.height == h){
240
+ return this;
241
+ }
242
+ this.lastSize = {width: w, height: h};
243
+ var adj = this.adjustSize(w, h);
244
+ var aw = adj.width, ah = adj.height;
245
+ if(aw !== undefined || ah !== undefined){ // this code is nasty but performs better with floaters
246
+ var rz = this.getResizeEl();
247
+ if(!this.deferHeight && aw !== undefined && ah !== undefined){
248
+ rz.setSize(aw, ah);
249
+ }else if(!this.deferHeight && ah !== undefined){
250
+ rz.setHeight(ah);
251
+ }else if(aw !== undefined){
252
+ rz.setWidth(aw);
253
+ }
254
+ this.onResize(aw, ah, w, h);
255
+ this.fireEvent('resize', this, aw, ah, w, h);
256
+ }
257
+ return this;
258
+ },
259
+
260
+ /**
261
+ * Sets the width of the component. This method fires the {@link #resize} event.
262
+ * @param {Number} width The new width to setThis may be one of:<div class="mdetail-params"><ul>
263
+ * <li>A Number specifying the new width in the {@link #getEl Element}'s {@link Ext.Element#defaultUnit}s (by default, pixels).</li>
264
+ * <li>A String used to set the CSS width style.</li>
265
+ * </ul></div>
266
+ * @return {Ext.BoxComponent} this
267
+ */
268
+ setWidth : function(width){
269
+ return this.setSize(width);
270
+ },
271
+
272
+ /**
273
+ * Sets the height of the component. This method fires the {@link #resize} event.
274
+ * @param {Number} height The new height to set. This may be one of:<div class="mdetail-params"><ul>
275
+ * <li>A Number specifying the new height in the {@link #getEl Element}'s {@link Ext.Element#defaultUnit}s (by default, pixels).</li>
276
+ * <li>A String used to set the CSS height style.</li>
277
+ * <li><i>undefined</i> to leave the height unchanged.</li>
278
+ * </ul></div>
279
+ * @return {Ext.BoxComponent} this
280
+ */
281
+ setHeight : function(height){
282
+ return this.setSize(undefined, height);
283
+ },
284
+
285
+ /**
286
+ * Gets the current size of the component's underlying element.
287
+ * @return {Object} An object containing the element's size {width: (element width), height: (element height)}
288
+ */
289
+ getSize : function(){
290
+ return this.getResizeEl().getSize();
291
+ },
292
+
293
+ /**
294
+ * Gets the current width of the component's underlying element.
295
+ * @return {Number}
296
+ */
297
+ getWidth : function(){
298
+ return this.getResizeEl().getWidth();
299
+ },
300
+
301
+ /**
302
+ * Gets the current height of the component's underlying element.
303
+ * @return {Number}
304
+ */
305
+ getHeight : function(){
306
+ return this.getResizeEl().getHeight();
307
+ },
308
+
309
+ /**
310
+ * Gets the current size of the component's underlying element, including space taken by its margins.
311
+ * @return {Object} An object containing the element's size {width: (element width + left/right margins), height: (element height + top/bottom margins)}
312
+ */
313
+ getOuterSize : function(){
314
+ var el = this.getResizeEl();
315
+ return {width: el.getWidth() + el.getMargins('lr'),
316
+ height: el.getHeight() + el.getMargins('tb')};
317
+ },
318
+
319
+ /**
320
+ * Gets the current XY position of the component's underlying element.
321
+ * @param {Boolean} local (optional) If true the element's left and top are returned instead of page XY (defaults to false)
322
+ * @return {Array} The XY position of the element (e.g., [100, 200])
323
+ */
324
+ getPosition : function(local){
325
+ var el = this.getPositionEl();
326
+ if(local === true){
327
+ return [el.getLeft(true), el.getTop(true)];
328
+ }
329
+ return this.xy || el.getXY();
330
+ },
331
+
332
+ /**
333
+ * Gets the current box measurements of the component's underlying element.
334
+ * @param {Boolean} local (optional) If true the element's left and top are returned instead of page XY (defaults to false)
335
+ * @return {Object} box An object in the format {x, y, width, height}
336
+ */
337
+ getBox : function(local){
338
+ var pos = this.getPosition(local);
339
+ var s = this.getSize();
340
+ s.x = pos[0];
341
+ s.y = pos[1];
342
+ return s;
343
+ },
344
+
345
+ /**
346
+ * Sets the current box measurements of the component's underlying element.
347
+ * @param {Object} box An object in the format {x, y, width, height}
348
+ * @return {Ext.BoxComponent} this
349
+ */
350
+ updateBox : function(box){
351
+ this.setSize(box.width, box.height);
352
+ this.setPagePosition(box.x, box.y);
353
+ return this;
354
+ },
355
+
356
+ /**
357
+ * <p>Returns the outermost Element of this Component which defines the Components overall size.</p>
358
+ * <p><i>Usually</i> this will return the same Element as <code>{@link #getEl}</code>,
359
+ * but in some cases, a Component may have some more wrapping Elements around its main
360
+ * active Element.</p>
361
+ * <p>An example is a ComboBox. It is encased in a <i>wrapping</i> Element which
362
+ * contains both the <code>&lt;input></code> Element (which is what would be returned
363
+ * by its <code>{@link #getEl}</code> method, <i>and</i> the trigger button Element.
364
+ * This Element is returned as the <code>resizeEl</code>.
365
+ */
366
+ getResizeEl : function(){
367
+ return this.resizeEl || this.el;
368
+ },
369
+
370
+ // protected
371
+ getPositionEl : function(){
372
+ return this.positionEl || this.el;
373
+ },
374
+
375
+ /**
376
+ * Sets the left and top of the component. To set the page XY position instead, use {@link #setPagePosition}.
377
+ * This method fires the {@link #move} event.
378
+ * @param {Number} left The new left
379
+ * @param {Number} top The new top
380
+ * @return {Ext.BoxComponent} this
381
+ */
382
+ setPosition : function(x, y){
383
+ if(x && typeof x[1] == 'number'){
384
+ y = x[1];
385
+ x = x[0];
386
+ }
387
+ this.x = x;
388
+ this.y = y;
389
+ if(!this.boxReady){
390
+ return this;
391
+ }
392
+ var adj = this.adjustPosition(x, y);
393
+ var ax = adj.x, ay = adj.y;
394
+
395
+ var el = this.getPositionEl();
396
+ if(ax !== undefined || ay !== undefined){
397
+ if(ax !== undefined && ay !== undefined){
398
+ el.setLeftTop(ax, ay);
399
+ }else if(ax !== undefined){
400
+ el.setLeft(ax);
401
+ }else if(ay !== undefined){
402
+ el.setTop(ay);
403
+ }
404
+ this.onPosition(ax, ay);
405
+ this.fireEvent('move', this, ax, ay);
406
+ }
407
+ return this;
408
+ },
409
+
410
+ /**
411
+ * Sets the page XY position of the component. To set the left and top instead, use {@link #setPosition}.
412
+ * This method fires the {@link #move} event.
413
+ * @param {Number} x The new x position
414
+ * @param {Number} y The new y position
415
+ * @return {Ext.BoxComponent} this
416
+ */
417
+ setPagePosition : function(x, y){
418
+ if(x && typeof x[1] == 'number'){
419
+ y = x[1];
420
+ x = x[0];
421
+ }
422
+ this.pageX = x;
423
+ this.pageY = y;
424
+ if(!this.boxReady){
425
+ return;
426
+ }
427
+ if(x === undefined || y === undefined){ // cannot translate undefined points
428
+ return;
429
+ }
430
+ var p = this.getPositionEl().translatePoints(x, y);
431
+ this.setPosition(p.left, p.top);
432
+ return this;
433
+ },
434
+
435
+ // private
436
+ onRender : function(ct, position){
437
+ Ext.BoxComponent.superclass.onRender.call(this, ct, position);
438
+ if(this.resizeEl){
439
+ this.resizeEl = Ext.get(this.resizeEl);
440
+ }
441
+ if(this.positionEl){
442
+ this.positionEl = Ext.get(this.positionEl);
443
+ }
444
+ },
445
+
446
+ // private
447
+ afterRender : function(){
448
+ Ext.BoxComponent.superclass.afterRender.call(this);
449
+ this.boxReady = true;
450
+ this.setSize(this.width, this.height);
451
+ if(this.x || this.y){
452
+ this.setPosition(this.x, this.y);
453
+ }else if(this.pageX || this.pageY){
454
+ this.setPagePosition(this.pageX, this.pageY);
455
+ }
456
+ },
457
+
458
+ /**
459
+ * Force the component's size to recalculate based on the underlying element's current height and width.
460
+ * @return {Ext.BoxComponent} this
461
+ */
462
+ syncSize : function(){
463
+ delete this.lastSize;
464
+ this.setSize(this.autoWidth ? undefined : this.getResizeEl().getWidth(), this.autoHeight ? undefined : this.getResizeEl().getHeight());
465
+ return this;
466
+ },
467
+
468
+ /* // protected
469
+ * Called after the component is resized, this method is empty by default but can be implemented by any
470
+ * subclass that needs to perform custom logic after a resize occurs.
471
+ * @param {Number} adjWidth The box-adjusted width that was set
472
+ * @param {Number} adjHeight The box-adjusted height that was set
473
+ * @param {Number} rawWidth The width that was originally specified
474
+ * @param {Number} rawHeight The height that was originally specified
475
+ */
476
+ onResize : function(adjWidth, adjHeight, rawWidth, rawHeight){
477
+
478
+ },
479
+
480
+ /* // protected
481
+ * Called after the component is moved, this method is empty by default but can be implemented by any
482
+ * subclass that needs to perform custom logic after a move occurs.
483
+ * @param {Number} x The new x position
484
+ * @param {Number} y The new y position
485
+ */
486
+ onPosition : function(x, y){
487
+
488
+ },
489
+
490
+ // private
491
+ adjustSize : function(w, h){
492
+ if(this.autoWidth){
493
+ w = 'auto';
494
+ }
495
+ if(this.autoHeight){
496
+ h = 'auto';
497
+ }
498
+ return {width : w, height: h};
499
+ },
500
+
501
+ // private
502
+ adjustPosition : function(x, y){
503
+ return {x : x, y: y};
504
+ }
505
+ });
506
+ Ext.reg('box', Ext.BoxComponent);
507
+
508
+
509
+ /**
510
+ * @class Ext.Spacer
511
+ * @extends Ext.BoxComponent
512
+ * <p>Used to provide a sizable space in a layout.</p>
513
+ * @constructor
514
+ * @param {Object} config
515
+ */
516
+ Ext.Spacer = Ext.extend(Ext.BoxComponent, {
517
+ autoEl:'div'
518
+ });
519
+ Ext.reg('spacer', Ext.Spacer);