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
@@ -1,18 +1,20 @@
1
1
  define([
2
2
  "dojo/_base/declare",
3
+ "dojo/_base/Deferred",
3
4
  "dojo/_base/window",
5
+ "dojo/query",
4
6
  "dojo/dom-geometry",
5
7
  "../core/_Module"
6
- ], function(declare, win, domGeometry, _Module){
8
+ ], function(declare, Deferred, win, query, domGeometry, _Module){
7
9
 
8
10
  /*=====
9
11
  return declare(_Module, {
10
12
  // summary:
13
+ // module name: autoScroll.
11
14
  // Automatically scroll the grid body when mouse is on the edge of grid.
12
15
  // Useful for extended selection or drag and drop.
13
16
  // This is a registered module, so if it is depended by other modules, no need to declare it when creating grid.
14
17
 
15
- name: 'autoScroll',
16
18
  enabled: false,
17
19
  vertical: true,
18
20
  horizontal: true,
@@ -36,15 +38,15 @@ define([
36
38
 
37
39
  horizontal: true,
38
40
 
39
- margin: 20,
41
+ margin: 30,
40
42
 
41
- //Private ---------------------------------------------------------------------
43
+ rowStep: 1,
42
44
 
43
- _timeout: 100,
45
+ columnStep: 1,
44
46
 
45
- _step: 10,
47
+ //Private ---------------------------------------------------------------------
46
48
 
47
- _maxMargin: 100,
49
+ _timeout: 300,
48
50
 
49
51
  _onMouseMove: function(e){
50
52
  var t = this;
@@ -70,31 +72,98 @@ define([
70
72
  _scroll: function(){
71
73
  var t = this;
72
74
  if(t.arg('enabled')){
73
- var dir, a, needScroll, g = t.grid,
74
- m = t._maxMargin, s = t._step,
75
- v = t._vdir, h = t._hdir;
75
+ var dir,
76
+ needScroll,
77
+ g = t.grid,
78
+ v = t._vdir,
79
+ h = t._hdir;
76
80
  if(t.arg('vertical') && v){
77
81
  dir = v > 0 ? 1 : -1;
78
- a = Math.min(m, Math.abs(v)) / s;
79
- a = (a < 1 ? 1 : a) * s * dir;
80
- g.vScroller.domNode.scrollTop += a;
81
- needScroll = 1;
82
+ var rowNode = t._findNode(g.bodyNode.childNodes, function(node){
83
+ if(dir > 0){
84
+ if(node.offsetTop >= g.bodyNode.scrollTop + g.bodyNode.offsetHeight){
85
+ return -1;
86
+ }else if(node.offsetTop + node.offsetHeight < g.bodyNode.scrollTop + g.bodyNode.offsetHeight){
87
+ return 1;
88
+ }
89
+ return 0;
90
+ }else{
91
+ if(node.offsetTop > g.bodyNode.scrollTop){
92
+ return -1;
93
+ }else if(node.offsetTop + node.offsetHeight <= g.bodyNode.scrollTop){
94
+ return 1;
95
+ }
96
+ return 0;
97
+ }
98
+ });
99
+ if(rowNode){
100
+ var vidx = parseInt(rowNode.getAttribute('visualindex'), 10);
101
+ needScroll = g.vScroller.scrollToRow(vidx + dir * t.arg('rowStep'));
102
+ }
82
103
  }
83
104
  if(t.arg('horizontal') && h){
84
105
  dir = h > 0 ? 1 : -1;
85
- a = Math.min(m, Math.abs(h)) / s;
86
- a = (a < 1 ? 1 : a) * s * dir;
87
- g.hScroller.domNode.scrollLeft += a;
88
- needScroll = 1;
106
+ var headerNode = t._findNode(query('.gridxCell', g.header.domNode), function(node){
107
+ if(dir > 0){
108
+ if(node.offsetLeft >= g.hScrollerNode.scrollLeft + g.hScrollerNode.offsetWidth){
109
+ return -1;
110
+ }else if(node.offsetLeft + node.offsetWidth < g.hScrollerNode.scrollLeft + g.hScrollerNode.offsetWidth){
111
+ return 1;
112
+ }
113
+ return 0;
114
+ }else{
115
+ if(node.offsetLeft > g.hScrollerNode.scrollLeft){
116
+ return -1;
117
+ }else if(node.offsetLeft + node.offsetHeight <= g.vScrollerNode.scrollLeft){
118
+ return 1;
119
+ }
120
+ return 0;
121
+ }
122
+ });
123
+ if(headerNode){
124
+ var col = g._columnsById[headerNode.getAttribute('colid')];
125
+ var colIdx = col.index + dir * t.arg('columnStep');
126
+ if(colIdx >= g._columns.length){
127
+ colIdx = g._columns.length - 1;
128
+ }else if(colIdx < 0){
129
+ colIdx = 0;
130
+ }
131
+ var nextCol = g._columns[colIdx];
132
+ g.hScroller.scrollToColumn(nextCol.id);
133
+ needScroll = needScroll || 1;
134
+ }
89
135
  }
136
+ t._handler = needScroll;
90
137
  if(needScroll){
91
- t._handler = setTimeout(function(){
92
- t._scroll();
93
- }, t._timeout);
94
- return;
138
+ //scroll to row can be async
139
+ Deferred.when(needScroll, function(){
140
+ t._handler = setTimeout(function(){
141
+ t._scroll();
142
+ }, t._timeout);
143
+ });
144
+ }
145
+ }else{
146
+ delete t._handler;
147
+ }
148
+ },
149
+
150
+ _findNode: function(nodes, checker){
151
+ var start = 0,
152
+ end = nodes.length,
153
+ idx = Math.floor((start + end) / 2);
154
+ while(start < end && start != idx){
155
+ var dir = checker(nodes[idx]);
156
+ if(dir < 0){
157
+ end = idx;
158
+ idx = Math.floor((start + end) / 2);
159
+ }else if(dir > 0){
160
+ start = idx;
161
+ idx = Math.floor((start + end) / 2);
162
+ }else{
163
+ break;
95
164
  }
96
165
  }
97
- delete t._handler;
166
+ return nodes[idx];
98
167
  }
99
168
  }));
100
169
  });
@@ -229,6 +229,9 @@ define([
229
229
  }catch(e){
230
230
  console.error(e);
231
231
  }
232
+ if(def.hookPoint && def.hookName){
233
+ def.hookPoint[def.hookName] = plugin || td;
234
+ }
232
235
  pluginRow.push(plugin || td);
233
236
  tr.appendChild(td);
234
237
  }
@@ -307,6 +310,7 @@ define([
307
310
  this.grid.focus.stopEvent(evt);
308
311
  var elems = a11y._getTabNavigable(node),
309
312
  n = elems[step < 0 ? 'last' : 'first'];
313
+
310
314
  if(n){
311
315
  n.focus();
312
316
  }
@@ -314,8 +318,17 @@ define([
314
318
  },
315
319
 
316
320
  _doBlur: function(node, evt, step){
321
+ function isChild(child, parent){
322
+ if(!child || !parent){ return false; }
323
+ var n = child;
324
+ while(n && n != parent){
325
+ n = n.parentNode;
326
+ }
327
+ return !!n;
328
+ }
317
329
  var elems = a11y._getTabNavigable(node);
318
- return evt ? evt.target == (step < 0 ? elems.first : elems.last) : true;
330
+ return evt ? (evt.target == (step < 0 ? elems.first : elems.last)
331
+ || isChild(evt.target, step < 0 ? elems.first : elems.last)) : true;
319
332
  }
320
333
  }));
321
334
  });
@@ -2,7 +2,8 @@ define([
2
2
  /*====="../core/Row",=====*/
3
3
  /*====="../core/Cell",=====*/
4
4
  "dojo/_base/declare",
5
- "dojo/query",
5
+ // "dojo/query",
6
+ 'gridx/support/query',
6
7
  "dojo/_base/array",
7
8
  "dojo/_base/lang",
8
9
  "dojo/_base/json",
@@ -11,12 +12,10 @@ define([
11
12
  "dojo/_base/Deferred",
12
13
  "dojo/_base/sniff",
13
14
  "dojo/keys",
14
- "../core/_Module",
15
- "dojo/i18n",
16
- "dojo/i18n!../nls/Body"
15
+ "../core/_Module"
17
16
  // "dojo/NodeList-dom",
18
17
  // "dojo/NodeList-traverse"
19
- ], function(/*=====Row, Cell, =====*/declare, query, array, lang, json, domConstruct, domClass, Deferred, has, keys, _Module, i18n){
18
+ ], function(/*=====Row, Cell, =====*/declare, query, array, lang, json, domConstruct, domClass, Deferred, has, keys, _Module){
20
19
 
21
20
  /*=====
22
21
  Row.node = function(){
@@ -235,22 +234,24 @@ define([
235
234
  g = t.grid,
236
235
  dn = t.domNode = g.bodyNode;
237
236
  t._cellCls = {};
238
- t._nls = i18n.getLocalization('gridx', 'Body', g.lang);
239
237
  if(t.arg('rowHoverEffect')){
240
238
  domClass.add(dn, 'gridxBodyRowHoverEffect');
241
239
  }
242
- g.emptyNode.innerHTML = t.arg('loadingInfo', t._nls.loadingInfo);
240
+ g.emptyNode.innerHTML = t.arg('loadingInfo', g.nls.loadingInfo);
243
241
  g._connectEvents(dn, '_onMouseEvent', t);
242
+ t.aspect(t.model, 'onDelete', '_onDelete');
244
243
  t.aspect(t.model, 'onSet', '_onSet');
245
- t.aspect(g, 'onRowMouseOver', '_onRowMouseOver');
246
- t.connect(g.mainNode, 'onmouseleave', function(){
247
- query('> .gridxRowOver', t.domNode).removeClass('gridxRowOver');
248
- });
249
- t.connect(g.mainNode, 'onmouseover', function(e){
250
- if(e.target == g.bodyNode){
244
+ if(!g.touch){
245
+ t.aspect(g, 'onRowMouseOver', '_onRowMouseOver');
246
+ t.connect(g.mainNode, 'onmouseleave', function(){
251
247
  query('> .gridxRowOver', t.domNode).removeClass('gridxRowOver');
252
- }
253
- });
248
+ });
249
+ t.connect(g.mainNode, 'onmouseover', function(e){
250
+ if(e.target == g.bodyNode){
251
+ query('> .gridxRowOver', t.domNode).removeClass('gridxRowOver');
252
+ }
253
+ });
254
+ }
254
255
  t.aspect(g.model, 'setStore', function(){
255
256
  t.refresh();
256
257
  });
@@ -376,9 +377,10 @@ define([
376
377
  loadingNode = t.grid.loadingNode,
377
378
  d = new Deferred();
378
379
  delete t._err;
379
- domClass.add(loadingNode, 'gridxLoading');
380
+ clearTimeout(t._sizeChangeHandler);
380
381
  domClass.toggle(t.domNode, 'gridxBodyRowHoverEffect', t.arg('rowHoverEffect'));
381
-
382
+
383
+ domClass.add(loadingNode, 'gridxLoading');
382
384
  t.grid.view.updateVisualCount().then(function(){
383
385
  try{
384
386
  var rs = t.renderStart,
@@ -501,13 +503,13 @@ define([
501
503
  renderedRows = [],
502
504
  n = t.domNode,
503
505
  en = g.emptyNode,
504
- emptyInfo = t.arg('emptyInfo', t._nls.emptyInfo),
506
+ emptyInfo = t.arg('emptyInfo', g.nls.emptyInfo),
505
507
  finalInfo = '';
506
508
  if(t._err){
507
509
  return;
508
510
  }
509
511
  if(count > 0){
510
- en.innerHTML = t.arg('loadingInfo', t._nls.loadingInfo);
512
+ en.innerHTML = t.arg('loadingInfo', g.nls.loadingInfo);
511
513
  en.style.zIndex = '';
512
514
  if(position != 'top' && position != 'bottom'){
513
515
  t.model.free();
@@ -589,17 +591,21 @@ define([
589
591
  if(preOrPost == 'post'){
590
592
  for(; i < count && bn.lastChild; ++i){
591
593
  id = bn.lastChild.getAttribute('rowid');
592
- m.free(id);
593
- t.onUnrender(id);
594
+ if(m.isId(id)){
595
+ m.free(id);
596
+ t.onUnrender(id);
597
+ }
594
598
  domConstruct.destroy(bn.lastChild);
595
599
  }
596
600
  }else{
597
601
  var tp = bn.scrollTop;
598
602
  for(; i < count && bn.firstChild; ++i){
599
603
  id = bn.firstChild.getAttribute('rowid');
600
- m.free(id);
601
604
  tp -= bn.firstChild.offsetHeight;
602
- t.onUnrender(id);
605
+ if(m.isId(id)){
606
+ m.free(id);
607
+ t.onUnrender(id);
608
+ }
603
609
  domConstruct.destroy(bn.firstChild);
604
610
  }
605
611
  t.renderStart += i;
@@ -668,7 +674,7 @@ define([
668
674
  _loadFail: function(e){
669
675
  console.error(e);
670
676
  var en = this.grid.emptyNode;
671
- en.innerHTML = this.arg('loadFailInfo', this._nls.loadFailInfo);
677
+ en.innerHTML = this.arg('loadFailInfo', this.grid.nls.loadFailInfo);
672
678
  en.style.zIndex = 1;
673
679
  this.domNode.innerHTML = '';
674
680
  this._err = e;
@@ -831,18 +837,29 @@ define([
831
837
  },
832
838
 
833
839
  _decorateEvent: function(e){
840
+ //clean decorates from bubble
841
+ //need to re-decorate the event when bubbling
842
+ var atrs = ['rowId', 'columnId', 'rowIndex', 'visualIndex', 'columnIndex', 'parentId', 'cellNode'];
843
+ array.forEach(atrs, function(atr){
844
+ if(atr in e){
845
+ delete e[atr];
846
+ }
847
+ });
848
+
834
849
  var n = e.target || e.originalTarget,
835
850
  g = this.grid,
836
851
  tag;
837
852
  for(; n && n != g.bodyNode; n = n.parentNode){
838
853
  tag = n.tagName && n.tagName.toLowerCase();
839
- if(tag == 'td' && domClass.contains(n, 'gridxCell')){
854
+ if(tag == 'td' && domClass.contains(n, 'gridxCell') &&
855
+ n.parentNode.parentNode.parentNode.parentNode.parentNode === g.bodyNode){
856
+
840
857
  var col = g._columnsById[n.getAttribute('colid')];
841
858
  e.cellNode = n;
842
859
  e.columnId = col.id;
843
860
  e.columnIndex = col.index;
844
861
  }
845
- if(tag == 'div' && domClass.contains(n, 'gridxRow')){
862
+ if(tag == 'div' && domClass.contains(n, 'gridxRow') && n.parentNode === g.bodyNode){
846
863
  e.rowId = n.getAttribute('rowid');
847
864
  e.parentId = n.getAttribute('parentid');
848
865
  e.rowIndex = parseInt(n.getAttribute('rowindex'), 10);
@@ -853,6 +870,14 @@ define([
853
870
  },
854
871
 
855
872
  //Store Notification-------------------------------------------------------------------
873
+ _onDelete: function(id, index, treePath){
874
+ var t = this;
875
+ //only necessary for child row deletion.
876
+ if(treePath && treePath.length > 1){
877
+ t.lazyRefresh();
878
+ }
879
+ },
880
+
856
881
  _onSet: function(id, index, rowCache, oldCache){
857
882
  var t = this;
858
883
  if(t.autoUpdate && rowCache){
@@ -905,6 +930,14 @@ define([
905
930
  }
906
931
  }
907
932
  },
933
+ //GridInGrid-------------------------------------------------------------------------------------
934
+ _isDescendantRowNode: function(node){
935
+ return node.parentNode === this.grid.bodyNode;
936
+ },
937
+
938
+ _isDescendantCellNode: function(node){
939
+ return node.parentNode.parentNode.parentNode.parentNode.parentNode === this.grid.bodyNode;
940
+ },
908
941
 
909
942
  //Focus------------------------------------------------------------------------------------------
910
943
  _focusCellCol: 0,
@@ -1010,7 +1043,9 @@ define([
1010
1043
  t = this,
1011
1044
  g = t.grid,
1012
1045
  columnCount = g._columns.length,
1013
- vc = g.view.visualCount;
1046
+ vc = g.view.visualCount,
1047
+ //IE8 will destroy this event object after setTimeout
1048
+ e = has('ie') < 9 ? lang.mixin({}, evt) : evt;
1014
1049
  g.focus.stopEvent(evt); //Prevent scrolling the whole page.
1015
1050
  r = t._focusCellRow + rowStep;
1016
1051
  r = r < 0 ? 0 : (r >= vc ? vc - 1 : r);
@@ -1018,7 +1053,7 @@ define([
1018
1053
  c = c < 0 ? 0 : (c >= columnCount ? columnCount - 1 : c);
1019
1054
  g.vScroller.scrollToRow(r).then(function(){
1020
1055
  t._focusCell(0, r, c);
1021
- t.onMoveToCell(r, c, evt);
1056
+ t.onMoveToCell(r, c, e);
1022
1057
  });
1023
1058
  }
1024
1059
  },
@@ -1056,7 +1091,7 @@ define([
1056
1091
  _onFocus: function(evt){
1057
1092
  var bn = this.domNode,
1058
1093
  nl = query(evt.target).closest('.gridxCell', bn);
1059
- if(nl[0]){
1094
+ if(nl[0] && this._isDescendantCellNode(nl[0])){
1060
1095
  var colIndex = this.grid._columnsById[nl[0].getAttribute('colid')].index,
1061
1096
  visualIndex = parseInt(nl.closest('.gridxRow', bn)[0].getAttribute('visualindex'), 10);
1062
1097
  return this._focusCell(0, visualIndex, colIndex);
@@ -267,7 +267,6 @@ define([
267
267
  }
268
268
  }
269
269
  });
270
- // console.log('lazy is: ', lazyData);
271
270
  if(t.setCellValue){
272
271
  t.setCellValue(gridData, storeData, t, isInit);
273
272
  }
@@ -525,10 +524,14 @@ define([
525
524
  if(cellDec){
526
525
  if(!cellDec.widget && cellDec.decorator){
527
526
  try{
528
- cellDec.widget = new CellWidget({
527
+ var widget = cellDec.widget = new CellWidget({
529
528
  content: cellDec.decorator(cell.data(), cell.row.id, cell.row.visualIndex(), cell),
530
529
  setCellValue: cellDec.setCellValue
531
530
  });
531
+ this.onCellWidgetCreated(widget, cell.column);
532
+ if(cell.column.onCellWidgetCreated){
533
+ cell.column.onCellWidgetCreated(widget, cell.column);
534
+ }
532
535
  }catch(e){
533
536
  console.error('Edit:', e);
534
537
  }
@@ -67,6 +67,7 @@ define([
67
67
  });
68
68
  _this.connect(g.columnWidth, 'onUpdate', '_updateHeader');
69
69
  _this.connect(g.header, 'onRender', '_updateHeader');
70
+ _this.connect(g.body, 'onRender', '_updateBody');
70
71
  if(g.columnResizer){
71
72
  //make it compatible with column resizer
72
73
  _this.connect(g.columnResizer, 'onResize', '_updateHeader');
@@ -95,7 +96,6 @@ define([
95
96
  lock: function(/*Integer*/count){
96
97
  if(this.grid.columnWidth && this.grid.columnWidth.arg('autoResize'))return;
97
98
  if(count >= this.grid._columns.length){
98
- this.count = 0;
99
99
  console.warn('Warning: lock count is larger than columns count, do nothing.');
100
100
  return;
101
101
  }
@@ -148,7 +148,6 @@ define([
148
148
  // summary:
149
149
  // Lock columns for one row
150
150
  if(!this.count || this.count >= this.grid._columns.length){
151
- this.count = 0;
152
151
  return;
153
152
  }
154
153
 
@@ -2,7 +2,8 @@ define([
2
2
  "dojo/_base/declare",
3
3
  "dojo/_base/array",
4
4
  "dojo/_base/Deferred",
5
- "dojo/query",
5
+ // "dojo/query",
6
+ 'gridx/support/query',
6
7
  "dojo/_base/sniff",
7
8
  "dojo/dom-geometry",
8
9
  "dojo/dom-class",
@@ -315,6 +316,8 @@ define([
315
316
  g.tree._initExpandLevel();
316
317
  }
317
318
  g.body.refresh();
319
+ //Now header and body are matched, so we can fire onRender.
320
+ g.header.onRender();
318
321
  }
319
322
  });
320
323
  });