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,385 @@
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.Editor
9
+ * @extends Ext.Component
10
+ * A base editor field that handles displaying/hiding on demand and has some built-in sizing and event handling logic.
11
+ * @constructor
12
+ * Create a new Editor
13
+ * @param {Object} config The config object
14
+ * @xtype editor
15
+ */
16
+ Ext.Editor = function(field, config){
17
+ if(field.field){
18
+ this.field = Ext.create(field.field, 'textfield');
19
+ config = Ext.apply({}, field); // copy so we don't disturb original config
20
+ delete config.field;
21
+ }else{
22
+ this.field = field;
23
+ }
24
+ Ext.Editor.superclass.constructor.call(this, config);
25
+ };
26
+
27
+ Ext.extend(Ext.Editor, Ext.Component, {
28
+ /**
29
+ * @cfg {Ext.form.Field} field
30
+ * The Field object (or descendant) or config object for field
31
+ */
32
+ /**
33
+ * @cfg {Boolean} allowBlur
34
+ * True to {@link #completeEdit complete the editing process} if in edit mode when the
35
+ * field is blurred. Defaults to <tt>false</tt>.
36
+ */
37
+ /**
38
+ * @cfg {Boolean/String} autoSize
39
+ * True for the editor to automatically adopt the size of the element being edited, "width" to adopt the width only,
40
+ * or "height" to adopt the height only (defaults to false)
41
+ */
42
+ /**
43
+ * @cfg {Boolean} revertInvalid
44
+ * True to automatically revert the field value and cancel the edit when the user completes an edit and the field
45
+ * validation fails (defaults to true)
46
+ */
47
+ /**
48
+ * @cfg {Boolean} ignoreNoChange
49
+ * True to skip the edit completion process (no save, no events fired) if the user completes an edit and
50
+ * the value has not changed (defaults to false). Applies only to string values - edits for other data types
51
+ * will never be ignored.
52
+ */
53
+ /**
54
+ * @cfg {Boolean} hideEl
55
+ * False to keep the bound element visible while the editor is displayed (defaults to true)
56
+ */
57
+ /**
58
+ * @cfg {Mixed} value
59
+ * The data value of the underlying field (defaults to "")
60
+ */
61
+ value : "",
62
+ /**
63
+ * @cfg {String} alignment
64
+ * The position to align to (see {@link Ext.Element#alignTo} for more details, defaults to "c-c?").
65
+ */
66
+ alignment: "c-c?",
67
+ /**
68
+ * @cfg {Boolean/String} shadow "sides" for sides/bottom only, "frame" for 4-way shadow, and "drop"
69
+ * for bottom-right shadow (defaults to "frame")
70
+ */
71
+ shadow : "frame",
72
+ /**
73
+ * @cfg {Boolean} constrain True to constrain the editor to the viewport
74
+ */
75
+ constrain : false,
76
+ /**
77
+ * @cfg {Boolean} swallowKeys Handle the keydown/keypress events so they don't propagate (defaults to true)
78
+ */
79
+ swallowKeys : true,
80
+ /**
81
+ * @cfg {Boolean} completeOnEnter True to complete the edit when the enter key is pressed (defaults to false)
82
+ */
83
+ completeOnEnter : false,
84
+ /**
85
+ * @cfg {Boolean} cancelOnEsc True to cancel the edit when the escape key is pressed (defaults to false)
86
+ */
87
+ cancelOnEsc : false,
88
+ /**
89
+ * @cfg {Boolean} updateEl True to update the innerHTML of the bound element when the update completes (defaults to false)
90
+ */
91
+ updateEl : false,
92
+
93
+ initComponent : function(){
94
+ Ext.Editor.superclass.initComponent.call(this);
95
+ this.addEvents(
96
+ /**
97
+ * @event beforestartedit
98
+ * Fires when editing is initiated, but before the value changes. Editing can be canceled by returning
99
+ * false from the handler of this event.
100
+ * @param {Editor} this
101
+ * @param {Ext.Element} boundEl The underlying element bound to this editor
102
+ * @param {Mixed} value The field value being set
103
+ */
104
+ "beforestartedit",
105
+ /**
106
+ * @event startedit
107
+ * Fires when this editor is displayed
108
+ * @param {Ext.Element} boundEl The underlying element bound to this editor
109
+ * @param {Mixed} value The starting field value
110
+ */
111
+ "startedit",
112
+ /**
113
+ * @event beforecomplete
114
+ * Fires after a change has been made to the field, but before the change is reflected in the underlying
115
+ * field. Saving the change to the field can be canceled by returning false from the handler of this event.
116
+ * Note that if the value has not changed and ignoreNoChange = true, the editing will still end but this
117
+ * event will not fire since no edit actually occurred.
118
+ * @param {Editor} this
119
+ * @param {Mixed} value The current field value
120
+ * @param {Mixed} startValue The original field value
121
+ */
122
+ "beforecomplete",
123
+ /**
124
+ * @event complete
125
+ * Fires after editing is complete and any changed value has been written to the underlying field.
126
+ * @param {Editor} this
127
+ * @param {Mixed} value The current field value
128
+ * @param {Mixed} startValue The original field value
129
+ */
130
+ "complete",
131
+ /**
132
+ * @event canceledit
133
+ * Fires after editing has been canceled and the editor's value has been reset.
134
+ * @param {Editor} this
135
+ * @param {Mixed} value The user-entered field value that was discarded
136
+ * @param {Mixed} startValue The original field value that was set back into the editor after cancel
137
+ */
138
+ "canceledit",
139
+ /**
140
+ * @event specialkey
141
+ * Fires when any key related to navigation (arrows, tab, enter, esc, etc.) is pressed. You can check
142
+ * {@link Ext.EventObject#getKey} to determine which key was pressed.
143
+ * @param {Ext.form.Field} this
144
+ * @param {Ext.EventObject} e The event object
145
+ */
146
+ "specialkey"
147
+ );
148
+ },
149
+
150
+ // private
151
+ onRender : function(ct, position){
152
+ this.el = new Ext.Layer({
153
+ shadow: this.shadow,
154
+ cls: "x-editor",
155
+ parentEl : ct,
156
+ shim : this.shim,
157
+ shadowOffset: this.shadowOffset || 4,
158
+ id: this.id,
159
+ constrain: this.constrain
160
+ });
161
+ if(this.zIndex){
162
+ this.el.setZIndex(this.zIndex);
163
+ }
164
+ this.el.setStyle("overflow", Ext.isGecko ? "auto" : "hidden");
165
+ if(this.field.msgTarget != 'title'){
166
+ this.field.msgTarget = 'qtip';
167
+ }
168
+ this.field.inEditor = true;
169
+ this.field.render(this.el);
170
+ if(Ext.isGecko){
171
+ this.field.el.dom.setAttribute('autocomplete', 'off');
172
+ }
173
+ this.mon(this.field, "specialkey", this.onSpecialKey, this);
174
+ if(this.swallowKeys){
175
+ this.field.el.swallowEvent(['keydown','keypress']);
176
+ }
177
+ this.field.show();
178
+ this.mon(this.field, "blur", this.onBlur, this);
179
+ if(this.field.grow){
180
+ this.mon(this.field, "autosize", this.el.sync, this.el, {delay:1});
181
+ }
182
+ },
183
+
184
+ // private
185
+ onSpecialKey : function(field, e){
186
+ var key = e.getKey();
187
+ if(this.completeOnEnter && key == e.ENTER){
188
+ e.stopEvent();
189
+ this.completeEdit();
190
+ }else if(this.cancelOnEsc && key == e.ESC){
191
+ this.cancelEdit();
192
+ }else{
193
+ this.fireEvent('specialkey', field, e);
194
+ }
195
+ if(this.field.triggerBlur && (key == e.ENTER || key == e.ESC || key == e.TAB)){
196
+ this.field.triggerBlur();
197
+ }
198
+ },
199
+
200
+ /**
201
+ * Starts the editing process and shows the editor.
202
+ * @param {Mixed} el The element to edit
203
+ * @param {String} value (optional) A value to initialize the editor with. If a value is not provided, it defaults
204
+ * to the innerHTML of el.
205
+ */
206
+ startEdit : function(el, value){
207
+ if(this.editing){
208
+ this.completeEdit();
209
+ }
210
+ this.boundEl = Ext.get(el);
211
+ var v = value !== undefined ? value : this.boundEl.dom.innerHTML;
212
+ if(!this.rendered){
213
+ this.render(this.parentEl || document.body);
214
+ }
215
+ if(this.fireEvent("beforestartedit", this, this.boundEl, v) === false){
216
+ return;
217
+ }
218
+ this.startValue = v;
219
+ this.field.setValue(v);
220
+ this.doAutoSize();
221
+ this.el.alignTo(this.boundEl, this.alignment);
222
+ this.editing = true;
223
+ this.show();
224
+ },
225
+
226
+ // private
227
+ doAutoSize : function(){
228
+ if(this.autoSize){
229
+ var sz = this.boundEl.getSize();
230
+ switch(this.autoSize){
231
+ case "width":
232
+ this.setSize(sz.width, "");
233
+ break;
234
+ case "height":
235
+ this.setSize("", sz.height);
236
+ break;
237
+ default:
238
+ this.setSize(sz.width, sz.height);
239
+ }
240
+ }
241
+ },
242
+
243
+ /**
244
+ * Sets the height and width of this editor.
245
+ * @param {Number} width The new width
246
+ * @param {Number} height The new height
247
+ */
248
+ setSize : function(w, h){
249
+ delete this.field.lastSize;
250
+ this.field.setSize(w, h);
251
+ if(this.el){
252
+ if(Ext.isGecko2 || Ext.isOpera){
253
+ // prevent layer scrollbars
254
+ this.el.setSize(w, h);
255
+ }
256
+ this.el.sync();
257
+ }
258
+ },
259
+
260
+ /**
261
+ * Realigns the editor to the bound field based on the current alignment config value.
262
+ */
263
+ realign : function(){
264
+ this.el.alignTo(this.boundEl, this.alignment);
265
+ },
266
+
267
+ /**
268
+ * Ends the editing process, persists the changed value to the underlying field, and hides the editor.
269
+ * @param {Boolean} remainVisible Override the default behavior and keep the editor visible after edit (defaults to false)
270
+ */
271
+ completeEdit : function(remainVisible){
272
+ if(!this.editing){
273
+ return;
274
+ }
275
+ var v = this.getValue();
276
+ if(!this.field.isValid()){
277
+ if(this.revertInvalid !== false){
278
+ this.cancelEdit(remainVisible);
279
+ }
280
+ return;
281
+ }
282
+ if(String(v) === String(this.startValue) && this.ignoreNoChange){
283
+ this.hideEdit(remainVisible);
284
+ return;
285
+ }
286
+ if(this.fireEvent("beforecomplete", this, v, this.startValue) !== false){
287
+ v = this.getValue();
288
+ if(this.updateEl && this.boundEl){
289
+ this.boundEl.update(v);
290
+ }
291
+ this.hideEdit(remainVisible);
292
+ this.fireEvent("complete", this, v, this.startValue);
293
+ }
294
+ },
295
+
296
+ // private
297
+ onShow : function(){
298
+ this.el.show();
299
+ if(this.hideEl !== false){
300
+ this.boundEl.hide();
301
+ }
302
+ this.field.show();
303
+ if(Ext.isIE && !this.fixIEFocus){ // IE has problems with focusing the first time
304
+ this.fixIEFocus = true;
305
+ this.deferredFocus.defer(50, this);
306
+ }else{
307
+ this.field.focus();
308
+ }
309
+ this.fireEvent("startedit", this.boundEl, this.startValue);
310
+ },
311
+
312
+ deferredFocus : function(){
313
+ if(this.editing){
314
+ this.field.focus();
315
+ }
316
+ },
317
+
318
+ /**
319
+ * Cancels the editing process and hides the editor without persisting any changes. The field value will be
320
+ * reverted to the original starting value.
321
+ * @param {Boolean} remainVisible Override the default behavior and keep the editor visible after
322
+ * cancel (defaults to false)
323
+ */
324
+ cancelEdit : function(remainVisible){
325
+ if(this.editing){
326
+ var v = this.getValue();
327
+ this.setValue(this.startValue);
328
+ this.hideEdit(remainVisible);
329
+ this.fireEvent("canceledit", this, v, this.startValue);
330
+ }
331
+ },
332
+
333
+ // private
334
+ hideEdit: function(remainVisible){
335
+ if(remainVisible !== true){
336
+ this.editing = false;
337
+ this.hide();
338
+ }
339
+ },
340
+
341
+ // private
342
+ onBlur : function(){
343
+ if(this.allowBlur !== true && this.editing){
344
+ this.completeEdit();
345
+ }
346
+ },
347
+
348
+ // private
349
+ onHide : function(){
350
+ if(this.editing){
351
+ this.completeEdit();
352
+ return;
353
+ }
354
+ this.field.blur();
355
+ if(this.field.collapse){
356
+ this.field.collapse();
357
+ }
358
+ this.el.hide();
359
+ if(this.hideEl !== false){
360
+ this.boundEl.show();
361
+ }
362
+ },
363
+
364
+ /**
365
+ * Sets the data value of the editor
366
+ * @param {Mixed} value Any valid value supported by the underlying field
367
+ */
368
+ setValue : function(v){
369
+ this.field.setValue(v);
370
+ },
371
+
372
+ /**
373
+ * Gets the data value of the editor
374
+ * @return {Mixed} The data value
375
+ */
376
+ getValue : function(){
377
+ return this.field.getValue();
378
+ },
379
+
380
+ beforeDestroy : function(){
381
+ Ext.destroy(this.field);
382
+ this.field = null;
383
+ }
384
+ });
385
+ Ext.reg('editor', Ext.Editor);
@@ -0,0 +1,466 @@
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.Layer
9
+ * @extends Ext.Element
10
+ * An extended {@link Ext.Element} object that supports a shadow and shim, constrain to viewport and
11
+ * automatic maintaining of shadow/shim positions.
12
+ * @cfg {Boolean} shim False to disable the iframe shim in browsers which need one (defaults to true)
13
+ * @cfg {String/Boolean} shadow True to automatically create an {@link Ext.Shadow}, or a string indicating the
14
+ * shadow's display {@link Ext.Shadow#mode}. False to disable the shadow. (defaults to false)
15
+ * @cfg {Object} dh DomHelper object config to create element with (defaults to {tag: 'div', cls: 'x-layer'}).
16
+ * @cfg {Boolean} constrain False to disable constrain to viewport (defaults to true)
17
+ * @cfg {String} cls CSS class to add to the element
18
+ * @cfg {Number} zindex Starting z-index (defaults to 11000)
19
+ * @cfg {Number} shadowOffset Number of pixels to offset the shadow (defaults to 4)
20
+ * @cfg {Boolean} useDisplay
21
+ * Defaults to use css offsets to hide the Layer. Specify <tt>true</tt>
22
+ * to use css style <tt>'display:none;'</tt> to hide the Layer.
23
+ * @constructor
24
+ * @param {Object} config An object with config options.
25
+ * @param {String/HTMLElement} existingEl (optional) Uses an existing DOM element. If the element is not found it creates it.
26
+ */
27
+ (function(){
28
+ Ext.Layer = function(config, existingEl){
29
+ config = config || {};
30
+ var dh = Ext.DomHelper;
31
+ var cp = config.parentEl, pel = cp ? Ext.getDom(cp) : document.body;
32
+ if(existingEl){
33
+ this.dom = Ext.getDom(existingEl);
34
+ }
35
+ if(!this.dom){
36
+ var o = config.dh || {tag: 'div', cls: 'x-layer'};
37
+ this.dom = dh.append(pel, o);
38
+ }
39
+ if(config.cls){
40
+ this.addClass(config.cls);
41
+ }
42
+ this.constrain = config.constrain !== false;
43
+ this.setVisibilityMode(Ext.Element.VISIBILITY);
44
+ if(config.id){
45
+ this.id = this.dom.id = config.id;
46
+ }else{
47
+ this.id = Ext.id(this.dom);
48
+ }
49
+ this.zindex = config.zindex || this.getZIndex();
50
+ this.position('absolute', this.zindex);
51
+ if(config.shadow){
52
+ this.shadowOffset = config.shadowOffset || 4;
53
+ this.shadow = new Ext.Shadow({
54
+ offset : this.shadowOffset,
55
+ mode : config.shadow
56
+ });
57
+ }else{
58
+ this.shadowOffset = 0;
59
+ }
60
+ this.useShim = config.shim !== false && Ext.useShims;
61
+ this.useDisplay = config.useDisplay;
62
+ this.hide();
63
+ };
64
+
65
+ var supr = Ext.Element.prototype;
66
+
67
+ // shims are shared among layer to keep from having 100 iframes
68
+ var shims = [];
69
+
70
+ Ext.extend(Ext.Layer, Ext.Element, {
71
+
72
+ getZIndex : function(){
73
+ return this.zindex || parseInt((this.getShim() || this).getStyle('z-index'), 10) || 11000;
74
+ },
75
+
76
+ getShim : function(){
77
+ if(!this.useShim){
78
+ return null;
79
+ }
80
+ if(this.shim){
81
+ return this.shim;
82
+ }
83
+ var shim = shims.shift();
84
+ if(!shim){
85
+ shim = this.createShim();
86
+ shim.enableDisplayMode('block');
87
+ shim.dom.style.display = 'none';
88
+ shim.dom.style.visibility = 'visible';
89
+ }
90
+ var pn = this.dom.parentNode;
91
+ if(shim.dom.parentNode != pn){
92
+ pn.insertBefore(shim.dom, this.dom);
93
+ }
94
+ shim.setStyle('z-index', this.getZIndex()-2);
95
+ this.shim = shim;
96
+ return shim;
97
+ },
98
+
99
+ hideShim : function(){
100
+ if(this.shim){
101
+ this.shim.setDisplayed(false);
102
+ shims.push(this.shim);
103
+ delete this.shim;
104
+ }
105
+ },
106
+
107
+ disableShadow : function(){
108
+ if(this.shadow){
109
+ this.shadowDisabled = true;
110
+ this.shadow.hide();
111
+ this.lastShadowOffset = this.shadowOffset;
112
+ this.shadowOffset = 0;
113
+ }
114
+ },
115
+
116
+ enableShadow : function(show){
117
+ if(this.shadow){
118
+ this.shadowDisabled = false;
119
+ this.shadowOffset = this.lastShadowOffset;
120
+ delete this.lastShadowOffset;
121
+ if(show){
122
+ this.sync(true);
123
+ }
124
+ }
125
+ },
126
+
127
+ // private
128
+ // this code can execute repeatedly in milliseconds (i.e. during a drag) so
129
+ // code size was sacrificed for effeciency (e.g. no getBox/setBox, no XY calls)
130
+ sync : function(doShow){
131
+ var sw = this.shadow;
132
+ if(!this.updating && this.isVisible() && (sw || this.useShim)){
133
+ var sh = this.getShim();
134
+
135
+ var w = this.getWidth(),
136
+ h = this.getHeight();
137
+
138
+ var l = this.getLeft(true),
139
+ t = this.getTop(true);
140
+
141
+ if(sw && !this.shadowDisabled){
142
+ if(doShow && !sw.isVisible()){
143
+ sw.show(this);
144
+ }else{
145
+ sw.realign(l, t, w, h);
146
+ }
147
+ if(sh){
148
+ if(doShow){
149
+ sh.show();
150
+ }
151
+ // fit the shim behind the shadow, so it is shimmed too
152
+ var a = sw.adjusts, s = sh.dom.style;
153
+ s.left = (Math.min(l, l+a.l))+'px';
154
+ s.top = (Math.min(t, t+a.t))+'px';
155
+ s.width = (w+a.w)+'px';
156
+ s.height = (h+a.h)+'px';
157
+ }
158
+ }else if(sh){
159
+ if(doShow){
160
+ sh.show();
161
+ }
162
+ sh.setSize(w, h);
163
+ sh.setLeftTop(l, t);
164
+ }
165
+
166
+ }
167
+ },
168
+
169
+ // private
170
+ destroy : function(){
171
+ this.hideShim();
172
+ if(this.shadow){
173
+ this.shadow.hide();
174
+ }
175
+ this.removeAllListeners();
176
+ Ext.removeNode(this.dom);
177
+ Ext.Element.uncache(this.id);
178
+ },
179
+
180
+ remove : function(){
181
+ this.destroy();
182
+ },
183
+
184
+ // private
185
+ beginUpdate : function(){
186
+ this.updating = true;
187
+ },
188
+
189
+ // private
190
+ endUpdate : function(){
191
+ this.updating = false;
192
+ this.sync(true);
193
+ },
194
+
195
+ // private
196
+ hideUnders : function(negOffset){
197
+ if(this.shadow){
198
+ this.shadow.hide();
199
+ }
200
+ this.hideShim();
201
+ },
202
+
203
+ // private
204
+ constrainXY : function(){
205
+ if(this.constrain){
206
+ var vw = Ext.lib.Dom.getViewWidth(),
207
+ vh = Ext.lib.Dom.getViewHeight();
208
+ var s = Ext.getDoc().getScroll();
209
+
210
+ var xy = this.getXY();
211
+ var x = xy[0], y = xy[1];
212
+ var so = this.shadowOffset;
213
+ var w = this.dom.offsetWidth+so, h = this.dom.offsetHeight+so;
214
+ // only move it if it needs it
215
+ var moved = false;
216
+ // first validate right/bottom
217
+ if((x + w) > vw+s.left){
218
+ x = vw - w - so;
219
+ moved = true;
220
+ }
221
+ if((y + h) > vh+s.top){
222
+ y = vh - h - so;
223
+ moved = true;
224
+ }
225
+ // then make sure top/left isn't negative
226
+ if(x < s.left){
227
+ x = s.left;
228
+ moved = true;
229
+ }
230
+ if(y < s.top){
231
+ y = s.top;
232
+ moved = true;
233
+ }
234
+ if(moved){
235
+ if(this.avoidY){
236
+ var ay = this.avoidY;
237
+ if(y <= ay && (y+h) >= ay){
238
+ y = ay-h-5;
239
+ }
240
+ }
241
+ xy = [x, y];
242
+ this.storeXY(xy);
243
+ supr.setXY.call(this, xy);
244
+ this.sync();
245
+ }
246
+ }
247
+ return this;
248
+ },
249
+
250
+ isVisible : function(){
251
+ return this.visible;
252
+ },
253
+
254
+ // private
255
+ showAction : function(){
256
+ this.visible = true; // track visibility to prevent getStyle calls
257
+ if(this.useDisplay === true){
258
+ this.setDisplayed('');
259
+ }else if(this.lastXY){
260
+ supr.setXY.call(this, this.lastXY);
261
+ }else if(this.lastLT){
262
+ supr.setLeftTop.call(this, this.lastLT[0], this.lastLT[1]);
263
+ }
264
+ },
265
+
266
+ // private
267
+ hideAction : function(){
268
+ this.visible = false;
269
+ if(this.useDisplay === true){
270
+ this.setDisplayed(false);
271
+ }else{
272
+ this.setLeftTop(-10000,-10000);
273
+ }
274
+ },
275
+
276
+ // overridden Element method
277
+ setVisible : function(v, a, d, c, e){
278
+ if(v){
279
+ this.showAction();
280
+ }
281
+ if(a && v){
282
+ var cb = function(){
283
+ this.sync(true);
284
+ if(c){
285
+ c();
286
+ }
287
+ }.createDelegate(this);
288
+ supr.setVisible.call(this, true, true, d, cb, e);
289
+ }else{
290
+ if(!v){
291
+ this.hideUnders(true);
292
+ }
293
+ var cb = c;
294
+ if(a){
295
+ cb = function(){
296
+ this.hideAction();
297
+ if(c){
298
+ c();
299
+ }
300
+ }.createDelegate(this);
301
+ }
302
+ supr.setVisible.call(this, v, a, d, cb, e);
303
+ if(v){
304
+ this.sync(true);
305
+ }else if(!a){
306
+ this.hideAction();
307
+ }
308
+ }
309
+ return this;
310
+ },
311
+
312
+ storeXY : function(xy){
313
+ delete this.lastLT;
314
+ this.lastXY = xy;
315
+ },
316
+
317
+ storeLeftTop : function(left, top){
318
+ delete this.lastXY;
319
+ this.lastLT = [left, top];
320
+ },
321
+
322
+ // private
323
+ beforeFx : function(){
324
+ this.beforeAction();
325
+ return Ext.Layer.superclass.beforeFx.apply(this, arguments);
326
+ },
327
+
328
+ // private
329
+ afterFx : function(){
330
+ Ext.Layer.superclass.afterFx.apply(this, arguments);
331
+ this.sync(this.isVisible());
332
+ },
333
+
334
+ // private
335
+ beforeAction : function(){
336
+ if(!this.updating && this.shadow){
337
+ this.shadow.hide();
338
+ }
339
+ },
340
+
341
+ // overridden Element method
342
+ setLeft : function(left){
343
+ this.storeLeftTop(left, this.getTop(true));
344
+ supr.setLeft.apply(this, arguments);
345
+ this.sync();
346
+ return this;
347
+ },
348
+
349
+ setTop : function(top){
350
+ this.storeLeftTop(this.getLeft(true), top);
351
+ supr.setTop.apply(this, arguments);
352
+ this.sync();
353
+ return this;
354
+ },
355
+
356
+ setLeftTop : function(left, top){
357
+ this.storeLeftTop(left, top);
358
+ supr.setLeftTop.apply(this, arguments);
359
+ this.sync();
360
+ return this;
361
+ },
362
+
363
+ setXY : function(xy, a, d, c, e){
364
+ this.fixDisplay();
365
+ this.beforeAction();
366
+ this.storeXY(xy);
367
+ var cb = this.createCB(c);
368
+ supr.setXY.call(this, xy, a, d, cb, e);
369
+ if(!a){
370
+ cb();
371
+ }
372
+ return this;
373
+ },
374
+
375
+ // private
376
+ createCB : function(c){
377
+ var el = this;
378
+ return function(){
379
+ el.constrainXY();
380
+ el.sync(true);
381
+ if(c){
382
+ c();
383
+ }
384
+ };
385
+ },
386
+
387
+ // overridden Element method
388
+ setX : function(x, a, d, c, e){
389
+ this.setXY([x, this.getY()], a, d, c, e);
390
+ return this;
391
+ },
392
+
393
+ // overridden Element method
394
+ setY : function(y, a, d, c, e){
395
+ this.setXY([this.getX(), y], a, d, c, e);
396
+ return this;
397
+ },
398
+
399
+ // overridden Element method
400
+ setSize : function(w, h, a, d, c, e){
401
+ this.beforeAction();
402
+ var cb = this.createCB(c);
403
+ supr.setSize.call(this, w, h, a, d, cb, e);
404
+ if(!a){
405
+ cb();
406
+ }
407
+ return this;
408
+ },
409
+
410
+ // overridden Element method
411
+ setWidth : function(w, a, d, c, e){
412
+ this.beforeAction();
413
+ var cb = this.createCB(c);
414
+ supr.setWidth.call(this, w, a, d, cb, e);
415
+ if(!a){
416
+ cb();
417
+ }
418
+ return this;
419
+ },
420
+
421
+ // overridden Element method
422
+ setHeight : function(h, a, d, c, e){
423
+ this.beforeAction();
424
+ var cb = this.createCB(c);
425
+ supr.setHeight.call(this, h, a, d, cb, e);
426
+ if(!a){
427
+ cb();
428
+ }
429
+ return this;
430
+ },
431
+
432
+ // overridden Element method
433
+ setBounds : function(x, y, w, h, a, d, c, e){
434
+ this.beforeAction();
435
+ var cb = this.createCB(c);
436
+ if(!a){
437
+ this.storeXY([x, y]);
438
+ supr.setXY.call(this, [x, y]);
439
+ supr.setSize.call(this, w, h, a, d, cb, e);
440
+ cb();
441
+ }else{
442
+ supr.setBounds.call(this, x, y, w, h, a, d, cb, e);
443
+ }
444
+ return this;
445
+ },
446
+
447
+ /**
448
+ * Sets the z-index of this layer and adjusts any shadow and shim z-indexes. The layer z-index is automatically
449
+ * incremented by two more than the value passed in so that it always shows above any shadow or shim (the shadow
450
+ * element, if any, will be assigned z-index + 1, and the shim element, if any, will be assigned the unmodified z-index).
451
+ * @param {Number} zindex The new z-index to set
452
+ * @return {this} The Layer
453
+ */
454
+ setZIndex : function(zindex){
455
+ this.zindex = zindex;
456
+ this.setStyle('z-index', zindex + 2);
457
+ if(this.shadow){
458
+ this.shadow.setZIndex(zindex + 1);
459
+ }
460
+ if(this.shim){
461
+ this.shim.setStyle('z-index', zindex);
462
+ }
463
+ return this;
464
+ }
465
+ });
466
+ })();