gridx-rails 1.2.1 → 1.3.0.pre.alpha

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 (327) hide show
  1. checksums.yaml +9 -9
  2. data/app/assets/images/gridx/resources/images/headershadow.png +0 -0
  3. data/app/assets/images/gridx/resources/images/rowback.png +0 -0
  4. data/app/assets/images/gridx/resources/images/sprite.png +0 -0
  5. data/app/assets/javascripts/gridx/Grid.js +20 -3
  6. data/app/assets/javascripts/gridx/allModules.js +18 -4
  7. data/app/assets/javascripts/gridx/core/Core.js +36 -6
  8. data/app/assets/javascripts/gridx/core/model/Model.js +6 -5
  9. data/app/assets/javascripts/gridx/core/model/cache/Async.js +9 -7
  10. data/app/assets/javascripts/gridx/core/model/cache/Sync.js +414 -12
  11. data/app/assets/javascripts/gridx/core/model/extensions/Mark.js +14 -20
  12. data/app/assets/javascripts/gridx/core/model/extensions/Modify.js +3 -10
  13. data/app/assets/javascripts/gridx/modules/AutoPagedBody.js +100 -0
  14. data/app/assets/javascripts/gridx/modules/AutoScroll.js +92 -23
  15. data/app/assets/javascripts/gridx/modules/Bar.js +14 -1
  16. data/app/assets/javascripts/gridx/modules/Body.js +64 -29
  17. data/app/assets/javascripts/gridx/modules/CellWidget.js +5 -2
  18. data/app/assets/javascripts/gridx/modules/ColumnLock.js +1 -2
  19. data/app/assets/javascripts/gridx/modules/ColumnWidth.js +4 -1
  20. data/app/assets/javascripts/gridx/modules/Dod.js +216 -12
  21. data/app/assets/javascripts/gridx/modules/Edit.js +143 -68
  22. data/app/assets/javascripts/gridx/modules/ExpandableColumn.js +292 -0
  23. data/app/assets/javascripts/gridx/modules/Filter.js +14 -0
  24. data/app/assets/javascripts/gridx/modules/Focus.js +9 -3
  25. data/app/assets/javascripts/gridx/modules/Header.js +22 -12
  26. data/app/assets/javascripts/gridx/modules/HeaderRegions.js +23 -8
  27. data/app/assets/javascripts/gridx/modules/IndirectSelect.js +6 -7
  28. data/app/assets/javascripts/gridx/modules/IndirectSelectColumn.js +1 -1
  29. data/app/assets/javascripts/gridx/modules/Layer.js +358 -0
  30. data/app/assets/javascripts/gridx/modules/NestedSort.js +8 -10
  31. data/app/assets/javascripts/gridx/modules/PagedBody.js +22 -323
  32. data/app/assets/javascripts/gridx/modules/Puller.js +113 -0
  33. data/app/assets/javascripts/gridx/modules/RowHeader.js +7 -6
  34. data/app/assets/javascripts/gridx/modules/RowLock.js +49 -19
  35. data/app/assets/javascripts/gridx/modules/SlantedHeader.js +46 -0
  36. data/app/assets/javascripts/gridx/modules/Sort.js +417 -0
  37. data/app/assets/javascripts/gridx/modules/StructureSwitch.js +143 -0
  38. data/app/assets/javascripts/gridx/modules/SummaryBar.js +6 -1
  39. data/app/assets/javascripts/gridx/modules/TouchVScroller.js +36 -13
  40. data/app/assets/javascripts/gridx/modules/Tree.js +6 -8
  41. data/app/assets/javascripts/gridx/modules/VScroller.js +1 -1
  42. data/app/assets/javascripts/gridx/modules/View.js +25 -18
  43. data/app/assets/javascripts/gridx/modules/VirtualVScroller.js +23 -11
  44. data/app/assets/javascripts/gridx/modules/_PagedBodyMixin.js +351 -0
  45. data/app/assets/javascripts/gridx/modules/dnd/Avatar.js +1 -1
  46. data/app/assets/javascripts/gridx/modules/dnd/_Dnd.js +1 -0
  47. data/app/assets/javascripts/gridx/modules/extendedSelect/Row.js +8 -5
  48. data/app/assets/javascripts/gridx/modules/filter/FilterBar.js +24 -17
  49. data/app/assets/javascripts/gridx/modules/filter/FilterConfirmDialog.js +3 -1
  50. data/app/assets/javascripts/gridx/modules/filter/FilterDialog.js +2 -2
  51. data/app/assets/javascripts/gridx/modules/filter/FilterPane.js +4 -5
  52. data/app/assets/javascripts/gridx/modules/filter/FilterTooltip.js +1 -1
  53. data/app/assets/javascripts/gridx/modules/filter/QuickFilter.js +32 -9
  54. data/app/assets/javascripts/gridx/modules/pagination/_PaginationBarBase.js +4 -1
  55. data/app/assets/javascripts/gridx/modules/select/Row.js +8 -4
  56. data/app/assets/javascripts/gridx/nls/ar/{FilterBar.js → gridx.js} +77 -5
  57. data/app/assets/javascripts/gridx/nls/bg/{FilterBar.js → gridx.js} +71 -5
  58. data/app/assets/javascripts/gridx/nls/ca/{FilterBar.js → gridx.js} +71 -5
  59. data/app/assets/javascripts/gridx/nls/cs/{FilterBar.js → gridx.js} +77 -5
  60. data/app/assets/javascripts/gridx/nls/da/{FilterBar.js → gridx.js} +77 -5
  61. data/app/assets/javascripts/gridx/nls/de/{FilterBar.js → gridx.js} +77 -5
  62. data/app/assets/javascripts/gridx/nls/el/{FilterBar.js → gridx.js} +77 -5
  63. data/app/assets/javascripts/gridx/nls/es/{FilterBar.js → gridx.js} +71 -5
  64. data/app/assets/javascripts/gridx/nls/fi/{FilterBar.js → gridx.js} +77 -5
  65. data/app/assets/javascripts/gridx/nls/fr/{FilterBar.js → gridx.js} +77 -5
  66. data/app/assets/javascripts/gridx/nls/{FilterBar.js → gridx.js} +80 -4
  67. data/app/assets/javascripts/gridx/nls/he/{FilterBar.js → gridx.js} +77 -5
  68. data/app/assets/javascripts/gridx/nls/hr/{FilterBar.js → gridx.js} +77 -5
  69. data/app/assets/javascripts/gridx/nls/hu/{FilterBar.js → gridx.js} +77 -5
  70. data/app/assets/javascripts/gridx/nls/it/{FilterBar.js → gridx.js} +77 -5
  71. data/app/assets/javascripts/gridx/nls/ja/{FilterBar.js → gridx.js} +77 -5
  72. data/app/assets/javascripts/gridx/nls/kk/{FilterBar.js → gridx.js} +76 -5
  73. data/app/assets/javascripts/gridx/nls/ko/{FilterBar.js → gridx.js} +81 -5
  74. data/app/assets/javascripts/gridx/nls/nb/{FilterBar.js → gridx.js} +77 -5
  75. data/app/assets/javascripts/gridx/nls/nl/{FilterBar.js → gridx.js} +77 -5
  76. data/app/assets/javascripts/gridx/nls/pl/{FilterBar.js → gridx.js} +77 -5
  77. data/app/assets/javascripts/gridx/nls/pt/{FilterBar.js → gridx.js} +71 -5
  78. data/app/assets/javascripts/gridx/nls/pt-pt/{FilterBar.js → gridx.js} +71 -5
  79. data/app/assets/javascripts/gridx/nls/ro/{FilterBar.js → gridx.js} +71 -5
  80. data/app/assets/javascripts/gridx/nls/ru/{FilterBar.js → gridx.js} +77 -5
  81. data/app/assets/javascripts/gridx/nls/sk/{FilterBar.js → gridx.js} +71 -5
  82. data/app/assets/javascripts/gridx/nls/sl/{FilterBar.js → gridx.js} +77 -5
  83. data/app/assets/javascripts/gridx/nls/sv/{FilterBar.js → gridx.js} +77 -5
  84. data/app/assets/javascripts/gridx/nls/th/{FilterBar.js → gridx.js} +77 -5
  85. data/app/assets/javascripts/gridx/nls/tr/{FilterBar.js → gridx.js} +77 -5
  86. data/app/assets/javascripts/gridx/nls/uk/{FilterBar.js → gridx.js} +71 -5
  87. data/app/assets/javascripts/gridx/nls/zh/{FilterBar.js → gridx.js} +77 -5
  88. data/app/assets/javascripts/gridx/nls/zh-tw/{FilterBar.js → gridx.js} +77 -5
  89. data/app/assets/javascripts/gridx/nls/zz-ZZ/gridx.js +173 -0
  90. data/app/assets/javascripts/gridx/support/DropDownPager.js +3 -5
  91. data/app/assets/javascripts/gridx/support/DropDownSizer.js +3 -5
  92. data/app/assets/javascripts/gridx/support/GotoPagePane.js +3 -5
  93. data/app/assets/javascripts/gridx/support/QuickFilter.js +3 -5
  94. data/app/assets/javascripts/gridx/support/Summary.js +32 -10
  95. data/app/assets/javascripts/gridx/support/_LinkPageBase.js +3 -5
  96. data/app/assets/javascripts/gridx/support/query.js +47 -0
  97. data/app/assets/javascripts/gridx/templates/FilterBar.html +1 -1
  98. data/app/assets/javascripts/gridx/templates/QuickFilter.html +3 -3
  99. data/app/assets/stylesheets/gridx/resources/Gridx.css +1 -10
  100. data/app/assets/stylesheets/gridx/resources/claro/Gridx.css +1 -16
  101. data/app/assets/stylesheets/gridx/resources/slantedHeader.css +90 -0
  102. data/lib/gridx-rails/version.rb +1 -1
  103. data/lib/tasks/gridx-rails_tasks.rake +1 -1
  104. data/test/dummy/log/test.log +5 -0
  105. metadata +52 -260
  106. data/app/assets/images/gridx/resources/images/checkboxpartial.png +0 -0
  107. data/app/assets/images/gridx/resources/images/checkboxpartialdisabled.png +0 -0
  108. data/app/assets/images/gridx/resources/images/dndCopy.png +0 -0
  109. data/app/assets/images/gridx/resources/images/dndMove.png +0 -0
  110. data/app/assets/images/gridx/resources/images/dndNoCopy.png +0 -0
  111. data/app/assets/images/gridx/resources/images/dndNoMove.png +0 -0
  112. data/app/assets/images/gridx/resources/images/gridxCellChanged.png +0 -0
  113. data/app/assets/images/gridx/resources/images/header.png +0 -0
  114. data/app/assets/images/gridx/resources/images/header_shadow.png +0 -0
  115. data/app/assets/images/gridx/resources/images/row_back.png +0 -0
  116. data/app/assets/images/gridx/resources/images/row_back_changed.png +0 -0
  117. data/app/assets/images/gridx/resources/images/sprite_icons.png +0 -0
  118. data/app/assets/images/gridx/resources/images/treeExpandImages.png +0 -0
  119. data/app/assets/javascripts/gridx/core/model/cache/_Cache.js +0 -403
  120. data/app/assets/javascripts/gridx/core/util.js +0 -13
  121. data/app/assets/javascripts/gridx/modules/Printer.js +0 -49
  122. data/app/assets/javascripts/gridx/modules/TitleBar.js +0 -51
  123. data/app/assets/javascripts/gridx/modules/barPlugins/DropDownPager.js +0 -16
  124. data/app/assets/javascripts/gridx/modules/barPlugins/DropDownSizer.js +0 -16
  125. data/app/assets/javascripts/gridx/modules/barPlugins/GotoPageButton.js +0 -16
  126. data/app/assets/javascripts/gridx/modules/barPlugins/LinkPager.js +0 -16
  127. data/app/assets/javascripts/gridx/modules/barPlugins/LinkSizer.js +0 -16
  128. data/app/assets/javascripts/gridx/modules/barPlugins/Summary.js +0 -16
  129. data/app/assets/javascripts/gridx/modules/exporter/CSV.js +0 -43
  130. data/app/assets/javascripts/gridx/modules/exporter/Exporter.js +0 -34
  131. data/app/assets/javascripts/gridx/modules/exporter/Table.js +0 -42
  132. data/app/assets/javascripts/gridx/modules/filter/Filter.js +0 -16
  133. data/app/assets/javascripts/gridx/modules/pagination/Pagination.js +0 -16
  134. data/app/assets/javascripts/gridx/nls/Body.js +0 -47
  135. data/app/assets/javascripts/gridx/nls/NestedSort.js +0 -45
  136. data/app/assets/javascripts/gridx/nls/PaginationBar.js +0 -68
  137. data/app/assets/javascripts/gridx/nls/QuickFilter.js +0 -40
  138. data/app/assets/javascripts/gridx/nls/SummaryBar.js +0 -38
  139. data/app/assets/javascripts/gridx/nls/ar/Body.js +0 -11
  140. data/app/assets/javascripts/gridx/nls/ar/NestedSort.js +0 -11
  141. data/app/assets/javascripts/gridx/nls/ar/PaginationBar.js +0 -34
  142. data/app/assets/javascripts/gridx/nls/ar/QuickFilter.js +0 -7
  143. data/app/assets/javascripts/gridx/nls/ar/SummaryBar.js +0 -5
  144. data/app/assets/javascripts/gridx/nls/bg/Body.js +0 -11
  145. data/app/assets/javascripts/gridx/nls/bg/NestedSort.js +0 -12
  146. data/app/assets/javascripts/gridx/nls/bg/PaginationBar.js +0 -28
  147. data/app/assets/javascripts/gridx/nls/bg/QuickFilter.js +0 -8
  148. data/app/assets/javascripts/gridx/nls/bg/SummaryBar.js +0 -6
  149. data/app/assets/javascripts/gridx/nls/ca/Body.js +0 -11
  150. data/app/assets/javascripts/gridx/nls/ca/NestedSort.js +0 -13
  151. data/app/assets/javascripts/gridx/nls/ca/PaginationBar.js +0 -30
  152. data/app/assets/javascripts/gridx/nls/ca/QuickFilter.js +0 -9
  153. data/app/assets/javascripts/gridx/nls/ca/SummaryBar.js +0 -7
  154. data/app/assets/javascripts/gridx/nls/cs/Body.js +0 -11
  155. data/app/assets/javascripts/gridx/nls/cs/NestedSort.js +0 -11
  156. data/app/assets/javascripts/gridx/nls/cs/PaginationBar.js +0 -34
  157. data/app/assets/javascripts/gridx/nls/cs/QuickFilter.js +0 -7
  158. data/app/assets/javascripts/gridx/nls/cs/SummaryBar.js +0 -5
  159. data/app/assets/javascripts/gridx/nls/da/Body.js +0 -11
  160. data/app/assets/javascripts/gridx/nls/da/NestedSort.js +0 -11
  161. data/app/assets/javascripts/gridx/nls/da/PaginationBar.js +0 -34
  162. data/app/assets/javascripts/gridx/nls/da/QuickFilter.js +0 -7
  163. data/app/assets/javascripts/gridx/nls/da/SummaryBar.js +0 -5
  164. data/app/assets/javascripts/gridx/nls/de/Body.js +0 -11
  165. data/app/assets/javascripts/gridx/nls/de/NestedSort.js +0 -11
  166. data/app/assets/javascripts/gridx/nls/de/PaginationBar.js +0 -34
  167. data/app/assets/javascripts/gridx/nls/de/QuickFilter.js +0 -7
  168. data/app/assets/javascripts/gridx/nls/de/SummaryBar.js +0 -5
  169. data/app/assets/javascripts/gridx/nls/el/Body.js +0 -11
  170. data/app/assets/javascripts/gridx/nls/el/NestedSort.js +0 -11
  171. data/app/assets/javascripts/gridx/nls/el/PaginationBar.js +0 -34
  172. data/app/assets/javascripts/gridx/nls/el/QuickFilter.js +0 -7
  173. data/app/assets/javascripts/gridx/nls/el/SummaryBar.js +0 -5
  174. data/app/assets/javascripts/gridx/nls/es/Body.js +0 -11
  175. data/app/assets/javascripts/gridx/nls/es/NestedSort.js +0 -13
  176. data/app/assets/javascripts/gridx/nls/es/PaginationBar.js +0 -30
  177. data/app/assets/javascripts/gridx/nls/es/QuickFilter.js +0 -9
  178. data/app/assets/javascripts/gridx/nls/es/SummaryBar.js +0 -7
  179. data/app/assets/javascripts/gridx/nls/fi/Body.js +0 -11
  180. data/app/assets/javascripts/gridx/nls/fi/NestedSort.js +0 -11
  181. data/app/assets/javascripts/gridx/nls/fi/PaginationBar.js +0 -34
  182. data/app/assets/javascripts/gridx/nls/fi/QuickFilter.js +0 -7
  183. data/app/assets/javascripts/gridx/nls/fi/SummaryBar.js +0 -5
  184. data/app/assets/javascripts/gridx/nls/fr/Body.js +0 -11
  185. data/app/assets/javascripts/gridx/nls/fr/NestedSort.js +0 -11
  186. data/app/assets/javascripts/gridx/nls/fr/PaginationBar.js +0 -34
  187. data/app/assets/javascripts/gridx/nls/fr/QuickFilter.js +0 -7
  188. data/app/assets/javascripts/gridx/nls/fr/SummaryBar.js +0 -5
  189. data/app/assets/javascripts/gridx/nls/he/Body.js +0 -11
  190. data/app/assets/javascripts/gridx/nls/he/NestedSort.js +0 -11
  191. data/app/assets/javascripts/gridx/nls/he/PaginationBar.js +0 -34
  192. data/app/assets/javascripts/gridx/nls/he/QuickFilter.js +0 -6
  193. data/app/assets/javascripts/gridx/nls/he/SummaryBar.js +0 -5
  194. data/app/assets/javascripts/gridx/nls/hr/Body.js +0 -11
  195. data/app/assets/javascripts/gridx/nls/hr/NestedSort.js +0 -11
  196. data/app/assets/javascripts/gridx/nls/hr/PaginationBar.js +0 -34
  197. data/app/assets/javascripts/gridx/nls/hr/QuickFilter.js +0 -7
  198. data/app/assets/javascripts/gridx/nls/hr/SummaryBar.js +0 -5
  199. data/app/assets/javascripts/gridx/nls/hu/Body.js +0 -11
  200. data/app/assets/javascripts/gridx/nls/hu/NestedSort.js +0 -11
  201. data/app/assets/javascripts/gridx/nls/hu/PaginationBar.js +0 -33
  202. data/app/assets/javascripts/gridx/nls/hu/QuickFilter.js +0 -7
  203. data/app/assets/javascripts/gridx/nls/hu/SummaryBar.js +0 -5
  204. data/app/assets/javascripts/gridx/nls/it/Body.js +0 -11
  205. data/app/assets/javascripts/gridx/nls/it/NestedSort.js +0 -11
  206. data/app/assets/javascripts/gridx/nls/it/PaginationBar.js +0 -34
  207. data/app/assets/javascripts/gridx/nls/it/QuickFilter.js +0 -7
  208. data/app/assets/javascripts/gridx/nls/it/SummaryBar.js +0 -5
  209. data/app/assets/javascripts/gridx/nls/ja/Body.js +0 -11
  210. data/app/assets/javascripts/gridx/nls/ja/NestedSort.js +0 -11
  211. data/app/assets/javascripts/gridx/nls/ja/PaginationBar.js +0 -34
  212. data/app/assets/javascripts/gridx/nls/ja/QuickFilter.js +0 -7
  213. data/app/assets/javascripts/gridx/nls/ja/SummaryBar.js +0 -5
  214. data/app/assets/javascripts/gridx/nls/kk/Body.js +0 -11
  215. data/app/assets/javascripts/gridx/nls/kk/NestedSort.js +0 -13
  216. data/app/assets/javascripts/gridx/nls/kk/PaginationBar.js +0 -30
  217. data/app/assets/javascripts/gridx/nls/kk/QuickFilter.js +0 -9
  218. data/app/assets/javascripts/gridx/nls/kk/SummaryBar.js +0 -7
  219. data/app/assets/javascripts/gridx/nls/ko/Body.js +0 -11
  220. data/app/assets/javascripts/gridx/nls/ko/NestedSort.js +0 -11
  221. data/app/assets/javascripts/gridx/nls/ko/PaginationBar.js +0 -34
  222. data/app/assets/javascripts/gridx/nls/ko/QuickFilter.js +0 -7
  223. data/app/assets/javascripts/gridx/nls/ko/SummaryBar.js +0 -5
  224. data/app/assets/javascripts/gridx/nls/nb/Body.js +0 -11
  225. data/app/assets/javascripts/gridx/nls/nb/NestedSort.js +0 -11
  226. data/app/assets/javascripts/gridx/nls/nb/PaginationBar.js +0 -34
  227. data/app/assets/javascripts/gridx/nls/nb/QuickFilter.js +0 -7
  228. data/app/assets/javascripts/gridx/nls/nb/SummaryBar.js +0 -5
  229. data/app/assets/javascripts/gridx/nls/nl/Body.js +0 -11
  230. data/app/assets/javascripts/gridx/nls/nl/NestedSort.js +0 -11
  231. data/app/assets/javascripts/gridx/nls/nl/PaginationBar.js +0 -34
  232. data/app/assets/javascripts/gridx/nls/nl/QuickFilter.js +0 -7
  233. data/app/assets/javascripts/gridx/nls/nl/SummaryBar.js +0 -5
  234. data/app/assets/javascripts/gridx/nls/pl/Body.js +0 -11
  235. data/app/assets/javascripts/gridx/nls/pl/NestedSort.js +0 -11
  236. data/app/assets/javascripts/gridx/nls/pl/PaginationBar.js +0 -34
  237. data/app/assets/javascripts/gridx/nls/pl/QuickFilter.js +0 -7
  238. data/app/assets/javascripts/gridx/nls/pl/SummaryBar.js +0 -5
  239. data/app/assets/javascripts/gridx/nls/pt/Body.js +0 -11
  240. data/app/assets/javascripts/gridx/nls/pt/NestedSort.js +0 -13
  241. data/app/assets/javascripts/gridx/nls/pt/PaginationBar.js +0 -30
  242. data/app/assets/javascripts/gridx/nls/pt/QuickFilter.js +0 -9
  243. data/app/assets/javascripts/gridx/nls/pt/SummaryBar.js +0 -7
  244. data/app/assets/javascripts/gridx/nls/pt-br/Body.js +0 -6
  245. data/app/assets/javascripts/gridx/nls/pt-br/FilterBar.js +0 -89
  246. data/app/assets/javascripts/gridx/nls/pt-br/NestedSort.js +0 -11
  247. data/app/assets/javascripts/gridx/nls/pt-br/PaginationBar.js +0 -34
  248. data/app/assets/javascripts/gridx/nls/pt-br/QuickFilter.js +0 -7
  249. data/app/assets/javascripts/gridx/nls/pt-br/SummaryBar.js +0 -5
  250. data/app/assets/javascripts/gridx/nls/pt-pt/Body.js +0 -11
  251. data/app/assets/javascripts/gridx/nls/pt-pt/NestedSort.js +0 -13
  252. data/app/assets/javascripts/gridx/nls/pt-pt/PaginationBar.js +0 -30
  253. data/app/assets/javascripts/gridx/nls/pt-pt/QuickFilter.js +0 -9
  254. data/app/assets/javascripts/gridx/nls/pt-pt/SummaryBar.js +0 -7
  255. data/app/assets/javascripts/gridx/nls/ro/Body.js +0 -11
  256. data/app/assets/javascripts/gridx/nls/ro/NestedSort.js +0 -13
  257. data/app/assets/javascripts/gridx/nls/ro/PaginationBar.js +0 -30
  258. data/app/assets/javascripts/gridx/nls/ro/QuickFilter.js +0 -9
  259. data/app/assets/javascripts/gridx/nls/ro/SummaryBar.js +0 -7
  260. data/app/assets/javascripts/gridx/nls/ru/Body.js +0 -11
  261. data/app/assets/javascripts/gridx/nls/ru/NestedSort.js +0 -11
  262. data/app/assets/javascripts/gridx/nls/ru/PaginationBar.js +0 -34
  263. data/app/assets/javascripts/gridx/nls/ru/QuickFilter.js +0 -7
  264. data/app/assets/javascripts/gridx/nls/ru/SummaryBar.js +0 -5
  265. data/app/assets/javascripts/gridx/nls/sk/Body.js +0 -11
  266. data/app/assets/javascripts/gridx/nls/sk/NestedSort.js +0 -13
  267. data/app/assets/javascripts/gridx/nls/sk/PaginationBar.js +0 -30
  268. data/app/assets/javascripts/gridx/nls/sk/QuickFilter.js +0 -9
  269. data/app/assets/javascripts/gridx/nls/sk/SummaryBar.js +0 -7
  270. data/app/assets/javascripts/gridx/nls/sl/Body.js +0 -11
  271. data/app/assets/javascripts/gridx/nls/sl/NestedSort.js +0 -11
  272. data/app/assets/javascripts/gridx/nls/sl/PaginationBar.js +0 -34
  273. data/app/assets/javascripts/gridx/nls/sl/QuickFilter.js +0 -7
  274. data/app/assets/javascripts/gridx/nls/sl/SummaryBar.js +0 -5
  275. data/app/assets/javascripts/gridx/nls/sv/Body.js +0 -11
  276. data/app/assets/javascripts/gridx/nls/sv/NestedSort.js +0 -11
  277. data/app/assets/javascripts/gridx/nls/sv/PaginationBar.js +0 -34
  278. data/app/assets/javascripts/gridx/nls/sv/QuickFilter.js +0 -7
  279. data/app/assets/javascripts/gridx/nls/sv/SummaryBar.js +0 -5
  280. data/app/assets/javascripts/gridx/nls/th/Body.js +0 -11
  281. data/app/assets/javascripts/gridx/nls/th/NestedSort.js +0 -11
  282. data/app/assets/javascripts/gridx/nls/th/PaginationBar.js +0 -34
  283. data/app/assets/javascripts/gridx/nls/th/QuickFilter.js +0 -7
  284. data/app/assets/javascripts/gridx/nls/th/SummaryBar.js +0 -5
  285. data/app/assets/javascripts/gridx/nls/tr/Body.js +0 -11
  286. data/app/assets/javascripts/gridx/nls/tr/NestedSort.js +0 -11
  287. data/app/assets/javascripts/gridx/nls/tr/PaginationBar.js +0 -34
  288. data/app/assets/javascripts/gridx/nls/tr/QuickFilter.js +0 -7
  289. data/app/assets/javascripts/gridx/nls/tr/SummaryBar.js +0 -5
  290. data/app/assets/javascripts/gridx/nls/uk/Body.js +0 -11
  291. data/app/assets/javascripts/gridx/nls/uk/NestedSort.js +0 -12
  292. data/app/assets/javascripts/gridx/nls/uk/PaginationBar.js +0 -28
  293. data/app/assets/javascripts/gridx/nls/uk/QuickFilter.js +0 -8
  294. data/app/assets/javascripts/gridx/nls/uk/SummaryBar.js +0 -6
  295. data/app/assets/javascripts/gridx/nls/zh/Body.js +0 -11
  296. data/app/assets/javascripts/gridx/nls/zh/NestedSort.js +0 -11
  297. data/app/assets/javascripts/gridx/nls/zh/PaginationBar.js +0 -34
  298. data/app/assets/javascripts/gridx/nls/zh/QuickFilter.js +0 -7
  299. data/app/assets/javascripts/gridx/nls/zh/SummaryBar.js +0 -5
  300. data/app/assets/javascripts/gridx/nls/zh-tw/Body.js +0 -11
  301. data/app/assets/javascripts/gridx/nls/zh-tw/NestedSort.js +0 -11
  302. data/app/assets/javascripts/gridx/nls/zh-tw/PaginationBar.js +0 -34
  303. data/app/assets/javascripts/gridx/nls/zh-tw/QuickFilter.js +0 -7
  304. data/app/assets/javascripts/gridx/nls/zh-tw/SummaryBar.js +0 -5
  305. data/app/assets/stylesheets/gridx/resources/Dod.css +0 -39
  306. data/app/assets/stylesheets/gridx/resources/Gridx_rtl.css +0 -5
  307. data/app/assets/stylesheets/gridx/resources/Tree.css +0 -46
  308. data/app/assets/stylesheets/gridx/resources/Tree_rtl.css +0 -4
  309. data/app/assets/stylesheets/gridx/resources/bar.css +0 -24
  310. data/app/assets/stylesheets/gridx/resources/basic.css +0 -482
  311. data/app/assets/stylesheets/gridx/resources/basic_rtl.css +0 -37
  312. data/app/assets/stylesheets/gridx/resources/claro/Gridx_rtl.css +0 -7
  313. data/app/assets/stylesheets/gridx/resources/claro/basic.css +0 -109
  314. data/app/assets/stylesheets/gridx/resources/claro/basic_rtl.css +0 -21
  315. data/app/assets/stylesheets/gridx/resources/claro/filter.css +0 -47
  316. data/app/assets/stylesheets/gridx/resources/claro/lock.css +0 -19
  317. data/app/assets/stylesheets/gridx/resources/claro/pagination.css +0 -33
  318. data/app/assets/stylesheets/gridx/resources/claro/select.css +0 -20
  319. data/app/assets/stylesheets/gridx/resources/dnd.css +0 -108
  320. data/app/assets/stylesheets/gridx/resources/filter.css +0 -321
  321. data/app/assets/stylesheets/gridx/resources/filter_rtl.css +0 -38
  322. data/app/assets/stylesheets/gridx/resources/lock.css +0 -20
  323. data/app/assets/stylesheets/gridx/resources/pagination.css +0 -142
  324. data/app/assets/stylesheets/gridx/resources/pagination_rtl.css +0 -54
  325. data/app/assets/stylesheets/gridx/resources/select.css +0 -39
  326. data/app/assets/stylesheets/gridx/resources/sort.css +0 -154
  327. data/app/assets/stylesheets/gridx/resources/sort_rtl.css +0 -51
@@ -10,14 +10,19 @@ define([
10
10
  "dojo/_base/declare",
11
11
  "dojo/_base/fx",
12
12
  "dojo/fx",
13
- "dojo/query"
14
- ], function(kernel, domConstruct, domStyle, domClass, domGeometry, lang, Deferred, _Module, declare, baseFx, fx, query){
13
+ "dojo/keys",
14
+ // "dojo/query",
15
+ 'gridx/support/query',
16
+ 'dijit/a11y',
17
+ 'dojo/_base/event',
18
+ 'dojo/_base/sniff'
19
+ ], function(kernel, domConstruct, domStyle, domClass, domGeometry, lang,
20
+ Deferred, _Module, declare, baseFx, fx, keys, query, a11y, event, has){
15
21
  kernel.experimental('gridx/modules/Dod');
16
22
 
17
23
  /*=====
18
24
  return declare(_Module, {
19
25
  // summary:
20
- // module name: dod.
21
26
  // Details on demand.
22
27
 
23
28
  // useAnimation: Boolean
@@ -75,18 +80,26 @@ define([
75
80
  duration: 750,
76
81
  defaultShow: false,
77
82
  showExpando: true,
83
+
84
+ preload: function(){
85
+ this.initFocus();
86
+ },
87
+
78
88
  load: function(args, deferStartup){
79
89
  this._rowMap = {};
80
90
  this.connect(this.grid.body, 'onAfterCell', '_onAfterCell');
81
91
  this.connect(this.grid.body, 'onAfterRow', '_onAfterRow');
82
92
  this.connect(this.grid.bodyNode, 'onclick', '_onBodyClick');
83
93
  this.connect(this.grid.body, 'onUnrender', '_onBodyUnrender');
94
+ this.connect(this.grid, 'onCellKeyDown', '_onCellKeyDown');
95
+ this.connect(this.grid.body, '_onRowMouseOver', '_onRowMouseOver');
84
96
  if(this.grid.columnResizer){
85
97
  this.connect(this.grid.columnResizer, 'onResize', '_onColumnResize');
86
98
  }
87
99
  this.loaded.callback();
88
100
 
89
101
  },
102
+
90
103
  rowMixin: {
91
104
  showDetail: function(){
92
105
  this.grid.dod.show(this);
@@ -107,9 +120,12 @@ define([
107
120
 
108
121
  show: function(row){
109
122
  var _row = this._row(row);
110
- if(_row.dodShown || _row.inAnim || !row.node()){return;}
123
+ if(_row.dodShown || _row.inAnim){return;}
111
124
 
112
125
  _row.dodShown = true;
126
+
127
+ if(!row.node()){ return; }
128
+
113
129
  var expando = this._getExpando(row);
114
130
  if(expando){expando.firstChild.innerHTML = '-';}
115
131
 
@@ -117,7 +133,7 @@ define([
117
133
  if(!_row.dodLoadingNode){
118
134
  _row.dodLoadingNode = domConstruct.create('div', {
119
135
  className: 'gridxDodLoadNode',
120
- innerHTML: 'Loading...'
136
+ innerHTML: this.grid.nls.loadingInfo
121
137
  });
122
138
  }
123
139
  if(!_row.dodNode){
@@ -142,6 +158,7 @@ define([
142
158
  var rowHeaderNode = query('[rowid="' + this.grid._escapeId(row.id) + '"].gridxRowHeaderRow', this.grid.rowHeader.bodyNode)[0];
143
159
  //TODO: 1 is the border for claro theme, will fix
144
160
  domStyle.set(rowHeaderNode.firstChild, 'height', domStyle.get(row.node(), 'height') + 'px');
161
+ domStyle.set(rowHeaderNode, 'height', domStyle.get(row.node(), 'height') + 'px');
145
162
  }
146
163
 
147
164
  var df = new Deferred(), _this = this;
@@ -159,12 +176,19 @@ define([
159
176
 
160
177
  hide: function(row){
161
178
  var _row = this._row(row), g = this.grid, escapeId = g._escapeId;
162
- if(!_row.dodShown || _row.inAnim || !row.node()){return;}
179
+ if(!_row.dodShown || _row.inAnim){return;}
180
+
181
+ if(!row.node()){
182
+ _row.dodShown = false;
183
+ return;
184
+ }
185
+
163
186
  domClass.remove(row.node(), 'gridxDodShown');
164
187
  domStyle.set(_row.dodLoadingNode, 'display', 'none');
165
188
  if(this.grid.rowHeader){
166
189
  var rowHeaderNode = query('[rowid="' + escapeId(row.id) + '"].gridxRowHeaderRow', this.grid.rowHeader.bodyNode)[0];
167
190
  domStyle.set(rowHeaderNode.firstChild, 'height', domStyle.get(row.node(), 'height') - 1 + 'px');
191
+ domStyle.set(rowHeaderNode, 'height', domStyle.get(row.node(), 'height') - 1 + 'px');
168
192
  //TODO: 1 is the border for claro theme, will fix
169
193
  }
170
194
  var expando = this._getExpando(row);
@@ -188,16 +212,22 @@ define([
188
212
  height: { start:rowHeaderNode.offsetHeight, end:rowHeaderNode.offsetHeight - _row.dodNode.scrollHeight, units:"px" }
189
213
  }
190
214
  }).play();
215
+ baseFx.animateProperty({ node: rowHeaderNode, duration:this.arg('duration'),
216
+ properties: {
217
+ height: { start:rowHeaderNode.offsetHeight, end:rowHeaderNode.offsetHeight - _row.dodNode.scrollHeight, units:"px" }
218
+ }
219
+ }).play();
191
220
  }
192
221
  }else{
193
222
  _row.dodShown = false;
194
223
  _row.inAnim = false;
195
- _row.dodNode.style.display = 'none';
196
- g.body.onRender();
197
224
  if(this.grid.rowHeader){
198
225
  var rowHeaderNode = query('[rowid="' + escapeId(row.id) + '"].gridxRowHeaderRow', this.grid.rowHeader.bodyNode)[0];
199
226
  rowHeaderNode.firstChild.style.height = rowHeaderNode.offsetHeight - _row.dodNode.scrollHeight + 'px';
227
+ rowHeaderNode.style.height = rowHeaderNode.offsetHeight - _row.dodNode.scrollHeight + 'px';
200
228
  }
229
+ _row.dodNode.style.display = 'none';
230
+ g.body.onRender();
201
231
 
202
232
  }
203
233
 
@@ -225,6 +255,24 @@ define([
225
255
  onShow: function(row){},
226
256
  onHide: function(row){},
227
257
 
258
+ initFocus: function(){
259
+ var t = this,
260
+ focus = t.grid.focus;
261
+ focus.registerArea({
262
+ name: 'navigabledod',
263
+ priority: 1,
264
+ scope: t,
265
+ doFocus: t._doFocus,
266
+ doBlur: t._doBlur,
267
+ onFocus: t._onFocus,
268
+ onBlur: t._onBlur,
269
+ connects: [
270
+ t.connect(t.grid, 'onCellKeyDown', '_onCellKeyDown'),
271
+ t.connect(t.grid, 'onRowKeyDown', '_onRowKeyDown')
272
+ ]
273
+ });
274
+ },
275
+
228
276
  //private
229
277
  _rowMap: null,
230
278
  _lastOpen: null, //only useful when autoClose is true.
@@ -237,17 +285,37 @@ define([
237
285
  },
238
286
 
239
287
  _onBodyClick: function(e){
240
- if(!domClass.contains(e.target, 'gridxDodExpando') && !domClass.contains(e.target, 'gridxDodExpandoText')){return;}
288
+ if(!domClass.contains(e.target, 'gridxDodExpando')
289
+ && !domClass.contains(e.target, 'gridxDodExpandoText')
290
+ || this.grid.domNode != query(e.target).closest('.gridx')[0]){return;}
241
291
  var node = e.target;
242
292
  while(node && !domClass.contains(node, 'gridxRow')){
243
293
  node = node.parentNode;
244
294
  }
295
+
296
+ // event.stop(e);
245
297
  var idx = node.getAttribute('rowindex');
298
+
299
+
246
300
  this.toggle(this.grid.row(parseInt(idx)));
247
301
  },
248
302
 
303
+ _onRowMouseOver: function(e){
304
+ var target = e.target;
305
+ var dodNode = this._rowMap[e.rowId]? this._rowMap[e.rowId].dodNode : undefined;
306
+
307
+ if(dodNode){
308
+ while(target && target !== dodNode){
309
+ target = target.parentNode;
310
+ }
311
+ if(target){
312
+ domClass.remove(dodNode.parentNode, 'gridxRowOver');
313
+ event.stop(e);
314
+ }
315
+ }
316
+ },
317
+
249
318
  _onAfterRow: function(row){
250
-
251
319
  var _row = this._row(row);
252
320
  if(this.arg('showExpando')){
253
321
  var tbl = query('table', row.node())[0];
@@ -305,6 +373,12 @@ define([
305
373
  if(_row.defaultShow){
306
374
  domStyle.set(_row.dodNode, 'display', 'block');
307
375
  g.body.onRender();
376
+ if(this.grid.rowHeader){
377
+ var rowHeaderNode = query('[rowid="' + escapeId(row.id) + '"].gridxRowHeaderRow', this.grid.rowHeader.bodyNode)[0];
378
+ rowHeaderNode.firstChild.style.height = row.node().firstChild.offsetHeight + _row.dodNode.scrollHeight + 'px';
379
+ rowHeaderNode.style.height = row.node().firstChild.offsetHeight + _row.dodNode.scrollHeight + 'px';
380
+
381
+ }
308
382
  }else{
309
383
  if(domStyle.get(_row.dodLoadingNode, 'display') == 'block'){
310
384
  domGeometry.setMarginBox(_row.dodNode, {h: domGeometry.getMarginBox(_row.dodLoadingNode).h});
@@ -329,6 +403,11 @@ define([
329
403
  height: { start:rowHeaderNode.offsetHeight, end:row.node().firstChild.offsetHeight + _row.dodNode.scrollHeight, units:"px" }
330
404
  }
331
405
  }).play();
406
+ baseFx.animateProperty({ node: rowHeaderNode, duration:this.arg('duration'),
407
+ properties: {
408
+ height: { start:rowHeaderNode.offsetHeight, end:row.node().firstChild.offsetHeight + _row.dodNode.scrollHeight, units:"px" }
409
+ }
410
+ }).play();
332
411
  }
333
412
  }else{
334
413
  _row.dodNode.style.display = 'block';
@@ -337,22 +416,42 @@ define([
337
416
  if(this.grid.rowHeader){
338
417
  var rowHeaderNode = query('[rowid="' + escapeId(row.id) + '"].gridxRowHeaderRow', this.grid.rowHeader.bodyNode)[0];
339
418
  rowHeaderNode.firstChild.style.height = row.node().firstChild.offsetHeight + _row.dodNode.scrollHeight + 'px';
419
+ rowHeaderNode.style.height = row.node().firstChild.offsetHeight + _row.dodNode.scrollHeight + 'px';
420
+
340
421
  }
341
422
 
342
423
  }
343
424
  }
344
425
  domStyle.set(_row.dodLoadingNode, 'display', 'none');
426
+
427
+ //***for nested grid in grid ****
428
+ var gridNodes = dojo.query('.gridx', _row.dodNode);
429
+
430
+ if(gridNodes.length){
431
+ query.isGridInGrid[this.grid.id] = true;
432
+ }
433
+
434
+ var gs = this.grid._nestedGrids = this.grid._nestedGrids? this.grid._nestedGrids : [];
435
+ for(var i = 0; i < gridNodes.length; i++){
436
+ var gig = dijit.byNode(gridNodes[i]);
437
+ gs.push(gig);
438
+ if(!gig._refreshForDod){
439
+ gig._refreshForDod = true;
440
+ gig.body.refresh();
441
+ }
442
+ };
345
443
  },
444
+
346
445
  _detailLoadError: function(row){
347
446
  var _row = this._row(row);
348
447
  _row.dodLoaded = false;
349
448
  if(!this.isShown(row)){return;}
350
- _row.dodLoadingNode.innerHTML = 'Error: failed to load detail.';
449
+ _row.dodLoadingNode.innerHTML = this.grid.nls.loadFailInfo;
351
450
  },
352
451
  _showLoading: function(row){
353
452
  var _row = this._row(row);
354
453
  var node = _row.dodLoadingNode;
355
- node.innerHTML = 'Loading...';
454
+ node.innerHTML = this.grid.nls.loadingInfo;
356
455
  },
357
456
  _getExpando: function(row){
358
457
  if(!this.showExpando)return null;
@@ -361,9 +460,114 @@ define([
361
460
  return cell.firstChild;
362
461
  },
363
462
 
463
+ _onCellKeyDown: function(e){
464
+ var t = this,
465
+ grid = t.grid,
466
+ focus = grid.focus,
467
+ row = grid.row(e.rowId, 1);
468
+ if(e.keyCode == keys.DOWN_ARROW && e.ctrlKey){
469
+ t.show(row);
470
+ e.stopPropagation();
471
+ }else if(e.keyCode == keys.UP_ARROW && e.ctrlKey){
472
+ t.hide(row);
473
+ e.stopPropagation();
474
+ }
475
+
476
+ if(e.keyCode == keys.F4 && !t._navigating && focus.currentArea() == 'body'){
477
+ if(t._beginNavigate(e.rowId, e.columnId)){
478
+ event.stop(e);
479
+ focus.focusArea('navigabledod');
480
+ }
481
+ }else if(e.keyCode == keys.ESCAPE && t._navigating && focus.currentArea() == 'navigabledod'){
482
+ t._navigating = false;
483
+ focus.focusArea('body');
484
+ }
485
+ },
364
486
 
365
487
  //Focus
488
+ _onRowKeyDown: function(e){
489
+ var t = this,
490
+ focus = t.grid.focus;
491
+
492
+ if(e.keyCode == keys.ESCAPE && t._navigating && focus.currentArea() == 'navigabledod'){
493
+ t._navigating = false;
494
+ focus.focusArea('body');
495
+ }
496
+ },
497
+
498
+ _beginNavigate: function(rowId){
499
+
500
+ var t = this,
501
+ row = t.grid.row(rowId, 1),
502
+ _row = t._row(rowId);
503
+ if(!_row.dodShown){
504
+ return false;
505
+ }
506
+ t._navigating = true;
507
+ // t._focusColId = colId;
508
+ t._focusRowId = rowId;
509
+ var navElems = t._navElems = a11y._getTabNavigable(row.node());
510
+ return (navElems.highest || navElems.last) && (navElems.lowest || navElems.first);
511
+ return false;
512
+
513
+ },
366
514
 
515
+ _doFocus: function(evt, step){
516
+ if(this._navigating){
517
+ var elems = this._navElems,
518
+ func = function(){
519
+ var toFocus = step < 0 ? (elems.highest || elems.last) : (elems.lowest || elems.first);
520
+ if(toFocus){
521
+ toFocus.focus();
522
+ }
523
+ };
524
+ if(has('webkit')){
525
+ func();
526
+ }else{
527
+ setTimeout(func, 5);
528
+ }
529
+ return true;
530
+ }
531
+ return false;
532
+ },
533
+ _onFocus: function(evt){
534
+ var node = evt.target, dn = this.grid.domNode;
535
+ while(node && node !== dn && !domClass.contains(node, 'gridxDodNode')){
536
+ node = node.parentNode;
537
+ }
538
+ if(node && node !== dn){
539
+ var dodNode = node,
540
+ rowNode = dodNode.parentNode;
541
+ // this.grid.hScroller.scrollToColumn(colId);
542
+ if(rowNode){
543
+ var rowId = rowNode.getAttribute('rowid');
544
+ return dodNode !== evt.target && this._beginNavigate(rowId);
545
+ }
546
+ }
547
+ return false;
548
+ },
549
+
550
+ _doBlur: function(evt, step){
551
+ if(evt){
552
+ var navElems = this._navElems,
553
+ firstElem = navElems.lowest || navElems.first,
554
+ lastElem = navElems.highest || navElems.last ||firstElem;
555
+ target = has('ie') ? evt.srcElement : evt.target;
556
+
557
+ if(target == (step > 0 ? lastElem : firstElem)){
558
+ event.stop(evt);
559
+ }
560
+ return false;
561
+ }else{
562
+ this._navigating = false;
563
+ return true;
564
+ }
565
+ },
566
+
567
+ _onBlur: function(evt){
568
+ this._navigating = false;
569
+ },
570
+
367
571
  endFunc: function(){}
368
572
  });
369
573
  });