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,303 @@
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.Element
9
+ */
10
+ (function(){
11
+ var D = Ext.lib.Dom,
12
+ LEFT = "left",
13
+ RIGHT = "right",
14
+ TOP = "top",
15
+ BOTTOM = "bottom",
16
+ POSITION = "position",
17
+ STATIC = "static",
18
+ RELATIVE = "relative",
19
+ AUTO = "auto",
20
+ ZINDEX = "z-index";
21
+
22
+ function animTest(args, animate, i) {
23
+ return this.preanim && !!animate ? this.preanim(args, i) : false
24
+ }
25
+
26
+ Ext.Element.addMethods({
27
+ /**
28
+ * Gets the current X position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
29
+ * @return {Number} The X position of the element
30
+ */
31
+ getX : function(){
32
+ return D.getX(this.dom);
33
+ },
34
+
35
+ /**
36
+ * Gets the current Y position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
37
+ * @return {Number} The Y position of the element
38
+ */
39
+ getY : function(){
40
+ return D.getY(this.dom);
41
+ },
42
+
43
+ /**
44
+ * Gets the current position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
45
+ * @return {Array} The XY position of the element
46
+ */
47
+ getXY : function(){
48
+ return D.getXY(this.dom);
49
+ },
50
+
51
+ /**
52
+ * Returns the offsets of this element from the passed element. Both element must be part of the DOM tree and not have display:none to have page coordinates.
53
+ * @param {Mixed} element The element to get the offsets from.
54
+ * @return {Array} The XY page offsets (e.g. [100, -200])
55
+ */
56
+ getOffsetsTo : function(el){
57
+ var o = this.getXY(),
58
+ e = Ext.fly(el, '_internal').getXY();
59
+ return [o[0]-e[0],o[1]-e[1]];
60
+ },
61
+
62
+ /**
63
+ * Sets the X position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
64
+ * @param {Number} The X position of the element
65
+ * @param {Boolean/Object} animate (optional) True for the default animation, or a standard Element animation config object
66
+ * @return {Ext.Element} this
67
+ */
68
+ setX : function(x, animate){
69
+ return this.setXY([x, this.getY()], animTest.call(this, arguments, animate, 1));
70
+ },
71
+
72
+ /**
73
+ * Sets the Y position of the element based on page coordinates. Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
74
+ * @param {Number} The Y position of the element
75
+ * @param {Boolean/Object} animate (optional) True for the default animation, or a standard Element animation config object
76
+ * @return {Ext.Element} this
77
+ */
78
+ setY : function(y, animate){
79
+ return this.setXY([this.getX(), y], animTest.call(this, arguments, animate, 1));
80
+ },
81
+
82
+ /**
83
+ * Sets the element's left position directly using CSS style (instead of {@link #setX}).
84
+ * @param {String} left The left CSS property value
85
+ * @return {Ext.Element} this
86
+ */
87
+ setLeft : function(left){
88
+ this.setStyle(LEFT, this.addUnits(left));
89
+ return this;
90
+ },
91
+
92
+ /**
93
+ * Sets the element's top position directly using CSS style (instead of {@link #setY}).
94
+ * @param {String} top The top CSS property value
95
+ * @return {Ext.Element} this
96
+ */
97
+ setTop : function(top){
98
+ this.setStyle(TOP, this.addUnits(top));
99
+ return this;
100
+ },
101
+
102
+ /**
103
+ * Sets the element's CSS right style.
104
+ * @param {String} right The right CSS property value
105
+ * @return {Ext.Element} this
106
+ */
107
+ setRight : function(right){
108
+ this.setStyle(RIGHT, this.addUnits(right));
109
+ return this;
110
+ },
111
+
112
+ /**
113
+ * Sets the element's CSS bottom style.
114
+ * @param {String} bottom The bottom CSS property value
115
+ * @return {Ext.Element} this
116
+ */
117
+ setBottom : function(bottom){
118
+ this.setStyle(BOTTOM, this.addUnits(bottom));
119
+ return this;
120
+ },
121
+
122
+ /**
123
+ * Sets the position of the element in page coordinates, regardless of how the element is positioned.
124
+ * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
125
+ * @param {Array} pos Contains X & Y [x, y] values for new position (coordinates are page-based)
126
+ * @param {Boolean/Object} animate (optional) True for the default animation, or a standard Element animation config object
127
+ * @return {Ext.Element} this
128
+ */
129
+ setXY : function(pos, animate){
130
+ var me = this;
131
+ if(!animate || !me.anim){
132
+ D.setXY(me.dom, pos);
133
+ }else{
134
+ me.anim({points: {to: pos}}, me.preanim(arguments, 1), 'motion');
135
+ }
136
+ return me;
137
+ },
138
+
139
+ /**
140
+ * Sets the position of the element in page coordinates, regardless of how the element is positioned.
141
+ * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
142
+ * @param {Number} x X value for new position (coordinates are page-based)
143
+ * @param {Number} y Y value for new position (coordinates are page-based)
144
+ * @param {Boolean/Object} animate (optional) True for the default animation, or a standard Element animation config object
145
+ * @return {Ext.Element} this
146
+ */
147
+ setLocation : function(x, y, animate){
148
+ return this.setXY([x, y], animTest.call(this, arguments, animate, 2));
149
+ },
150
+
151
+ /**
152
+ * Sets the position of the element in page coordinates, regardless of how the element is positioned.
153
+ * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
154
+ * @param {Number} x X value for new position (coordinates are page-based)
155
+ * @param {Number} y Y value for new position (coordinates are page-based)
156
+ * @param {Boolean/Object} animate (optional) True for the default animation, or a standard Element animation config object
157
+ * @return {Ext.Element} this
158
+ */
159
+ moveTo : function(x, y, animate){
160
+ return this.setXY([x, y], animTest.call(this, arguments, animate, 2));
161
+ },
162
+
163
+ /**
164
+ * Gets the left X coordinate
165
+ * @param {Boolean} local True to get the local css position instead of page coordinate
166
+ * @return {Number}
167
+ */
168
+ getLeft : function(local){
169
+ return !local ? this.getX() : parseInt(this.getStyle(LEFT), 10) || 0;
170
+ },
171
+
172
+ /**
173
+ * Gets the right X coordinate of the element (element X position + element width)
174
+ * @param {Boolean} local True to get the local css position instead of page coordinate
175
+ * @return {Number}
176
+ */
177
+ getRight : function(local){
178
+ var me = this;
179
+ return !local ? me.getX() + me.getWidth() : (me.getLeft(true) + me.getWidth()) || 0;
180
+ },
181
+
182
+ /**
183
+ * Gets the top Y coordinate
184
+ * @param {Boolean} local True to get the local css position instead of page coordinate
185
+ * @return {Number}
186
+ */
187
+ getTop : function(local) {
188
+ return !local ? this.getY() : parseInt(this.getStyle(TOP), 10) || 0;
189
+ },
190
+
191
+ /**
192
+ * Gets the bottom Y coordinate of the element (element Y position + element height)
193
+ * @param {Boolean} local True to get the local css position instead of page coordinate
194
+ * @return {Number}
195
+ */
196
+ getBottom : function(local){
197
+ var me = this;
198
+ return !local ? me.getY() + me.getHeight() : (me.getTop(true) + me.getHeight()) || 0;
199
+ },
200
+
201
+ /**
202
+ * Initializes positioning on this element. If a desired position is not passed, it will make the
203
+ * the element positioned relative IF it is not already positioned.
204
+ * @param {String} pos (optional) Positioning to use "relative", "absolute" or "fixed"
205
+ * @param {Number} zIndex (optional) The zIndex to apply
206
+ * @param {Number} x (optional) Set the page X position
207
+ * @param {Number} y (optional) Set the page Y position
208
+ */
209
+ position : function(pos, zIndex, x, y){
210
+ var me = this;
211
+
212
+ if(!pos && me.isStyle(POSITION, STATIC)){
213
+ me.setStyle(POSITION, RELATIVE);
214
+ } else if(pos) {
215
+ me.setStyle(POSITION, pos);
216
+ }
217
+ if(zIndex){
218
+ me.setStyle(ZINDEX, zIndex);
219
+ }
220
+ if(x || y) me.setXY([x || false, y || false]);
221
+ },
222
+
223
+ /**
224
+ * Clear positioning back to the default when the document was loaded
225
+ * @param {String} value (optional) The value to use for the left,right,top,bottom, defaults to '' (empty string). You could use 'auto'.
226
+ * @return {Ext.Element} this
227
+ */
228
+ clearPositioning : function(value){
229
+ value = value || '';
230
+ this.setStyle({
231
+ left : value,
232
+ right : value,
233
+ top : value,
234
+ bottom : value,
235
+ "z-index" : "",
236
+ position : STATIC
237
+ });
238
+ return this;
239
+ },
240
+
241
+ /**
242
+ * Gets an object with all CSS positioning properties. Useful along with setPostioning to get
243
+ * snapshot before performing an update and then restoring the element.
244
+ * @return {Object}
245
+ */
246
+ getPositioning : function(){
247
+ var l = this.getStyle(LEFT);
248
+ var t = this.getStyle(TOP);
249
+ return {
250
+ "position" : this.getStyle(POSITION),
251
+ "left" : l,
252
+ "right" : l ? "" : this.getStyle(RIGHT),
253
+ "top" : t,
254
+ "bottom" : t ? "" : this.getStyle(BOTTOM),
255
+ "z-index" : this.getStyle(ZINDEX)
256
+ };
257
+ },
258
+
259
+ /**
260
+ * Set positioning with an object returned by getPositioning().
261
+ * @param {Object} posCfg
262
+ * @return {Ext.Element} this
263
+ */
264
+ setPositioning : function(pc){
265
+ var me = this,
266
+ style = me.dom.style;
267
+
268
+ me.setStyle(pc);
269
+
270
+ if(pc.right == AUTO){
271
+ style.right = "";
272
+ }
273
+ if(pc.bottom == AUTO){
274
+ style.bottom = "";
275
+ }
276
+
277
+ return me;
278
+ },
279
+
280
+ /**
281
+ * Translates the passed page coordinates into left/top css values for this element
282
+ * @param {Number/Array} x The page x or an array containing [x, y]
283
+ * @param {Number} y (optional) The page y, required if x is not an array
284
+ * @return {Object} An object with left and top properties. e.g. {left: (value), top: (value)}
285
+ */
286
+ translatePoints : function(x, y){
287
+ y = isNaN(x[1]) ? y : x[1];
288
+ x = isNaN(x[0]) ? x : x[0];
289
+ var me = this,
290
+ relative = me.isStyle(POSITION, RELATIVE),
291
+ o = me.getXY(),
292
+ l = parseInt(me.getStyle(LEFT), 10),
293
+ t = parseInt(me.getStyle(TOP), 10);
294
+
295
+ l = !isNaN(l) ? l : (relative ? 0 : me.dom.offsetLeft);
296
+ t = !isNaN(t) ? t : (relative ? 0 : me.dom.offsetTop);
297
+
298
+ return {left: (x - o[0] + l), top: (y - o[1] + t)};
299
+ },
300
+
301
+ animTest : animTest
302
+ });
303
+ })();
@@ -0,0 +1,58 @@
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.Element
9
+ */
10
+ Ext.Element.addMethods({
11
+ /**
12
+ * Returns true if this element is scrollable.
13
+ * @return {Boolean}
14
+ */
15
+ isScrollable : function(){
16
+ var dom = this.dom;
17
+ return dom.scrollHeight > dom.clientHeight || dom.scrollWidth > dom.clientWidth;
18
+ },
19
+
20
+ /**
21
+ * Scrolls this element the specified scroll point. It does NOT do bounds checking so if you scroll to a weird value it will try to do it. For auto bounds checking, use scroll().
22
+ * @param {String} side Either "left" for scrollLeft values or "top" for scrollTop values.
23
+ * @param {Number} value The new scroll value.
24
+ * @return {Element} this
25
+ */
26
+ scrollTo : function(side, value){
27
+ this.dom["scroll" + (/top/i.test(side) ? "Top" : "Left")] = value;
28
+ return this;
29
+ },
30
+
31
+ /**
32
+ * Returns the current scroll position of the element.
33
+ * @return {Object} An object containing the scroll position in the format {left: (scrollLeft), top: (scrollTop)}
34
+ */
35
+ getScroll : function(){
36
+ var d = this.dom,
37
+ doc = document,
38
+ body = doc.body,
39
+ docElement = doc.documentElement,
40
+ l,
41
+ t,
42
+ ret;
43
+
44
+ if(d == doc || d == body){
45
+ if(Ext.isIE && Ext.isStrict){
46
+ l = docElement.scrollLeft;
47
+ t = docElement.scrollTop;
48
+ }else{
49
+ l = window.pageXOffset;
50
+ t = window.pageYOffset;
51
+ }
52
+ ret = {left: l || (body ? body.scrollLeft : 0), top: t || (body ? body.scrollTop : 0)};
53
+ }else{
54
+ ret = {left: d.scrollLeft, top: d.scrollTop};
55
+ }
56
+ return ret;
57
+ }
58
+ });
@@ -0,0 +1,439 @@
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.Element
9
+ */
10
+ Ext.Element.addMethods(function(){
11
+ // local style camelizing for speed
12
+ var propCache = {},
13
+ camelRe = /(-[a-z])/gi,
14
+ classReCache = {},
15
+ view = document.defaultView,
16
+ propFloat = Ext.isIE ? 'styleFloat' : 'cssFloat',
17
+ opacityRe = /alpha\(opacity=(.*)\)/i,
18
+ trimRe = /^\s+|\s+$/g,
19
+ EL = Ext.Element,
20
+ PADDING = "padding",
21
+ MARGIN = "margin",
22
+ BORDER = "border",
23
+ LEFT = "-left",
24
+ RIGHT = "-right",
25
+ TOP = "-top",
26
+ BOTTOM = "-bottom",
27
+ WIDTH = "-width",
28
+ MATH = Math,
29
+ HIDDEN = 'hidden',
30
+ ISCLIPPED = 'isClipped',
31
+ OVERFLOW = 'overflow',
32
+ OVERFLOWX = 'overflow-x',
33
+ OVERFLOWY = 'overflow-y',
34
+ ORIGINALCLIP = 'originalClip',
35
+ // special markup used throughout Ext when box wrapping elements
36
+ borders = {l: BORDER + LEFT + WIDTH, r: BORDER + RIGHT + WIDTH, t: BORDER + TOP + WIDTH, b: BORDER + BOTTOM + WIDTH},
37
+ paddings = {l: PADDING + LEFT, r: PADDING + RIGHT, t: PADDING + TOP, b: PADDING + BOTTOM},
38
+ margins = {l: MARGIN + LEFT, r: MARGIN + RIGHT, t: MARGIN + TOP, b: MARGIN + BOTTOM},
39
+ data = Ext.Element.data;
40
+
41
+
42
+ // private
43
+ function camelFn(m, a) {
44
+ return a.charAt(1).toUpperCase();
45
+ }
46
+
47
+ // private (needs to be called => addStyles.call(this, sides, styles))
48
+ function addStyles(sides, styles){
49
+ var val = 0;
50
+
51
+ Ext.each(sides.match(/\w/g), function(s) {
52
+ if (s = parseInt(this.getStyle(styles[s]), 10)) {
53
+ val += MATH.abs(s);
54
+ }
55
+ },
56
+ this);
57
+ return val;
58
+ }
59
+
60
+ function chkCache(prop) {
61
+ return propCache[prop] || (propCache[prop] = prop == 'float' ? propFloat : prop.replace(camelRe, camelFn));
62
+
63
+ }
64
+
65
+ return {
66
+ // private ==> used by Fx
67
+ adjustWidth : function(width) {
68
+ var me = this;
69
+ var isNum = (typeof width == "number");
70
+ if(isNum && me.autoBoxAdjust && !me.isBorderBox()){
71
+ width -= (me.getBorderWidth("lr") + me.getPadding("lr"));
72
+ }
73
+ return (isNum && width < 0) ? 0 : width;
74
+ },
75
+
76
+ // private ==> used by Fx
77
+ adjustHeight : function(height) {
78
+ var me = this;
79
+ var isNum = (typeof height == "number");
80
+ if(isNum && me.autoBoxAdjust && !me.isBorderBox()){
81
+ height -= (me.getBorderWidth("tb") + me.getPadding("tb"));
82
+ }
83
+ return (isNum && height < 0) ? 0 : height;
84
+ },
85
+
86
+
87
+ /**
88
+ * Adds one or more CSS classes to the element. Duplicate classes are automatically filtered out.
89
+ * @param {String/Array} className The CSS class to add, or an array of classes
90
+ * @return {Ext.Element} this
91
+ */
92
+ addClass : function(className){
93
+ var me = this;
94
+ Ext.each(className, function(v) {
95
+ me.dom.className += (!me.hasClass(v) && v ? " " + v : "");
96
+ });
97
+ return me;
98
+ },
99
+
100
+ /**
101
+ * Adds one or more CSS classes to this element and removes the same class(es) from all siblings.
102
+ * @param {String/Array} className The CSS class to add, or an array of classes
103
+ * @return {Ext.Element} this
104
+ */
105
+ radioClass : function(className){
106
+ Ext.each(this.dom.parentNode.childNodes, function(v) {
107
+ if(v.nodeType == 1) {
108
+ Ext.fly(v, '_internal').removeClass(className);
109
+ }
110
+ });
111
+ return this.addClass(className);
112
+ },
113
+
114
+ /**
115
+ * Removes one or more CSS classes from the element.
116
+ * @param {String/Array} className The CSS class to remove, or an array of classes
117
+ * @return {Ext.Element} this
118
+ */
119
+ removeClass : function(className){
120
+ var me = this;
121
+ if (me.dom.className) {
122
+ Ext.each(className, function(v) {
123
+ me.dom.className = me.dom.className.replace(
124
+ classReCache[v] = classReCache[v] || new RegExp('(?:^|\\s+)' + v + '(?:\\s+|$)', "g"),
125
+ " ");
126
+ });
127
+ }
128
+ return me;
129
+ },
130
+
131
+ /**
132
+ * Toggles the specified CSS class on this element (removes it if it already exists, otherwise adds it).
133
+ * @param {String} className The CSS class to toggle
134
+ * @return {Ext.Element} this
135
+ */
136
+ toggleClass : function(className){
137
+ return this.hasClass(className) ? this.removeClass(className) : this.addClass(className);
138
+ },
139
+
140
+ /**
141
+ * Checks if the specified CSS class exists on this element's DOM node.
142
+ * @param {String} className The CSS class to check for
143
+ * @return {Boolean} True if the class exists, else false
144
+ */
145
+ hasClass : function(className){
146
+ return className && (' '+this.dom.className+' ').indexOf(' '+className+' ') != -1;
147
+ },
148
+
149
+ /**
150
+ * Replaces a CSS class on the element with another. If the old name does not exist, the new name will simply be added.
151
+ * @param {String} oldClassName The CSS class to replace
152
+ * @param {String} newClassName The replacement CSS class
153
+ * @return {Ext.Element} this
154
+ */
155
+ replaceClass : function(oldClassName, newClassName){
156
+ return this.removeClass(oldClassName).addClass(newClassName);
157
+ },
158
+
159
+ isStyle : function(style, val) {
160
+ return this.getStyle(style) == val;
161
+ },
162
+
163
+ /**
164
+ * Normalizes currentStyle and computedStyle.
165
+ * @param {String} property The style property whose value is returned.
166
+ * @return {String} The current value of the style property for this element.
167
+ */
168
+ getStyle : function(){
169
+ return view && view.getComputedStyle ?
170
+ function(prop){
171
+ var el = this.dom,
172
+ v,
173
+ cs;
174
+ if(el == document) return null;
175
+ prop = chkCache(prop);
176
+ return (v = el.style[prop]) ? v :
177
+ (cs = view.getComputedStyle(el, "")) ? cs[prop] : null;
178
+ } :
179
+ function(prop){
180
+ var el = this.dom,
181
+ m,
182
+ cs;
183
+
184
+ if(el == document) return null;
185
+ if (prop == 'opacity') {
186
+ if (el.style.filter.match) {
187
+ if(m = el.style.filter.match(opacityRe)){
188
+ var fv = parseFloat(m[1]);
189
+ if(!isNaN(fv)){
190
+ return fv ? fv / 100 : 0;
191
+ }
192
+ }
193
+ }
194
+ return 1;
195
+ }
196
+ prop = chkCache(prop);
197
+ return el.style[prop] || ((cs = el.currentStyle) ? cs[prop] : null);
198
+ };
199
+ }(),
200
+
201
+ /**
202
+ * Return the CSS color for the specified CSS attribute. rgb, 3 digit (like #fff) and valid values
203
+ * are convert to standard 6 digit hex color.
204
+ * @param {String} attr The css attribute
205
+ * @param {String} defaultValue The default value to use when a valid color isn't found
206
+ * @param {String} prefix (optional) defaults to #. Use an empty string when working with
207
+ * color anims.
208
+ */
209
+ getColor : function(attr, defaultValue, prefix){
210
+ var v = this.getStyle(attr),
211
+ color = prefix || '#',
212
+ h;
213
+
214
+ if(!v || /transparent|inherit/.test(v)){
215
+ return defaultValue;
216
+ }
217
+ if(/^r/.test(v)){
218
+ Ext.each(v.slice(4, v.length -1).split(','), function(s){
219
+ h = parseInt(s, 10);
220
+ color += (h < 16 ? '0' : '') + h.toString(16);
221
+ });
222
+ }else{
223
+ v = v.replace('#', '');
224
+ color += v.length == 3 ? v.replace(/^(\w)(\w)(\w)$/, '$1$1$2$2$3$3') : v;
225
+ }
226
+ return(color.length > 5 ? color.toLowerCase() : defaultValue);
227
+ },
228
+
229
+ /**
230
+ * Wrapper for setting style properties, also takes single object parameter of multiple styles.
231
+ * @param {String/Object} property The style property to be set, or an object of multiple styles.
232
+ * @param {String} value (optional) The value to apply to the given property, or null if an object was passed.
233
+ * @return {Ext.Element} this
234
+ */
235
+ setStyle : function(prop, value){
236
+ var tmp,
237
+ style,
238
+ camel;
239
+ if (!Ext.isObject(prop)) {
240
+ tmp = {};
241
+ tmp[prop] = value;
242
+ prop = tmp;
243
+ }
244
+ for (style in prop) {
245
+ value = prop[style];
246
+ style == 'opacity' ?
247
+ this.setOpacity(value) :
248
+ this.dom.style[chkCache(style)] = value;
249
+ }
250
+ return this;
251
+ },
252
+
253
+ /**
254
+ * Set the opacity of the element
255
+ * @param {Float} opacity The new opacity. 0 = transparent, .5 = 50% visibile, 1 = fully visible, etc
256
+ * @param {Boolean/Object} animate (optional) a standard Element animation config object or <tt>true</tt> for
257
+ * the default animation (<tt>{duration: .35, easing: 'easeIn'}</tt>)
258
+ * @return {Ext.Element} this
259
+ */
260
+ setOpacity : function(opacity, animate){
261
+ var me = this,
262
+ s = me.dom.style;
263
+
264
+ if(!animate || !me.anim){
265
+ if(Ext.isIE){
266
+ var opac = opacity < 1 ? 'alpha(opacity=' + opacity * 100 + ')' : '',
267
+ val = s.filter.replace(opacityRe, '').replace(trimRe, '');
268
+
269
+ s.zoom = 1;
270
+ s.filter = val + (val.length > 0 ? ' ' : '') + opac;
271
+ }else{
272
+ s.opacity = opacity;
273
+ }
274
+ }else{
275
+ me.anim({opacity: {to: opacity}}, me.preanim(arguments, 1), null, .35, 'easeIn');
276
+ }
277
+ return me;
278
+ },
279
+
280
+ /**
281
+ * Clears any opacity settings from this element. Required in some cases for IE.
282
+ * @return {Ext.Element} this
283
+ */
284
+ clearOpacity : function(){
285
+ var style = this.dom.style;
286
+ if(Ext.isIE){
287
+ if(!Ext.isEmpty(style.filter)){
288
+ style.filter = style.filter.replace(opacityRe, '').replace(trimRe, '');
289
+ }
290
+ }else{
291
+ style.opacity = style['-moz-opacity'] = style['-khtml-opacity'] = '';
292
+ }
293
+ return this;
294
+ },
295
+
296
+ /**
297
+ * Returns the offset height of the element
298
+ * @param {Boolean} contentHeight (optional) true to get the height minus borders and padding
299
+ * @return {Number} The element's height
300
+ */
301
+ getHeight : function(contentHeight){
302
+ var me = this,
303
+ dom = me.dom,
304
+ h = MATH.max(dom.offsetHeight, dom.clientHeight) || 0;
305
+ h = !contentHeight ? h : h - me.getBorderWidth("tb") - me.getPadding("tb");
306
+ return h < 0 ? 0 : h;
307
+ },
308
+
309
+ /**
310
+ * Returns the offset width of the element
311
+ * @param {Boolean} contentWidth (optional) true to get the width minus borders and padding
312
+ * @return {Number} The element's width
313
+ */
314
+ getWidth : function(contentWidth){
315
+ var me = this,
316
+ dom = me.dom,
317
+ w = MATH.max(dom.offsetWidth, dom.clientWidth) || 0;
318
+ w = !contentWidth ? w : w - me.getBorderWidth("lr") - me.getPadding("lr");
319
+ return w < 0 ? 0 : w;
320
+ },
321
+
322
+ /**
323
+ * Set the width of this Element.
324
+ * @param {Mixed} width The new width. This may be one of:<div class="mdetail-params"><ul>
325
+ * <li>A Number specifying the new width in this Element's {@link #defaultUnit}s (by default, pixels).</li>
326
+ * <li>A String used to set the CSS width style. Animation may <b>not</b> be used.
327
+ * </ul></div>
328
+ * @param {Boolean/Object} animate (optional) true for the default animation or a standard Element animation config object
329
+ * @return {Ext.Element} this
330
+ */
331
+ setWidth : function(width, animate){
332
+ var me = this;
333
+ width = me.adjustWidth(width);
334
+ !animate || !me.anim ?
335
+ me.dom.style.width = me.addUnits(width) :
336
+ me.anim({width : {to : width}}, me.preanim(arguments, 1));
337
+ return me;
338
+ },
339
+
340
+ /**
341
+ * Set the height of this Element.
342
+ * <pre><code>
343
+ // change the height to 200px and animate with default configuration
344
+ Ext.fly('elementId').setHeight(200, true);
345
+
346
+ // change the height to 150px and animate with a custom configuration
347
+ Ext.fly('elId').setHeight(150, {
348
+ duration : .5, // animation will have a duration of .5 seconds
349
+ // will change the content to "finished"
350
+ callback: function(){ this.{@link #update}("finished"); }
351
+ });
352
+ * </code></pre>
353
+ * @param {Mixed} height The new height. This may be one of:<div class="mdetail-params"><ul>
354
+ * <li>A Number specifying the new height in this Element's {@link #defaultUnit}s (by default, pixels.)</li>
355
+ * <li>A String used to set the CSS height style. Animation may <b>not</b> be used.</li>
356
+ * </ul></div>
357
+ * @param {Boolean/Object} animate (optional) true for the default animation or a standard Element animation config object
358
+ * @return {Ext.Element} this
359
+ */
360
+ setHeight : function(height, animate){
361
+ var me = this;
362
+ height = me.adjustHeight(height);
363
+ !animate || !me.anim ?
364
+ me.dom.style.height = me.addUnits(height) :
365
+ me.anim({height : {to : height}}, me.preanim(arguments, 1));
366
+ return me;
367
+ },
368
+
369
+ /**
370
+ * Gets the width of the border(s) for the specified side(s)
371
+ * @param {String} side Can be t, l, r, b or any combination of those to add multiple values. For example,
372
+ * passing <tt>'lr'</tt> would get the border <b><u>l</u></b>eft width + the border <b><u>r</u></b>ight width.
373
+ * @return {Number} The width of the sides passed added together
374
+ */
375
+ getBorderWidth : function(side){
376
+ return addStyles.call(this, side, borders);
377
+ },
378
+
379
+ /**
380
+ * Gets the width of the padding(s) for the specified side(s)
381
+ * @param {String} side Can be t, l, r, b or any combination of those to add multiple values. For example,
382
+ * passing <tt>'lr'</tt> would get the padding <b><u>l</u></b>eft + the padding <b><u>r</u></b>ight.
383
+ * @return {Number} The padding of the sides passed added together
384
+ */
385
+ getPadding : function(side){
386
+ return addStyles.call(this, side, paddings);
387
+ },
388
+
389
+ /**
390
+ * Store the current overflow setting and clip overflow on the element - use <tt>{@link #unclip}</tt> to remove
391
+ * @return {Ext.Element} this
392
+ */
393
+ clip : function(){
394
+ var me = this,
395
+ dom = me.dom;
396
+
397
+ if(!data(dom, ISCLIPPED)){
398
+ data(dom, ISCLIPPED, true);
399
+ data(dom, ORIGINALCLIP, {
400
+ o: me.getStyle(OVERFLOW),
401
+ x: me.getStyle(OVERFLOWX),
402
+ y: me.getStyle(OVERFLOWY)
403
+ });
404
+ me.setStyle(OVERFLOW, HIDDEN);
405
+ me.setStyle(OVERFLOWX, HIDDEN);
406
+ me.setStyle(OVERFLOWY, HIDDEN);
407
+ }
408
+ return me;
409
+ },
410
+
411
+ /**
412
+ * Return clipping (overflow) to original clipping before <tt>{@link #clip}</tt> was called
413
+ * @return {Ext.Element} this
414
+ */
415
+ unclip : function(){
416
+ var me = this,
417
+ dom = me.dom;
418
+
419
+ if(data(dom, ISCLIPPED)){
420
+ data(dom, ISCLIPPED, false);
421
+ var o = data(dom, ORIGINALCLIP);
422
+ if(o.o){
423
+ me.setStyle(OVERFLOW, o.o);
424
+ }
425
+ if(o.x){
426
+ me.setStyle(OVERFLOWX, o.x);
427
+ }
428
+ if(o.y){
429
+ me.setStyle(OVERFLOWY, o.y);
430
+ }
431
+ }
432
+ return me;
433
+ },
434
+
435
+ addStyles : addStyles,
436
+ margins : margins
437
+ }
438
+ }()
439
+ );