wice_grid 3.6.2 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +41 -0
  3. data/.circleci/run-build-locally.sh +7 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  5. data/.gitignore +5 -2
  6. data/Appraisals +11 -0
  7. data/CHANGELOG.md +38 -1
  8. data/Gemfile.lock +299 -0
  9. data/README.md +77 -34
  10. data/config/locales/ja.yml +3 -3
  11. data/gemfiles/rails_5.0.gemfile +7 -0
  12. data/gemfiles/rails_5.0.gemfile.lock +291 -0
  13. data/gemfiles/rails_5.1.gemfile +7 -0
  14. data/gemfiles/rails_5.1.gemfile.lock +291 -0
  15. data/gemfiles/rails_5.2.gemfile +7 -0
  16. data/gemfiles/rails_5.2.gemfile.lock +299 -0
  17. data/lib/wice/columns.rb +13 -6
  18. data/lib/wice/columns/column_integer.rb +11 -1
  19. data/lib/wice/columns/column_rails_datetime_helper.rb +3 -2
  20. data/lib/wice/columns/column_range.rb +6 -4
  21. data/lib/wice/grid_renderer.rb +23 -7
  22. data/lib/wice/helpers/bs_calendar_helpers.rb +9 -1
  23. data/lib/wice/helpers/wice_grid_view_helpers.rb +6 -6
  24. data/lib/wice/wice_grid_controller.rb +7 -5
  25. data/lib/wice/wice_grid_core_ext.rb +5 -1
  26. data/lib/wice/wice_grid_misc.rb +1 -1
  27. data/lib/wice_grid.rb +86 -59
  28. data/spec/acceptance_helper.rb +58 -0
  29. data/spec/features/action_column_request_spec.rb +280 -0
  30. data/spec/features/adding_rows_request_spec.rb +21 -0
  31. data/spec/features/all_records_request_spec.rb +18 -0
  32. data/spec/features/auto_reloads2_request_spec.rb +349 -0
  33. data/spec/features/auto_reloads3_request_spec.rb +130 -0
  34. data/spec/features/auto_reloads_request_spec.rb +348 -0
  35. data/spec/features/basics1_request_spec.rb +11 -0
  36. data/spec/features/basics2_request_spec.rb +10 -0
  37. data/spec/features/basics3_request_spec.rb +29 -0
  38. data/spec/features/basics4_request_spec.rb +19 -0
  39. data/spec/features/basics5_request_spec.rb +13 -0
  40. data/spec/features/basics6_request_spec.rb +22 -0
  41. data/spec/features/blockless_column_definition_spec.rb +27 -0
  42. data/spec/features/buttons_request_spec.rb +172 -0
  43. data/spec/features/csv_and_detached_filters_spec.rb +10 -0
  44. data/spec/features/csv_export_request_spec.rb +13 -0
  45. data/spec/features/custom_filter_params_request_spec.rb +29 -0
  46. data/spec/features/custom_filters1_request_spec.rb +155 -0
  47. data/spec/features/custom_filters2_request_spec.rb +53 -0
  48. data/spec/features/custom_filters3_request_spec.rb +50 -0
  49. data/spec/features/custom_filters4_request_spec.rb +13 -0
  50. data/spec/features/custom_ordering_on_calculated_request_spec.rb +30 -0
  51. data/spec/features/custom_ordering_request_spec.rb +36 -0
  52. data/spec/features/custom_ordering_with_arel_request_spec.rb +36 -0
  53. data/spec/features/custom_ordering_with_proc_request_spec.rb +44 -0
  54. data/spec/features/custom_ordering_with_ruby_request_spec.rb +30 -0
  55. data/spec/features/dates_request_spec.rb +56 -0
  56. data/spec/features/detached_filters_spec.rb +10 -0
  57. data/spec/features/detached_filters_two_grids_spec.rb +127 -0
  58. data/spec/features/disable_all_filters_spec.rb +22 -0
  59. data/spec/features/hiding_checkboxes_in_action_column_request_spec.rb +294 -0
  60. data/spec/features/integration_with_application_view_request_spec.rb +43 -0
  61. data/spec/features/integration_with_forms_request_spec.rb +141 -0
  62. data/spec/features/joining_tables_spec.rb +40 -0
  63. data/spec/features/localization_request_spec.rb +24 -0
  64. data/spec/features/many_grids_on_page_request_spec.rb +104 -0
  65. data/spec/features/negation_request_spec.rb +25 -0
  66. data/spec/features/no_records_request_spec.rb +26 -0
  67. data/spec/features/numeric_filters_request_spec.rb +10 -0
  68. data/spec/features/resultset_processings2_request_spec.rb +27 -0
  69. data/spec/features/resultset_processings_request_spec.rb +30 -0
  70. data/spec/features/saved_queries_request_spec.rb +120 -0
  71. data/spec/features/shared.rb +1005 -0
  72. data/spec/features/shared_detached_filters.rb +158 -0
  73. data/spec/features/styling_spec.rb +15 -0
  74. data/spec/features/two_associations_spec.rb +48 -0
  75. data/spec/features/upper_pagination_panel_request_spec.rb +23 -0
  76. data/spec/features/when_filtered_spec.rb +209 -0
  77. data/spec/fixtures/.gitkeep +0 -0
  78. data/spec/fixtures/companies.yml +21 -0
  79. data/spec/fixtures/priorities.yml +31 -0
  80. data/spec/fixtures/project_roles.yml +25 -0
  81. data/spec/fixtures/projects.yml +22 -0
  82. data/spec/fixtures/statuses.yml +55 -0
  83. data/spec/fixtures/tasks.yml +751 -0
  84. data/spec/fixtures/tasks_users.yml +2089 -0
  85. data/spec/fixtures/users.yml +61 -0
  86. data/spec/fixtures/versions.yml +78 -0
  87. data/spec/models/company_spec.rb +6 -0
  88. data/spec/models/priority_spec.rb +6 -0
  89. data/spec/models/project_spec.rb +11 -0
  90. data/spec/models/status_spec.rb +6 -0
  91. data/spec/models/task_spec.rb +12 -0
  92. data/spec/models/user_project_participation_spec.rb +7 -0
  93. data/spec/models/user_spec.rb +12 -0
  94. data/spec/models/version_spec.rb +5 -0
  95. data/spec/rails_helper.rb +15 -0
  96. data/spec/spec_helper.rb +10 -9
  97. data/spec/support/test_app/Rakefile +3 -0
  98. data/spec/support/test_app/app/assets/javascripts/application.js +20 -0
  99. data/spec/support/test_app/app/assets/javascripts/common.js.coffee +6 -0
  100. data/spec/support/test_app/app/assets/javascripts/jquery.ui.datepicker.locales.js +56 -0
  101. data/spec/support/test_app/app/assets/stylesheets/adding_rows.scss +3 -0
  102. data/spec/support/test_app/app/assets/stylesheets/application.scss +46 -0
  103. data/spec/support/test_app/app/assets/stylesheets/csv_and_detached_filters.scss +3 -0
  104. data/spec/support/test_app/app/assets/stylesheets/many_grids_on_page.scss +3 -0
  105. data/spec/support/test_app/app/controllers/action_column_controller.rb +15 -0
  106. data/spec/support/test_app/app/controllers/adding_rows_controller.rb +14 -0
  107. data/spec/support/test_app/app/controllers/all_records_controller.rb +14 -0
  108. data/spec/support/test_app/app/controllers/application_controller.rb +99 -0
  109. data/spec/support/test_app/app/controllers/auto_reloads2_controller.rb +14 -0
  110. data/spec/support/test_app/app/controllers/auto_reloads3_controller.rb +20 -0
  111. data/spec/support/test_app/app/controllers/auto_reloads_controller.rb +14 -0
  112. data/spec/support/test_app/app/controllers/basics1_controller.rb +6 -0
  113. data/spec/support/test_app/app/controllers/basics2_controller.rb +6 -0
  114. data/spec/support/test_app/app/controllers/basics3_controller.rb +6 -0
  115. data/spec/support/test_app/app/controllers/basics4_controller.rb +6 -0
  116. data/spec/support/test_app/app/controllers/basics5_controller.rb +6 -0
  117. data/spec/support/test_app/app/controllers/basics6_controller.rb +11 -0
  118. data/spec/support/test_app/app/controllers/blockless_column_definition_controller.rb +6 -0
  119. data/spec/support/test_app/app/controllers/buttons_controller.rb +6 -0
  120. data/spec/support/test_app/app/controllers/csv_and_detached_filters_controller.rb +13 -0
  121. data/spec/support/test_app/app/controllers/csv_export_controller.rb +28 -0
  122. data/spec/support/test_app/app/controllers/custom_filter_params_controller.rb +6 -0
  123. data/spec/support/test_app/app/controllers/custom_filters1_controller.rb +9 -0
  124. data/spec/support/test_app/app/controllers/custom_filters2_controller.rb +14 -0
  125. data/spec/support/test_app/app/controllers/custom_filters3_controller.rb +12 -0
  126. data/spec/support/test_app/app/controllers/custom_filters4_controller.rb +12 -0
  127. data/spec/support/test_app/app/controllers/custom_ordering_controller.rb +18 -0
  128. data/spec/support/test_app/app/controllers/custom_ordering_on_calculated_controller.rb +6 -0
  129. data/spec/support/test_app/app/controllers/custom_ordering_with_arel_controller.rb +18 -0
  130. data/spec/support/test_app/app/controllers/custom_ordering_with_proc_controller.rb +11 -0
  131. data/spec/support/test_app/app/controllers/custom_ordering_with_ruby_controller.rb +6 -0
  132. data/spec/support/test_app/app/controllers/dates_controller.rb +8 -0
  133. data/spec/support/test_app/app/controllers/detached_filters_controller.rb +6 -0
  134. data/spec/support/test_app/app/controllers/detached_filters_two_grids_controller.rb +7 -0
  135. data/spec/support/test_app/app/controllers/disable_all_filters_controller.rb +6 -0
  136. data/spec/support/test_app/app/controllers/hiding_checkboxes_in_action_column_controller.rb +13 -0
  137. data/spec/support/test_app/app/controllers/home_controller.rb +3 -0
  138. data/spec/support/test_app/app/controllers/integration_with_application_view_controller.rb +16 -0
  139. data/spec/support/test_app/app/controllers/integration_with_forms_controller.rb +11 -0
  140. data/spec/support/test_app/app/controllers/joining_tables_controller.rb +11 -0
  141. data/spec/support/test_app/app/controllers/localization_controller.rb +26 -0
  142. data/spec/support/test_app/app/controllers/many_grids_on_page_controller.rb +7 -0
  143. data/spec/support/test_app/app/controllers/negation_controller.rb +14 -0
  144. data/spec/support/test_app/app/controllers/no_records_controller.rb +8 -0
  145. data/spec/support/test_app/app/controllers/null_values_controller.rb +10 -0
  146. data/spec/support/test_app/app/controllers/numeric_filters_controller.rb +6 -0
  147. data/spec/support/test_app/app/controllers/queries_controller.rb +4 -0
  148. data/spec/support/test_app/app/controllers/resultset_processings2_controller.rb +29 -0
  149. data/spec/support/test_app/app/controllers/resultset_processings_controller.rb +30 -0
  150. data/spec/support/test_app/app/controllers/saved_queries_controller.rb +14 -0
  151. data/spec/support/test_app/app/controllers/styling_controller.rb +7 -0
  152. data/spec/support/test_app/app/controllers/tasks_controller.rb +14 -0
  153. data/spec/support/test_app/app/controllers/two_associations_controller.rb +6 -0
  154. data/spec/support/test_app/app/controllers/upper_pagination_panel_controller.rb +6 -0
  155. data/spec/support/test_app/app/controllers/when_filtered_controller.rb +6 -0
  156. data/spec/support/test_app/app/helpers/application_helper.rb +82 -0
  157. data/spec/support/test_app/app/mailers/.gitkeep +0 -0
  158. data/spec/support/test_app/app/models/.gitkeep +0 -0
  159. data/spec/support/test_app/app/models/company.rb +5 -0
  160. data/spec/support/test_app/app/models/populate.rb +84 -0
  161. data/spec/support/test_app/app/models/priority.rb +10 -0
  162. data/spec/support/test_app/app/models/project.rb +14 -0
  163. data/spec/support/test_app/app/models/project_role.rb +3 -0
  164. data/spec/support/test_app/app/models/status.rb +10 -0
  165. data/spec/support/test_app/app/models/task.rb +11 -0
  166. data/spec/support/test_app/app/models/to_dropdown_mixin.rb +16 -0
  167. data/spec/support/test_app/app/models/user.rb +8 -0
  168. data/spec/support/test_app/app/models/user_project_participation.rb +6 -0
  169. data/spec/support/test_app/app/models/version.rb +6 -0
  170. data/spec/support/test_app/app/views/action_column/_grid.html.erb +35 -0
  171. data/spec/support/test_app/app/views/action_column/index.html.haml +45 -0
  172. data/spec/support/test_app/app/views/adding_rows/_grid.html.erb +58 -0
  173. data/spec/support/test_app/app/views/adding_rows/index.html.haml +37 -0
  174. data/spec/support/test_app/app/views/all_records/_grid.html.erb +30 -0
  175. data/spec/support/test_app/app/views/all_records/index.html.haml +12 -0
  176. data/spec/support/test_app/app/views/auto_reloads/_grid.html.erb +32 -0
  177. data/spec/support/test_app/app/views/auto_reloads/index.html.haml +15 -0
  178. data/spec/support/test_app/app/views/auto_reloads2/_grid.html.erb +32 -0
  179. data/spec/support/test_app/app/views/auto_reloads2/index.html.haml +65 -0
  180. data/spec/support/test_app/app/views/auto_reloads3/_grid.html.erb +25 -0
  181. data/spec/support/test_app/app/views/auto_reloads3/index.html.haml +78 -0
  182. data/spec/support/test_app/app/views/basics1/_grid.html.erb +26 -0
  183. data/spec/support/test_app/app/views/basics1/index.html.haml +13 -0
  184. data/spec/support/test_app/app/views/basics2/_grid.html.erb +27 -0
  185. data/spec/support/test_app/app/views/basics2/index.html.haml +12 -0
  186. data/spec/support/test_app/app/views/basics3/_grid.html.erb +28 -0
  187. data/spec/support/test_app/app/views/basics3/index.html.haml +13 -0
  188. data/spec/support/test_app/app/views/basics4/_grid.html.erb +21 -0
  189. data/spec/support/test_app/app/views/basics4/index.html.haml +12 -0
  190. data/spec/support/test_app/app/views/basics5/_grid.html.erb +19 -0
  191. data/spec/support/test_app/app/views/basics5/index.html.haml +12 -0
  192. data/spec/support/test_app/app/views/basics6/_grid.html.erb +19 -0
  193. data/spec/support/test_app/app/views/basics6/index.html.haml +23 -0
  194. data/spec/support/test_app/app/views/blockless_column_definition/_grid.html.erb +19 -0
  195. data/spec/support/test_app/app/views/blockless_column_definition/index.html.haml +15 -0
  196. data/spec/support/test_app/app/views/buttons/_grid.html.erb +20 -0
  197. data/spec/support/test_app/app/views/buttons/index.html.haml +30 -0
  198. data/spec/support/test_app/app/views/csv_and_detached_filters/_grid.html.erb +23 -0
  199. data/spec/support/test_app/app/views/csv_and_detached_filters/index.html.haml +58 -0
  200. data/spec/support/test_app/app/views/csv_export/_projects_grid.html.erb +17 -0
  201. data/spec/support/test_app/app/views/csv_export/_tasks_grid.html.erb +43 -0
  202. data/spec/support/test_app/app/views/csv_export/index.html.haml +90 -0
  203. data/spec/support/test_app/app/views/custom_filter_params/_grid.html.erb +12 -0
  204. data/spec/support/test_app/app/views/custom_filter_params/index.html.haml +12 -0
  205. data/spec/support/test_app/app/views/custom_filters1/_g1.html.erb +8 -0
  206. data/spec/support/test_app/app/views/custom_filters1/_g2.html.erb +9 -0
  207. data/spec/support/test_app/app/views/custom_filters1/_g3.html.erb +9 -0
  208. data/spec/support/test_app/app/views/custom_filters1/_g4.html.erb +8 -0
  209. data/spec/support/test_app/app/views/custom_filters1/index.html.haml +30 -0
  210. data/spec/support/test_app/app/views/custom_filters2/_grid.html.erb +30 -0
  211. data/spec/support/test_app/app/views/custom_filters2/index.html.haml +41 -0
  212. data/spec/support/test_app/app/views/custom_filters3/_grid.html.erb +18 -0
  213. data/spec/support/test_app/app/views/custom_filters3/index.html.haml +16 -0
  214. data/spec/support/test_app/app/views/custom_filters4/_grid.html.erb +20 -0
  215. data/spec/support/test_app/app/views/custom_filters4/index.html.haml +12 -0
  216. data/spec/support/test_app/app/views/custom_ordering/_grid.html.erb +10 -0
  217. data/spec/support/test_app/app/views/custom_ordering/index.html.haml +24 -0
  218. data/spec/support/test_app/app/views/custom_ordering_on_calculated/_grid.html.erb +14 -0
  219. data/spec/support/test_app/app/views/custom_ordering_on_calculated/index.html.haml +23 -0
  220. data/spec/support/test_app/app/views/custom_ordering_with_arel/_grid.html.erb +10 -0
  221. data/spec/support/test_app/app/views/custom_ordering_with_arel/index.html.haml +24 -0
  222. data/spec/support/test_app/app/views/custom_ordering_with_proc/_grid.html.erb +10 -0
  223. data/spec/support/test_app/app/views/custom_ordering_with_proc/index.html.haml +21 -0
  224. data/spec/support/test_app/app/views/custom_ordering_with_ruby/_grid.html.erb +10 -0
  225. data/spec/support/test_app/app/views/custom_ordering_with_ruby/index.html.haml +23 -0
  226. data/spec/support/test_app/app/views/dates/_grid.html.erb +25 -0
  227. data/spec/support/test_app/app/views/dates/index.html.haml +52 -0
  228. data/spec/support/test_app/app/views/detached_filters/_grid.html.erb +23 -0
  229. data/spec/support/test_app/app/views/detached_filters/index.html.haml +79 -0
  230. data/spec/support/test_app/app/views/detached_filters_two_grids/_grid.html.erb +23 -0
  231. data/spec/support/test_app/app/views/detached_filters_two_grids/index.html.haml +85 -0
  232. data/spec/support/test_app/app/views/disable_all_filters/_grid.html.erb +21 -0
  233. data/spec/support/test_app/app/views/disable_all_filters/index.html.haml +14 -0
  234. data/spec/support/test_app/app/views/hiding_checkboxes_in_action_column/_grid.html.erb +34 -0
  235. data/spec/support/test_app/app/views/hiding_checkboxes_in_action_column/index.html.haml +32 -0
  236. data/spec/support/test_app/app/views/integration_with_application_view/_grid.html.erb +27 -0
  237. data/spec/support/test_app/app/views/integration_with_application_view/index.html.haml +33 -0
  238. data/spec/support/test_app/app/views/integration_with_forms/_grid.html.erb +23 -0
  239. data/spec/support/test_app/app/views/integration_with_forms/index.html.haml +18 -0
  240. data/spec/support/test_app/app/views/joining_tables/_grid.html.erb +23 -0
  241. data/spec/support/test_app/app/views/joining_tables/index.html.haml +26 -0
  242. data/spec/support/test_app/app/views/layouts/application.html.haml +61 -0
  243. data/spec/support/test_app/app/views/localization/_grid.html.erb +36 -0
  244. data/spec/support/test_app/app/views/localization/index.html.haml +20 -0
  245. data/spec/support/test_app/app/views/many_grids_on_page/_tasks_grid1.html.erb +12 -0
  246. data/spec/support/test_app/app/views/many_grids_on_page/_tasks_grid2.html.erb +12 -0
  247. data/spec/support/test_app/app/views/many_grids_on_page/index.html.haml +26 -0
  248. data/spec/support/test_app/app/views/negation/_grid.html.erb +30 -0
  249. data/spec/support/test_app/app/views/negation/index.html.haml +15 -0
  250. data/spec/support/test_app/app/views/no_records/_empty_grid.html.haml +1 -0
  251. data/spec/support/test_app/app/views/no_records/_grid1.html.erb +11 -0
  252. data/spec/support/test_app/app/views/no_records/_grid2.html.erb +9 -0
  253. data/spec/support/test_app/app/views/no_records/_grid3.html.erb +9 -0
  254. data/spec/support/test_app/app/views/no_records/index.html.haml +24 -0
  255. data/spec/support/test_app/app/views/null_values/_grid.html.erb +17 -0
  256. data/spec/support/test_app/app/views/null_values/index.html.haml +21 -0
  257. data/spec/support/test_app/app/views/numeric_filters/_grid.html.erb +19 -0
  258. data/spec/support/test_app/app/views/numeric_filters/index.html.haml +12 -0
  259. data/spec/support/test_app/app/views/resultset_processings/_grid.html.erb +27 -0
  260. data/spec/support/test_app/app/views/resultset_processings/index.html.haml +50 -0
  261. data/spec/support/test_app/app/views/resultset_processings2/_grid.html.erb +27 -0
  262. data/spec/support/test_app/app/views/resultset_processings2/index.html.haml +48 -0
  263. data/spec/support/test_app/app/views/saved_queries/_grid.html.erb +30 -0
  264. data/spec/support/test_app/app/views/saved_queries/index.html.haml +15 -0
  265. data/spec/support/test_app/app/views/styling/_grid1.html.erb +12 -0
  266. data/spec/support/test_app/app/views/styling/_grid2.html.erb +31 -0
  267. data/spec/support/test_app/app/views/styling/index.html.haml +65 -0
  268. data/spec/support/test_app/app/views/tasks/_grid.html.erb +19 -0
  269. data/spec/support/test_app/app/views/tasks/index.html.haml +1 -0
  270. data/spec/support/test_app/app/views/two_associations/_grid.html.erb +13 -0
  271. data/spec/support/test_app/app/views/two_associations/index.html.haml +13 -0
  272. data/spec/support/test_app/app/views/upper_pagination_panel/_grid.html.erb +27 -0
  273. data/spec/support/test_app/app/views/upper_pagination_panel/index.html.haml +14 -0
  274. data/spec/support/test_app/app/views/when_filtered/_grid.html.erb +19 -0
  275. data/spec/support/test_app/app/views/when_filtered/index.html.haml +15 -0
  276. data/spec/support/test_app/bin/rails +4 -0
  277. data/spec/support/test_app/bin/rake +4 -0
  278. data/spec/support/test_app/config.ru +5 -0
  279. data/spec/support/test_app/config/application.rb +70 -0
  280. data/spec/support/test_app/config/boot.rb +7 -0
  281. data/spec/support/test_app/config/database.travis.yml +27 -0
  282. data/spec/support/test_app/config/database.yml +16 -0
  283. data/spec/support/test_app/config/database.yml.mysql +19 -0
  284. data/spec/support/test_app/config/database.yml.postgresql +18 -0
  285. data/spec/support/test_app/config/environment.rb +6 -0
  286. data/spec/support/test_app/config/environments/development.rb +34 -0
  287. data/spec/support/test_app/config/environments/production.rb +66 -0
  288. data/spec/support/test_app/config/environments/test.rb +34 -0
  289. data/spec/support/test_app/config/initializers/backtrace_silencers.rb +8 -0
  290. data/spec/support/test_app/config/initializers/inflections.rb +16 -0
  291. data/spec/support/test_app/config/initializers/mime_types.rb +6 -0
  292. data/spec/support/test_app/config/initializers/secret_token.rb +12 -0
  293. data/spec/support/test_app/config/initializers/session_store.rb +9 -0
  294. data/spec/support/test_app/config/initializers/wice_grid_config.rb +163 -0
  295. data/spec/support/test_app/config/initializers/wrap_parameters.rb +15 -0
  296. data/spec/support/test_app/config/locales/en.yml +5 -0
  297. data/spec/support/test_app/config/locales/wice_grid.yml +550 -0
  298. data/spec/support/test_app/config/puma.rb +15 -0
  299. data/spec/support/test_app/config/routes.rb +125 -0
  300. data/spec/support/test_app/db/migrate/20120224193505_create_tasks.rb +27 -0
  301. data/spec/support/test_app/db/migrate/20120224193517_create_users.rb +12 -0
  302. data/spec/support/test_app/db/migrate/20120224193522_create_projects.rb +14 -0
  303. data/spec/support/test_app/db/migrate/20120224193529_create_priorities.rb +13 -0
  304. data/spec/support/test_app/db/migrate/20120224193537_create_statuses.rb +13 -0
  305. data/spec/support/test_app/db/migrate/20120224193543_create_versions.rb +15 -0
  306. data/spec/support/test_app/db/migrate/20120224193550_create_project_roles.rb +12 -0
  307. data/spec/support/test_app/db/migrate/20120224193610_create_companies.rb +12 -0
  308. data/spec/support/test_app/db/migrate/20120224195351_create_user_project_participations.rb +16 -0
  309. data/spec/support/test_app/db/migrate/20120224195521_add_tasks_users.rb +11 -0
  310. data/spec/support/test_app/db/migrate/20120610091944_create_wice_grid_serialized_queries.rb +14 -0
  311. data/spec/support/test_app/db/schema.rb +139 -0
  312. data/spec/support/test_app/db/seeds.rb +10 -0
  313. data/spec/support/test_app/lib/ar_fixtures.rb +100 -0
  314. data/spec/support/test_app/lib/assets/.gitkeep +0 -0
  315. data/spec/support/test_app/lib/tasks/.gitkeep +0 -0
  316. data/spec/support/test_app/lib/tasks/ar_fixtures.rake +45 -0
  317. data/spec/support/test_app/public/404.html +26 -0
  318. data/spec/support/test_app/public/422.html +26 -0
  319. data/spec/support/test_app/public/500.html +25 -0
  320. data/spec/support/test_app/public/favicon.ico +0 -0
  321. data/spec/support/test_app/public/robots.txt +5 -0
  322. data/spec/wice/grid_output_buffer_spec.rb +2 -2
  323. data/spec/wice/table_column_matrix_spec.rb +1 -1
  324. data/vendor/assets/javascripts/wice_grid_init.js.coffee +16 -4
  325. data/vendor/assets/javascripts/wice_grid_saved_queries_init.js.coffee +1 -0
  326. data/wice_grid.gemspec +29 -9
  327. metadata +606 -62
  328. data/release_notes/RELEASE_NOTES_3.2.pre1.rdoc +0 -81
  329. data/release_notes/RELEASE_NOTES_3.2.pre2.rdoc +0 -6
  330. data/release_notes/RELEASE_NOTES_3.3.0.rdoc +0 -21
  331. data/spec/support/wice_grid_test_config.rb +0 -173
  332. data/test/readme.txt +0 -1
@@ -0,0 +1,21 @@
1
+ <%= grid(@tasks_grid, show_filters: :no) do |g|
2
+
3
+ g.column name: 'ID', attribute: 'id'
4
+
5
+ g.column name: 'Title', attribute: 'title'
6
+
7
+ g.column name: 'Description', attribute: 'description'
8
+
9
+ g.column name: 'Archived', attribute: 'archived' do |task|
10
+ task.archived? ? 'Yes' : 'No'
11
+ end
12
+
13
+ g.column name: 'Added', attribute: 'created_at' do |task|
14
+ task.created_at.to_s(:short)
15
+ end
16
+
17
+
18
+ g.column do |task|
19
+ link_to('Edit', edit_task_path(task))
20
+ end
21
+ end -%>
@@ -0,0 +1,14 @@
1
+ .well
2
+ %h2= current_page_title
3
+ %p
4
+ To disable all filters at once use
5
+ %code show_filters: :no
6
+ as a
7
+ %code grid
8
+ parameter .
9
+
10
+ = show_code
11
+
12
+ .row-fluid
13
+ .col-md-12
14
+ = render 'grid'
@@ -0,0 +1,34 @@
1
+ <%= grid(@tasks_grid) do |g|
2
+
3
+ g.action_column html_check_box: false do |task|
4
+ task.status.name != 'Assigned'
5
+ end
6
+
7
+
8
+ g.column name: 'ID', attribute: 'id', filter_type: :range
9
+
10
+ g.column name: 'Title', attribute: 'title', negation: true
11
+
12
+ g.column name: 'Archived', attribute: 'archived' do |rec|
13
+ rec.archived? ? 'Yes' : 'No'
14
+ end
15
+
16
+
17
+ g.column name: 'Status', attribute: 'status_id', custom_filter: Status.to_dropdown do |task|
18
+ task.status.name if task.status
19
+ end
20
+
21
+ g.column name: 'Project Name', attribute: 'project_id', custom_filter: Project.to_dropdown do |task|
22
+ task.project.name if task.project
23
+ end
24
+
25
+ g.column name: 'Due Date', attribute: 'due_date' do |task|
26
+ task.due_date if task.due_date
27
+ end
28
+
29
+
30
+ g.column name: 'Added', attribute: 'created_at' do |task|
31
+ task.created_at.to_s(:db)
32
+ end
33
+
34
+ end -%>
@@ -0,0 +1,32 @@
1
+ .well
2
+ %h2= current_page_title
3
+ %p
4
+ You can hide a certain action checkbox if you add the usual block to
5
+ %code g.action_column
6
+ , just like with the
7
+ %code g.column
8
+ definition. If the block returns
9
+ %code nil
10
+ or
11
+ %code false
12
+ no checkbox will be rendered.
13
+
14
+ = show_code
15
+
16
+ = dump_filter_parameters_as_hidden_fields(@tasks_grid)
17
+ = form_for '#', method: :get do
18
+
19
+ - if @selected
20
+ .well
21
+ Selected tasks:
22
+ = @selected.to_sentence
23
+
24
+ .row-fluid
25
+ .col-md-12
26
+ %p
27
+ %button.btn.btn-default{'type' => 'submit'} Process tasks
28
+
29
+ = render 'grid'
30
+
31
+ %p
32
+ %button.btn.btn-default{'type' => 'submit'} Process tasks
@@ -0,0 +1,27 @@
1
+ <%= grid(@tasks_grid, hide_submit_button: true) do |g|
2
+
3
+ g.column name: 'ID', attribute: 'id', filter: false
4
+
5
+ g.column name: 'Title', attribute: 'title', auto_reload: true
6
+
7
+ g.column name: 'Priority', attribute: 'priority_id', custom_filter: Priority.to_dropdown, auto_reload: true do |task|
8
+ task.priority.name if task.priority
9
+ end
10
+
11
+ g.column name: 'Status', attribute: 'status_id', custom_filter: Status.to_dropdown, auto_reload: true do |task|
12
+ task.status.name if task.status
13
+ end
14
+
15
+ g.column name: 'Project Name', attribute: 'project_id', custom_filter: Project.to_dropdown, auto_reload: true do |task|
16
+ task.project.name if task.project
17
+ end
18
+
19
+ g.column name: 'Archived', attribute: 'archived', auto_reload: true do |task|
20
+ task.archived? ? 'Yes' : 'No'
21
+ end
22
+
23
+ g.column name: 'Added', attribute: 'created_at', auto_reload: true do |task|
24
+ task.created_at.to_s(:short)
25
+ end
26
+
27
+ end -%>
@@ -0,0 +1,33 @@
1
+ .well
2
+ %h2= current_page_title
3
+ %p
4
+ Method
5
+ %code current_page_records
6
+ sent to the grid object returns a list of all ActiveRecord objects currently displayed on the page.
7
+ %p
8
+ Method
9
+ %code all_pages_records
10
+ returns a list of all ActiveRecord objects throughout all pages of the current selection.
11
+ %code all_pages_records
12
+ causes an additional SQL query to be executed and has to be used with care.
13
+ %p Both methods can be used after the grid definition only.
14
+
15
+ = show_code
16
+
17
+ = render 'grid'
18
+
19
+ .row-fluid
20
+ .col-md-6
21
+ .well
22
+ - current_page_records = @tasks_grid.current_page_records
23
+ = current_page_records.size
24
+ records on the current page:
25
+ = current_page_records.map(&:id).to_sentence
26
+
27
+ .col-md-6
28
+ .well
29
+ - all_pages_records = @tasks_grid.all_pages_records
30
+ = all_pages_records.size
31
+ records throughout all pages:
32
+ = all_pages_records.map(&:id).to_sentence
33
+
@@ -0,0 +1,23 @@
1
+ <%= grid(@tasks_grid) do |g|
2
+
3
+ g.column name: 'ID', attribute: 'id', filter_type: :range
4
+
5
+ g.column name: 'Title', attribute: 'title', negation: true
6
+
7
+ g.column name: 'Status', attribute: 'status_id', custom_filter: Status.to_dropdown do |task|
8
+ task.status.name if task.status
9
+ end
10
+
11
+ g.column name: 'Project Name', attribute: 'project_id', custom_filter: Project.to_dropdown do |task|
12
+ task.project.name if task.project
13
+ end
14
+
15
+ g.column name: 'Due Date', attribute: 'due_date' do |task|
16
+ task.due_date if task.due_date
17
+ end
18
+
19
+ g.column name: 'Added', attribute: 'created_at' do |task|
20
+ task.created_at.to_s(:db)
21
+ end
22
+
23
+ end -%>
@@ -0,0 +1,18 @@
1
+ .well
2
+ %h2= current_page_title
3
+ %p
4
+ In addition to including
5
+ %a{href: action_column_index_path}a grid into a form
6
+ it is possible to dump the state of filters into another form as a set of hidden parameters with helper
7
+ %code dump_filter_parameters_as_hidden_fields(grid_object)
8
+ \.
9
+
10
+ = show_code
11
+
12
+ = form_tag(integration_with_forms_path, method: :get) do
13
+ = dump_filter_parameters_as_hidden_fields(@tasks_grid)
14
+
15
+ %p= select_tag 'archived', options_for_select([['View active tasks', 0], ['View archived tasks', 1]], @archived ? 1 : 0), class: 'reload-on-change form-control'
16
+
17
+
18
+ = render 'grid'
@@ -0,0 +1,23 @@
1
+ <%= grid(@tasks_grid, show_filters: :always) do |g|
2
+
3
+ g.column name: 'ID', attribute: 'id', filter: false
4
+
5
+ g.column name: 'Title', attribute: 'title'
6
+
7
+ g.column name: 'Priority', attribute: 'name', assoc: :priority
8
+
9
+ g.column name: 'Status', attribute: 'name', assoc: :status
10
+
11
+ g.column name: 'Project Name', attribute: 'name', assoc: :project
12
+
13
+ g.column name: 'Customer', attribute: 'name', assoc: [:project, :customer]
14
+
15
+
16
+ g.column name: 'Assigned To', attribute: 'name', assoc: :assigned_users do |task|
17
+ task.assigned_users.collect{|user| user.name}.to_sentence
18
+ end
19
+
20
+ g.column do |task|
21
+ link_to('Edit', edit_task_path(task))
22
+ end
23
+ end -%>
@@ -0,0 +1,26 @@
1
+ .well
2
+ %h2= current_page_title
3
+ %p
4
+ Use
5
+ %code :include
6
+ in
7
+ %code :initialize_grid
8
+ to include associated tables.
9
+ %code :include
10
+ can be a single association name, an array of association names.
11
+ If you need to join tables to joined tabes, use hashes, for example:
12
+ %code include: [:priority, :status, {project: :customer}]
13
+
14
+ %p
15
+ To define a column from a joined table, use
16
+ %code :assoc
17
+ to specify a the corresponding association.
18
+ If you need to join a table to a joined table,
19
+ list associations in an array on the correct order
20
+ (look at the customer column).
21
+ %p
22
+ You can drop a block if you don't need any special markup.
23
+
24
+ = show_code
25
+
26
+ = render 'grid'
@@ -0,0 +1,61 @@
1
+ !!! 5
2
+ %html
3
+ %head
4
+ %title WiceGrid Examples
5
+ = stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true
6
+ = javascript_include_tag "application", "data-turbolinks-track" => true
7
+ = csrf_meta_tags
8
+ %body
9
+
10
+
11
+ .container-fluid
12
+
13
+ %header
14
+ %h1 WiceGrid 3.6.0.pre4 examples
15
+ .example-navigator
16
+ %ul.pager
17
+ - previous_example_controller, next_example_controller = previous_next_example_urls
18
+ - if previous_example_controller
19
+ %li.previous
20
+ =link_to "← Previous", controller: previous_example_controller, action: :index
21
+ -if next_example_controller
22
+ %li.next
23
+ =link_to "Next →", controller: next_example_controller, action: :index
24
+ .clear
25
+
26
+
27
+ .row-fluid
28
+ .col-md-3
29
+ .well
30
+ %ul.nav.nav-pills.nav-stacked
31
+
32
+ - @example_map.each do |title, examples|
33
+
34
+ %li.nav-header= title
35
+
36
+ - examples.each do |example_controller, name, _|
37
+ - if example_controller.to_s == controller_name
38
+ - active_klass = 'active'
39
+
40
+ - @example_name = name
41
+ - else
42
+ - active_klass = nil
43
+ %li{class: active_klass}
44
+ = link_to name, controller: example_controller, action: :index
45
+ .col-md-9
46
+ =yield
47
+
48
+
49
+
50
+ %hr
51
+
52
+ %footer
53
+ &copy; Yury Leikind 2012 - 2015
54
+ %span.sources
55
+ %a{href: "https://github.com/leikind/wice_grid"} Sources
56
+
57
+ %a{href: "https://github.com/leikind/wice_grid"}
58
+ %img{ style: "position: absolute; top: 0; right: 0; border: 0;;", src: "https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png", alt: "Fork me on GitHub"}
59
+
60
+
61
+
@@ -0,0 +1,36 @@
1
+ <%= grid(@tasks_grid, show_filters: :always) do |g|
2
+
3
+ g.column name: 'ID', attribute: 'id', filter: false
4
+
5
+ g.column name: 'Title', attribute: 'title'
6
+
7
+ g.column name: 'Priority', attribute: 'priority_id', custom_filter: Priority.to_dropdown do |task|
8
+ task.priority.name if task.priority
9
+ end
10
+
11
+ g.column name: 'Status', attribute: 'status_id', custom_filter: Status.to_dropdown do |task|
12
+ task.status.name if task.status
13
+ end
14
+
15
+ g.column name: 'Project Name', attribute: 'project_id', custom_filter: Project.to_dropdown do |task|
16
+ task.project.name if task.project
17
+ end
18
+
19
+ g.column name: 'Archived', attribute: 'archived' do |task|
20
+ task.archived? ? 'Yes' : 'No'
21
+ end
22
+
23
+ g.column name: 'Due Date', attribute: 'due_date' do |task|
24
+ task.due_date.to_s(:short)
25
+ end
26
+
27
+
28
+ g.column name: 'Added', attribute: 'created_at' do |task|
29
+ task.created_at.to_s(:short)
30
+ end
31
+
32
+ g.column do |task|
33
+ link_to('Edit', edit_task_path(task))
34
+ end
35
+ end
36
+ %>
@@ -0,0 +1,20 @@
1
+ .well
2
+ %h2= current_page_title
3
+ %p
4
+ WiceGrid integrated well with I18n.
5
+ Edit file
6
+ %code wice_grid.yml
7
+ to add or change languages.
8
+
9
+ = show_code
10
+
11
+ %ul.nav.nav-pills
12
+ - current = session[:lang].to_s
13
+ - ['en', 'nl', 'fr', 'is'].each do |lang|
14
+ - klass = current == lang ? 'active' : nil
15
+ %li{class: klass}
16
+ %a{href:url_for(lang: lang)}= lang
17
+
18
+ = render 'grid'
19
+
20
+
@@ -0,0 +1,12 @@
1
+ <%= grid(@tasks_grid1) do |g|
2
+
3
+ g.column name: 'Title', attribute: 'title'
4
+
5
+ g.column name: 'Description', attribute: 'description'
6
+
7
+ g.column name: 'Archived', attribute: 'archived' do |task|
8
+ task.archived? ? 'Yes' : 'No'
9
+ end
10
+
11
+
12
+ end -%>
@@ -0,0 +1,12 @@
1
+ <%= grid(@tasks_grid2) do |g|
2
+
3
+ g.column name: 'Title', attribute: 'title'
4
+
5
+ g.column name: 'Description', attribute: 'description'
6
+
7
+ g.column name: 'Archived', attribute: 'archived' do |task|
8
+ task.archived? ? 'Yes' : 'No'
9
+ end
10
+
11
+
12
+ end -%>
@@ -0,0 +1,26 @@
1
+ .well
2
+ %h2= current_page_title
3
+ %p
4
+ There can be many grids on one page, but in order to work correctly and independantly
5
+ from each other they should
6
+ all have different names. A grid name is the basis and the scope for all CSS classes and HTTP
7
+ parameters of the grid. By default the name of a grid is
8
+ %code grid
9
+ and in case there is only one grid on a page defining the name is not required unless it
10
+ clashes with some other form field names.
11
+ Define the name with the
12
+ %code :name
13
+ parameter of the
14
+ %code initialize_grid
15
+ method.
16
+
17
+ = show_code
18
+
19
+ .row-fluid.many-grids-on-page
20
+ .col-md-6
21
+ .example1= render 'tasks_grid1'
22
+ .col-md-6
23
+ .example2= render 'tasks_grid2'
24
+
25
+
26
+
@@ -0,0 +1,30 @@
1
+ <%= grid(@tasks_grid) do |g|
2
+
3
+ g.column name: 'ID', attribute: 'id', filter: false
4
+
5
+ g.column name: 'Title', attribute: 'title', negation: true
6
+
7
+ g.column name: 'Priority', attribute: 'priority_id', custom_filter: Priority.to_dropdown do |task|
8
+ task.priority.name if task.priority
9
+ end
10
+
11
+ g.column name: 'Status', attribute: 'status_id', custom_filter: Status.to_dropdown do |task|
12
+ task.status.name if task.status
13
+ end
14
+
15
+ g.column name: 'Project Name', attribute: 'project_id', custom_filter: Project.to_dropdown do |task|
16
+ task.project.name if task.project
17
+ end
18
+
19
+ g.column name: 'Archived', attribute: 'archived' do |task|
20
+ task.archived? ? 'Yes' : 'No'
21
+ end
22
+
23
+ g.column name: 'Added', attribute: 'created_at' do |task|
24
+ task.created_at.to_s(:short)
25
+ end
26
+
27
+ g.column do |task|
28
+ link_to('Edit', edit_task_path(task))
29
+ end
30
+ end -%>