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,308 @@
1
+ /**
2
+ * This is a layout that manages multiple Panels in an expandable accordion style such that only
3
+ * **one Panel can be expanded at any given time**. Each Panel has built-in support for expanding and collapsing.
4
+ *
5
+ * Note: Only Ext Panels and all subclasses of Ext.panel.Panel may be used in an accordion layout Container.
6
+ *
7
+ * @example
8
+ * Ext.create('Ext.panel.Panel', {
9
+ * title: 'Accordion Layout',
10
+ * width: 300,
11
+ * height: 300,
12
+ * defaults: {
13
+ * // applied to each contained panel
14
+ * bodyStyle: 'padding:15px'
15
+ * },
16
+ * layout: {
17
+ * // layout-specific configs go here
18
+ * type: 'accordion',
19
+ * titleCollapse: false,
20
+ * animate: true,
21
+ * activeOnTop: true
22
+ * },
23
+ * items: [{
24
+ * title: 'Panel 1',
25
+ * html: 'Panel content!'
26
+ * },{
27
+ * title: 'Panel 2',
28
+ * html: 'Panel content!'
29
+ * },{
30
+ * title: 'Panel 3',
31
+ * html: 'Panel content!'
32
+ * }],
33
+ * renderTo: Ext.getBody()
34
+ * });
35
+ */
36
+ Ext.define('Ext.layout.container.Accordion', {
37
+ extend: 'Ext.layout.container.VBox',
38
+ alias: ['layout.accordion'],
39
+ alternateClassName: 'Ext.layout.AccordionLayout',
40
+
41
+ itemCls: [Ext.baseCSSPrefix + 'box-item', Ext.baseCSSPrefix + 'accordion-item'],
42
+
43
+ align: 'stretch',
44
+
45
+ /**
46
+ * @cfg {Boolean} fill
47
+ * True to adjust the active item's height to fill the available space in the container, false to use the
48
+ * item's current height, or auto height if not explicitly set.
49
+ */
50
+ fill : true,
51
+
52
+ /**
53
+ * @cfg {Boolean} autoWidth
54
+ * Child Panels have their width actively managed to fit within the accordion's width.
55
+ * @removed This config is ignored in ExtJS 4
56
+ */
57
+
58
+ /**
59
+ * @cfg {Boolean} titleCollapse
60
+ * True to allow expand/collapse of each contained panel by clicking anywhere on the title bar, false to allow
61
+ * expand/collapse only when the toggle tool button is clicked. When set to false,
62
+ * {@link #hideCollapseTool} should be false also.
63
+ */
64
+ titleCollapse : true,
65
+
66
+ /**
67
+ * @cfg {Boolean} hideCollapseTool
68
+ * True to hide the contained Panels' collapse/expand toggle buttons, false to display them.
69
+ * When set to true, {@link #titleCollapse} is automatically set to true.
70
+ */
71
+ hideCollapseTool : false,
72
+
73
+ /**
74
+ * @cfg {Boolean} collapseFirst
75
+ * True to make sure the collapse/expand toggle button always renders first (to the left of) any other tools
76
+ * in the contained Panels' title bars, false to render it last.
77
+ */
78
+ collapseFirst : false,
79
+
80
+ /**
81
+ * @cfg {Boolean} animate
82
+ * True to slide the contained panels open and closed during expand/collapse using animation, false to open and
83
+ * close directly with no animation. Note: The layout performs animated collapsing
84
+ * and expanding, *not* the child Panels.
85
+ */
86
+ animate : true,
87
+ /**
88
+ * @cfg {Boolean} activeOnTop
89
+ * Only valid when {@link #multi} is `false` and {@link #animate} is `false`.
90
+ *
91
+ * True to swap the position of each panel as it is expanded so that it becomes the first item in the container,
92
+ * false to keep the panels in the rendered order.
93
+ */
94
+ activeOnTop : false,
95
+ /**
96
+ * @cfg {Boolean} multi
97
+ * Set to true to enable multiple accordion items to be open at once.
98
+ */
99
+ multi: false,
100
+
101
+ defaultAnimatePolicy: {
102
+ y: true,
103
+ height: true
104
+ },
105
+
106
+ constructor: function() {
107
+ var me = this;
108
+
109
+ me.callParent(arguments);
110
+
111
+ if (me.animate) {
112
+ me.animatePolicy = Ext.apply({}, me.defaultAnimatePolicy);
113
+ } else {
114
+ me.animatePolicy = null;
115
+ }
116
+ },
117
+
118
+ beforeRenderItems: function (items) {
119
+ var me = this,
120
+ ln = items.length,
121
+ i = 0,
122
+ comp;
123
+
124
+ for (; i < ln; i++) {
125
+ comp = items[i];
126
+ if (!comp.rendered) {
127
+ // Set up initial properties for Panels in an accordion.
128
+ if (me.collapseFirst) {
129
+ comp.collapseFirst = me.collapseFirst;
130
+ }
131
+ if (me.hideCollapseTool) {
132
+ comp.hideCollapseTool = me.hideCollapseTool;
133
+ comp.titleCollapse = true;
134
+ }
135
+ else if (me.titleCollapse) {
136
+ comp.titleCollapse = me.titleCollapse;
137
+ }
138
+
139
+ delete comp.hideHeader;
140
+ delete comp.width;
141
+ comp.collapsible = true;
142
+ comp.title = comp.title || '&#160;';
143
+ comp.addBodyCls(Ext.baseCSSPrefix + 'accordion-body');
144
+
145
+ // If only one child Panel is allowed to be expanded
146
+ // then collapse all except the first one found with collapsed:false
147
+ if (!me.multi) {
148
+ // If there is an expanded item, all others must be rendered collapsed.
149
+ if (me.expandedItem !== undefined) {
150
+ comp.collapsed = true;
151
+ }
152
+ // Otherwise expand the first item with collapsed explicitly configured as false
153
+ else if (comp.hasOwnProperty('collapsed') && comp.collapsed === false) {
154
+ me.expandedItem = i;
155
+ } else {
156
+ comp.collapsed = true;
157
+ }
158
+
159
+ // If only one child Panel may be expanded, then intercept expand/show requests.
160
+ me.owner.mon(comp, {
161
+ show: me.onComponentShow,
162
+ beforeexpand: me.onComponentExpand,
163
+ scope: me
164
+ });
165
+ }
166
+
167
+ // If we must fill available space, a collapse must be listened for and a sibling must
168
+ // be expanded.
169
+ if (me.fill) {
170
+ me.owner.mon(comp, {
171
+ beforecollapse: me.onComponentCollapse,
172
+ scope: me
173
+ });
174
+ }
175
+ }
176
+ }
177
+
178
+ // If no collapsed:false Panels found, make the first one expanded.
179
+ if (ln && me.expandedItem === undefined) {
180
+ me.expandedItem = 0;
181
+ items[0].collapsed = false;
182
+ }
183
+ },
184
+
185
+ getItemsRenderTree: function(items) {
186
+ this.beforeRenderItems(items);
187
+
188
+ return this.callParent(arguments);
189
+ },
190
+
191
+ renderItems : function(items, target) {
192
+ this.beforeRenderItems(items);
193
+
194
+ this.callParent(arguments);
195
+ },
196
+
197
+ configureItem: function(item) {
198
+ this.callParent(arguments);
199
+
200
+ // We handle animations for the expand/collapse of items.
201
+ // Items do not have individual borders
202
+ item.animCollapse = item.border = false;
203
+
204
+ // If filling available space, all Panels flex.
205
+ if (this.fill) {
206
+ item.flex = 1;
207
+ }
208
+ },
209
+
210
+ onChildPanelRender: function(panel) {
211
+ panel.header.addCls(Ext.baseCSSPrefix + 'accordion-hd');
212
+ },
213
+
214
+ beginLayout: function (ownerContext) {
215
+ this.callParent(arguments);
216
+ this.updatePanelClasses(ownerContext);
217
+ },
218
+
219
+ updatePanelClasses: function(ownerContext) {
220
+ var children = ownerContext.visibleItems,
221
+ ln = children.length,
222
+ siblingCollapsed = true,
223
+ i, child, header;
224
+
225
+ for (i = 0; i < ln; i++) {
226
+ child = children[i];
227
+ header = child.header;
228
+ header.addCls(Ext.baseCSSPrefix + 'accordion-hd');
229
+
230
+ if (siblingCollapsed) {
231
+ header.removeCls(Ext.baseCSSPrefix + 'accordion-hd-sibling-expanded');
232
+ } else {
233
+ header.addCls(Ext.baseCSSPrefix + 'accordion-hd-sibling-expanded');
234
+ }
235
+
236
+ if (i + 1 == ln && child.collapsed) {
237
+ header.addCls(Ext.baseCSSPrefix + 'accordion-hd-last-collapsed');
238
+ } else {
239
+ header.removeCls(Ext.baseCSSPrefix + 'accordion-hd-last-collapsed');
240
+ }
241
+
242
+ siblingCollapsed = child.collapsed;
243
+ }
244
+ },
245
+
246
+ // When a Component expands, adjust the heights of the other Components to be just enough to accommodate
247
+ // their headers.
248
+ // The expanded Component receives the only flex value, and so gets all remaining space.
249
+ onComponentExpand: function(toExpand) {
250
+ var me = this,
251
+ owner = me.owner,
252
+ expanded,
253
+ expandedCount, i,
254
+ previousValue;
255
+
256
+ if (!me.processing) {
257
+ me.processing = true;
258
+ previousValue = owner.deferLayouts;
259
+ owner.deferLayouts = true;
260
+ expanded = me.multi ? [] : owner.query('>panel:not([collapsed])');
261
+ expandedCount = expanded.length;
262
+
263
+ // Collapse all other expanded child items (Won't loop if multi is true)
264
+ for (i = 0; i < expandedCount; i++) {
265
+ expanded[i].collapse();
266
+ }
267
+ owner.deferLayouts = previousValue;
268
+ me.processing = false;
269
+ }
270
+ },
271
+
272
+ onComponentCollapse: function(comp) {
273
+ var me = this,
274
+ owner = me.owner,
275
+ toExpand,
276
+ expanded,
277
+ previousValue;
278
+
279
+ if (!me.processing) {
280
+ me.processing = true;
281
+ previousValue = owner.deferLayouts;
282
+ owner.deferLayouts = true;
283
+ toExpand = comp.next() || comp.prev();
284
+
285
+ // If we are allowing multi, and the "toCollapse" component is NOT the only expanded Component,
286
+ // then ask the box layout to collapse it to its header.
287
+ if (me.multi) {
288
+ expanded = me.owner.query('>panel:not([collapsed])');
289
+
290
+ // If the collapsing Panel is the only expanded one, expand the following Component.
291
+ // All this is handling fill: true, so there must be at least one expanded,
292
+ if (expanded.length === 1) {
293
+ toExpand.expand();
294
+ }
295
+
296
+ } else if (toExpand) {
297
+ toExpand.expand();
298
+ }
299
+ owner.deferLayouts = previousValue;
300
+ me.processing = false;
301
+ }
302
+ },
303
+
304
+ onComponentShow: function(comp) {
305
+ // Showing a Component means that you want to see it, so expand it.
306
+ this.onComponentExpand(comp);
307
+ }
308
+ });
@@ -0,0 +1,403 @@
1
+ /**
2
+ * This is a layout that enables anchoring of contained elements relative to the container's dimensions.
3
+ * If the container is resized, all anchored items are automatically rerendered according to their
4
+ * `{@link #anchor}` rules.
5
+ *
6
+ * This class is intended to be extended or created via the {@link Ext.container.AbstractContainer#layout layout}: 'anchor'
7
+ * config, and should generally not need to be created directly via the new keyword.
8
+ *
9
+ * AnchorLayout does not have any direct config options (other than inherited ones). By default,
10
+ * AnchorLayout will calculate anchor measurements based on the size of the container itself. However, the
11
+ * container using the AnchorLayout can supply an anchoring-specific config property of `anchorSize`.
12
+ *
13
+ * If anchorSize is specifed, the layout will use it as a virtual container for the purposes of calculating
14
+ * anchor measurements based on it instead, allowing the container to be sized independently of the anchoring
15
+ * logic if necessary.
16
+ *
17
+ * @example
18
+ * Ext.create('Ext.Panel', {
19
+ * width: 500,
20
+ * height: 400,
21
+ * title: "AnchorLayout Panel",
22
+ * layout: 'anchor',
23
+ * renderTo: Ext.getBody(),
24
+ * items: [
25
+ * {
26
+ * xtype: 'panel',
27
+ * title: '75% Width and 20% Height',
28
+ * anchor: '75% 20%'
29
+ * },
30
+ * {
31
+ * xtype: 'panel',
32
+ * title: 'Offset -300 Width & -200 Height',
33
+ * anchor: '-300 -200'
34
+ * },
35
+ * {
36
+ * xtype: 'panel',
37
+ * title: 'Mixed Offset and Percent',
38
+ * anchor: '-250 20%'
39
+ * }
40
+ * ]
41
+ * });
42
+ */
43
+ Ext.define('Ext.layout.container.Anchor', {
44
+
45
+ /* Begin Definitions */
46
+
47
+ alias: 'layout.anchor',
48
+ extend: 'Ext.layout.container.Container',
49
+ alternateClassName: 'Ext.layout.AnchorLayout',
50
+
51
+ /* End Definitions */
52
+
53
+ type: 'anchor',
54
+
55
+ manageOverflow: 2,
56
+
57
+ renderTpl: [
58
+ '{%this.renderBody(out,values);this.renderPadder(out,values)%}'
59
+ ],
60
+
61
+ /**
62
+ * @cfg {String} anchor
63
+ *
64
+ * This configuation option is to be applied to **child `items`** of a container managed by
65
+ * this layout (ie. configured with `layout:'anchor'`).
66
+ *
67
+ * This value is what tells the layout how an item should be anchored to the container. `items`
68
+ * added to an AnchorLayout accept an anchoring-specific config property of **anchor** which is a string
69
+ * containing two values: the horizontal anchor value and the vertical anchor value (for example, '100% 50%').
70
+ * The following types of anchor values are supported:
71
+ *
72
+ * - **Percentage** : Any value between 1 and 100, expressed as a percentage.
73
+ *
74
+ * The first anchor is the percentage width that the item should take up within the container, and the
75
+ * second is the percentage height. For example:
76
+ *
77
+ * // two values specified
78
+ * anchor: '100% 50%' // render item complete width of the container and
79
+ * // 1/2 height of the container
80
+ * // one value specified
81
+ * anchor: '100%' // the width value; the height will default to auto
82
+ *
83
+ * - **Offsets** : Any positive or negative integer value.
84
+ *
85
+ * This is a raw adjustment where the first anchor is the offset from the right edge of the container,
86
+ * and the second is the offset from the bottom edge. For example:
87
+ *
88
+ * // two values specified
89
+ * anchor: '-50 -100' // render item the complete width of the container
90
+ * // minus 50 pixels and
91
+ * // the complete height minus 100 pixels.
92
+ * // one value specified
93
+ * anchor: '-50' // anchor value is assumed to be the right offset value
94
+ * // bottom offset will default to 0
95
+ *
96
+ * - **Sides** : Valid values are `right` (or `r`) and `bottom` (or `b`).
97
+ *
98
+ * Either the container must have a fixed size or an anchorSize config value defined at render time in
99
+ * order for these to have any effect.
100
+ *
101
+ * - **Mixed** :
102
+ *
103
+ * Anchor values can also be mixed as needed. For example, to render the width offset from the container
104
+ * right edge by 50 pixels and 75% of the container's height use:
105
+ *
106
+ * anchor: '-50 75%'
107
+ */
108
+
109
+ /**
110
+ * @cfg {String} defaultAnchor
111
+ * Default anchor for all child **container** items applied if no anchor or specific width is set on the child item.
112
+ */
113
+ defaultAnchor: '100%',
114
+
115
+ parseAnchorRE: /^(r|right|b|bottom)$/i,
116
+
117
+ beginLayout: function (ownerContext) {
118
+ var me = this,
119
+ dimensions = 0,
120
+ anchorSpec, childContext, childItems, i, length, target;
121
+
122
+ me.callParent(arguments);
123
+
124
+ childItems = ownerContext.childItems; // populated by callParent
125
+ length = childItems.length;
126
+
127
+ for (i = 0; i < length; ++i) {
128
+ childContext = childItems[i];
129
+ anchorSpec = childContext.target.anchorSpec;
130
+
131
+ if (anchorSpec) {
132
+ if (childContext.widthModel.calculated && anchorSpec.right) {
133
+ dimensions |= 1;
134
+ }
135
+ if (childContext.heightModel.calculated && anchorSpec.bottom) {
136
+ dimensions |= 2;
137
+ }
138
+
139
+ if (dimensions == 3) { // if (both dimensions in play)
140
+ break;
141
+ }
142
+ }
143
+ }
144
+
145
+ ownerContext.anchorDimensions = dimensions;
146
+
147
+ // Work around WebKit RightMargin bug. We're going to inline-block all the children
148
+ // only ONCE and remove it when we're done
149
+ if (!Ext.supports.RightMargin && !me.rightMarginCleanerFn) {
150
+ target = ownerContext.targetContext.el; // targetContext is added by superclass
151
+
152
+ me.rightMarginCleanerFn = Ext.Element.getRightMarginFixCleaner(target);
153
+ target.addCls(Ext.baseCSSPrefix + 'inline-children');
154
+ }
155
+
156
+ //<debug>
157
+ me.sanityCheck(ownerContext);
158
+ //</debug>
159
+ },
160
+
161
+ calculate: function (ownerContext) {
162
+ var me = this,
163
+ containerSize = me.getContainerSize(ownerContext);
164
+
165
+ if (ownerContext.anchorDimensions !== ownerContext.state.calculatedAnchors) {
166
+ me.calculateAnchors(ownerContext, containerSize);
167
+ }
168
+
169
+ if (ownerContext.hasDomProp('containerChildrenDone')) {
170
+ // Once the child layouts are done we can determine the content sizes...
171
+
172
+ if (!containerSize.gotAll) {
173
+ me.done = false;
174
+ }
175
+
176
+ me.calculateContentSize(ownerContext, ownerContext.anchorDimensions);
177
+
178
+ if (me.done) {
179
+ me.calculateOverflow(ownerContext, containerSize, ownerContext.anchorDimensions);
180
+ return;
181
+ }
182
+ }
183
+
184
+ me.done = false;
185
+ },
186
+
187
+ calculateAnchors: function (ownerContext, containerSize) {
188
+ var me = this,
189
+ childItems = ownerContext.childItems,
190
+ length = childItems.length,
191
+ gotHeight = containerSize.gotHeight,
192
+ gotWidth = containerSize.gotWidth,
193
+ ownerHeight = containerSize.height,
194
+ ownerWidth = containerSize.width,
195
+ state = ownerContext.state,
196
+ calculatedAnchors = (gotWidth ? 1 : 0) | (gotHeight ? 2 : 0),
197
+ anchorSpec, childContext, childMargins, height, i, width;
198
+
199
+ state.calculatedAnchors = (state.calculatedAnchors || 0) | calculatedAnchors;
200
+
201
+ for (i = 0; i < length; i++) {
202
+ childContext = childItems[i];
203
+ childMargins = childContext.getMarginInfo();
204
+ anchorSpec = childContext.target.anchorSpec;
205
+
206
+ // Check widthModel in case "defaults" has applied an anchor to a component
207
+ // that also has width (which must win). If we did not make this check in this
208
+ // way, we would attempt to calculate a width where it had been configured.
209
+ //
210
+ if (gotWidth && childContext.widthModel.calculated) {
211
+ width = anchorSpec.right(ownerWidth) - childMargins.width;
212
+ width = me.adjustWidthAnchor(width, childContext);
213
+
214
+ childContext.setWidth(width);
215
+ }
216
+
217
+ // Repeat for height
218
+ if (gotHeight && childContext.heightModel.calculated) {
219
+ height = anchorSpec.bottom(ownerHeight) - childMargins.height;
220
+ height = me.adjustHeightAnchor(height, childContext);
221
+
222
+ childContext.setHeight(height);
223
+ }
224
+ }
225
+ },
226
+
227
+ finishedLayout: function (ownerContext) {
228
+ var cleanerFn = this.rightMarginCleanerFn;
229
+
230
+ if (cleanerFn) {
231
+ delete this.rightMarginCleanerFn;
232
+ ownerContext.targetContext.el.removeCls(Ext.baseCSSPrefix + 'inline-children');
233
+ cleanerFn();
234
+ }
235
+ },
236
+
237
+ //<debug>
238
+ sanityCheck: function (ownerContext) {
239
+ var shrinkWrapWidth = ownerContext.widthModel.shrinkWrap,
240
+ shrinkWrapHeight = ownerContext.heightModel.shrinkWrap,
241
+ children = ownerContext.childItems,
242
+ anchorSpec, comp, childContext,
243
+ i, length;
244
+
245
+ for (i = 0, length = children.length; i < length; ++i) {
246
+ childContext = children[i];
247
+ comp = childContext.target;
248
+ anchorSpec = comp.anchorSpec;
249
+
250
+ if (anchorSpec) {
251
+ if (childContext.widthModel.calculated && anchorSpec.right) {
252
+ if (shrinkWrapWidth) {
253
+ Ext.log({
254
+ level: 'warn',
255
+ msg: 'Right anchor on '+comp.id+' in shrinkWrap width container'
256
+ });
257
+ }
258
+ }
259
+
260
+ if (childContext.heightModel.calculated && anchorSpec.bottom) {
261
+ if (shrinkWrapHeight) {
262
+ Ext.log({
263
+ level: 'warn',
264
+ msg: 'Bottom anchor on '+comp.id+' in shrinkWrap height container'
265
+ });
266
+ }
267
+ }
268
+ }
269
+ }
270
+ },
271
+ //</debug>
272
+
273
+ // private
274
+ anchorFactory: {
275
+ offset: function (delta) {
276
+ return function(v) {
277
+ return v + delta;
278
+ };
279
+ },
280
+ ratio: function (ratio) {
281
+ return function(v) {
282
+ return Math.floor(v * ratio);
283
+ };
284
+ },
285
+ standard: function (diff) {
286
+ return function(v) {
287
+ return v - diff;
288
+ };
289
+ }
290
+ },
291
+
292
+ parseAnchor: function(a, start, cstart) {
293
+ if (a && a != 'none') {
294
+ var factory = this.anchorFactory,
295
+ delta;
296
+
297
+ if (this.parseAnchorRE.test(a)) {
298
+ return factory.standard(cstart - start);
299
+ }
300
+ if (a.indexOf('%') != -1) {
301
+ return factory.ratio(parseFloat(a.replace('%', '')) * 0.01);
302
+ }
303
+ delta = parseInt(a, 10);
304
+ if (!isNaN(delta)) {
305
+ return factory.offset(delta);
306
+ }
307
+ }
308
+ return null;
309
+ },
310
+
311
+ // private
312
+ adjustWidthAnchor: function(value, childContext) {
313
+ return value;
314
+ },
315
+
316
+ // private
317
+ adjustHeightAnchor: function(value, childContext) {
318
+ return value;
319
+ },
320
+
321
+ configureItem: function(item) {
322
+ var me = this,
323
+ owner = me.owner,
324
+ anchor= item.anchor,
325
+ anchorsArray,
326
+ anchorWidth,
327
+ anchorHeight;
328
+
329
+ me.callParent(arguments);
330
+
331
+ if (!item.anchor && item.items && !Ext.isNumber(item.width) && !(Ext.isIE6 && Ext.isStrict)) {
332
+ item.anchor = anchor = me.defaultAnchor;
333
+ }
334
+
335
+ /**
336
+ * @cfg {Number/Object} anchorSize
337
+ * Defines the anchoring size of container.
338
+ * Either a number to define the width of the container or an object with `width` and `height` fields.
339
+ * @member Ext.container.Container
340
+ */
341
+ if (owner.anchorSize) {
342
+ if (typeof owner.anchorSize == 'number') {
343
+ anchorWidth = owner.anchorSize;
344
+ } else {
345
+ anchorWidth = owner.anchorSize.width;
346
+ anchorHeight = owner.anchorSize.height;
347
+ }
348
+ } else {
349
+ anchorWidth = owner.initialConfig.width;
350
+ anchorHeight = owner.initialConfig.height;
351
+ }
352
+
353
+ if (anchor) {
354
+ // cache all anchor values
355
+ anchorsArray = anchor.split(' ');
356
+ item.anchorSpec = {
357
+ right: me.parseAnchor(anchorsArray[0], item.initialConfig.width, anchorWidth),
358
+ bottom: me.parseAnchor(anchorsArray[1], item.initialConfig.height, anchorHeight)
359
+ };
360
+ }
361
+ },
362
+
363
+ sizePolicy: {
364
+ '': {
365
+ setsWidth: 0,
366
+ setsHeight: 0
367
+ },
368
+ b: {
369
+ setsWidth: 0,
370
+ setsHeight: 1
371
+ },
372
+ r: {
373
+ '': {
374
+ setsWidth: 1,
375
+ setsHeight: 0
376
+ },
377
+ b: {
378
+ setsWidth: 1,
379
+ setsHeight: 1
380
+
381
+ }
382
+ }
383
+ },
384
+
385
+ getItemSizePolicy: function (item) {
386
+ var anchorSpec = item.anchorSpec,
387
+ key = '',
388
+ policy = this.sizePolicy,
389
+ sizeModel;
390
+
391
+ if (anchorSpec) {
392
+ sizeModel = this.owner.getSizeModel();
393
+ if (anchorSpec.right && !sizeModel.width.shrinkWrap) {
394
+ policy = policy.r;
395
+ }
396
+ if (anchorSpec.bottom && !sizeModel.height.shrinkWrap) {
397
+ key = 'b';
398
+ }
399
+ }
400
+
401
+ return policy[key];
402
+ }
403
+ });