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,159 @@
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.QuickTips
9
+ * <p>Provides attractive and customizable tooltips for any element. The QuickTips
10
+ * singleton is used to configure and manage tooltips globally for multiple elements
11
+ * in a generic manner. To create individual tooltips with maximum customizability,
12
+ * you should consider either {@link Ext.Tip} or {@link Ext.ToolTip}.</p>
13
+ * <p>Quicktips can be configured via tag attributes directly in markup, or by
14
+ * registering quick tips programmatically via the {@link #register} method.</p>
15
+ * <p>The singleton's instance of {@link Ext.QuickTip} is available via
16
+ * {@link #getQuickTip}, and supports all the methods, and all the all the
17
+ * configuration properties of Ext.QuickTip. These settings will apply to all
18
+ * tooltips shown by the singleton.</p>
19
+ * <p>Below is the summary of the configuration properties which can be used.
20
+ * For detailed descriptions see {@link #getQuickTip}</p>
21
+ * <p><b>QuickTips singleton configs (all are optional)</b></p>
22
+ * <div class="mdetail-params"><ul><li>dismissDelay</li>
23
+ * <li>hideDelay</li>
24
+ * <li>maxWidth</li>
25
+ * <li>minWidth</li>
26
+ * <li>showDelay</li>
27
+ * <li>trackMouse</li></ul></div>
28
+ * <p><b>Target element configs (optional unless otherwise noted)</b></p>
29
+ * <div class="mdetail-params"><ul><li>autoHide</li>
30
+ * <li>cls</li>
31
+ * <li>dismissDelay (overrides singleton value)</li>
32
+ * <li>target (required)</li>
33
+ * <li>text (required)</li>
34
+ * <li>title</li>
35
+ * <li>width</li></ul></div>
36
+ * <p>Here is an example showing how some of these config options could be used:</p>
37
+ * <pre><code>
38
+ // Init the singleton. Any tag-based quick tips will start working.
39
+ Ext.QuickTips.init();
40
+
41
+ // Apply a set of config properties to the singleton
42
+ Ext.apply(Ext.QuickTips.getQuickTip(), {
43
+ maxWidth: 200,
44
+ minWidth: 100,
45
+ showDelay: 50,
46
+ trackMouse: true
47
+ });
48
+
49
+ // Manually register a quick tip for a specific element
50
+ Ext.QuickTips.register({
51
+ target: 'my-div',
52
+ title: 'My Tooltip',
53
+ text: 'This tooltip was added in code',
54
+ width: 100,
55
+ dismissDelay: 20
56
+ });
57
+ </code></pre>
58
+ * <p>To register a quick tip in markup, you simply add one or more of the valid QuickTip attributes prefixed with
59
+ * the <b>ext:</b> namespace. The HTML element itself is automatically set as the quick tip target. Here is the summary
60
+ * of supported attributes (optional unless otherwise noted):</p>
61
+ * <ul><li><b>hide</b>: Specifying "user" is equivalent to setting autoHide = false. Any other value will be the
62
+ * same as autoHide = true.</li>
63
+ * <li><b>qclass</b>: A CSS class to be applied to the quick tip (equivalent to the 'cls' target element config).</li>
64
+ * <li><b>qtip (required)</b>: The quick tip text (equivalent to the 'text' target element config).</li>
65
+ * <li><b>qtitle</b>: The quick tip title (equivalent to the 'title' target element config).</li>
66
+ * <li><b>qwidth</b>: The quick tip width (equivalent to the 'width' target element config).</li></ul>
67
+ * <p>Here is an example of configuring an HTML element to display a tooltip from markup:</p>
68
+ * <pre><code>
69
+ // Add a quick tip to an HTML button
70
+ &lt;input type="button" value="OK" ext:qtitle="OK Button" ext:qwidth="100"
71
+ ext:qtip="This is a quick tip from markup!">&lt;/input>
72
+ </code></pre>
73
+ * @singleton
74
+ */
75
+ Ext.QuickTips = function(){
76
+ var tip, locks = [];
77
+ return {
78
+ /**
79
+ * Initialize the global QuickTips instance and prepare any quick tips.
80
+ * @param {Boolean} autoRender True to render the QuickTips container immediately to preload images. (Defaults to true)
81
+ */
82
+ init : function(autoRender){
83
+ if(!tip){
84
+ if(!Ext.isReady){
85
+ Ext.onReady(function(){
86
+ Ext.QuickTips.init(autoRender);
87
+ });
88
+ return;
89
+ }
90
+ tip = new Ext.QuickTip({elements:'header,body'});
91
+ if(autoRender !== false){
92
+ tip.render(Ext.getBody());
93
+ }
94
+ }
95
+ },
96
+
97
+ /**
98
+ * Enable quick tips globally.
99
+ */
100
+ enable : function(){
101
+ if(tip){
102
+ locks.pop();
103
+ if(locks.length < 1){
104
+ tip.enable();
105
+ }
106
+ }
107
+ },
108
+
109
+ /**
110
+ * Disable quick tips globally.
111
+ */
112
+ disable : function(){
113
+ if(tip){
114
+ tip.disable();
115
+ }
116
+ locks.push(1);
117
+ },
118
+
119
+ /**
120
+ * Returns true if quick tips are enabled, else false.
121
+ * @return {Boolean}
122
+ */
123
+ isEnabled : function(){
124
+ return tip !== undefined && !tip.disabled;
125
+ },
126
+
127
+ /**
128
+ * Gets the global QuickTips instance.
129
+ */
130
+ getQuickTip : function(){
131
+ return tip;
132
+ },
133
+
134
+ /**
135
+ * Configures a new quick tip instance and assigns it to a target element. See
136
+ * {@link Ext.QuickTip#register} for details.
137
+ * @param {Object} config The config object
138
+ */
139
+ register : function(){
140
+ tip.register.apply(tip, arguments);
141
+ },
142
+
143
+ /**
144
+ * Removes any registered quick tip from the target element and destroys it.
145
+ * @param {String/HTMLElement/Element} el The element from which the quick tip is to be removed.
146
+ */
147
+ unregister : function(){
148
+ tip.unregister.apply(tip, arguments);
149
+ },
150
+
151
+ /**
152
+ * Alias of {@link #register}.
153
+ * @param {Object} config The config object
154
+ */
155
+ tips :function(){
156
+ tip.register.apply(tip, arguments);
157
+ }
158
+ }
159
+ }();
@@ -0,0 +1,157 @@
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.Tip
9
+ * @extends Ext.Panel
10
+ * This is the base class for {@link Ext.QuickTip} and {@link Ext.Tooltip} that provides the basic layout and
11
+ * positioning that all tip-based classes require. This class can be used directly for simple, statically-positioned
12
+ * tips that are displayed programmatically, or it can be extended to provide custom tip implementations.
13
+ * @constructor
14
+ * Create a new Tip
15
+ * @param {Object} config The configuration options
16
+ */
17
+ Ext.Tip = Ext.extend(Ext.Panel, {
18
+ /**
19
+ * @cfg {Boolean} closable True to render a close tool button into the tooltip header (defaults to false).
20
+ */
21
+ /**
22
+ * @cfg {Number} width
23
+ * Width in pixels of the tip (defaults to auto). Width will be ignored if it exceeds the bounds of
24
+ * {@link #minWidth} or {@link #maxWidth}. The maximum supported value is 500.
25
+ */
26
+ /**
27
+ * @cfg {Number} minWidth The minimum width of the tip in pixels (defaults to 40).
28
+ */
29
+ minWidth : 40,
30
+ /**
31
+ * @cfg {Number} maxWidth The maximum width of the tip in pixels (defaults to 300). The maximum supported value is 500.
32
+ */
33
+ maxWidth : 300,
34
+ /**
35
+ * @cfg {Boolean/String} shadow True or "sides" for the default effect, "frame" for 4-way shadow, and "drop"
36
+ * for bottom-right shadow (defaults to "sides").
37
+ */
38
+ shadow : "sides",
39
+ /**
40
+ * @cfg {String} defaultAlign <b>Experimental</b>. The default {@link Ext.Element#alignTo} anchor position value
41
+ * for this tip relative to its element of origin (defaults to "tl-bl?").
42
+ */
43
+ defaultAlign : "tl-bl?",
44
+ autoRender: true,
45
+ quickShowInterval : 250,
46
+
47
+ // private panel overrides
48
+ frame:true,
49
+ hidden:true,
50
+ baseCls: 'x-tip',
51
+ floating:{shadow:true,shim:true,useDisplay:true,constrain:false},
52
+ autoHeight:true,
53
+
54
+ closeAction: 'hide',
55
+
56
+ // private
57
+ initComponent : function(){
58
+ Ext.Tip.superclass.initComponent.call(this);
59
+ if(this.closable && !this.title){
60
+ this.elements += ',header';
61
+ }
62
+ },
63
+
64
+ // private
65
+ afterRender : function(){
66
+ Ext.Tip.superclass.afterRender.call(this);
67
+ if(this.closable){
68
+ this.addTool({
69
+ id: 'close',
70
+ handler: this[this.closeAction],
71
+ scope: this
72
+ });
73
+ }
74
+ },
75
+
76
+ /**
77
+ * Shows this tip at the specified XY position. Example usage:
78
+ * <pre><code>
79
+ // Show the tip at x:50 and y:100
80
+ tip.showAt([50,100]);
81
+ </code></pre>
82
+ * @param {Array} xy An array containing the x and y coordinates
83
+ */
84
+ showAt : function(xy){
85
+ Ext.Tip.superclass.show.call(this);
86
+ if(this.measureWidth !== false && (!this.initialConfig || typeof this.initialConfig.width != 'number')){
87
+ this.doAutoWidth();
88
+ }
89
+ if(this.constrainPosition){
90
+ xy = this.el.adjustForConstraints(xy);
91
+ }
92
+ this.setPagePosition(xy[0], xy[1]);
93
+ },
94
+
95
+ // protected
96
+ doAutoWidth : function(){
97
+ var bw = this.body.getTextWidth();
98
+ if(this.title){
99
+ bw = Math.max(bw, this.header.child('span').getTextWidth(this.title));
100
+ }
101
+ bw += this.getFrameWidth() + (this.closable ? 20 : 0) + this.body.getPadding("lr");
102
+ this.setWidth(bw.constrain(this.minWidth, this.maxWidth));
103
+
104
+ // IE7 repaint bug on initial show
105
+ if(Ext.isIE7 && !this.repainted){
106
+ this.el.repaint();
107
+ this.repainted = true;
108
+ }
109
+ },
110
+
111
+ /**
112
+ * <b>Experimental</b>. Shows this tip at a position relative to another element using a standard {@link Ext.Element#alignTo}
113
+ * anchor position value. Example usage:
114
+ * <pre><code>
115
+ // Show the tip at the default position ('tl-br?')
116
+ tip.showBy('my-el');
117
+
118
+ // Show the tip's top-left corner anchored to the element's top-right corner
119
+ tip.showBy('my-el', 'tl-tr');
120
+ </code></pre>
121
+ * @param {Mixed} el An HTMLElement, Ext.Element or string id of the target element to align to
122
+ * @param {String} position (optional) A valid {@link Ext.Element#alignTo} anchor position (defaults to 'tl-br?' or
123
+ * {@link #defaultAlign} if specified).
124
+ */
125
+ showBy : function(el, pos){
126
+ if(!this.rendered){
127
+ this.render(Ext.getBody());
128
+ }
129
+ this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign));
130
+ },
131
+
132
+ initDraggable : function(){
133
+ this.dd = new Ext.Tip.DD(this, typeof this.draggable == 'boolean' ? null : this.draggable);
134
+ this.header.addClass('x-tip-draggable');
135
+ }
136
+ });
137
+
138
+ // private - custom Tip DD implementation
139
+ Ext.Tip.DD = function(tip, config){
140
+ Ext.apply(this, config);
141
+ this.tip = tip;
142
+ Ext.Tip.DD.superclass.constructor.call(this, tip.el.id, 'WindowDD-'+tip.id);
143
+ this.setHandleElId(tip.header.id);
144
+ this.scroll = false;
145
+ };
146
+
147
+ Ext.extend(Ext.Tip.DD, Ext.dd.DD, {
148
+ moveOnly:true,
149
+ scroll:false,
150
+ headerOffsets:[100, 25],
151
+ startDrag : function(){
152
+ this.tip.el.disableShadow();
153
+ },
154
+ endDrag : function(e){
155
+ this.tip.el.enableShadow(true);
156
+ }
157
+ });
@@ -0,0 +1,492 @@
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.ToolTip
9
+ * @extends Ext.Tip
10
+ * A standard tooltip implementation for providing additional information when hovering over a target element.
11
+ * @constructor
12
+ * Create a new Tooltip
13
+ * @param {Object} config The configuration options
14
+ */
15
+ Ext.ToolTip = Ext.extend(Ext.Tip, {
16
+ /**
17
+ * When a Tooltip is configured with the {@link #delegate} option to cause selected child elements of the {@link #target}
18
+ * Element to each trigger a seperate show event, this property is set to the DOM element which triggered the show.
19
+ * @type DOMElement
20
+ * @property triggerElement
21
+ */
22
+ /**
23
+ * @cfg {Mixed} target The target HTMLElement, Ext.Element or id to monitor for mouseover events to trigger
24
+ * showing this ToolTip.
25
+ */
26
+ /**
27
+ * @cfg {Boolean} autoHide True to automatically hide the tooltip after the mouse exits the target element
28
+ * or after the {@link #dismissDelay} has expired if set (defaults to true). If {@link closable} = true a close
29
+ * tool button will be rendered into the tooltip header.
30
+ */
31
+ /**
32
+ * @cfg {Number} showDelay Delay in milliseconds before the tooltip displays after the mouse enters the
33
+ * target element (defaults to 500)
34
+ */
35
+ showDelay: 500,
36
+ /**
37
+ * @cfg {Number} hideDelay Delay in milliseconds after the mouse exits the target element but before the
38
+ * tooltip actually hides (defaults to 200). Set to 0 for the tooltip to hide immediately.
39
+ */
40
+ hideDelay: 200,
41
+ /**
42
+ * @cfg {Number} dismissDelay Delay in milliseconds before the tooltip automatically hides (defaults to 5000).
43
+ * To disable automatic hiding, set dismissDelay = 0.
44
+ */
45
+ dismissDelay: 5000,
46
+ /**
47
+ * @cfg {Array} mouseOffset An XY offset from the mouse position where the tooltip should be shown (defaults to [15,18]).
48
+ */
49
+ /**
50
+ * @cfg {Boolean} trackMouse True to have the tooltip follow the mouse as it moves over the target element (defaults to false).
51
+ */
52
+ trackMouse : false,
53
+ /**
54
+ * @cfg {Boolean} anchorToTarget True to anchor the tooltip to the target element, false to
55
+ * anchor it relative to the mouse coordinates (defaults to true). When anchorToTarget is
56
+ * true, use {@link #defaultAlign} to control tooltip alignment to the target element. When
57
+ * anchorToTarget is false, use {@link #anchorPosition} instead to control alignment.
58
+ */
59
+ anchorToTarget: true,
60
+ /**
61
+ * @cfg {Number} anchorOffset A numeric pixel value used to offset the default position of the
62
+ * anchor arrow (defaults to 0). When the anchor position is on the top or bottom of the tooltip,
63
+ * anchorOffset will be used as a horizontal offset. Likewise, when the anchor position is on the
64
+ * left or right side, anchorOffset will be used as a vertical offset.
65
+ */
66
+ anchorOffset: 0,
67
+ /**
68
+ * @cfg {String} delegate <p>Optional. A {@link Ext.DomQuery DomQuery} selector which allows selection of individual elements
69
+ * within the {@link #target} element to trigger showing and hiding the ToolTip as the mouse moves within the target.</p>
70
+ * <p>When specified, the child element of the target which caused a show event is placed into the {@link #triggerElement} property
71
+ * before the ToolTip is shown.</p>
72
+ * <p>This may be useful when a Component has regular, repeating elements in it, each of which need a Tooltip which contains
73
+ * information specific to that element. For example:</p><pre><code>
74
+ var myGrid = new Ext.grid.gridPanel(gridConfig);
75
+ myGrid.on('render', function(grid) {
76
+ var store = grid.getStore(); // Capture the Store.
77
+ var view = grid.getView(); // Capture the GridView.
78
+ myGrid.tip = new Ext.ToolTip({
79
+ target: view.mainBody, // The overall target element.
80
+ delegate: '.x-grid3-row', // Each grid row causes its own seperate show and hide.
81
+ trackMouse: true, // Moving within the row should not hide the tip.
82
+ renderTo: document.body, // Render immediately so that tip.body can be referenced prior to the first show.
83
+ listeners: { // Change content dynamically depending on which element triggered the show.
84
+ beforeshow: function updateTipBody(tip) {
85
+ var rowIndex = view.findRowIndex(tip.triggerElement);
86
+ tip.body.dom.innerHTML = "Over Record ID " + store.getAt(rowIndex).id;
87
+ }
88
+ }
89
+ });
90
+ });</code></pre>
91
+ */
92
+
93
+ // private
94
+ targetCounter: 0,
95
+
96
+ constrainPosition: false,
97
+
98
+ // private
99
+ initComponent: function(){
100
+ Ext.ToolTip.superclass.initComponent.call(this);
101
+ this.lastActive = new Date();
102
+ this.initTarget(this.target);
103
+ this.origAnchor = this.anchor;
104
+ },
105
+
106
+ // private
107
+ onRender : function(ct, position){
108
+ Ext.ToolTip.superclass.onRender.call(this, ct, position);
109
+ this.anchorCls = 'x-tip-anchor-' + this.getAnchorPosition();
110
+ this.anchorEl = this.el.createChild({
111
+ cls: 'x-tip-anchor ' + this.anchorCls
112
+ });
113
+ },
114
+
115
+ // private
116
+ afterRender : function(){
117
+ Ext.ToolTip.superclass.afterRender.call(this);
118
+ this.anchorEl.setStyle('z-index', this.el.getZIndex() + 1);
119
+ },
120
+
121
+ /**
122
+ * Binds this ToolTip to the specified element. The tooltip will be displayed when the mouse moves over the element.
123
+ * @param {Mixed} t The Element, HtmlElement, or ID of an element to bind to
124
+ */
125
+ initTarget : function(target){
126
+ var t;
127
+ if((t = Ext.get(target))){
128
+ if(this.target){
129
+ this.target = Ext.get(this.target);
130
+ this.target.un('mouseover', this.onTargetOver, this);
131
+ this.target.un('mouseout', this.onTargetOut, this);
132
+ this.target.un('mousemove', this.onMouseMove, this);
133
+ }
134
+ this.mon(t, {
135
+ mouseover: this.onTargetOver,
136
+ mouseout: this.onTargetOut,
137
+ mousemove: this.onMouseMove,
138
+ scope: this
139
+ });
140
+ this.target = t;
141
+ }
142
+ if(this.anchor){
143
+ this.anchorTarget = this.target;
144
+ }
145
+ },
146
+
147
+ // private
148
+ onMouseMove : function(e){
149
+ var t = this.delegate ? e.getTarget(this.delegate) : this.triggerElement = true;
150
+ if (t) {
151
+ this.targetXY = e.getXY();
152
+ if (t === this.triggerElement) {
153
+ if(!this.hidden && this.trackMouse){
154
+ this.setPagePosition(this.getTargetXY());
155
+ }
156
+ } else {
157
+ this.hide();
158
+ this.lastActive = new Date(0);
159
+ this.onTargetOver(e);
160
+ }
161
+ } else if (!this.closable && this.isVisible()) {
162
+ this.hide();
163
+ }
164
+ },
165
+
166
+ // private
167
+ getTargetXY : function(){
168
+ if(this.anchor){
169
+ this.targetCounter++;
170
+ var offsets = this.getOffsets();
171
+ var xy = (this.anchorToTarget && !this.trackMouse) ?
172
+ this.el.getAlignToXY(this.anchorTarget, this.getAnchorAlign()) :
173
+ this.targetXY;
174
+
175
+ var dw = Ext.lib.Dom.getViewWidth()-5;
176
+ var dh = Ext.lib.Dom.getViewHeight()-5;
177
+ var scrollX = (document.documentElement.scrollLeft || document.body.scrollLeft || 0)+5;
178
+ var scrollY = (document.documentElement.scrollTop || document.body.scrollTop || 0)+5;
179
+
180
+ var axy = [xy[0] + offsets[0], xy[1] + offsets[1]];
181
+ var sz = this.getSize();
182
+ this.anchorEl.removeClass(this.anchorCls);
183
+
184
+ if(this.targetCounter < 2){
185
+ if(axy[0] < scrollX){
186
+ if(this.anchorToTarget){
187
+ this.defaultAlign = 'l-r';
188
+ if(this.mouseOffset){this.mouseOffset[0] *= -1;}
189
+ }
190
+ this.anchor = 'left';
191
+ return this.getTargetXY();
192
+ }
193
+ if(axy[0]+sz.width > dw){
194
+ if(this.anchorToTarget){
195
+ this.defaultAlign = 'r-l';
196
+ if(this.mouseOffset){this.mouseOffset[0] *= -1;}
197
+ }
198
+ this.anchor = 'right';
199
+ return this.getTargetXY();
200
+ }
201
+ if(axy[1] < scrollY){
202
+ if(this.anchorToTarget){
203
+ this.defaultAlign = 't-b';
204
+ if(this.mouseOffset){this.mouseOffset[1] *= -1;}
205
+ }
206
+ this.anchor = 'top';
207
+ return this.getTargetXY();
208
+ }
209
+ if(axy[1]+sz.height > dh){
210
+ if(this.anchorToTarget){
211
+ this.defaultAlign = 'b-t';
212
+ if(this.mouseOffset){this.mouseOffset[1] *= -1;}
213
+ }
214
+ this.anchor = 'bottom';
215
+ return this.getTargetXY();
216
+ }
217
+ }
218
+
219
+ this.anchorCls = 'x-tip-anchor-'+this.getAnchorPosition();
220
+ this.anchorEl.addClass(this.anchorCls);
221
+ this.targetCounter = 0;
222
+ return axy;
223
+ }else{
224
+ var mouseOffset = this.getMouseOffset();
225
+ return [this.targetXY[0]+mouseOffset[0], this.targetXY[1]+mouseOffset[1]];
226
+ }
227
+ },
228
+
229
+ getMouseOffset : function(){
230
+ var offset = this.anchor ? [0,0] : [15,18];
231
+ if(this.mouseOffset){
232
+ offset[0] += this.mouseOffset[0];
233
+ offset[1] += this.mouseOffset[1];
234
+ }
235
+ return offset;
236
+ },
237
+
238
+ // private
239
+ getAnchorPosition : function(){
240
+ if(this.anchor){
241
+ this.tipAnchor = this.anchor.charAt(0);
242
+ }else{
243
+ var m = this.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);
244
+ if(!m){
245
+ throw "AnchorTip.defaultAlign is invalid";
246
+ }
247
+ this.tipAnchor = m[1].charAt(0);
248
+ }
249
+
250
+ switch(this.tipAnchor){
251
+ case 't': return 'top';
252
+ case 'b': return 'bottom';
253
+ case 'r': return 'right';
254
+ }
255
+ return 'left';
256
+ },
257
+
258
+ // private
259
+ getAnchorAlign : function(){
260
+ switch(this.anchor){
261
+ case 'top' : return 'tl-bl';
262
+ case 'left' : return 'tl-tr';
263
+ case 'right': return 'tr-tl';
264
+ default : return 'bl-tl';
265
+ }
266
+ },
267
+
268
+ // private
269
+ getOffsets: function(){
270
+ var offsets, ap = this.getAnchorPosition().charAt(0);
271
+ if(this.anchorToTarget && !this.trackMouse){
272
+ switch(ap){
273
+ case 't':
274
+ offsets = [0, 9];
275
+ break;
276
+ case 'b':
277
+ offsets = [0, -13];
278
+ break;
279
+ case 'r':
280
+ offsets = [-13, 0];
281
+ break;
282
+ default:
283
+ offsets = [9, 0];
284
+ break;
285
+ }
286
+ }else{
287
+ switch(ap){
288
+ case 't':
289
+ offsets = [-15-this.anchorOffset, 30];
290
+ break;
291
+ case 'b':
292
+ offsets = [-19-this.anchorOffset, -13-this.el.dom.offsetHeight];
293
+ break;
294
+ case 'r':
295
+ offsets = [-15-this.el.dom.offsetWidth, -13-this.anchorOffset];
296
+ break;
297
+ default:
298
+ offsets = [25, -13-this.anchorOffset];
299
+ break;
300
+ }
301
+ }
302
+ var mouseOffset = this.getMouseOffset();
303
+ offsets[0] += mouseOffset[0];
304
+ offsets[1] += mouseOffset[1];
305
+
306
+ return offsets;
307
+ },
308
+
309
+ // private
310
+ onTargetOver : function(e){
311
+ if(this.disabled || e.within(this.target.dom, true)){
312
+ return;
313
+ }
314
+ var t = e.getTarget(this.delegate);
315
+ if (t) {
316
+ this.triggerElement = t;
317
+ this.clearTimer('hide');
318
+ this.targetXY = e.getXY();
319
+ this.delayShow();
320
+ }
321
+ },
322
+
323
+ // private
324
+ delayShow : function(){
325
+ if(this.hidden && !this.showTimer){
326
+ if(this.lastActive.getElapsed() < this.quickShowInterval){
327
+ this.show();
328
+ }else{
329
+ this.showTimer = this.show.defer(this.showDelay, this);
330
+ }
331
+ }else if(!this.hidden && this.autoHide !== false){
332
+ this.show();
333
+ }
334
+ },
335
+
336
+ // private
337
+ onTargetOut : function(e){
338
+ if(this.disabled || e.within(this.target.dom, true)){
339
+ return;
340
+ }
341
+ this.clearTimer('show');
342
+ if(this.autoHide !== false){
343
+ this.delayHide();
344
+ }
345
+ },
346
+
347
+ // private
348
+ delayHide : function(){
349
+ if(!this.hidden && !this.hideTimer){
350
+ this.hideTimer = this.hide.defer(this.hideDelay, this);
351
+ }
352
+ },
353
+
354
+ /**
355
+ * Hides this tooltip if visible.
356
+ */
357
+ hide: function(){
358
+ this.clearTimer('dismiss');
359
+ this.lastActive = new Date();
360
+ if(this.anchorEl){
361
+ this.anchorEl.hide();
362
+ }
363
+ Ext.ToolTip.superclass.hide.call(this);
364
+ delete this.triggerElement;
365
+ },
366
+
367
+ /**
368
+ * Shows this tooltip at the current event target XY position.
369
+ */
370
+ show : function(){
371
+ if(this.anchor){
372
+ // pre-show it off screen so that the el will have dimensions
373
+ // for positioning calcs when getting xy next
374
+ this.showAt([-1000,-1000]);
375
+ this.origConstrainPosition = this.constrainPosition;
376
+ this.constrainPosition = false;
377
+ this.anchor = this.origAnchor;
378
+ }
379
+ this.showAt(this.getTargetXY());
380
+
381
+ if(this.anchor){
382
+ this.syncAnchor();
383
+ this.anchorEl.show();
384
+ this.constrainPosition = this.origConstrainPosition;
385
+ }else{
386
+ this.anchorEl.hide();
387
+ }
388
+ },
389
+
390
+ // inherit docs
391
+ showAt : function(xy){
392
+ this.lastActive = new Date();
393
+ this.clearTimers();
394
+ Ext.ToolTip.superclass.showAt.call(this, xy);
395
+ if(this.dismissDelay && this.autoHide !== false){
396
+ this.dismissTimer = this.hide.defer(this.dismissDelay, this);
397
+ }
398
+ },
399
+
400
+ // private
401
+ syncAnchor : function(){
402
+ var anchorPos, targetPos, offset;
403
+ switch(this.tipAnchor.charAt(0)){
404
+ case 't':
405
+ anchorPos = 'b';
406
+ targetPos = 'tl';
407
+ offset = [20+this.anchorOffset, 2];
408
+ break;
409
+ case 'r':
410
+ anchorPos = 'l';
411
+ targetPos = 'tr';
412
+ offset = [-2, 11+this.anchorOffset];
413
+ break;
414
+ case 'b':
415
+ anchorPos = 't';
416
+ targetPos = 'bl';
417
+ offset = [20+this.anchorOffset, -2];
418
+ break;
419
+ default:
420
+ anchorPos = 'r';
421
+ targetPos = 'tl';
422
+ offset = [2, 11+this.anchorOffset];
423
+ break;
424
+ }
425
+ this.anchorEl.alignTo(this.el, anchorPos+'-'+targetPos, offset);
426
+ },
427
+
428
+ // private
429
+ setPagePosition : function(x, y){
430
+ Ext.ToolTip.superclass.setPagePosition.call(this, x, y);
431
+ if(this.anchor){
432
+ this.syncAnchor();
433
+ }
434
+ },
435
+
436
+ // private
437
+ clearTimer : function(name){
438
+ name = name + 'Timer';
439
+ clearTimeout(this[name]);
440
+ delete this[name];
441
+ },
442
+
443
+ // private
444
+ clearTimers : function(){
445
+ this.clearTimer('show');
446
+ this.clearTimer('dismiss');
447
+ this.clearTimer('hide');
448
+ },
449
+
450
+ // private
451
+ onShow : function(){
452
+ Ext.ToolTip.superclass.onShow.call(this);
453
+ Ext.getDoc().on('mousedown', this.onDocMouseDown, this);
454
+ },
455
+
456
+ // private
457
+ onHide : function(){
458
+ Ext.ToolTip.superclass.onHide.call(this);
459
+ Ext.getDoc().un('mousedown', this.onDocMouseDown, this);
460
+ },
461
+
462
+ // private
463
+ onDocMouseDown : function(e){
464
+ if(this.autoHide !== true && !this.closable && !e.within(this.el.dom)){
465
+ this.disable();
466
+ this.enable.defer(100, this);
467
+ }
468
+ },
469
+
470
+ // private
471
+ onDisable : function(){
472
+ this.clearTimers();
473
+ this.hide();
474
+ },
475
+
476
+ // private
477
+ adjustPosition : function(x, y){
478
+ if(this.contstrainPosition){
479
+ var ay = this.targetXY[1], h = this.getSize().height;
480
+ if(y <= ay && (y+h) >= ay){
481
+ y = ay-h-5;
482
+ }
483
+ }
484
+ return {x : x, y: y};
485
+ },
486
+
487
+ // private
488
+ onDestroy : function(){
489
+ Ext.getDoc().un('mousedown', this.onDocMouseDown, this);
490
+ Ext.ToolTip.superclass.onDestroy.call(this);
491
+ }
492
+ });