extjs-rails 4.1.0.alpha1

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 (517) hide show
  1. data/.gitignore +18 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +36 -0
  4. data/README.md +29 -0
  5. data/Rakefile +2 -0
  6. data/app/assets/javascripts/extjs-rails/extjs-rails.js +1 -0
  7. data/app/assets/javascripts/extjs-rails/index.js.erb +9 -0
  8. data/app/assets/javascripts/extjs-rails/sdk.jsb3 +2017 -0
  9. data/app/assets/javascripts/extjs-rails/src/AbstractComponent.js +3290 -0
  10. data/app/assets/javascripts/extjs-rails/src/AbstractManager.js +144 -0
  11. data/app/assets/javascripts/extjs-rails/src/AbstractPlugin.js +72 -0
  12. data/app/assets/javascripts/extjs-rails/src/Action.js +276 -0
  13. data/app/assets/javascripts/extjs-rails/src/Ajax.js +99 -0
  14. data/app/assets/javascripts/extjs-rails/src/Component.js +1344 -0
  15. data/app/assets/javascripts/extjs-rails/src/ComponentLoader.js +202 -0
  16. data/app/assets/javascripts/extjs-rails/src/ComponentManager.js +47 -0
  17. data/app/assets/javascripts/extjs-rails/src/ComponentQuery.js +521 -0
  18. data/app/assets/javascripts/extjs-rails/src/Editor.js +494 -0
  19. data/app/assets/javascripts/extjs-rails/src/ElementLoader.js +404 -0
  20. data/app/assets/javascripts/extjs-rails/src/FocusManager.js +712 -0
  21. data/app/assets/javascripts/extjs-rails/src/Img.js +111 -0
  22. data/app/assets/javascripts/extjs-rails/src/Layer.js +543 -0
  23. data/app/assets/javascripts/extjs-rails/src/LoadMask.js +432 -0
  24. data/app/assets/javascripts/extjs-rails/src/ModelManager.js +186 -0
  25. data/app/assets/javascripts/extjs-rails/src/PluginManager.js +110 -0
  26. data/app/assets/javascripts/extjs-rails/src/ProgressBar.js +336 -0
  27. data/app/assets/javascripts/extjs-rails/src/Shadow.js +233 -0
  28. data/app/assets/javascripts/extjs-rails/src/ShadowPool.js +43 -0
  29. data/app/assets/javascripts/extjs-rails/src/Template.js +331 -0
  30. data/app/assets/javascripts/extjs-rails/src/XTemplate.js +365 -0
  31. data/app/assets/javascripts/extjs-rails/src/XTemplateCompiler.js +450 -0
  32. data/app/assets/javascripts/extjs-rails/src/XTemplateParser.js +249 -0
  33. data/app/assets/javascripts/extjs-rails/src/ZIndexManager.js +519 -0
  34. data/app/assets/javascripts/extjs-rails/src/app/Application.js +271 -0
  35. data/app/assets/javascripts/extjs-rails/src/app/Controller.js +458 -0
  36. data/app/assets/javascripts/extjs-rails/src/app/EventBus.js +112 -0
  37. data/app/assets/javascripts/extjs-rails/src/button/Button.js +1483 -0
  38. data/app/assets/javascripts/extjs-rails/src/button/Cycle.js +215 -0
  39. data/app/assets/javascripts/extjs-rails/src/button/Split.js +99 -0
  40. data/app/assets/javascripts/extjs-rails/src/chart/Callout.js +140 -0
  41. data/app/assets/javascripts/extjs-rails/src/chart/Chart.js +966 -0
  42. data/app/assets/javascripts/extjs-rails/src/chart/Highlight.js +172 -0
  43. data/app/assets/javascripts/extjs-rails/src/chart/Label.js +241 -0
  44. data/app/assets/javascripts/extjs-rails/src/chart/Legend.js +474 -0
  45. data/app/assets/javascripts/extjs-rails/src/chart/LegendItem.js +217 -0
  46. data/app/assets/javascripts/extjs-rails/src/chart/Mask.js +230 -0
  47. data/app/assets/javascripts/extjs-rails/src/chart/MaskLayer.js +48 -0
  48. data/app/assets/javascripts/extjs-rails/src/chart/Navigation.js +79 -0
  49. data/app/assets/javascripts/extjs-rails/src/chart/Shape.js +106 -0
  50. data/app/assets/javascripts/extjs-rails/src/chart/Tip.js +98 -0
  51. data/app/assets/javascripts/extjs-rails/src/chart/TipSurface.js +42 -0
  52. data/app/assets/javascripts/extjs-rails/src/chart/axis/Abstract.js +73 -0
  53. data/app/assets/javascripts/extjs-rails/src/chart/axis/Axis.js +961 -0
  54. data/app/assets/javascripts/extjs-rails/src/chart/axis/Category.js +130 -0
  55. data/app/assets/javascripts/extjs-rails/src/chart/axis/Gauge.js +203 -0
  56. data/app/assets/javascripts/extjs-rails/src/chart/axis/Numeric.js +235 -0
  57. data/app/assets/javascripts/extjs-rails/src/chart/axis/Radial.js +204 -0
  58. data/app/assets/javascripts/extjs-rails/src/chart/axis/Time.js +135 -0
  59. data/app/assets/javascripts/extjs-rails/src/chart/series/Area.js +803 -0
  60. data/app/assets/javascripts/extjs-rails/src/chart/series/Bar.js +853 -0
  61. data/app/assets/javascripts/extjs-rails/src/chart/series/Cartesian.js +328 -0
  62. data/app/assets/javascripts/extjs-rails/src/chart/series/Column.js +104 -0
  63. data/app/assets/javascripts/extjs-rails/src/chart/series/Gauge.js +490 -0
  64. data/app/assets/javascripts/extjs-rails/src/chart/series/Line.js +1104 -0
  65. data/app/assets/javascripts/extjs-rails/src/chart/series/Pie.js +1072 -0
  66. data/app/assets/javascripts/extjs-rails/src/chart/series/Radar.js +440 -0
  67. data/app/assets/javascripts/extjs-rails/src/chart/series/Scatter.js +668 -0
  68. data/app/assets/javascripts/extjs-rails/src/chart/series/Series.js +443 -0
  69. data/app/assets/javascripts/extjs-rails/src/chart/theme/Base.js +175 -0
  70. data/app/assets/javascripts/extjs-rails/src/chart/theme/Theme.js +253 -0
  71. data/app/assets/javascripts/extjs-rails/src/container/AbstractContainer.js +1062 -0
  72. data/app/assets/javascripts/extjs-rails/src/container/ButtonGroup.js +143 -0
  73. data/app/assets/javascripts/extjs-rails/src/container/Container.js +212 -0
  74. data/app/assets/javascripts/extjs-rails/src/container/DockingContainer.js +265 -0
  75. data/app/assets/javascripts/extjs-rails/src/container/Viewport.js +184 -0
  76. data/app/assets/javascripts/extjs-rails/src/core/dom/Element.form.js +50 -0
  77. data/app/assets/javascripts/extjs-rails/src/core/dom/Element.static-more.js +159 -0
  78. data/app/assets/javascripts/extjs-rails/src/core/examples/index.html +321 -0
  79. data/app/assets/javascripts/extjs-rails/src/core/examples/index.js +6 -0
  80. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/CTO.js +25 -0
  81. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/CoolGuy.js +20 -0
  82. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Developer.js +43 -0
  83. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Gun.js +3 -0
  84. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/HumanResource.js +23 -0
  85. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Musician.js +20 -0
  86. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/Person.js +50 -0
  87. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanComposeSongs.js +9 -0
  88. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanPlayGuitar.js +9 -0
  89. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/ability/CanSing.js +18 -0
  90. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/A.js +3 -0
  91. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/B.js +3 -0
  92. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/C.js +3 -0
  93. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/D.js +3 -0
  94. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/deadlock/E.js +3 -0
  95. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/A.js +3 -0
  96. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/B.js +4 -0
  97. data/app/assets/javascripts/extjs-rails/src/core/examples/src/Sample/notdeadlock/C.js +3 -0
  98. data/app/assets/javascripts/extjs-rails/src/core/src/EventManager.js +1167 -0
  99. data/app/assets/javascripts/extjs-rails/src/core/src/EventObject.js +883 -0
  100. data/app/assets/javascripts/extjs-rails/src/core/src/Ext-more.js +1283 -0
  101. data/app/assets/javascripts/extjs-rails/src/core/src/Ext.js +736 -0
  102. data/app/assets/javascripts/extjs-rails/src/core/src/Support.js +662 -0
  103. data/app/assets/javascripts/extjs-rails/src/core/src/class/Base.js +1085 -0
  104. data/app/assets/javascripts/extjs-rails/src/core/src/class/Class.js +676 -0
  105. data/app/assets/javascripts/extjs-rails/src/core/src/class/ClassManager.js +1591 -0
  106. data/app/assets/javascripts/extjs-rails/src/core/src/class/Loader.js +1423 -0
  107. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.alignment.js +173 -0
  108. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.insertion.js +193 -0
  109. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.js +681 -0
  110. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.position.js +356 -0
  111. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.static.js +474 -0
  112. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.style.js +851 -0
  113. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractElement.traversal.js +180 -0
  114. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractHelper.js +291 -0
  115. data/app/assets/javascripts/extjs-rails/src/core/src/dom/AbstractQuery.js +72 -0
  116. data/app/assets/javascripts/extjs-rails/src/core/src/dom/CompositeElement.js +75 -0
  117. data/app/assets/javascripts/extjs-rails/src/core/src/dom/CompositeElementLite.js +436 -0
  118. data/app/assets/javascripts/extjs-rails/src/core/src/dom/DomQuery-aria.js +1049 -0
  119. data/app/assets/javascripts/extjs-rails/src/core/src/env/Browser.js +186 -0
  120. data/app/assets/javascripts/extjs-rails/src/core/src/env/FeatureDetector.js +274 -0
  121. data/app/assets/javascripts/extjs-rails/src/core/src/env/OS.js +141 -0
  122. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Array.js +1205 -0
  123. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Date.js +1463 -0
  124. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Error.js +326 -0
  125. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Function.js +485 -0
  126. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Number.js +175 -0
  127. data/app/assets/javascripts/extjs-rails/src/core/src/lang/Object.js +606 -0
  128. data/app/assets/javascripts/extjs-rails/src/core/src/lang/String.js +333 -0
  129. data/app/assets/javascripts/extjs-rails/src/core/src/misc/JSON.js +236 -0
  130. data/app/assets/javascripts/extjs-rails/src/core/src/perf/Accumulator.js +244 -0
  131. data/app/assets/javascripts/extjs-rails/src/core/src/perf/Monitor.js +197 -0
  132. data/app/assets/javascripts/extjs-rails/src/core/src/util/DelayedTask.js +71 -0
  133. data/app/assets/javascripts/extjs-rails/src/core/src/util/Event.js +215 -0
  134. data/app/assets/javascripts/extjs-rails/src/core/src/util/Format.js +551 -0
  135. data/app/assets/javascripts/extjs-rails/src/core/src/util/TaskManager.js +417 -0
  136. data/app/assets/javascripts/extjs-rails/src/core/src/version/Version.js +364 -0
  137. data/app/assets/javascripts/extjs-rails/src/core/test/unit/README.MD +91 -0
  138. data/app/assets/javascripts/extjs-rails/src/core/test/unit/bootstrap.js +39 -0
  139. data/app/assets/javascripts/extjs-rails/src/core/test/unit/build/build-data.js +34 -0
  140. data/app/assets/javascripts/extjs-rails/src/core/test/unit/build/build.sh +2 -0
  141. data/app/assets/javascripts/extjs-rails/src/core/test/unit/data.js +27 -0
  142. data/app/assets/javascripts/extjs-rails/src/core/test/unit/index.html +15 -0
  143. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom.html +40 -0
  144. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/extjs-api.js +12 -0
  145. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/platform-api.js +134 -0
  146. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/sanity.js +4 -0
  147. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/touch-api-out.js +128 -0
  148. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/dom/touch-api.js +89 -0
  149. data/app/assets/javascripts/extjs-rails/src/core/test/unit/other_specs/env/Environment.js +357 -0
  150. data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/APITest.js +37 -0
  151. data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/jsb3.js +14 -0
  152. data/app/assets/javascripts/extjs-rails/src/core/test/unit/resources/test-setup.js +137 -0
  153. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/EventManager.js +629 -0
  154. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext-mess.backup +198 -0
  155. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext-more.js +520 -0
  156. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Ext.js +1550 -0
  157. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/Support.js +250 -0
  158. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/Base.js +47 -0
  159. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/Class.js +561 -0
  160. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/class/ClassManager.js +555 -0
  161. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/CompositeElementLite.js +409 -0
  162. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/DomHelper.js +444 -0
  163. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.insertion.js +342 -0
  164. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.js +731 -0
  165. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.static.js +201 -0
  166. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.style.js +118 -0
  167. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/dom/Element.traversal.js +336 -0
  168. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Array.js +1229 -0
  169. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Date.js +697 -0
  170. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Error.js +277 -0
  171. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Function.js +536 -0
  172. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Number.js +323 -0
  173. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/Object.js +591 -0
  174. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/lang/String.js +451 -0
  175. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/misc/JSON.js +252 -0
  176. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/util/Format.js +521 -0
  177. data/app/assets/javascripts/extjs-rails/src/core/test/unit/spec/version/Version.js +148 -0
  178. data/app/assets/javascripts/extjs-rails/src/core/test/unit/specs.html +19 -0
  179. data/app/assets/javascripts/extjs-rails/src/data/AbstractStore.js +887 -0
  180. data/app/assets/javascripts/extjs-rails/src/data/ArrayStore.js +74 -0
  181. data/app/assets/javascripts/extjs-rails/src/data/Batch.js +236 -0
  182. data/app/assets/javascripts/extjs-rails/src/data/BufferStore.js +13 -0
  183. data/app/assets/javascripts/extjs-rails/src/data/Connection.js +969 -0
  184. data/app/assets/javascripts/extjs-rails/src/data/DirectStore.js +50 -0
  185. data/app/assets/javascripts/extjs-rails/src/data/Errors.js +52 -0
  186. data/app/assets/javascripts/extjs-rails/src/data/Field.js +341 -0
  187. data/app/assets/javascripts/extjs-rails/src/data/IdGenerator.js +198 -0
  188. data/app/assets/javascripts/extjs-rails/src/data/JsonP.js +253 -0
  189. data/app/assets/javascripts/extjs-rails/src/data/JsonPStore.js +51 -0
  190. data/app/assets/javascripts/extjs-rails/src/data/JsonStore.js +60 -0
  191. data/app/assets/javascripts/extjs-rails/src/data/Model.js +1673 -0
  192. data/app/assets/javascripts/extjs-rails/src/data/NodeInterface.js +1294 -0
  193. data/app/assets/javascripts/extjs-rails/src/data/NodeStore.js +254 -0
  194. data/app/assets/javascripts/extjs-rails/src/data/Operation.js +331 -0
  195. data/app/assets/javascripts/extjs-rails/src/data/Request.js +40 -0
  196. data/app/assets/javascripts/extjs-rails/src/data/ResultSet.js +56 -0
  197. data/app/assets/javascripts/extjs-rails/src/data/SequentialIdGenerator.js +61 -0
  198. data/app/assets/javascripts/extjs-rails/src/data/SortTypes.js +125 -0
  199. data/app/assets/javascripts/extjs-rails/src/data/Store.js +2609 -0
  200. data/app/assets/javascripts/extjs-rails/src/data/StoreManager.js +156 -0
  201. data/app/assets/javascripts/extjs-rails/src/data/Tree.js +290 -0
  202. data/app/assets/javascripts/extjs-rails/src/data/TreeStore.js +655 -0
  203. data/app/assets/javascripts/extjs-rails/src/data/Types.js +190 -0
  204. data/app/assets/javascripts/extjs-rails/src/data/UuidGenerator.js +215 -0
  205. data/app/assets/javascripts/extjs-rails/src/data/XmlStore.js +76 -0
  206. data/app/assets/javascripts/extjs-rails/src/data/association/Association.js +243 -0
  207. data/app/assets/javascripts/extjs-rails/src/data/association/BelongsTo.js +291 -0
  208. data/app/assets/javascripts/extjs-rails/src/data/association/HasMany.js +289 -0
  209. data/app/assets/javascripts/extjs-rails/src/data/association/HasOne.js +304 -0
  210. data/app/assets/javascripts/extjs-rails/src/data/proxy/Ajax.js +282 -0
  211. data/app/assets/javascripts/extjs-rails/src/data/proxy/Client.js +21 -0
  212. data/app/assets/javascripts/extjs-rails/src/data/proxy/Direct.js +181 -0
  213. data/app/assets/javascripts/extjs-rails/src/data/proxy/JsonP.js +313 -0
  214. data/app/assets/javascripts/extjs-rails/src/data/proxy/LocalStorage.js +69 -0
  215. data/app/assets/javascripts/extjs-rails/src/data/proxy/Memory.js +156 -0
  216. data/app/assets/javascripts/extjs-rails/src/data/proxy/Proxy.js +433 -0
  217. data/app/assets/javascripts/extjs-rails/src/data/proxy/Rest.js +173 -0
  218. data/app/assets/javascripts/extjs-rails/src/data/proxy/Server.js +460 -0
  219. data/app/assets/javascripts/extjs-rails/src/data/proxy/SessionStorage.js +39 -0
  220. data/app/assets/javascripts/extjs-rails/src/data/proxy/WebStorage.js +546 -0
  221. data/app/assets/javascripts/extjs-rails/src/data/reader/Array.js +68 -0
  222. data/app/assets/javascripts/extjs-rails/src/data/reader/Json.js +383 -0
  223. data/app/assets/javascripts/extjs-rails/src/data/reader/Reader.js +735 -0
  224. data/app/assets/javascripts/extjs-rails/src/data/reader/Xml.js +292 -0
  225. data/app/assets/javascripts/extjs-rails/src/data/validations.js +149 -0
  226. data/app/assets/javascripts/extjs-rails/src/data/writer/Json.js +81 -0
  227. data/app/assets/javascripts/extjs-rails/src/data/writer/Writer.js +147 -0
  228. data/app/assets/javascripts/extjs-rails/src/data/writer/Xml.js +88 -0
  229. data/app/assets/javascripts/extjs-rails/src/dd/DD.js +300 -0
  230. data/app/assets/javascripts/extjs-rails/src/dd/DDProxy.js +204 -0
  231. data/app/assets/javascripts/extjs-rails/src/dd/DDTarget.js +171 -0
  232. data/app/assets/javascripts/extjs-rails/src/dd/DragDrop.js +1101 -0
  233. data/app/assets/javascripts/extjs-rails/src/dd/DragDropManager.js +1264 -0
  234. data/app/assets/javascripts/extjs-rails/src/dd/DragSource.js +392 -0
  235. data/app/assets/javascripts/extjs-rails/src/dd/DragTracker.js +562 -0
  236. data/app/assets/javascripts/extjs-rails/src/dd/DragZone.js +137 -0
  237. data/app/assets/javascripts/extjs-rails/src/dd/DropTarget.js +118 -0
  238. data/app/assets/javascripts/extjs-rails/src/dd/DropZone.js +254 -0
  239. data/app/assets/javascripts/extjs-rails/src/dd/Registry.js +117 -0
  240. data/app/assets/javascripts/extjs-rails/src/dd/ScrollManager.js +218 -0
  241. data/app/assets/javascripts/extjs-rails/src/dd/StatusProxy.js +179 -0
  242. data/app/assets/javascripts/extjs-rails/src/diag/layout/Context.js +523 -0
  243. data/app/assets/javascripts/extjs-rails/src/diag/layout/ContextItem.js +179 -0
  244. data/app/assets/javascripts/extjs-rails/src/direct/Event.js +35 -0
  245. data/app/assets/javascripts/extjs-rails/src/direct/ExceptionEvent.js +16 -0
  246. data/app/assets/javascripts/extjs-rails/src/direct/JsonProvider.js +82 -0
  247. data/app/assets/javascripts/extjs-rails/src/direct/Manager.js +263 -0
  248. data/app/assets/javascripts/extjs-rails/src/direct/PollingProvider.js +156 -0
  249. data/app/assets/javascripts/extjs-rails/src/direct/Provider.js +96 -0
  250. data/app/assets/javascripts/extjs-rails/src/direct/RemotingEvent.js +24 -0
  251. data/app/assets/javascripts/extjs-rails/src/direct/RemotingMethod.js +100 -0
  252. data/app/assets/javascripts/extjs-rails/src/direct/RemotingProvider.js +510 -0
  253. data/app/assets/javascripts/extjs-rails/src/direct/Transaction.js +41 -0
  254. data/app/assets/javascripts/extjs-rails/src/dom/Element.alignment.js +378 -0
  255. data/app/assets/javascripts/extjs-rails/src/dom/Element.anim.js +962 -0
  256. data/app/assets/javascripts/extjs-rails/src/dom/Element.dd.js +40 -0
  257. data/app/assets/javascripts/extjs-rails/src/dom/Element.fx.js +194 -0
  258. data/app/assets/javascripts/extjs-rails/src/dom/Element.js +1407 -0
  259. data/app/assets/javascripts/extjs-rails/src/dom/Element.position.js +501 -0
  260. data/app/assets/javascripts/extjs-rails/src/dom/Element.scroll.js +214 -0
  261. data/app/assets/javascripts/extjs-rails/src/dom/Element.style.js +792 -0
  262. data/app/assets/javascripts/extjs-rails/src/dom/Element.traversal.js +8 -0
  263. data/app/assets/javascripts/extjs-rails/src/dom/Helper.js +466 -0
  264. data/app/assets/javascripts/extjs-rails/src/dom/Query.js +1067 -0
  265. data/app/assets/javascripts/extjs-rails/src/draw/Color.js +303 -0
  266. data/app/assets/javascripts/extjs-rails/src/draw/Component.js +245 -0
  267. data/app/assets/javascripts/extjs-rails/src/draw/CompositeSprite.js +299 -0
  268. data/app/assets/javascripts/extjs-rails/src/draw/Draw.js +1217 -0
  269. data/app/assets/javascripts/extjs-rails/src/draw/Matrix.js +183 -0
  270. data/app/assets/javascripts/extjs-rails/src/draw/Sprite.js +554 -0
  271. data/app/assets/javascripts/extjs-rails/src/draw/SpriteDD.js +87 -0
  272. data/app/assets/javascripts/extjs-rails/src/draw/Surface.js +1001 -0
  273. data/app/assets/javascripts/extjs-rails/src/draw/Text.js +175 -0
  274. data/app/assets/javascripts/extjs-rails/src/draw/engine/ImageExporter.js +106 -0
  275. data/app/assets/javascripts/extjs-rails/src/draw/engine/Svg.js +734 -0
  276. data/app/assets/javascripts/extjs-rails/src/draw/engine/SvgExporter.js +280 -0
  277. data/app/assets/javascripts/extjs-rails/src/draw/engine/Vml.js +916 -0
  278. data/app/assets/javascripts/extjs-rails/src/flash/Component.js +248 -0
  279. data/app/assets/javascripts/extjs-rails/src/form/Basic.js +1018 -0
  280. data/app/assets/javascripts/extjs-rails/src/form/CheckboxGroup.js +441 -0
  281. data/app/assets/javascripts/extjs-rails/src/form/CheckboxManager.js +26 -0
  282. data/app/assets/javascripts/extjs-rails/src/form/FieldAncestor.js +210 -0
  283. data/app/assets/javascripts/extjs-rails/src/form/FieldContainer.js +290 -0
  284. data/app/assets/javascripts/extjs-rails/src/form/FieldSet.js +506 -0
  285. data/app/assets/javascripts/extjs-rails/src/form/Label.js +110 -0
  286. data/app/assets/javascripts/extjs-rails/src/form/Labelable.js +764 -0
  287. data/app/assets/javascripts/extjs-rails/src/form/Panel.js +335 -0
  288. data/app/assets/javascripts/extjs-rails/src/form/RadioGroup.js +124 -0
  289. data/app/assets/javascripts/extjs-rails/src/form/RadioManager.js +26 -0
  290. data/app/assets/javascripts/extjs-rails/src/form/action/Action.js +307 -0
  291. data/app/assets/javascripts/extjs-rails/src/form/action/DirectLoad.js +107 -0
  292. data/app/assets/javascripts/extjs-rails/src/form/action/DirectSubmit.js +119 -0
  293. data/app/assets/javascripts/extjs-rails/src/form/action/Load.js +120 -0
  294. data/app/assets/javascripts/extjs-rails/src/form/action/StandardSubmit.js +34 -0
  295. data/app/assets/javascripts/extjs-rails/src/form/action/Submit.js +257 -0
  296. data/app/assets/javascripts/extjs-rails/src/form/field/Base.js +813 -0
  297. data/app/assets/javascripts/extjs-rails/src/form/field/Checkbox.js +505 -0
  298. data/app/assets/javascripts/extjs-rails/src/form/field/ComboBox.js +1427 -0
  299. data/app/assets/javascripts/extjs-rails/src/form/field/Date.js +578 -0
  300. data/app/assets/javascripts/extjs-rails/src/form/field/Display.js +155 -0
  301. data/app/assets/javascripts/extjs-rails/src/form/field/Field.js +430 -0
  302. data/app/assets/javascripts/extjs-rails/src/form/field/File.js +265 -0
  303. data/app/assets/javascripts/extjs-rails/src/form/field/Hidden.js +75 -0
  304. data/app/assets/javascripts/extjs-rails/src/form/field/HtmlEditor.js +1439 -0
  305. data/app/assets/javascripts/extjs-rails/src/form/field/Number.js +380 -0
  306. data/app/assets/javascripts/extjs-rails/src/form/field/Picker.js +321 -0
  307. data/app/assets/javascripts/extjs-rails/src/form/field/Radio.js +279 -0
  308. data/app/assets/javascripts/extjs-rails/src/form/field/Spinner.js +321 -0
  309. data/app/assets/javascripts/extjs-rails/src/form/field/Text.js +727 -0
  310. data/app/assets/javascripts/extjs-rails/src/form/field/TextArea.js +228 -0
  311. data/app/assets/javascripts/extjs-rails/src/form/field/Time.js +459 -0
  312. data/app/assets/javascripts/extjs-rails/src/form/field/Trigger.js +469 -0
  313. data/app/assets/javascripts/extjs-rails/src/form/field/VTypes.js +172 -0
  314. data/app/assets/javascripts/extjs-rails/src/fx/Anim.js +472 -0
  315. data/app/assets/javascripts/extjs-rails/src/fx/Animator.js +410 -0
  316. data/app/assets/javascripts/extjs-rails/src/fx/CubicBezier.js +77 -0
  317. data/app/assets/javascripts/extjs-rails/src/fx/Easing.js +136 -0
  318. data/app/assets/javascripts/extjs-rails/src/fx/Manager.js +353 -0
  319. data/app/assets/javascripts/extjs-rails/src/fx/PropertyHandler.js +381 -0
  320. data/app/assets/javascripts/extjs-rails/src/fx/Queue.js +123 -0
  321. data/app/assets/javascripts/extjs-rails/src/fx/target/Component.js +118 -0
  322. data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeElement.js +46 -0
  323. data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeElementCSS.js +22 -0
  324. data/app/assets/javascripts/extjs-rails/src/fx/target/CompositeSprite.js +34 -0
  325. data/app/assets/javascripts/extjs-rails/src/fx/target/Element.js +83 -0
  326. data/app/assets/javascripts/extjs-rails/src/fx/target/ElementCSS.js +77 -0
  327. data/app/assets/javascripts/extjs-rails/src/fx/target/Sprite.js +128 -0
  328. data/app/assets/javascripts/extjs-rails/src/fx/target/Target.js +36 -0
  329. data/app/assets/javascripts/extjs-rails/src/grid/CellEditor.js +172 -0
  330. data/app/assets/javascripts/extjs-rails/src/grid/ColumnComponentLayout.js +34 -0
  331. data/app/assets/javascripts/extjs-rails/src/grid/ColumnLayout.js +201 -0
  332. data/app/assets/javascripts/extjs-rails/src/grid/Lockable.js +863 -0
  333. data/app/assets/javascripts/extjs-rails/src/grid/LockingView.js +169 -0
  334. data/app/assets/javascripts/extjs-rails/src/grid/PagingScroller.js +539 -0
  335. data/app/assets/javascripts/extjs-rails/src/grid/Panel.js +393 -0
  336. data/app/assets/javascripts/extjs-rails/src/grid/RowEditor.js +731 -0
  337. data/app/assets/javascripts/extjs-rails/src/grid/RowNumberer.js +76 -0
  338. data/app/assets/javascripts/extjs-rails/src/grid/Scroller.js +5 -0
  339. data/app/assets/javascripts/extjs-rails/src/grid/View.js +44 -0
  340. data/app/assets/javascripts/extjs-rails/src/grid/ViewDropZone.js +41 -0
  341. data/app/assets/javascripts/extjs-rails/src/grid/column/Action.js +318 -0
  342. data/app/assets/javascripts/extjs-rails/src/grid/column/Boolean.js +82 -0
  343. data/app/assets/javascripts/extjs-rails/src/grid/column/Column.js +835 -0
  344. data/app/assets/javascripts/extjs-rails/src/grid/column/Date.js +63 -0
  345. data/app/assets/javascripts/extjs-rails/src/grid/column/Number.js +52 -0
  346. data/app/assets/javascripts/extjs-rails/src/grid/column/Template.js +58 -0
  347. data/app/assets/javascripts/extjs-rails/src/grid/feature/AbstractSummary.js +154 -0
  348. data/app/assets/javascripts/extjs-rails/src/grid/feature/Chunking.js +77 -0
  349. data/app/assets/javascripts/extjs-rails/src/grid/feature/Feature.js +158 -0
  350. data/app/assets/javascripts/extjs-rails/src/grid/feature/Grouping.js +822 -0
  351. data/app/assets/javascripts/extjs-rails/src/grid/feature/GroupingSummary.js +243 -0
  352. data/app/assets/javascripts/extjs-rails/src/grid/feature/RowBody.js +116 -0
  353. data/app/assets/javascripts/extjs-rails/src/grid/feature/RowWrap.js +120 -0
  354. data/app/assets/javascripts/extjs-rails/src/grid/feature/Summary.js +167 -0
  355. data/app/assets/javascripts/extjs-rails/src/grid/header/Container.js +965 -0
  356. data/app/assets/javascripts/extjs-rails/src/grid/header/DragZone.js +69 -0
  357. data/app/assets/javascripts/extjs-rails/src/grid/header/DropZone.js +265 -0
  358. data/app/assets/javascripts/extjs-rails/src/grid/plugin/CellEditing.js +453 -0
  359. data/app/assets/javascripts/extjs-rails/src/grid/plugin/DragDrop.js +254 -0
  360. data/app/assets/javascripts/extjs-rails/src/grid/plugin/Editing.js +561 -0
  361. data/app/assets/javascripts/extjs-rails/src/grid/plugin/HeaderReorderer.js +49 -0
  362. data/app/assets/javascripts/extjs-rails/src/grid/plugin/HeaderResizer.js +292 -0
  363. data/app/assets/javascripts/extjs-rails/src/grid/plugin/RowEditing.js +339 -0
  364. data/app/assets/javascripts/extjs-rails/src/grid/property/Grid.js +351 -0
  365. data/app/assets/javascripts/extjs-rails/src/grid/property/HeaderContainer.js +109 -0
  366. data/app/assets/javascripts/extjs-rails/src/grid/property/Property.js +36 -0
  367. data/app/assets/javascripts/extjs-rails/src/grid/property/Store.js +141 -0
  368. data/app/assets/javascripts/extjs-rails/src/layout/ClassList.js +90 -0
  369. data/app/assets/javascripts/extjs-rails/src/layout/Context.js +1232 -0
  370. data/app/assets/javascripts/extjs-rails/src/layout/ContextItem.js +1470 -0
  371. data/app/assets/javascripts/extjs-rails/src/layout/Layout.js +761 -0
  372. data/app/assets/javascripts/extjs-rails/src/layout/component/Auto.js +220 -0
  373. data/app/assets/javascripts/extjs-rails/src/layout/component/Body.js +80 -0
  374. data/app/assets/javascripts/extjs-rails/src/layout/component/BoundList.js +95 -0
  375. data/app/assets/javascripts/extjs-rails/src/layout/component/Button.js +261 -0
  376. data/app/assets/javascripts/extjs-rails/src/layout/component/Component.js +427 -0
  377. data/app/assets/javascripts/extjs-rails/src/layout/component/Dock.js +1132 -0
  378. data/app/assets/javascripts/extjs-rails/src/layout/component/Draw.js +79 -0
  379. data/app/assets/javascripts/extjs-rails/src/layout/component/FieldSet.js +62 -0
  380. data/app/assets/javascripts/extjs-rails/src/layout/component/ProgressBar.js +54 -0
  381. data/app/assets/javascripts/extjs-rails/src/layout/component/Tab.js +23 -0
  382. data/app/assets/javascripts/extjs-rails/src/layout/component/field/ComboBox.js +52 -0
  383. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Field.js +372 -0
  384. data/app/assets/javascripts/extjs-rails/src/layout/component/field/FieldContainer.js +48 -0
  385. data/app/assets/javascripts/extjs-rails/src/layout/component/field/HtmlEditor.js +54 -0
  386. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Slider.js +58 -0
  387. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Text.js +75 -0
  388. data/app/assets/javascripts/extjs-rails/src/layout/component/field/TextArea.js +51 -0
  389. data/app/assets/javascripts/extjs-rails/src/layout/component/field/Trigger.js +132 -0
  390. data/app/assets/javascripts/extjs-rails/src/layout/container/Absolute.js +121 -0
  391. data/app/assets/javascripts/extjs-rails/src/layout/container/Accordion.js +308 -0
  392. data/app/assets/javascripts/extjs-rails/src/layout/container/Anchor.js +403 -0
  393. data/app/assets/javascripts/extjs-rails/src/layout/container/Auto.js +70 -0
  394. data/app/assets/javascripts/extjs-rails/src/layout/container/Border-old-js +1079 -0
  395. data/app/assets/javascripts/extjs-rails/src/layout/container/Border.js +816 -0
  396. data/app/assets/javascripts/extjs-rails/src/layout/container/Box.js +929 -0
  397. data/app/assets/javascripts/extjs-rails/src/layout/container/Card.js +361 -0
  398. data/app/assets/javascripts/extjs-rails/src/layout/container/CheckboxGroup.js +376 -0
  399. data/app/assets/javascripts/extjs-rails/src/layout/container/Column.js +234 -0
  400. data/app/assets/javascripts/extjs-rails/src/layout/container/Container.js +961 -0
  401. data/app/assets/javascripts/extjs-rails/src/layout/container/Editor.js +74 -0
  402. data/app/assets/javascripts/extjs-rails/src/layout/container/Fit.js +287 -0
  403. data/app/assets/javascripts/extjs-rails/src/layout/container/Form.js +157 -0
  404. data/app/assets/javascripts/extjs-rails/src/layout/container/HBox.js +134 -0
  405. data/app/assets/javascripts/extjs-rails/src/layout/container/Table.js +412 -0
  406. data/app/assets/javascripts/extjs-rails/src/layout/container/VBox.js +139 -0
  407. data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/Menu.js +365 -0
  408. data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/None.js +83 -0
  409. data/app/assets/javascripts/extjs-rails/src/layout/container/boxOverflow/Scroller.js +475 -0
  410. data/app/assets/javascripts/extjs-rails/src/menu/CheckItem.js +169 -0
  411. data/app/assets/javascripts/extjs-rails/src/menu/ColorPicker.js +110 -0
  412. data/app/assets/javascripts/extjs-rails/src/menu/DatePicker.js +100 -0
  413. data/app/assets/javascripts/extjs-rails/src/menu/Item.js +553 -0
  414. data/app/assets/javascripts/extjs-rails/src/menu/KeyNav.js +134 -0
  415. data/app/assets/javascripts/extjs-rails/src/menu/Manager.js +219 -0
  416. data/app/assets/javascripts/extjs-rails/src/menu/Menu.js +579 -0
  417. data/app/assets/javascripts/extjs-rails/src/menu/Separator.js +126 -0
  418. data/app/assets/javascripts/extjs-rails/src/panel/AbstractPanel.js +323 -0
  419. data/app/assets/javascripts/extjs-rails/src/panel/DD.js +99 -0
  420. data/app/assets/javascripts/extjs-rails/src/panel/Header.js +518 -0
  421. data/app/assets/javascripts/extjs-rails/src/panel/Panel.js +2150 -0
  422. data/app/assets/javascripts/extjs-rails/src/panel/Proxy.js +131 -0
  423. data/app/assets/javascripts/extjs-rails/src/panel/Table.js +1018 -0
  424. data/app/assets/javascripts/extjs-rails/src/panel/Tool.js +304 -0
  425. data/app/assets/javascripts/extjs-rails/src/picker/Color.js +219 -0
  426. data/app/assets/javascripts/extjs-rails/src/picker/Date.js +1140 -0
  427. data/app/assets/javascripts/extjs-rails/src/picker/Month.js +490 -0
  428. data/app/assets/javascripts/extjs-rails/src/picker/Time.js +165 -0
  429. data/app/assets/javascripts/extjs-rails/src/resizer/BorderSplitter.js +22 -0
  430. data/app/assets/javascripts/extjs-rails/src/resizer/BorderSplitterTracker.js +210 -0
  431. data/app/assets/javascripts/extjs-rails/src/resizer/Handle.js +29 -0
  432. data/app/assets/javascripts/extjs-rails/src/resizer/ResizeTracker.js +346 -0
  433. data/app/assets/javascripts/extjs-rails/src/resizer/Resizer.js +477 -0
  434. data/app/assets/javascripts/extjs-rails/src/resizer/Splitter.js +242 -0
  435. data/app/assets/javascripts/extjs-rails/src/resizer/SplitterTracker.js +230 -0
  436. data/app/assets/javascripts/extjs-rails/src/selection/CellModel.js +395 -0
  437. data/app/assets/javascripts/extjs-rails/src/selection/CheckboxModel.js +234 -0
  438. data/app/assets/javascripts/extjs-rails/src/selection/DataViewModel.js +160 -0
  439. data/app/assets/javascripts/extjs-rails/src/selection/Model.js +646 -0
  440. data/app/assets/javascripts/extjs-rails/src/selection/RowModel.js +499 -0
  441. data/app/assets/javascripts/extjs-rails/src/selection/TreeModel.js +78 -0
  442. data/app/assets/javascripts/extjs-rails/src/slider/Multi.js +835 -0
  443. data/app/assets/javascripts/extjs-rails/src/slider/Single.js +56 -0
  444. data/app/assets/javascripts/extjs-rails/src/slider/Thumb.js +259 -0
  445. data/app/assets/javascripts/extjs-rails/src/slider/Tip.js +130 -0
  446. data/app/assets/javascripts/extjs-rails/src/state/CookieProvider.js +120 -0
  447. data/app/assets/javascripts/extjs-rails/src/state/LocalStorageProvider.js +72 -0
  448. data/app/assets/javascripts/extjs-rails/src/state/Manager.js +70 -0
  449. data/app/assets/javascripts/extjs-rails/src/state/Provider.js +182 -0
  450. data/app/assets/javascripts/extjs-rails/src/state/Stateful.js +364 -0
  451. data/app/assets/javascripts/extjs-rails/src/tab/Bar.js +258 -0
  452. data/app/assets/javascripts/extjs-rails/src/tab/Panel.js +654 -0
  453. data/app/assets/javascripts/extjs-rails/src/tab/Tab.js +358 -0
  454. data/app/assets/javascripts/extjs-rails/src/tail.js +10 -0
  455. data/app/assets/javascripts/extjs-rails/src/tip/QuickTip.js +335 -0
  456. data/app/assets/javascripts/extjs-rails/src/tip/QuickTipManager.js +239 -0
  457. data/app/assets/javascripts/extjs-rails/src/tip/Tip.js +160 -0
  458. data/app/assets/javascripts/extjs-rails/src/tip/ToolTip.js +691 -0
  459. data/app/assets/javascripts/extjs-rails/src/toolbar/Fill.js +28 -0
  460. data/app/assets/javascripts/extjs-rails/src/toolbar/Item.js +16 -0
  461. data/app/assets/javascripts/extjs-rails/src/toolbar/Paging.js +600 -0
  462. data/app/assets/javascripts/extjs-rails/src/toolbar/Separator.js +23 -0
  463. data/app/assets/javascripts/extjs-rails/src/toolbar/Spacer.js +33 -0
  464. data/app/assets/javascripts/extjs-rails/src/toolbar/TextItem.js +57 -0
  465. data/app/assets/javascripts/extjs-rails/src/toolbar/Toolbar-legacy.js +123 -0
  466. data/app/assets/javascripts/extjs-rails/src/toolbar/Toolbar.js +447 -0
  467. data/app/assets/javascripts/extjs-rails/src/tree/Column.js +90 -0
  468. data/app/assets/javascripts/extjs-rails/src/tree/Panel.js +505 -0
  469. data/app/assets/javascripts/extjs-rails/src/tree/View.js +658 -0
  470. data/app/assets/javascripts/extjs-rails/src/tree/ViewDragZone.js +49 -0
  471. data/app/assets/javascripts/extjs-rails/src/tree/ViewDropZone.js +287 -0
  472. data/app/assets/javascripts/extjs-rails/src/tree/plugin/TreeViewDragDrop.js +244 -0
  473. data/app/assets/javascripts/extjs-rails/src/util/AbstractMixedCollection.js +772 -0
  474. data/app/assets/javascripts/extjs-rails/src/util/Animate.js +426 -0
  475. data/app/assets/javascripts/extjs-rails/src/util/Bindable.js +102 -0
  476. data/app/assets/javascripts/extjs-rails/src/util/CSS.js +185 -0
  477. data/app/assets/javascripts/extjs-rails/src/util/ClickRepeater.js +238 -0
  478. data/app/assets/javascripts/extjs-rails/src/util/ComponentDragger.js +126 -0
  479. data/app/assets/javascripts/extjs-rails/src/util/Cookies.js +91 -0
  480. data/app/assets/javascripts/extjs-rails/src/util/ElementContainer.js +293 -0
  481. data/app/assets/javascripts/extjs-rails/src/util/Filter.js +159 -0
  482. data/app/assets/javascripts/extjs-rails/src/util/Floating.js +321 -0
  483. data/app/assets/javascripts/extjs-rails/src/util/Grouper.js +26 -0
  484. data/app/assets/javascripts/extjs-rails/src/util/HashMap.js +356 -0
  485. data/app/assets/javascripts/extjs-rails/src/util/History.js +285 -0
  486. data/app/assets/javascripts/extjs-rails/src/util/Inflector.js +297 -0
  487. data/app/assets/javascripts/extjs-rails/src/util/KeyMap.js +427 -0
  488. data/app/assets/javascripts/extjs-rails/src/util/KeyNav.js +239 -0
  489. data/app/assets/javascripts/extjs-rails/src/util/LruCache.js +257 -0
  490. data/app/assets/javascripts/extjs-rails/src/util/Memento.js +131 -0
  491. data/app/assets/javascripts/extjs-rails/src/util/MixedCollection.js +239 -0
  492. data/app/assets/javascripts/extjs-rails/src/util/Observable.js +1003 -0
  493. data/app/assets/javascripts/extjs-rails/src/util/Offset.js +60 -0
  494. data/app/assets/javascripts/extjs-rails/src/util/Point.js +93 -0
  495. data/app/assets/javascripts/extjs-rails/src/util/ProtoElement.js +205 -0
  496. data/app/assets/javascripts/extjs-rails/src/util/Queue.js +76 -0
  497. data/app/assets/javascripts/extjs-rails/src/util/Region.js +388 -0
  498. data/app/assets/javascripts/extjs-rails/src/util/Renderable.js +1079 -0
  499. data/app/assets/javascripts/extjs-rails/src/util/Sortable.js +248 -0
  500. data/app/assets/javascripts/extjs-rails/src/util/Sorter.js +179 -0
  501. data/app/assets/javascripts/extjs-rails/src/util/TextMetrics.js +148 -0
  502. data/app/assets/javascripts/extjs-rails/src/view/AbstractView.js +1103 -0
  503. data/app/assets/javascripts/extjs-rails/src/view/BoundList.js +207 -0
  504. data/app/assets/javascripts/extjs-rails/src/view/BoundListKeyNav.js +92 -0
  505. data/app/assets/javascripts/extjs-rails/src/view/DragZone.js +106 -0
  506. data/app/assets/javascripts/extjs-rails/src/view/DropZone.js +240 -0
  507. data/app/assets/javascripts/extjs-rails/src/view/Table.js +1229 -0
  508. data/app/assets/javascripts/extjs-rails/src/view/TableChunker.js +139 -0
  509. data/app/assets/javascripts/extjs-rails/src/view/View.js +636 -0
  510. data/app/assets/javascripts/extjs-rails/src/window/MessageBox.js +880 -0
  511. data/app/assets/javascripts/extjs-rails/src/window/Window-legacy.js +56 -0
  512. data/app/assets/javascripts/extjs-rails/src/window/Window.js +793 -0
  513. data/extjs-rails.gemspec +24 -0
  514. data/lib/extjs-rails.rb +7 -0
  515. data/lib/extjs-rails/engine.rb +7 -0
  516. data/lib/extjs-rails/version.rb +5 -0
  517. metadata +660 -0
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @class Ext.state.LocalStorageProvider
3
+ * A Provider implementation which saves and retrieves state via the HTML5 localStorage object.
4
+ * If the browser does not support local storage, an exception will be thrown upon instantiating
5
+ * this class.
6
+ */
7
+
8
+ Ext.define('Ext.state.LocalStorageProvider', {
9
+ /* Begin Definitions */
10
+
11
+ extend: 'Ext.state.Provider',
12
+
13
+ alias: 'state.localstorage',
14
+
15
+ /* End Definitions */
16
+
17
+ constructor: function(){
18
+ var me = this;
19
+ me.callParent(arguments);
20
+ me.store = me.getStorageObject();
21
+ me.state = me.readLocalStorage();
22
+ },
23
+
24
+ readLocalStorage: function(){
25
+ var store = this.store,
26
+ i = 0,
27
+ len = store.length,
28
+ prefix = this.prefix,
29
+ prefixLen = prefix.length,
30
+ data = {},
31
+ key;
32
+
33
+ for (; i < len; ++i) {
34
+ key = store.key(i);
35
+ if (key.substring(0, prefixLen) == prefix) {
36
+ data[key.substr(prefixLen)] = this.decodeValue(store.getItem(key));
37
+ }
38
+ }
39
+ return data;
40
+ },
41
+
42
+ set : function(name, value){
43
+ var me = this;
44
+
45
+ me.clear(name);
46
+ if (typeof value == "undefined" || value === null) {
47
+ return;
48
+ }
49
+ me.store.setItem(me.prefix + name, me.encodeValue(value));
50
+ me.callParent(arguments);
51
+ },
52
+
53
+ // private
54
+ clear : function(name){
55
+ this.store.removeItem(this.prefix + name);
56
+ this.callParent(arguments);
57
+ },
58
+
59
+ getStorageObject: function(){
60
+ try {
61
+ var supports = 'localStorage' in window && window['localStorage'] !== null;
62
+ if (supports) {
63
+ return window.localStorage;
64
+ }
65
+ } catch (e) {
66
+ return false;
67
+ }
68
+ //<debug>
69
+ Ext.Error.raise('LocalStorage is not supported by the current browser');
70
+ //</debug>
71
+ }
72
+ });
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @class Ext.state.Manager
3
+ * This is the global state manager. By default all components that are "state aware" check this class
4
+ * for state information if you don't pass them a custom state provider. In order for this class
5
+ * to be useful, it must be initialized with a provider when your application initializes. Example usage:
6
+ <pre><code>
7
+ // in your initialization function
8
+ init : function(){
9
+ Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
10
+ var win = new Window(...);
11
+ win.restoreState();
12
+ }
13
+ </code></pre>
14
+ * This class passes on calls from components to the underlying {@link Ext.state.Provider} so that
15
+ * there is a common interface that can be used without needing to refer to a specific provider instance
16
+ * in every component.
17
+ * @singleton
18
+ * @docauthor Evan Trimboli <evan@sencha.com>
19
+ */
20
+ Ext.define('Ext.state.Manager', {
21
+ singleton: true,
22
+ requires: ['Ext.state.Provider'],
23
+ constructor: function() {
24
+ this.provider = new Ext.state.Provider();
25
+ },
26
+
27
+
28
+ /**
29
+ * Configures the default state provider for your application
30
+ * @param {Ext.state.Provider} stateProvider The state provider to set
31
+ */
32
+ setProvider : function(stateProvider){
33
+ this.provider = stateProvider;
34
+ },
35
+
36
+ /**
37
+ * Returns the current value for a key
38
+ * @param {String} name The key name
39
+ * @param {Object} defaultValue The default value to return if the key lookup does not match
40
+ * @return {Object} The state data
41
+ */
42
+ get : function(key, defaultValue){
43
+ return this.provider.get(key, defaultValue);
44
+ },
45
+
46
+ /**
47
+ * Sets the value for a key
48
+ * @param {String} name The key name
49
+ * @param {Object} value The state data
50
+ */
51
+ set : function(key, value){
52
+ this.provider.set(key, value);
53
+ },
54
+
55
+ /**
56
+ * Clears a value from the state
57
+ * @param {String} name The key name
58
+ */
59
+ clear : function(key){
60
+ this.provider.clear(key);
61
+ },
62
+
63
+ /**
64
+ * Gets the currently configured state provider
65
+ * @return {Ext.state.Provider} The state provider
66
+ */
67
+ getProvider : function(){
68
+ return this.provider;
69
+ }
70
+ });
@@ -0,0 +1,182 @@
1
+ /**
2
+ * @class Ext.state.Provider
3
+ * <p>Abstract base class for state provider implementations. The provider is responsible
4
+ * for setting values and extracting values to/from the underlying storage source. The
5
+ * storage source can vary and the details should be implemented in a subclass. For example
6
+ * a provider could use a server side database or the browser localstorage where supported.</p>
7
+ *
8
+ * <p>This class provides methods for encoding and decoding <b>typed</b> variables including
9
+ * dates and defines the Provider interface. By default these methods put the value and the
10
+ * type information into a delimited string that can be stored. These should be overridden in
11
+ * a subclass if you want to change the format of the encoded value and subsequent decoding.</p>
12
+ */
13
+ Ext.define('Ext.state.Provider', {
14
+ mixins: {
15
+ observable: 'Ext.util.Observable'
16
+ },
17
+
18
+ /**
19
+ * @cfg {String} prefix A string to prefix to items stored in the underlying state store.
20
+ * Defaults to <tt>'ext-'</tt>
21
+ */
22
+ prefix: 'ext-',
23
+
24
+ constructor : function(config){
25
+ config = config || {};
26
+ var me = this;
27
+ Ext.apply(me, config);
28
+ /**
29
+ * @event statechange
30
+ * Fires when a state change occurs.
31
+ * @param {Ext.state.Provider} this This state provider
32
+ * @param {String} key The state key which was changed
33
+ * @param {String} value The encoded value for the state
34
+ */
35
+ me.addEvents("statechange");
36
+ me.state = {};
37
+ me.mixins.observable.constructor.call(me);
38
+ },
39
+
40
+ /**
41
+ * Returns the current value for a key
42
+ * @param {String} name The key name
43
+ * @param {Object} defaultValue A default value to return if the key's value is not found
44
+ * @return {Object} The state data
45
+ */
46
+ get : function(name, defaultValue){
47
+ return typeof this.state[name] == "undefined" ?
48
+ defaultValue : this.state[name];
49
+ },
50
+
51
+ /**
52
+ * Clears a value from the state
53
+ * @param {String} name The key name
54
+ */
55
+ clear : function(name){
56
+ var me = this;
57
+ delete me.state[name];
58
+ me.fireEvent("statechange", me, name, null);
59
+ },
60
+
61
+ /**
62
+ * Sets the value for a key
63
+ * @param {String} name The key name
64
+ * @param {Object} value The value to set
65
+ */
66
+ set : function(name, value){
67
+ var me = this;
68
+ me.state[name] = value;
69
+ me.fireEvent("statechange", me, name, value);
70
+ },
71
+
72
+ /**
73
+ * Decodes a string previously encoded with {@link #encodeValue}.
74
+ * @param {String} value The value to decode
75
+ * @return {Object} The decoded value
76
+ */
77
+ decodeValue : function(value){
78
+
79
+ // a -> Array
80
+ // n -> Number
81
+ // d -> Date
82
+ // b -> Boolean
83
+ // s -> String
84
+ // o -> Object
85
+ // -> Empty (null)
86
+
87
+ var me = this,
88
+ re = /^(a|n|d|b|s|o|e)\:(.*)$/,
89
+ matches = re.exec(unescape(value)),
90
+ all,
91
+ type,
92
+ keyValue,
93
+ values,
94
+ vLen,
95
+ v;
96
+
97
+ if(!matches || !matches[1]){
98
+ return; // non state
99
+ }
100
+
101
+ type = matches[1];
102
+ value = matches[2];
103
+ switch (type) {
104
+ case 'e':
105
+ return null;
106
+ case 'n':
107
+ return parseFloat(value);
108
+ case 'd':
109
+ return new Date(Date.parse(value));
110
+ case 'b':
111
+ return (value == '1');
112
+ case 'a':
113
+ all = [];
114
+ if(value != ''){
115
+ values = value.split('^');
116
+ vLen = values.length;
117
+
118
+ for (v = 0; v < vLen; v++) {
119
+ value = values[v];
120
+ all.push(me.decodeValue(value));
121
+ }
122
+ }
123
+ return all;
124
+ case 'o':
125
+ all = {};
126
+ if(value != ''){
127
+ values = value.split('^');
128
+ vLen = values.length;
129
+
130
+ for (v = 0; v < vLen; v++) {
131
+ value = values[v];
132
+ keyValue = value.split('=');
133
+ all[keyValue[0]] = me.decodeValue(keyValue[1]);
134
+ }
135
+ }
136
+ return all;
137
+ default:
138
+ return value;
139
+ }
140
+ },
141
+
142
+ /**
143
+ * Encodes a value including type information. Decode with {@link #decodeValue}.
144
+ * @param {Object} value The value to encode
145
+ * @return {String} The encoded value
146
+ */
147
+ encodeValue : function(value){
148
+ var flat = '',
149
+ i = 0,
150
+ enc,
151
+ len,
152
+ key;
153
+
154
+ if (value == null) {
155
+ return 'e:1';
156
+ } else if(typeof value == 'number') {
157
+ enc = 'n:' + value;
158
+ } else if(typeof value == 'boolean') {
159
+ enc = 'b:' + (value ? '1' : '0');
160
+ } else if(Ext.isDate(value)) {
161
+ enc = 'd:' + value.toGMTString();
162
+ } else if(Ext.isArray(value)) {
163
+ for (len = value.length; i < len; i++) {
164
+ flat += this.encodeValue(value[i]);
165
+ if (i != len - 1) {
166
+ flat += '^';
167
+ }
168
+ }
169
+ enc = 'a:' + flat;
170
+ } else if (typeof value == 'object') {
171
+ for (key in value) {
172
+ if (typeof value[key] != 'function' && value[key] !== undefined) {
173
+ flat += key + '=' + this.encodeValue(value[key]) + '^';
174
+ }
175
+ }
176
+ enc = 'o:' + flat.substring(0, flat.length-1);
177
+ } else {
178
+ enc = 's:' + value;
179
+ }
180
+ return escape(enc);
181
+ }
182
+ });
@@ -0,0 +1,364 @@
1
+ /**
2
+ * @class Ext.state.Stateful
3
+ * A mixin for being able to save the state of an object to an underlying
4
+ * {@link Ext.state.Provider}.
5
+ */
6
+ Ext.define('Ext.state.Stateful', {
7
+
8
+ /* Begin Definitions */
9
+
10
+ mixins: {
11
+ observable: 'Ext.util.Observable'
12
+ },
13
+
14
+ requires: ['Ext.state.Manager'],
15
+
16
+ /* End Definitions */
17
+
18
+ /**
19
+ * @cfg {Boolean} stateful
20
+ * A flag which causes the object to attempt to restore the state of
21
+ * internal properties from a saved state on startup. The object must have
22
+ * a {@link #stateId} for state to be managed.
23
+ *
24
+ * Auto-generated ids are not guaranteed to be stable across page loads and
25
+ * cannot be relied upon to save and restore the same state for a object.<p>
26
+ *
27
+ * For state saving to work, the state manager's provider must have been
28
+ * set to an implementation of {@link Ext.state.Provider} which overrides the
29
+ * {@link Ext.state.Provider#set set} and {@link Ext.state.Provider#get get}
30
+ * methods to save and recall name/value pairs. A built-in implementation,
31
+ * {@link Ext.state.CookieProvider} is available.
32
+ *
33
+ * To set the state provider for the current page:
34
+ *
35
+ * Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
36
+ * expires: new Date(new Date().getTime()+(1000*60*60*24*7)), //7 days from now
37
+ * }));
38
+ *
39
+ * A stateful object attempts to save state when one of the events
40
+ * listed in the {@link #stateEvents} configuration fires.
41
+ *
42
+ * To save state, a stateful object first serializes its state by
43
+ * calling *{@link #getState}*.
44
+ *
45
+ * The Component base class implements {@link #getState} to save its width and height within the state
46
+ * only if they were initially configured, and have changed from the configured value.
47
+ *
48
+ * The Panel class saves its collapsed state in addition to that.
49
+ *
50
+ * The Grid class saves its column state in addition to its superclass state.
51
+ *
52
+ * If there is more application state to be save, the developer must provide an implementation which
53
+ * first calls the superclass method to inherit the above behaviour, and then injects new properties
54
+ * into the returned object.
55
+ *
56
+ * The value yielded by getState is passed to {@link Ext.state.Manager#set}
57
+ * which uses the configured {@link Ext.state.Provider} to save the object
58
+ * keyed by the {@link #stateId}.
59
+ *
60
+ * During construction, a stateful object attempts to *restore* its state by calling
61
+ * {@link Ext.state.Manager#get} passing the {@link #stateId}
62
+ *
63
+ * The resulting object is passed to {@link #applyState}*. The default implementation of
64
+ * {@link #applyState} simply copies properties into the object, but a developer may
65
+ * override this to support restoration of more complex application state.
66
+ *
67
+ * You can perform extra processing on state save and restore by attaching
68
+ * handlers to the {@link #beforestaterestore}, {@link #staterestore},
69
+ * {@link #beforestatesave} and {@link #statesave} events.
70
+ */
71
+ stateful: false,
72
+
73
+ /**
74
+ * @cfg {String} stateId
75
+ * The unique id for this object to use for state management purposes.
76
+ * <p>See {@link #stateful} for an explanation of saving and restoring state.</p>
77
+ */
78
+
79
+ /**
80
+ * @cfg {String[]} stateEvents
81
+ * <p>An array of events that, when fired, should trigger this object to
82
+ * save its state. Defaults to none. <code>stateEvents</code> may be any type
83
+ * of event supported by this object, including browser or custom events
84
+ * (e.g., <tt>['click', 'customerchange']</tt>).</p>
85
+ * <p>See <code>{@link #stateful}</code> for an explanation of saving and
86
+ * restoring object state.</p>
87
+ */
88
+
89
+ /**
90
+ * @cfg {Number} saveDelay
91
+ * A buffer to be applied if many state events are fired within a short period.
92
+ */
93
+ saveDelay: 100,
94
+
95
+ constructor: function(config) {
96
+ var me = this;
97
+
98
+ config = config || {};
99
+ if (config.stateful !== undefined) {
100
+ me.stateful = config.stateful;
101
+ }
102
+ if (config.saveDelay !== undefined) {
103
+ me.saveDelay = config.saveDelay;
104
+ }
105
+ me.stateId = me.stateId || config.stateId;
106
+
107
+ if (!me.stateEvents) {
108
+ me.stateEvents = [];
109
+ }
110
+ if (config.stateEvents) {
111
+ me.stateEvents.concat(config.stateEvents);
112
+ }
113
+ this.addEvents(
114
+ /**
115
+ * @event beforestaterestore
116
+ * Fires before the state of the object is restored. Return false from an event handler to stop the restore.
117
+ * @param {Ext.state.Stateful} this
118
+ * @param {Object} state The hash of state values returned from the StateProvider. If this
119
+ * event is not vetoed, then the state object is passed to <b><tt>applyState</tt></b>. By default,
120
+ * that simply copies property values into this object. The method maybe overriden to
121
+ * provide custom state restoration.
122
+ */
123
+ 'beforestaterestore',
124
+
125
+ /**
126
+ * @event staterestore
127
+ * Fires after the state of the object is restored.
128
+ * @param {Ext.state.Stateful} this
129
+ * @param {Object} state The hash of state values returned from the StateProvider. This is passed
130
+ * to <b><tt>applyState</tt></b>. By default, that simply copies property values into this
131
+ * object. The method maybe overriden to provide custom state restoration.
132
+ */
133
+ 'staterestore',
134
+
135
+ /**
136
+ * @event beforestatesave
137
+ * Fires before the state of the object is saved to the configured state provider. Return false to stop the save.
138
+ * @param {Ext.state.Stateful} this
139
+ * @param {Object} state The hash of state values. This is determined by calling
140
+ * <b><tt>getState()</tt></b> on the object. This method must be provided by the
141
+ * developer to return whetever representation of state is required, by default, Ext.state.Stateful
142
+ * has a null implementation.
143
+ */
144
+ 'beforestatesave',
145
+
146
+ /**
147
+ * @event statesave
148
+ * Fires after the state of the object is saved to the configured state provider.
149
+ * @param {Ext.state.Stateful} this
150
+ * @param {Object} state The hash of state values. This is determined by calling
151
+ * <b><tt>getState()</tt></b> on the object. This method must be provided by the
152
+ * developer to return whetever representation of state is required, by default, Ext.state.Stateful
153
+ * has a null implementation.
154
+ */
155
+ 'statesave'
156
+ );
157
+ me.mixins.observable.constructor.call(me);
158
+
159
+ if (me.stateful !== false) {
160
+ me.addStateEvents(me.stateEvents);
161
+ me.initState();
162
+ }
163
+ },
164
+
165
+ /**
166
+ * Add events that will trigger the state to be saved. If the first argument is an
167
+ * array, each element of that array is the name of a state event. Otherwise, each
168
+ * argument passed to this method is the name of a state event.
169
+ *
170
+ * @param {String/String[]} events The event name or an array of event names.
171
+ */
172
+ addStateEvents: function (events) {
173
+ var me = this,
174
+ i, event, stateEventsByName;
175
+
176
+ if (me.stateful && me.getStateId()) {
177
+ if (typeof events == 'string') {
178
+ events = Array.prototype.slice.call(arguments, 0);
179
+ }
180
+
181
+ stateEventsByName = me.stateEventsByName || (me.stateEventsByName = {});
182
+
183
+ for (i = events.length; i--; ) {
184
+ event = events[i];
185
+
186
+ if (!stateEventsByName[event]) {
187
+ stateEventsByName[event] = 1;
188
+ me.on(event, me.onStateChange, me);
189
+ }
190
+ }
191
+ }
192
+ },
193
+
194
+ /**
195
+ * This method is called when any of the {@link #stateEvents} are fired.
196
+ * @private
197
+ */
198
+ onStateChange: function(){
199
+ var me = this,
200
+ delay = me.saveDelay,
201
+ statics, runner;
202
+
203
+ if (!me.stateful) {
204
+ return;
205
+ }
206
+
207
+ if (delay) {
208
+ if (!me.stateTask) {
209
+ statics = Ext.state.Stateful;
210
+ runner = statics.runner || (statics.runner = new Ext.util.TaskRunner());
211
+
212
+ me.stateTask = runner.newTask({
213
+ run: me.saveState,
214
+ scope: me,
215
+ interval: delay,
216
+ repeat: 1
217
+ });
218
+ }
219
+
220
+ me.stateTask.start();
221
+ } else {
222
+ me.saveState();
223
+ }
224
+ },
225
+
226
+ /**
227
+ * Saves the state of the object to the persistence store.
228
+ */
229
+ saveState: function() {
230
+ var me = this,
231
+ id = me.stateful && me.getStateId(),
232
+ hasListeners = me.hasListeners,
233
+ state;
234
+
235
+ if (id) {
236
+ state = me.getState() || {}; //pass along for custom interactions
237
+ if (!hasListeners.beforestatesave || me.fireEvent('beforestatesave', me, state) !== false) {
238
+ Ext.state.Manager.set(id, state);
239
+ if (hasListeners.statesave) {
240
+ me.fireEvent('statesave', me, state);
241
+ }
242
+ }
243
+ }
244
+ },
245
+
246
+ /**
247
+ * Gets the current state of the object. By default this function returns null,
248
+ * it should be overridden in subclasses to implement methods for getting the state.
249
+ * @return {Object} The current state
250
+ */
251
+ getState: function(){
252
+ return null;
253
+ },
254
+
255
+ /**
256
+ * Applies the state to the object. This should be overridden in subclasses to do
257
+ * more complex state operations. By default it applies the state properties onto
258
+ * the current object.
259
+ * @param {Object} state The state
260
+ */
261
+ applyState: function(state) {
262
+ if (state) {
263
+ Ext.apply(this, state);
264
+ }
265
+ },
266
+
267
+ /**
268
+ * Gets the state id for this object.
269
+ * @return {String} The 'stateId' or the implicit 'id' specified by component configuration.
270
+ * @private
271
+ */
272
+ getStateId: function() {
273
+ var me = this;
274
+ return me.stateId || (me.autoGenId ? null : me.id);
275
+ },
276
+
277
+ /**
278
+ * Initializes the state of the object upon construction.
279
+ * @private
280
+ */
281
+ initState: function(){
282
+ var me = this,
283
+ id = me.stateful && me.getStateId(),
284
+ hasListeners = me.hasListeners,
285
+ state;
286
+
287
+ if (id) {
288
+ state = Ext.state.Manager.get(id);
289
+ if (state) {
290
+ state = Ext.apply({}, state);
291
+ if (!hasListeners.beforestaterestore || me.fireEvent('beforestaterestore', me, state) !== false) {
292
+ me.applyState(state);
293
+ if (hasListeners.staterestore) {
294
+ me.fireEvent('staterestore', me, state);
295
+ }
296
+ }
297
+ }
298
+ }
299
+ },
300
+
301
+ /**
302
+ * Conditionally saves a single property from this object to the given state object.
303
+ * The idea is to only save state which has changed from the initial state so that
304
+ * current software settings do not override future software settings. Only those
305
+ * values that are user-changed state should be saved.
306
+ *
307
+ * @param {String} propName The name of the property to save.
308
+ * @param {Object} state The state object in to which to save the property.
309
+ * @param {String} stateName (optional) The name to use for the property in state.
310
+ * @return {Boolean} True if the property was saved, false if not.
311
+ */
312
+ savePropToState: function (propName, state, stateName) {
313
+ var me = this,
314
+ value = me[propName],
315
+ config = me.initialConfig;
316
+
317
+ if (me.hasOwnProperty(propName)) {
318
+ if (!config || config[propName] !== value) {
319
+ if (state) {
320
+ state[stateName || propName] = value;
321
+ }
322
+ return true;
323
+ }
324
+ }
325
+ return false;
326
+ },
327
+
328
+ /**
329
+ * Gathers additional named properties of the instance and adds their current values
330
+ * to the passed state object.
331
+ * @param {String/String[]} propNames The name (or array of names) of the property to save.
332
+ * @param {Object} state The state object in to which to save the property values.
333
+ * @return {Object} state
334
+ */
335
+ savePropsToState: function (propNames, state) {
336
+ var me = this,
337
+ i, n;
338
+
339
+ if (typeof propNames == 'string') {
340
+ me.savePropToState(propNames, state);
341
+ } else {
342
+ for (i = 0, n = propNames.length; i < n; ++i) {
343
+ me.savePropToState(propNames[i], state);
344
+ }
345
+ }
346
+
347
+ return state;
348
+ },
349
+
350
+ /**
351
+ * Destroys this stateful object.
352
+ */
353
+ destroy: function(){
354
+ var me = this,
355
+ task = me.stateTask;
356
+
357
+ if (task) {
358
+ task.destroy();
359
+ me.stateTask = null;
360
+ }
361
+
362
+ me.clearListeners();
363
+ }
364
+ });