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,1115 @@
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
+ (function(){
8
+ // contants
9
+ var NULL = null,
10
+ UNDEFINED = undefined,
11
+ TRUE = true,
12
+ FALSE = false,
13
+ SETX = "setX",
14
+ SETY = "setY",
15
+ SETXY = "setXY",
16
+ LEFT = "left",
17
+ BOTTOM = "bottom",
18
+ TOP = "top",
19
+ RIGHT = "right",
20
+ HEIGHT = "height",
21
+ WIDTH = "width",
22
+ POINTS = "points",
23
+ HIDDEN = "hidden",
24
+ ABSOLUTE = "absolute",
25
+ VISIBLE = "visible",
26
+ MOTION = "motion",
27
+ POSITION = "position",
28
+ EASEOUT = "easeOut",
29
+ /*
30
+ * Use a light flyweight here since we are using so many callbacks and are always assured a DOM element
31
+ */
32
+ flyEl = new Ext.Element.Flyweight(),
33
+ queues = {},
34
+ getObject = function(o){
35
+ return o || {};
36
+ },
37
+ fly = function(dom){
38
+ flyEl.dom = dom;
39
+ flyEl.id = Ext.id(dom);
40
+ return flyEl;
41
+ },
42
+ /*
43
+ * Queueing now stored outside of the element due to closure issues
44
+ */
45
+ getQueue = function(id){
46
+ if(!queues[id]){
47
+ queues[id] = [];
48
+ }
49
+ return queues[id];
50
+ },
51
+ setQueue = function(id, value){
52
+ queues[id] = value;
53
+ };
54
+
55
+ //Notifies Element that fx methods are available
56
+ Ext.enableFx = TRUE;
57
+
58
+ /**
59
+ * @class Ext.Fx
60
+ * <p>A class to provide basic animation and visual effects support. <b>Note:</b> This class is automatically applied
61
+ * to the {@link Ext.Element} interface when included, so all effects calls should be performed via {@link Ext.Element}.
62
+ * Conversely, since the effects are not actually defined in {@link Ext.Element}, Ext.Fx <b>must</b> be
63
+ * {@link Ext#enableFx included} in order for the Element effects to work.</p><br/>
64
+ *
65
+ * <p><b><u>Method Chaining</u></b></p>
66
+ * <p>It is important to note that although the Fx methods and many non-Fx Element methods support "method chaining" in that
67
+ * they return the Element object itself as the method return value, it is not always possible to mix the two in a single
68
+ * method chain. The Fx methods use an internal effects queue so that each effect can be properly timed and sequenced.
69
+ * Non-Fx methods, on the other hand, have no such internal queueing and will always execute immediately. For this reason,
70
+ * while it may be possible to mix certain Fx and non-Fx method calls in a single chain, it may not always provide the
71
+ * expected results and should be done with care. Also see <tt>{@link #callback}</tt>.</p><br/>
72
+ *
73
+ * <p><b><u>Anchor Options for Motion Effects</u></b></p>
74
+ * <p>Motion effects support 8-way anchoring, meaning that you can choose one of 8 different anchor points on the Element
75
+ * that will serve as either the start or end point of the animation. Following are all of the supported anchor positions:</p>
76
+ <pre>
77
+ Value Description
78
+ ----- -----------------------------
79
+ tl The top left corner
80
+ t The center of the top edge
81
+ tr The top right corner
82
+ l The center of the left edge
83
+ r The center of the right edge
84
+ bl The bottom left corner
85
+ b The center of the bottom edge
86
+ br The bottom right corner
87
+ </pre>
88
+ * <b>Note</b>: some Fx methods accept specific custom config parameters. The options shown in the Config Options
89
+ * section below are common options that can be passed to any Fx method unless otherwise noted.</b>
90
+ *
91
+ * @cfg {Function} callback A function called when the effect is finished. Note that effects are queued internally by the
92
+ * Fx class, so a callback is not required to specify another effect -- effects can simply be chained together
93
+ * and called in sequence (see note for <b><u>Method Chaining</u></b> above), for example:<pre><code>
94
+ * el.slideIn().highlight();
95
+ * </code></pre>
96
+ * The callback is intended for any additional code that should run once a particular effect has completed. The Element
97
+ * being operated upon is passed as the first parameter.
98
+ *
99
+ * @cfg {Object} scope The scope of the <tt>{@link #callback}</tt> function
100
+ *
101
+ * @cfg {String} easing A valid Ext.lib.Easing value for the effect:</p><div class="mdetail-params"><ul>
102
+ * <li><b><tt>backBoth</tt></b></li>
103
+ * <li><b><tt>backIn</tt></b></li>
104
+ * <li><b><tt>backOut</tt></b></li>
105
+ * <li><b><tt>bounceBoth</tt></b></li>
106
+ * <li><b><tt>bounceIn</tt></b></li>
107
+ * <li><b><tt>bounceOut</tt></b></li>
108
+ * <li><b><tt>easeBoth</tt></b></li>
109
+ * <li><b><tt>easeBothStrong</tt></b></li>
110
+ * <li><b><tt>easeIn</tt></b></li>
111
+ * <li><b><tt>easeInStrong</tt></b></li>
112
+ * <li><b><tt>easeNone</tt></b></li>
113
+ * <li><b><tt>easeOut</tt></b></li>
114
+ * <li><b><tt>easeOutStrong</tt></b></li>
115
+ * <li><b><tt>elasticBoth</tt></b></li>
116
+ * <li><b><tt>elasticIn</tt></b></li>
117
+ * <li><b><tt>elasticOut</tt></b></li>
118
+ * </ul></div>
119
+ *
120
+ * @cfg {String} afterCls A css class to apply after the effect
121
+ * @cfg {Number} duration The length of time (in seconds) that the effect should last
122
+ *
123
+ * @cfg {Number} endOpacity Only applicable for {@link #fadeIn} or {@link #fadeOut}, a number between
124
+ * <tt>0</tt> and <tt>1</tt> inclusive to configure the ending opacity value.
125
+ *
126
+ * @cfg {Boolean} remove Whether the Element should be removed from the DOM and destroyed after the effect finishes
127
+ * @cfg {Boolean} useDisplay Whether to use the <i>display</i> CSS property instead of <i>visibility</i> when hiding Elements (only applies to
128
+ * effects that end with the element being visually hidden, ignored otherwise)
129
+ * @cfg {String/Object/Function} afterStyle A style specification string, e.g. <tt>"width:100px"</tt>, or an object
130
+ * in the form <tt>{width:"100px"}</tt>, or a function which returns such a specification that will be applied to the
131
+ * Element after the effect finishes.
132
+ * @cfg {Boolean} block Whether the effect should block other effects from queueing while it runs
133
+ * @cfg {Boolean} concurrent Whether to allow subsequently-queued effects to run at the same time as the current effect, or to ensure that they run in sequence
134
+ * @cfg {Boolean} stopFx Whether preceding effects should be stopped and removed before running current effect (only applies to non blocking effects)
135
+ */
136
+ Ext.Fx = {
137
+
138
+ // private - calls the function taking arguments from the argHash based on the key. Returns the return value of the function.
139
+ // this is useful for replacing switch statements (for example).
140
+ switchStatements : function(key, fn, argHash){
141
+ return fn.apply(this, argHash[key]);
142
+ },
143
+
144
+ /**
145
+ * Slides the element into view. An anchor point can be optionally passed to set the point of
146
+ * origin for the slide effect. This function automatically handles wrapping the element with
147
+ * a fixed-size container if needed. See the Fx class overview for valid anchor point options.
148
+ * Usage:
149
+ *<pre><code>
150
+ // default: slide the element in from the top
151
+ el.slideIn();
152
+
153
+ // custom: slide the element in from the right with a 2-second duration
154
+ el.slideIn('r', { duration: 2 });
155
+
156
+ // common config options shown with default values
157
+ el.slideIn('t', {
158
+ easing: 'easeOut',
159
+ duration: .5
160
+ });
161
+ </code></pre>
162
+ * @param {String} anchor (optional) One of the valid Fx anchor positions (defaults to top: 't')
163
+ * @param {Object} options (optional) Object literal with any of the Fx config options
164
+ * @return {Ext.Element} The Element
165
+ */
166
+ slideIn : function(anchor, o){
167
+ o = getObject(o);
168
+ var me = this,
169
+ dom = me.dom,
170
+ st = dom.style,
171
+ xy,
172
+ r,
173
+ b,
174
+ wrap,
175
+ after,
176
+ st,
177
+ args,
178
+ pt,
179
+ bw,
180
+ bh;
181
+
182
+ anchor = anchor || "t";
183
+
184
+ me.queueFx(o, function(){
185
+ xy = fly(dom).getXY();
186
+ // fix display to visibility
187
+ fly(dom).fixDisplay();
188
+
189
+ // restore values after effect
190
+ r = fly(dom).getFxRestore();
191
+ b = {x: xy[0], y: xy[1], 0: xy[0], 1: xy[1], width: dom.offsetWidth, height: dom.offsetHeight};
192
+ b.right = b.x + b.width;
193
+ b.bottom = b.y + b.height;
194
+
195
+ // fixed size for slide
196
+ fly(dom).setWidth(b.width).setHeight(b.height);
197
+
198
+ // wrap if needed
199
+ wrap = fly(dom).fxWrap(r.pos, o, HIDDEN);
200
+
201
+ st.visibility = VISIBLE;
202
+ st.position = ABSOLUTE;
203
+
204
+ // clear out temp styles after slide and unwrap
205
+ function after(){
206
+ fly(dom).fxUnwrap(wrap, r.pos, o);
207
+ st.width = r.width;
208
+ st.height = r.height;
209
+ fly(dom).afterFx(o);
210
+ }
211
+
212
+ // time to calculate the positions
213
+ pt = {to: [b.x, b.y]};
214
+ bw = {to: b.width};
215
+ bh = {to: b.height};
216
+
217
+ function argCalc(wrap, style, ww, wh, sXY, sXYval, s1, s2, w, h, p){
218
+ var ret = {};
219
+ fly(wrap).setWidth(ww).setHeight(wh);
220
+ if(fly(wrap)[sXY]){
221
+ fly(wrap)[sXY](sXYval);
222
+ }
223
+ style[s1] = style[s2] = "0";
224
+ if(w){
225
+ ret.width = w
226
+ };
227
+ if(h){
228
+ ret.height = h;
229
+ }
230
+ if(p){
231
+ ret.points = p;
232
+ }
233
+ return ret;
234
+ };
235
+
236
+ args = fly(dom).switchStatements(anchor.toLowerCase(), argCalc, {
237
+ t : [wrap, st, b.width, 0, NULL, NULL, LEFT, BOTTOM, NULL, bh, NULL],
238
+ l : [wrap, st, 0, b.height, NULL, NULL, RIGHT, TOP, bw, NULL, NULL],
239
+ r : [wrap, st, b.width, b.height, SETX, b.right, LEFT, TOP, NULL, NULL, pt],
240
+ b : [wrap, st, b.width, b.height, SETY, b.bottom, LEFT, TOP, NULL, bh, pt],
241
+ tl : [wrap, st, 0, 0, NULL, NULL, RIGHT, BOTTOM, bw, bh, pt],
242
+ bl : [wrap, st, 0, 0, SETY, b.y + b.height, RIGHT, TOP, bw, bh, pt],
243
+ br : [wrap, st, 0, 0, SETXY, [b.right, b.bottom], LEFT, TOP, bw, bh, pt],
244
+ tr : [wrap, st, 0, 0, SETX, b.x + b.width, LEFT, BOTTOM, bw, bh, pt]
245
+ });
246
+
247
+ st.visibility = VISIBLE;
248
+ fly(wrap).show();
249
+
250
+ arguments.callee.anim = fly(wrap).fxanim(args,
251
+ o,
252
+ MOTION,
253
+ .5,
254
+ EASEOUT,
255
+ after);
256
+ });
257
+ return me;
258
+ },
259
+
260
+ /**
261
+ * Slides the element out of view. An anchor point can be optionally passed to set the end point
262
+ * for the slide effect. When the effect is completed, the element will be hidden (visibility =
263
+ * 'hidden') but block elements will still take up space in the document. The element must be removed
264
+ * from the DOM using the 'remove' config option if desired. This function automatically handles
265
+ * wrapping the element with a fixed-size container if needed. See the Fx class overview for valid anchor point options.
266
+ * Usage:
267
+ *<pre><code>
268
+ // default: slide the element out to the top
269
+ el.slideOut();
270
+
271
+ // custom: slide the element out to the right with a 2-second duration
272
+ el.slideOut('r', { duration: 2 });
273
+
274
+ // common config options shown with default values
275
+ el.slideOut('t', {
276
+ easing: 'easeOut',
277
+ duration: .5,
278
+ remove: false,
279
+ useDisplay: false
280
+ });
281
+ </code></pre>
282
+ * @param {String} anchor (optional) One of the valid Fx anchor positions (defaults to top: 't')
283
+ * @param {Object} options (optional) Object literal with any of the Fx config options
284
+ * @return {Ext.Element} The Element
285
+ */
286
+ slideOut : function(anchor, o){
287
+ o = getObject(o);
288
+ var me = this,
289
+ dom = me.dom,
290
+ st = dom.style,
291
+ xy = me.getXY(),
292
+ wrap,
293
+ r,
294
+ b,
295
+ a,
296
+ zero = {to: 0};
297
+
298
+ anchor = anchor || "t";
299
+
300
+ me.queueFx(o, function(){
301
+
302
+ // restore values after effect
303
+ r = fly(dom).getFxRestore();
304
+ b = {x: xy[0], y: xy[1], 0: xy[0], 1: xy[1], width: dom.offsetWidth, height: dom.offsetHeight};
305
+ b.right = b.x + b.width;
306
+ b.bottom = b.y + b.height;
307
+
308
+ // fixed size for slide
309
+ fly(dom).setWidth(b.width).setHeight(b.height);
310
+
311
+ // wrap if needed
312
+ wrap = fly(dom).fxWrap(r.pos, o, VISIBLE);
313
+
314
+ st.visibility = VISIBLE;
315
+ st.position = ABSOLUTE;
316
+ fly(wrap).setWidth(b.width).setHeight(b.height);
317
+
318
+ function after(){
319
+ o.useDisplay ? fly(dom).setDisplayed(FALSE) : fly(dom).hide();
320
+ fly(dom).fxUnwrap(wrap, r.pos, o);
321
+ st.width = r.width;
322
+ st.height = r.height;
323
+ fly(dom).afterFx(o);
324
+ }
325
+
326
+ function argCalc(style, s1, s2, p1, v1, p2, v2, p3, v3){
327
+ var ret = {};
328
+
329
+ style[s1] = style[s2] = "0";
330
+ ret[p1] = v1;
331
+ if(p2){
332
+ ret[p2] = v2;
333
+ }
334
+ if(p3){
335
+ ret[p3] = v3;
336
+ }
337
+
338
+ return ret;
339
+ };
340
+
341
+ a = fly(dom).switchStatements(anchor.toLowerCase(), argCalc, {
342
+ t : [st, LEFT, BOTTOM, HEIGHT, zero],
343
+ l : [st, RIGHT, TOP, WIDTH, zero],
344
+ r : [st, LEFT, TOP, WIDTH, zero, POINTS, {to : [b.right, b.y]}],
345
+ b : [st, LEFT, TOP, HEIGHT, zero, POINTS, {to : [b.x, b.bottom]}],
346
+ tl : [st, RIGHT, BOTTOM, WIDTH, zero, HEIGHT, zero],
347
+ bl : [st, RIGHT, TOP, WIDTH, zero, HEIGHT, zero, POINTS, {to : [b.x, b.bottom]}],
348
+ br : [st, LEFT, TOP, WIDTH, zero, HEIGHT, zero, POINTS, {to : [b.x + b.width, b.bottom]}],
349
+ tr : [st, LEFT, BOTTOM, WIDTH, zero, HEIGHT, zero, POINTS, {to : [b.right, b.y]}]
350
+ });
351
+
352
+ arguments.callee.anim = fly(wrap).fxanim(a,
353
+ o,
354
+ MOTION,
355
+ .5,
356
+ EASEOUT,
357
+ after);
358
+ });
359
+ return me;
360
+ },
361
+
362
+ /**
363
+ * Fades the element out while slowly expanding it in all directions. When the effect is completed, the
364
+ * element will be hidden (visibility = 'hidden') but block elements will still take up space in the document.
365
+ * The element must be removed from the DOM using the 'remove' config option if desired.
366
+ * Usage:
367
+ *<pre><code>
368
+ // default
369
+ el.puff();
370
+
371
+ // common config options shown with default values
372
+ el.puff({
373
+ easing: 'easeOut',
374
+ duration: .5,
375
+ remove: false,
376
+ useDisplay: false
377
+ });
378
+ </code></pre>
379
+ * @param {Object} options (optional) Object literal with any of the Fx config options
380
+ * @return {Ext.Element} The Element
381
+ */
382
+ puff : function(o){
383
+ o = getObject(o);
384
+ var me = this,
385
+ dom = me.dom,
386
+ st = dom.style,
387
+ width,
388
+ height,
389
+ r;
390
+
391
+ me.queueFx(o, function(){
392
+ width = fly(dom).getWidth();
393
+ height = fly(dom).getHeight();
394
+ fly(dom).clearOpacity();
395
+ fly(dom).show();
396
+
397
+ // restore values after effect
398
+ r = fly(dom).getFxRestore();
399
+
400
+ function after(){
401
+ o.useDisplay ? fly(dom).setDisplayed(FALSE) : fly(dom).hide();
402
+ fly(dom).clearOpacity();
403
+ fly(dom).setPositioning(r.pos);
404
+ st.width = r.width;
405
+ st.height = r.height;
406
+ st.fontSize = '';
407
+ fly(dom).afterFx(o);
408
+ }
409
+
410
+ arguments.callee.anim = fly(dom).fxanim({
411
+ width : {to : fly(dom).adjustWidth(width * 2)},
412
+ height : {to : fly(dom).adjustHeight(height * 2)},
413
+ points : {by : [-width * .5, -height * .5]},
414
+ opacity : {to : 0},
415
+ fontSize: {to : 200, unit: "%"}
416
+ },
417
+ o,
418
+ MOTION,
419
+ .5,
420
+ EASEOUT,
421
+ after);
422
+ });
423
+ return me;
424
+ },
425
+
426
+ /**
427
+ * Blinks the element as if it was clicked and then collapses on its center (similar to switching off a television).
428
+ * When the effect is completed, the element will be hidden (visibility = 'hidden') but block elements will still
429
+ * take up space in the document. The element must be removed from the DOM using the 'remove' config option if desired.
430
+ * Usage:
431
+ *<pre><code>
432
+ // default
433
+ el.switchOff();
434
+
435
+ // all config options shown with default values
436
+ el.switchOff({
437
+ easing: 'easeIn',
438
+ duration: .3,
439
+ remove: false,
440
+ useDisplay: false
441
+ });
442
+ </code></pre>
443
+ * @param {Object} options (optional) Object literal with any of the Fx config options
444
+ * @return {Ext.Element} The Element
445
+ */
446
+ switchOff : function(o){
447
+ o = getObject(o);
448
+ var me = this,
449
+ dom = me.dom,
450
+ st = dom.style,
451
+ r;
452
+
453
+ me.queueFx(o, function(){
454
+ fly(dom).clearOpacity();
455
+ fly(dom).clip();
456
+
457
+ // restore values after effect
458
+ r = fly(dom).getFxRestore();
459
+
460
+ function after(){
461
+ o.useDisplay ? fly(dom).setDisplayed(FALSE) : fly(dom).hide();
462
+ fly(dom).clearOpacity();
463
+ fly(dom).setPositioning(r.pos);
464
+ st.width = r.width;
465
+ st.height = r.height;
466
+ fly(dom).afterFx(o);
467
+ };
468
+
469
+ fly(dom).fxanim({opacity : {to : 0.3}},
470
+ NULL,
471
+ NULL,
472
+ .1,
473
+ NULL,
474
+ function(){
475
+ fly(dom).clearOpacity();
476
+ (function(){
477
+ fly(dom).fxanim({
478
+ height : {to : 1},
479
+ points : {by : [0, fly(dom).getHeight() * .5]}
480
+ },
481
+ o,
482
+ MOTION,
483
+ 0.3,
484
+ 'easeIn',
485
+ after);
486
+ }).defer(100);
487
+ });
488
+ });
489
+ return me;
490
+ },
491
+
492
+ /**
493
+ * Highlights the Element by setting a color (applies to the background-color by default, but can be
494
+ * changed using the "attr" config option) and then fading back to the original color. If no original
495
+ * color is available, you should provide the "endColor" config option which will be cleared after the animation.
496
+ * Usage:
497
+ <pre><code>
498
+ // default: highlight background to yellow
499
+ el.highlight();
500
+
501
+ // custom: highlight foreground text to blue for 2 seconds
502
+ el.highlight("0000ff", { attr: 'color', duration: 2 });
503
+
504
+ // common config options shown with default values
505
+ el.highlight("ffff9c", {
506
+ attr: "background-color", //can be any valid CSS property (attribute) that supports a color value
507
+ endColor: (current color) or "ffffff",
508
+ easing: 'easeIn',
509
+ duration: 1
510
+ });
511
+ </code></pre>
512
+ * @param {String} color (optional) The highlight color. Should be a 6 char hex color without the leading # (defaults to yellow: 'ffff9c')
513
+ * @param {Object} options (optional) Object literal with any of the Fx config options
514
+ * @return {Ext.Element} The Element
515
+ */
516
+ highlight : function(color, o){
517
+ o = getObject(o);
518
+ var me = this,
519
+ dom = me.dom,
520
+ attr = o.attr || "backgroundColor",
521
+ a = {},
522
+ restore;
523
+
524
+ me.queueFx(o, function(){
525
+ fly(dom).clearOpacity();
526
+ fly(dom).show();
527
+
528
+ function after(){
529
+ dom.style[attr] = restore;
530
+ fly(dom).afterFx(o);
531
+ }
532
+ restore = dom.style[attr];
533
+ a[attr] = {from: color || "ffff9c", to: o.endColor || fly(dom).getColor(attr) || "ffffff"};
534
+ arguments.callee.anim = fly(dom).fxanim(a,
535
+ o,
536
+ 'color',
537
+ 1,
538
+ 'easeIn',
539
+ after);
540
+ });
541
+ return me;
542
+ },
543
+
544
+ /**
545
+ * Shows a ripple of exploding, attenuating borders to draw attention to an Element.
546
+ * Usage:
547
+ <pre><code>
548
+ // default: a single light blue ripple
549
+ el.frame();
550
+
551
+ // custom: 3 red ripples lasting 3 seconds total
552
+ el.frame("ff0000", 3, { duration: 3 });
553
+
554
+ // common config options shown with default values
555
+ el.frame("C3DAF9", 1, {
556
+ duration: 1 //duration of each individual ripple.
557
+ // Note: Easing is not configurable and will be ignored if included
558
+ });
559
+ </code></pre>
560
+ * @param {String} color (optional) The color of the border. Should be a 6 char hex color without the leading # (defaults to light blue: 'C3DAF9').
561
+ * @param {Number} count (optional) The number of ripples to display (defaults to 1)
562
+ * @param {Object} options (optional) Object literal with any of the Fx config options
563
+ * @return {Ext.Element} The Element
564
+ */
565
+ frame : function(color, count, o){
566
+ o = getObject(o);
567
+ var me = this,
568
+ dom = me.dom,
569
+ proxy,
570
+ active;
571
+
572
+ me.queueFx(o, function(){
573
+ color = color || "#C3DAF9"
574
+ if(color.length == 6){
575
+ color = "#" + color;
576
+ }
577
+ count = count || 1;
578
+ fly(dom).show();
579
+
580
+ var xy = fly(dom).getXY(),
581
+ b = {x: xy[0], y: xy[1], 0: xy[0], 1: xy[1], width: dom.offsetWidth, height: dom.offsetHeight},
582
+ queue = function(){
583
+ proxy = fly(document.body || document.documentElement).createChild({
584
+ style:{
585
+ visbility: HIDDEN,
586
+ position : ABSOLUTE,
587
+ "z-index": 35000, // yee haw
588
+ border : "0px solid " + color
589
+ }
590
+ });
591
+ return proxy.queueFx({}, animFn);
592
+ };
593
+
594
+
595
+ arguments.callee.anim = {
596
+ isAnimated: true,
597
+ stop: function() {
598
+ count = 0;
599
+ proxy.stopFx();
600
+ }
601
+ };
602
+
603
+ function animFn(){
604
+ var scale = Ext.isBorderBox ? 2 : 1;
605
+ active = proxy.anim({
606
+ top : {from : b.y, to : b.y - 20},
607
+ left : {from : b.x, to : b.x - 20},
608
+ borderWidth : {from : 0, to : 10},
609
+ opacity : {from : 1, to : 0},
610
+ height : {from : b.height, to : b.height + 20 * scale},
611
+ width : {from : b.width, to : b.width + 20 * scale}
612
+ },{
613
+ duration: o.duration || 1,
614
+ callback: function() {
615
+ proxy.remove();
616
+ --count > 0 ? queue() : fly(dom).afterFx(o);
617
+ }
618
+ });
619
+ arguments.callee.anim = {
620
+ isAnimated: true,
621
+ stop: function(){
622
+ active.stop();
623
+ }
624
+ };
625
+ };
626
+ queue();
627
+ });
628
+ return me;
629
+ },
630
+
631
+ /**
632
+ * Creates a pause before any subsequent queued effects begin. If there are
633
+ * no effects queued after the pause it will have no effect.
634
+ * Usage:
635
+ <pre><code>
636
+ el.pause(1);
637
+ </code></pre>
638
+ * @param {Number} seconds The length of time to pause (in seconds)
639
+ * @return {Ext.Element} The Element
640
+ */
641
+ pause : function(seconds){
642
+ var dom = this.dom,
643
+ t;
644
+
645
+ this.queueFx({}, function(){
646
+ t = setTimeout(function(){
647
+ fly(dom).afterFx({});
648
+ }, seconds * 1000);
649
+ arguments.callee.anim = {
650
+ isAnimated: true,
651
+ stop: function(){
652
+ clearTimeout(t);
653
+ fly(dom).afterFx({});
654
+ }
655
+ };
656
+ });
657
+ return this;
658
+ },
659
+
660
+ /**
661
+ * Fade an element in (from transparent to opaque). The ending opacity can be specified
662
+ * using the <tt>{@link #endOpacity}</tt> config option.
663
+ * Usage:
664
+ <pre><code>
665
+ // default: fade in from opacity 0 to 100%
666
+ el.fadeIn();
667
+
668
+ // custom: fade in from opacity 0 to 75% over 2 seconds
669
+ el.fadeIn({ endOpacity: .75, duration: 2});
670
+
671
+ // common config options shown with default values
672
+ el.fadeIn({
673
+ endOpacity: 1, //can be any value between 0 and 1 (e.g. .5)
674
+ easing: 'easeOut',
675
+ duration: .5
676
+ });
677
+ </code></pre>
678
+ * @param {Object} options (optional) Object literal with any of the Fx config options
679
+ * @return {Ext.Element} The Element
680
+ */
681
+ fadeIn : function(o){
682
+ o = getObject(o);
683
+ var me = this,
684
+ dom = me.dom,
685
+ to = o.endOpacity || 1;
686
+
687
+ me.queueFx(o, function(){
688
+ fly(dom).setOpacity(0);
689
+ fly(dom).fixDisplay();
690
+ dom.style.visibility = VISIBLE;
691
+ arguments.callee.anim = fly(dom).fxanim({opacity:{to:to}},
692
+ o, NULL, .5, EASEOUT, function(){
693
+ if(to == 1){
694
+ fly(dom).clearOpacity();
695
+ }
696
+ fly(dom).afterFx(o);
697
+ });
698
+ });
699
+ return me;
700
+ },
701
+
702
+ /**
703
+ * Fade an element out (from opaque to transparent). The ending opacity can be specified
704
+ * using the <tt>{@link #endOpacity}</tt> config option. Note that IE may require
705
+ * <tt>{@link #useDisplay}:true</tt> in order to redisplay correctly.
706
+ * Usage:
707
+ <pre><code>
708
+ // default: fade out from the element's current opacity to 0
709
+ el.fadeOut();
710
+
711
+ // custom: fade out from the element's current opacity to 25% over 2 seconds
712
+ el.fadeOut({ endOpacity: .25, duration: 2});
713
+
714
+ // common config options shown with default values
715
+ el.fadeOut({
716
+ endOpacity: 0, //can be any value between 0 and 1 (e.g. .5)
717
+ easing: 'easeOut',
718
+ duration: .5,
719
+ remove: false,
720
+ useDisplay: false
721
+ });
722
+ </code></pre>
723
+ * @param {Object} options (optional) Object literal with any of the Fx config options
724
+ * @return {Ext.Element} The Element
725
+ */
726
+ fadeOut : function(o){
727
+ o = getObject(o);
728
+ var me = this,
729
+ dom = me.dom,
730
+ style = dom.style,
731
+ to = o.endOpacity || 0;
732
+
733
+ me.queueFx(o, function(){
734
+ arguments.callee.anim = fly(dom).fxanim({
735
+ opacity : {to : to}},
736
+ o,
737
+ NULL,
738
+ .5,
739
+ EASEOUT,
740
+ function(){
741
+ if(to == 0){
742
+ Ext.Element.data(dom, 'visibilityMode') == Ext.Element.DISPLAY || o.useDisplay ?
743
+ style.display = "none" :
744
+ style.visibility = HIDDEN;
745
+
746
+ fly(dom).clearOpacity();
747
+ }
748
+ fly(dom).afterFx(o);
749
+ });
750
+ });
751
+ return me;
752
+ },
753
+
754
+ /**
755
+ * Animates the transition of an element's dimensions from a starting height/width
756
+ * to an ending height/width. This method is a convenience implementation of {@link shift}.
757
+ * Usage:
758
+ <pre><code>
759
+ // change height and width to 100x100 pixels
760
+ el.scale(100, 100);
761
+
762
+ // common config options shown with default values. The height and width will default to
763
+ // the element&#39;s existing values if passed as null.
764
+ el.scale(
765
+ [element&#39;s width],
766
+ [element&#39;s height], {
767
+ easing: 'easeOut',
768
+ duration: .35
769
+ }
770
+ );
771
+ </code></pre>
772
+ * @param {Number} width The new width (pass undefined to keep the original width)
773
+ * @param {Number} height The new height (pass undefined to keep the original height)
774
+ * @param {Object} options (optional) Object literal with any of the Fx config options
775
+ * @return {Ext.Element} The Element
776
+ */
777
+ scale : function(w, h, o){
778
+ this.shift(Ext.apply({}, o, {
779
+ width: w,
780
+ height: h
781
+ }));
782
+ return this;
783
+ },
784
+
785
+ /**
786
+ * Animates the transition of any combination of an element's dimensions, xy position and/or opacity.
787
+ * Any of these properties not specified in the config object will not be changed. This effect
788
+ * requires that at least one new dimension, position or opacity setting must be passed in on
789
+ * the config object in order for the function to have any effect.
790
+ * Usage:
791
+ <pre><code>
792
+ // slide the element horizontally to x position 200 while changing the height and opacity
793
+ el.shift({ x: 200, height: 50, opacity: .8 });
794
+
795
+ // common config options shown with default values.
796
+ el.shift({
797
+ width: [element&#39;s width],
798
+ height: [element&#39;s height],
799
+ x: [element&#39;s x position],
800
+ y: [element&#39;s y position],
801
+ opacity: [element&#39;s opacity],
802
+ easing: 'easeOut',
803
+ duration: .35
804
+ });
805
+ </code></pre>
806
+ * @param {Object} options Object literal with any of the Fx config options
807
+ * @return {Ext.Element} The Element
808
+ */
809
+ shift : function(o){
810
+ o = getObject(o);
811
+ var dom = this.dom,
812
+ a = {};
813
+
814
+ this.queueFx(o, function(){
815
+ for (var prop in o) {
816
+ if (o[prop] != UNDEFINED) {
817
+ a[prop] = {to : o[prop]};
818
+ }
819
+ }
820
+
821
+ a.width ? a.width.to = fly(dom).adjustWidth(o.width) : a;
822
+ a.height ? a.height.to = fly(dom).adjustWidth(o.height) : a;
823
+
824
+ if (a.x || a.y || a.xy) {
825
+ a.points = a.xy ||
826
+ {to : [ a.x ? a.x.to : fly(dom).getX(),
827
+ a.y ? a.y.to : fly(dom).getY()]};
828
+ }
829
+
830
+ arguments.callee.anim = fly(dom).fxanim(a,
831
+ o,
832
+ MOTION,
833
+ .35,
834
+ EASEOUT,
835
+ function(){
836
+ fly(dom).afterFx(o);
837
+ });
838
+ });
839
+ return this;
840
+ },
841
+
842
+ /**
843
+ * Slides the element while fading it out of view. An anchor point can be optionally passed to set the
844
+ * ending point of the effect.
845
+ * Usage:
846
+ *<pre><code>
847
+ // default: slide the element downward while fading out
848
+ el.ghost();
849
+
850
+ // custom: slide the element out to the right with a 2-second duration
851
+ el.ghost('r', { duration: 2 });
852
+
853
+ // common config options shown with default values
854
+ el.ghost('b', {
855
+ easing: 'easeOut',
856
+ duration: .5,
857
+ remove: false,
858
+ useDisplay: false
859
+ });
860
+ </code></pre>
861
+ * @param {String} anchor (optional) One of the valid Fx anchor positions (defaults to bottom: 'b')
862
+ * @param {Object} options (optional) Object literal with any of the Fx config options
863
+ * @return {Ext.Element} The Element
864
+ */
865
+ ghost : function(anchor, o){
866
+ o = getObject(o);
867
+ var me = this,
868
+ dom = me.dom,
869
+ st = dom.style,
870
+ a = {opacity: {to: 0}, points: {}},
871
+ pt = a.points,
872
+ r,
873
+ w,
874
+ h;
875
+
876
+ anchor = anchor || "b";
877
+
878
+ me.queueFx(o, function(){
879
+ // restore values after effect
880
+ r = fly(dom).getFxRestore();
881
+ w = fly(dom).getWidth();
882
+ h = fly(dom).getHeight();
883
+
884
+ function after(){
885
+ o.useDisplay ? fly(dom).setDisplayed(FALSE) : fly(dom).hide();
886
+ fly(dom).clearOpacity();
887
+ fly(dom).setPositioning(r.pos);
888
+ st.width = r.width;
889
+ st.height = r.height;
890
+ fly(dom).afterFx(o);
891
+ }
892
+
893
+ pt.by = fly(dom).switchStatements(anchor.toLowerCase(), function(v1,v2){ return [v1, v2];}, {
894
+ t : [0, -h],
895
+ l : [-w, 0],
896
+ r : [w, 0],
897
+ b : [0, h],
898
+ tl : [-w, -h],
899
+ bl : [-w, h],
900
+ br : [w, h],
901
+ tr : [w, -h]
902
+ });
903
+
904
+ arguments.callee.anim = fly(dom).fxanim(a,
905
+ o,
906
+ MOTION,
907
+ .5,
908
+ EASEOUT, after);
909
+ });
910
+ return me;
911
+ },
912
+
913
+ /**
914
+ * Ensures that all effects queued after syncFx is called on the element are
915
+ * run concurrently. This is the opposite of {@link #sequenceFx}.
916
+ * @return {Ext.Element} The Element
917
+ */
918
+ syncFx : function(){
919
+ var me = this;
920
+ me.fxDefaults = Ext.apply(me.fxDefaults || {}, {
921
+ block : FALSE,
922
+ concurrent : TRUE,
923
+ stopFx : FALSE
924
+ });
925
+ return me;
926
+ },
927
+
928
+ /**
929
+ * Ensures that all effects queued after sequenceFx is called on the element are
930
+ * run in sequence. This is the opposite of {@link #syncFx}.
931
+ * @return {Ext.Element} The Element
932
+ */
933
+ sequenceFx : function(){
934
+ var me = this;
935
+ me.fxDefaults = Ext.apply(me.fxDefaults || {}, {
936
+ block : FALSE,
937
+ concurrent : FALSE,
938
+ stopFx : FALSE
939
+ });
940
+ return me;
941
+ },
942
+
943
+ /* @private */
944
+ nextFx : function(){
945
+ var ef = getQueue(this.dom.id)[0];
946
+ if(ef){
947
+ ef.call(this);
948
+ }
949
+ },
950
+
951
+ /**
952
+ * Returns true if the element has any effects actively running or queued, else returns false.
953
+ * @return {Boolean} True if element has active effects, else false
954
+ */
955
+ hasActiveFx : function(){
956
+ return getQueue(this.dom.id)[0];
957
+ },
958
+
959
+ /**
960
+ * Stops any running effects and clears the element's internal effects queue if it contains
961
+ * any additional effects that haven't started yet.
962
+ * @return {Ext.Element} The Element
963
+ */
964
+ stopFx : function(finish){
965
+ var me = this,
966
+ id = me.dom.id;
967
+ if(me.hasActiveFx()){
968
+ var cur = getQueue(id)[0];
969
+ if(cur && cur.anim){
970
+ if(cur.anim.isAnimated){
971
+ setQueue(id, [cur]); //clear
972
+ cur.anim.stop(finish !== undefined ? finish : TRUE);
973
+ }else{
974
+ setQueue(id, []);
975
+ }
976
+ }
977
+ }
978
+ return me;
979
+ },
980
+
981
+ /* @private */
982
+ beforeFx : function(o){
983
+ if(this.hasActiveFx() && !o.concurrent){
984
+ if(o.stopFx){
985
+ this.stopFx();
986
+ return TRUE;
987
+ }
988
+ return FALSE;
989
+ }
990
+ return TRUE;
991
+ },
992
+
993
+ /**
994
+ * Returns true if the element is currently blocking so that no other effect can be queued
995
+ * until this effect is finished, else returns false if blocking is not set. This is commonly
996
+ * used to ensure that an effect initiated by a user action runs to completion prior to the
997
+ * same effect being restarted (e.g., firing only one effect even if the user clicks several times).
998
+ * @return {Boolean} True if blocking, else false
999
+ */
1000
+ hasFxBlock : function(){
1001
+ var q = getQueue(this.dom.id);
1002
+ return q && q[0] && q[0].block;
1003
+ },
1004
+
1005
+ /* @private */
1006
+ queueFx : function(o, fn){
1007
+ var me = this;
1008
+ if(!me.hasFxBlock()){
1009
+ Ext.applyIf(o, me.fxDefaults);
1010
+ if(!o.concurrent){
1011
+ var run = me.beforeFx(o);
1012
+ fn.block = o.block;
1013
+ getQueue(me.dom.id).push(fn);
1014
+ if(run){
1015
+ me.nextFx();
1016
+ }
1017
+ }else{
1018
+ fn.call(me);
1019
+ }
1020
+ }
1021
+ return me;
1022
+ },
1023
+
1024
+ /* @private */
1025
+ fxWrap : function(pos, o, vis){
1026
+ var dom = this.dom,
1027
+ wrap,
1028
+ wrapXY;
1029
+ if(!o.wrap || !(wrap = Ext.getDom(o.wrap))){
1030
+ if(o.fixPosition){
1031
+ wrapXY = fly(dom).getXY();
1032
+ }
1033
+ var div = document.createElement("div");
1034
+ div.style.visibility = vis;
1035
+ wrap = dom.parentNode.insertBefore(div, dom);
1036
+ fly(wrap).setPositioning(pos);
1037
+ if(fly(wrap).isStyle(POSITION, "static")){
1038
+ fly(wrap).position("relative");
1039
+ }
1040
+ fly(dom).clearPositioning('auto');
1041
+ fly(wrap).clip();
1042
+ wrap.appendChild(dom);
1043
+ if(wrapXY){
1044
+ fly(wrap).setXY(wrapXY);
1045
+ }
1046
+ }
1047
+ return wrap;
1048
+ },
1049
+
1050
+ /* @private */
1051
+ fxUnwrap : function(wrap, pos, o){
1052
+ var dom = this.dom;
1053
+ fly(dom).clearPositioning();
1054
+ fly(dom).setPositioning(pos);
1055
+ if(!o.wrap){
1056
+ wrap.parentNode.insertBefore(dom, wrap);
1057
+ fly(wrap).remove();
1058
+ }
1059
+ },
1060
+
1061
+ /* @private */
1062
+ getFxRestore : function(){
1063
+ var st = this.dom.style;
1064
+ return {pos: this.getPositioning(), width: st.width, height : st.height};
1065
+ },
1066
+
1067
+ /* @private */
1068
+ afterFx : function(o){
1069
+ var dom = this.dom,
1070
+ id = dom.id,
1071
+ notConcurrent = !o.concurrent;
1072
+ if(o.afterStyle){
1073
+ fly(dom).setStyle(o.afterStyle);
1074
+ }
1075
+ if(o.afterCls){
1076
+ fly(dom).addClass(o.afterCls);
1077
+ }
1078
+ if(o.remove == TRUE){
1079
+ fly(dom).remove();
1080
+ }
1081
+ if(notConcurrent){
1082
+ getQueue(id).shift();
1083
+ }
1084
+ if(o.callback){
1085
+ o.callback.call(o.scope, fly(dom));
1086
+ }
1087
+ if(notConcurrent){
1088
+ fly(dom).nextFx();
1089
+ }
1090
+ },
1091
+
1092
+ /* @private */
1093
+ fxanim : function(args, opt, animType, defaultDur, defaultEase, cb){
1094
+ animType = animType || 'run';
1095
+ opt = opt || {};
1096
+ var anim = Ext.lib.Anim[animType](
1097
+ this.dom,
1098
+ args,
1099
+ (opt.duration || defaultDur) || .35,
1100
+ (opt.easing || defaultEase) || EASEOUT,
1101
+ cb,
1102
+ this
1103
+ );
1104
+ opt.anim = anim;
1105
+ return anim;
1106
+ }
1107
+ };
1108
+
1109
+ // backwards compat
1110
+ Ext.Fx.resize = Ext.Fx.scale;
1111
+
1112
+ //When included, Ext.Fx is automatically applied to Element so that all basic
1113
+ //effects are available directly via the Element API
1114
+ Ext.Element.addMethods(Ext.Fx);
1115
+ })();