pwice_grid 5.0.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 (389) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +68 -0
  3. data/.circleci/run-build-locally.sh +7 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  5. data/.gitignore +22 -0
  6. data/.inch.yml +3 -0
  7. data/.rspec +3 -0
  8. data/.rubocop.yml +186 -0
  9. data/Appraisals +11 -0
  10. data/CHANGELOG.md +758 -0
  11. data/Gemfile +3 -0
  12. data/Gemfile.lock +298 -0
  13. data/MIT-LICENSE +20 -0
  14. data/README.md +1561 -0
  15. data/Rakefile +49 -0
  16. data/SAVED_QUERIES_HOWTO.md +113 -0
  17. data/app/views/kaminari/wice_grid/_gap.html.erb +1 -0
  18. data/app/views/kaminari/wice_grid/_next_page.html.erb +1 -0
  19. data/app/views/kaminari/wice_grid/_page.html.erb +1 -0
  20. data/app/views/kaminari/wice_grid/_paginator.html.erb +19 -0
  21. data/app/views/kaminari/wice_grid/_prev_page.html.erb +1 -0
  22. data/config/locales/cz.yml +40 -0
  23. data/config/locales/de.yml +42 -0
  24. data/config/locales/en.yml +42 -0
  25. data/config/locales/es.yml +42 -0
  26. data/config/locales/fr.yml +40 -0
  27. data/config/locales/is.yml +41 -0
  28. data/config/locales/it.yml +33 -0
  29. data/config/locales/ja.yml +42 -0
  30. data/config/locales/nl.yml +40 -0
  31. data/config/locales/pt-BR.yml +31 -0
  32. data/config/locales/pt.yml +40 -0
  33. data/config/locales/ru.yml +40 -0
  34. data/config/locales/sk.yml +40 -0
  35. data/config/locales/uk.yml +40 -0
  36. data/config/locales/zh.yml +40 -0
  37. data/gemfiles/rails_5.0.gemfile +7 -0
  38. data/gemfiles/rails_5.0.gemfile.lock +299 -0
  39. data/gemfiles/rails_5.1.gemfile +7 -0
  40. data/gemfiles/rails_5.1.gemfile.lock +299 -0
  41. data/gemfiles/rails_5.2.gemfile +7 -0
  42. data/gemfiles/rails_5.2.gemfile.lock +307 -0
  43. data/lib/generators/wice_grid/add_migration_for_serialized_queries_generator.rb +19 -0
  44. data/lib/generators/wice_grid/install_generator.rb +13 -0
  45. data/lib/generators/wice_grid/templates/create_wice_grid_serialized_queries.rb +13 -0
  46. data/lib/generators/wice_grid/templates/wice_grid_config.rb +191 -0
  47. data/lib/wice/active_record_column_wrapper.rb +122 -0
  48. data/lib/wice/columns.rb +282 -0
  49. data/lib/wice/columns/column_action.rb +51 -0
  50. data/lib/wice/columns/column_boolean.rb +39 -0
  51. data/lib/wice/columns/column_bootstrap_datepicker.rb +47 -0
  52. data/lib/wice/columns/column_custom_dropdown.rb +114 -0
  53. data/lib/wice/columns/column_float.rb +8 -0
  54. data/lib/wice/columns/column_html5_datepicker.rb +30 -0
  55. data/lib/wice/columns/column_integer.rb +87 -0
  56. data/lib/wice/columns/column_jquery_datepicker.rb +48 -0
  57. data/lib/wice/columns/column_processor_index.rb +22 -0
  58. data/lib/wice/columns/column_rails_date_helper.rb +40 -0
  59. data/lib/wice/columns/column_rails_datetime_helper.rb +40 -0
  60. data/lib/wice/columns/column_range.rb +73 -0
  61. data/lib/wice/columns/column_string.rb +91 -0
  62. data/lib/wice/columns/common_date_datetime_mixin.rb +19 -0
  63. data/lib/wice/columns/common_js_date_datetime_conditions_generator_mixin.rb +38 -0
  64. data/lib/wice/columns/common_js_date_datetime_mixin.rb +14 -0
  65. data/lib/wice/columns/common_rails_date_datetime_conditions_generator_mixin.rb +25 -0
  66. data/lib/wice/columns/common_standard_helper_date_datetime_mixin.rb +21 -0
  67. data/lib/wice/grid_output_buffer.rb +48 -0
  68. data/lib/wice/grid_renderer.rb +624 -0
  69. data/lib/wice/helpers/bs_calendar_helpers.rb +73 -0
  70. data/lib/wice/helpers/js_calendar_helpers.rb +82 -0
  71. data/lib/wice/helpers/wice_grid_misc_view_helpers.rb +74 -0
  72. data/lib/wice/helpers/wice_grid_serialized_queries_view_helpers.rb +94 -0
  73. data/lib/wice/helpers/wice_grid_view_helpers.rb +719 -0
  74. data/lib/wice/kaminari_monkey_patching.rb +12 -0
  75. data/lib/wice/table_column_matrix.rb +64 -0
  76. data/lib/wice/wice_grid_controller.rb +174 -0
  77. data/lib/wice/wice_grid_core_ext.rb +145 -0
  78. data/lib/wice/wice_grid_misc.rb +208 -0
  79. data/lib/wice/wice_grid_serialized_queries_controller.rb +86 -0
  80. data/lib/wice/wice_grid_serialized_query.rb +13 -0
  81. data/lib/wice/wice_grid_spreadsheet.rb +19 -0
  82. data/lib/wice_grid.rb +702 -0
  83. data/spec/acceptance_helper.rb +59 -0
  84. data/spec/features/action_column_request_spec.rb +280 -0
  85. data/spec/features/adding_rows_request_spec.rb +21 -0
  86. data/spec/features/all_records_request_spec.rb +18 -0
  87. data/spec/features/auto_reloads2_request_spec.rb +366 -0
  88. data/spec/features/auto_reloads3_request_spec.rb +130 -0
  89. data/spec/features/auto_reloads_request_spec.rb +364 -0
  90. data/spec/features/basics1_request_spec.rb +11 -0
  91. data/spec/features/basics2_request_spec.rb +10 -0
  92. data/spec/features/basics3_request_spec.rb +29 -0
  93. data/spec/features/basics4_request_spec.rb +19 -0
  94. data/spec/features/basics5_request_spec.rb +13 -0
  95. data/spec/features/basics6_request_spec.rb +22 -0
  96. data/spec/features/blockless_column_definition_spec.rb +27 -0
  97. data/spec/features/buttons_request_spec.rb +172 -0
  98. data/spec/features/csv_and_detached_filters_spec.rb +10 -0
  99. data/spec/features/csv_export_request_spec.rb +13 -0
  100. data/spec/features/custom_filter_params_request_spec.rb +29 -0
  101. data/spec/features/custom_filters1_request_spec.rb +136 -0
  102. data/spec/features/custom_filters2_request_spec.rb +31 -0
  103. data/spec/features/custom_filters3_request_spec.rb +34 -0
  104. data/spec/features/custom_filters4_request_spec.rb +13 -0
  105. data/spec/features/custom_ordering_on_calculated_request_spec.rb +30 -0
  106. data/spec/features/custom_ordering_request_spec.rb +36 -0
  107. data/spec/features/custom_ordering_with_arel_request_spec.rb +36 -0
  108. data/spec/features/custom_ordering_with_proc_request_spec.rb +44 -0
  109. data/spec/features/custom_ordering_with_ruby_request_spec.rb +30 -0
  110. data/spec/features/dates_request_spec.rb +56 -0
  111. data/spec/features/detached_filters_spec.rb +10 -0
  112. data/spec/features/detached_filters_two_grids_spec.rb +135 -0
  113. data/spec/features/disable_all_filters_spec.rb +22 -0
  114. data/spec/features/hiding_checkboxes_in_action_column_request_spec.rb +294 -0
  115. data/spec/features/integration_with_application_view_request_spec.rb +43 -0
  116. data/spec/features/integration_with_forms_request_spec.rb +141 -0
  117. data/spec/features/joining_tables_spec.rb +40 -0
  118. data/spec/features/localization_request_spec.rb +24 -0
  119. data/spec/features/many_grids_on_page_request_spec.rb +104 -0
  120. data/spec/features/negation_request_spec.rb +25 -0
  121. data/spec/features/no_records_request_spec.rb +26 -0
  122. data/spec/features/numeric_filters_request_spec.rb +10 -0
  123. data/spec/features/resultset_processings2_request_spec.rb +27 -0
  124. data/spec/features/resultset_processings_request_spec.rb +30 -0
  125. data/spec/features/saved_queries_request_spec.rb +120 -0
  126. data/spec/features/shared.rb +1005 -0
  127. data/spec/features/shared_detached_filters.rb +175 -0
  128. data/spec/features/styling_spec.rb +15 -0
  129. data/spec/features/two_associations_spec.rb +48 -0
  130. data/spec/features/upper_pagination_panel_request_spec.rb +23 -0
  131. data/spec/features/when_filtered_spec.rb +209 -0
  132. data/spec/fixtures/.gitkeep +0 -0
  133. data/spec/fixtures/companies.yml +21 -0
  134. data/spec/fixtures/priorities.yml +31 -0
  135. data/spec/fixtures/project_roles.yml +25 -0
  136. data/spec/fixtures/projects.yml +22 -0
  137. data/spec/fixtures/statuses.yml +55 -0
  138. data/spec/fixtures/tasks.yml +751 -0
  139. data/spec/fixtures/tasks_users.yml +2089 -0
  140. data/spec/fixtures/users.yml +61 -0
  141. data/spec/fixtures/versions.yml +78 -0
  142. data/spec/models/company_spec.rb +6 -0
  143. data/spec/models/priority_spec.rb +6 -0
  144. data/spec/models/project_spec.rb +11 -0
  145. data/spec/models/status_spec.rb +6 -0
  146. data/spec/models/task_spec.rb +12 -0
  147. data/spec/models/user_project_participation_spec.rb +7 -0
  148. data/spec/models/user_spec.rb +12 -0
  149. data/spec/models/version_spec.rb +5 -0
  150. data/spec/rails_helper.rb +15 -0
  151. data/spec/schema.rb +8 -0
  152. data/spec/spec_helper.rb +75 -0
  153. data/spec/support/active_record.rb +10 -0
  154. data/spec/support/test_app/Rakefile +3 -0
  155. data/spec/support/test_app/app/assets/javascripts/application.js +20 -0
  156. data/spec/support/test_app/app/assets/javascripts/common.js.coffee +6 -0
  157. data/spec/support/test_app/app/assets/javascripts/jquery.ui.datepicker.locales.js +56 -0
  158. data/spec/support/test_app/app/assets/stylesheets/adding_rows.scss +3 -0
  159. data/spec/support/test_app/app/assets/stylesheets/application.scss +46 -0
  160. data/spec/support/test_app/app/assets/stylesheets/csv_and_detached_filters.scss +3 -0
  161. data/spec/support/test_app/app/assets/stylesheets/many_grids_on_page.scss +3 -0
  162. data/spec/support/test_app/app/controllers/action_column_controller.rb +15 -0
  163. data/spec/support/test_app/app/controllers/adding_rows_controller.rb +14 -0
  164. data/spec/support/test_app/app/controllers/all_records_controller.rb +14 -0
  165. data/spec/support/test_app/app/controllers/application_controller.rb +99 -0
  166. data/spec/support/test_app/app/controllers/auto_reloads2_controller.rb +14 -0
  167. data/spec/support/test_app/app/controllers/auto_reloads3_controller.rb +20 -0
  168. data/spec/support/test_app/app/controllers/auto_reloads_controller.rb +14 -0
  169. data/spec/support/test_app/app/controllers/basics1_controller.rb +6 -0
  170. data/spec/support/test_app/app/controllers/basics2_controller.rb +6 -0
  171. data/spec/support/test_app/app/controllers/basics3_controller.rb +6 -0
  172. data/spec/support/test_app/app/controllers/basics4_controller.rb +6 -0
  173. data/spec/support/test_app/app/controllers/basics5_controller.rb +6 -0
  174. data/spec/support/test_app/app/controllers/basics6_controller.rb +11 -0
  175. data/spec/support/test_app/app/controllers/blockless_column_definition_controller.rb +6 -0
  176. data/spec/support/test_app/app/controllers/buttons_controller.rb +6 -0
  177. data/spec/support/test_app/app/controllers/csv_and_detached_filters_controller.rb +13 -0
  178. data/spec/support/test_app/app/controllers/csv_export_controller.rb +28 -0
  179. data/spec/support/test_app/app/controllers/custom_filter_params_controller.rb +6 -0
  180. data/spec/support/test_app/app/controllers/custom_filters1_controller.rb +9 -0
  181. data/spec/support/test_app/app/controllers/custom_filters2_controller.rb +14 -0
  182. data/spec/support/test_app/app/controllers/custom_filters3_controller.rb +12 -0
  183. data/spec/support/test_app/app/controllers/custom_filters4_controller.rb +12 -0
  184. data/spec/support/test_app/app/controllers/custom_ordering_controller.rb +18 -0
  185. data/spec/support/test_app/app/controllers/custom_ordering_on_calculated_controller.rb +6 -0
  186. data/spec/support/test_app/app/controllers/custom_ordering_with_arel_controller.rb +18 -0
  187. data/spec/support/test_app/app/controllers/custom_ordering_with_proc_controller.rb +11 -0
  188. data/spec/support/test_app/app/controllers/custom_ordering_with_ruby_controller.rb +6 -0
  189. data/spec/support/test_app/app/controllers/dates_controller.rb +8 -0
  190. data/spec/support/test_app/app/controllers/detached_filters_controller.rb +6 -0
  191. data/spec/support/test_app/app/controllers/detached_filters_two_grids_controller.rb +7 -0
  192. data/spec/support/test_app/app/controllers/disable_all_filters_controller.rb +6 -0
  193. data/spec/support/test_app/app/controllers/hiding_checkboxes_in_action_column_controller.rb +13 -0
  194. data/spec/support/test_app/app/controllers/home_controller.rb +3 -0
  195. data/spec/support/test_app/app/controllers/integration_with_application_view_controller.rb +16 -0
  196. data/spec/support/test_app/app/controllers/integration_with_forms_controller.rb +11 -0
  197. data/spec/support/test_app/app/controllers/joining_tables_controller.rb +11 -0
  198. data/spec/support/test_app/app/controllers/localization_controller.rb +26 -0
  199. data/spec/support/test_app/app/controllers/many_grids_on_page_controller.rb +7 -0
  200. data/spec/support/test_app/app/controllers/negation_controller.rb +14 -0
  201. data/spec/support/test_app/app/controllers/no_records_controller.rb +8 -0
  202. data/spec/support/test_app/app/controllers/null_values_controller.rb +10 -0
  203. data/spec/support/test_app/app/controllers/numeric_filters_controller.rb +6 -0
  204. data/spec/support/test_app/app/controllers/queries_controller.rb +4 -0
  205. data/spec/support/test_app/app/controllers/resultset_processings2_controller.rb +29 -0
  206. data/spec/support/test_app/app/controllers/resultset_processings_controller.rb +30 -0
  207. data/spec/support/test_app/app/controllers/saved_queries_controller.rb +14 -0
  208. data/spec/support/test_app/app/controllers/styling_controller.rb +7 -0
  209. data/spec/support/test_app/app/controllers/tasks_controller.rb +14 -0
  210. data/spec/support/test_app/app/controllers/two_associations_controller.rb +6 -0
  211. data/spec/support/test_app/app/controllers/upper_pagination_panel_controller.rb +6 -0
  212. data/spec/support/test_app/app/controllers/when_filtered_controller.rb +6 -0
  213. data/spec/support/test_app/app/helpers/application_helper.rb +82 -0
  214. data/spec/support/test_app/app/mailers/.gitkeep +0 -0
  215. data/spec/support/test_app/app/models/.gitkeep +0 -0
  216. data/spec/support/test_app/app/models/company.rb +5 -0
  217. data/spec/support/test_app/app/models/populate.rb +84 -0
  218. data/spec/support/test_app/app/models/priority.rb +10 -0
  219. data/spec/support/test_app/app/models/project.rb +14 -0
  220. data/spec/support/test_app/app/models/project_role.rb +3 -0
  221. data/spec/support/test_app/app/models/status.rb +10 -0
  222. data/spec/support/test_app/app/models/task.rb +11 -0
  223. data/spec/support/test_app/app/models/to_dropdown_mixin.rb +16 -0
  224. data/spec/support/test_app/app/models/user.rb +8 -0
  225. data/spec/support/test_app/app/models/user_project_participation.rb +6 -0
  226. data/spec/support/test_app/app/models/version.rb +6 -0
  227. data/spec/support/test_app/app/views/action_column/_grid.html.erb +35 -0
  228. data/spec/support/test_app/app/views/action_column/index.html.haml +45 -0
  229. data/spec/support/test_app/app/views/adding_rows/_grid.html.erb +58 -0
  230. data/spec/support/test_app/app/views/adding_rows/index.html.haml +37 -0
  231. data/spec/support/test_app/app/views/all_records/_grid.html.erb +30 -0
  232. data/spec/support/test_app/app/views/all_records/index.html.haml +12 -0
  233. data/spec/support/test_app/app/views/auto_reloads/_grid.html.erb +32 -0
  234. data/spec/support/test_app/app/views/auto_reloads/index.html.haml +15 -0
  235. data/spec/support/test_app/app/views/auto_reloads2/_grid.html.erb +32 -0
  236. data/spec/support/test_app/app/views/auto_reloads2/index.html.haml +65 -0
  237. data/spec/support/test_app/app/views/auto_reloads3/_grid.html.erb +25 -0
  238. data/spec/support/test_app/app/views/auto_reloads3/index.html.haml +78 -0
  239. data/spec/support/test_app/app/views/basics1/_grid.html.erb +26 -0
  240. data/spec/support/test_app/app/views/basics1/index.html.haml +13 -0
  241. data/spec/support/test_app/app/views/basics2/_grid.html.erb +27 -0
  242. data/spec/support/test_app/app/views/basics2/index.html.haml +12 -0
  243. data/spec/support/test_app/app/views/basics3/_grid.html.erb +28 -0
  244. data/spec/support/test_app/app/views/basics3/index.html.haml +13 -0
  245. data/spec/support/test_app/app/views/basics4/_grid.html.erb +21 -0
  246. data/spec/support/test_app/app/views/basics4/index.html.haml +12 -0
  247. data/spec/support/test_app/app/views/basics5/_grid.html.erb +19 -0
  248. data/spec/support/test_app/app/views/basics5/index.html.haml +12 -0
  249. data/spec/support/test_app/app/views/basics6/_grid.html.erb +19 -0
  250. data/spec/support/test_app/app/views/basics6/index.html.haml +23 -0
  251. data/spec/support/test_app/app/views/blockless_column_definition/_grid.html.erb +19 -0
  252. data/spec/support/test_app/app/views/blockless_column_definition/index.html.haml +15 -0
  253. data/spec/support/test_app/app/views/buttons/_grid.html.erb +20 -0
  254. data/spec/support/test_app/app/views/buttons/index.html.haml +30 -0
  255. data/spec/support/test_app/app/views/csv_and_detached_filters/_grid.html.erb +23 -0
  256. data/spec/support/test_app/app/views/csv_and_detached_filters/index.html.haml +58 -0
  257. data/spec/support/test_app/app/views/csv_export/_projects_grid.html.erb +17 -0
  258. data/spec/support/test_app/app/views/csv_export/_tasks_grid.html.erb +43 -0
  259. data/spec/support/test_app/app/views/csv_export/index.html.haml +90 -0
  260. data/spec/support/test_app/app/views/custom_filter_params/_grid.html.erb +12 -0
  261. data/spec/support/test_app/app/views/custom_filter_params/index.html.haml +12 -0
  262. data/spec/support/test_app/app/views/custom_filters1/_g1.html.erb +8 -0
  263. data/spec/support/test_app/app/views/custom_filters1/_g2.html.erb +9 -0
  264. data/spec/support/test_app/app/views/custom_filters1/_g3.html.erb +9 -0
  265. data/spec/support/test_app/app/views/custom_filters1/_g4.html.erb +8 -0
  266. data/spec/support/test_app/app/views/custom_filters1/index.html.haml +30 -0
  267. data/spec/support/test_app/app/views/custom_filters2/_grid.html.erb +30 -0
  268. data/spec/support/test_app/app/views/custom_filters2/index.html.haml +41 -0
  269. data/spec/support/test_app/app/views/custom_filters3/_grid.html.erb +18 -0
  270. data/spec/support/test_app/app/views/custom_filters3/index.html.haml +16 -0
  271. data/spec/support/test_app/app/views/custom_filters4/_grid.html.erb +20 -0
  272. data/spec/support/test_app/app/views/custom_filters4/index.html.haml +12 -0
  273. data/spec/support/test_app/app/views/custom_ordering/_grid.html.erb +10 -0
  274. data/spec/support/test_app/app/views/custom_ordering/index.html.haml +24 -0
  275. data/spec/support/test_app/app/views/custom_ordering_on_calculated/_grid.html.erb +14 -0
  276. data/spec/support/test_app/app/views/custom_ordering_on_calculated/index.html.haml +23 -0
  277. data/spec/support/test_app/app/views/custom_ordering_with_arel/_grid.html.erb +10 -0
  278. data/spec/support/test_app/app/views/custom_ordering_with_arel/index.html.haml +24 -0
  279. data/spec/support/test_app/app/views/custom_ordering_with_proc/_grid.html.erb +10 -0
  280. data/spec/support/test_app/app/views/custom_ordering_with_proc/index.html.haml +21 -0
  281. data/spec/support/test_app/app/views/custom_ordering_with_ruby/_grid.html.erb +10 -0
  282. data/spec/support/test_app/app/views/custom_ordering_with_ruby/index.html.haml +23 -0
  283. data/spec/support/test_app/app/views/dates/_grid.html.erb +25 -0
  284. data/spec/support/test_app/app/views/dates/index.html.haml +52 -0
  285. data/spec/support/test_app/app/views/detached_filters/_grid.html.erb +23 -0
  286. data/spec/support/test_app/app/views/detached_filters/index.html.haml +79 -0
  287. data/spec/support/test_app/app/views/detached_filters_two_grids/_grid.html.erb +23 -0
  288. data/spec/support/test_app/app/views/detached_filters_two_grids/index.html.haml +85 -0
  289. data/spec/support/test_app/app/views/disable_all_filters/_grid.html.erb +21 -0
  290. data/spec/support/test_app/app/views/disable_all_filters/index.html.haml +14 -0
  291. data/spec/support/test_app/app/views/hiding_checkboxes_in_action_column/_grid.html.erb +34 -0
  292. data/spec/support/test_app/app/views/hiding_checkboxes_in_action_column/index.html.haml +32 -0
  293. data/spec/support/test_app/app/views/integration_with_application_view/_grid.html.erb +27 -0
  294. data/spec/support/test_app/app/views/integration_with_application_view/index.html.haml +33 -0
  295. data/spec/support/test_app/app/views/integration_with_forms/_grid.html.erb +23 -0
  296. data/spec/support/test_app/app/views/integration_with_forms/index.html.haml +18 -0
  297. data/spec/support/test_app/app/views/joining_tables/_grid.html.erb +23 -0
  298. data/spec/support/test_app/app/views/joining_tables/index.html.haml +26 -0
  299. data/spec/support/test_app/app/views/layouts/application.html.haml +61 -0
  300. data/spec/support/test_app/app/views/localization/_grid.html.erb +36 -0
  301. data/spec/support/test_app/app/views/localization/index.html.haml +20 -0
  302. data/spec/support/test_app/app/views/many_grids_on_page/_tasks_grid1.html.erb +12 -0
  303. data/spec/support/test_app/app/views/many_grids_on_page/_tasks_grid2.html.erb +12 -0
  304. data/spec/support/test_app/app/views/many_grids_on_page/index.html.haml +26 -0
  305. data/spec/support/test_app/app/views/negation/_grid.html.erb +30 -0
  306. data/spec/support/test_app/app/views/negation/index.html.haml +15 -0
  307. data/spec/support/test_app/app/views/no_records/_empty_grid.html.haml +1 -0
  308. data/spec/support/test_app/app/views/no_records/_grid1.html.erb +11 -0
  309. data/spec/support/test_app/app/views/no_records/_grid2.html.erb +9 -0
  310. data/spec/support/test_app/app/views/no_records/_grid3.html.erb +9 -0
  311. data/spec/support/test_app/app/views/no_records/index.html.haml +24 -0
  312. data/spec/support/test_app/app/views/null_values/_grid.html.erb +17 -0
  313. data/spec/support/test_app/app/views/null_values/index.html.haml +21 -0
  314. data/spec/support/test_app/app/views/numeric_filters/_grid.html.erb +19 -0
  315. data/spec/support/test_app/app/views/numeric_filters/index.html.haml +12 -0
  316. data/spec/support/test_app/app/views/resultset_processings/_grid.html.erb +27 -0
  317. data/spec/support/test_app/app/views/resultset_processings/index.html.haml +50 -0
  318. data/spec/support/test_app/app/views/resultset_processings2/_grid.html.erb +27 -0
  319. data/spec/support/test_app/app/views/resultset_processings2/index.html.haml +48 -0
  320. data/spec/support/test_app/app/views/saved_queries/_grid.html.erb +30 -0
  321. data/spec/support/test_app/app/views/saved_queries/index.html.haml +15 -0
  322. data/spec/support/test_app/app/views/styling/_grid1.html.erb +12 -0
  323. data/spec/support/test_app/app/views/styling/_grid2.html.erb +31 -0
  324. data/spec/support/test_app/app/views/styling/index.html.haml +65 -0
  325. data/spec/support/test_app/app/views/tasks/_grid.html.erb +19 -0
  326. data/spec/support/test_app/app/views/tasks/index.html.haml +1 -0
  327. data/spec/support/test_app/app/views/two_associations/_grid.html.erb +13 -0
  328. data/spec/support/test_app/app/views/two_associations/index.html.haml +13 -0
  329. data/spec/support/test_app/app/views/upper_pagination_panel/_grid.html.erb +27 -0
  330. data/spec/support/test_app/app/views/upper_pagination_panel/index.html.haml +14 -0
  331. data/spec/support/test_app/app/views/when_filtered/_grid.html.erb +19 -0
  332. data/spec/support/test_app/app/views/when_filtered/index.html.haml +15 -0
  333. data/spec/support/test_app/bin/rails +4 -0
  334. data/spec/support/test_app/bin/rake +4 -0
  335. data/spec/support/test_app/config.ru +5 -0
  336. data/spec/support/test_app/config/application.rb +70 -0
  337. data/spec/support/test_app/config/boot.rb +7 -0
  338. data/spec/support/test_app/config/database.travis.yml +27 -0
  339. data/spec/support/test_app/config/database.yml +16 -0
  340. data/spec/support/test_app/config/database.yml.mysql +19 -0
  341. data/spec/support/test_app/config/database.yml.postgresql +18 -0
  342. data/spec/support/test_app/config/environment.rb +6 -0
  343. data/spec/support/test_app/config/environments/development.rb +34 -0
  344. data/spec/support/test_app/config/environments/production.rb +66 -0
  345. data/spec/support/test_app/config/environments/test.rb +34 -0
  346. data/spec/support/test_app/config/initializers/backtrace_silencers.rb +8 -0
  347. data/spec/support/test_app/config/initializers/inflections.rb +16 -0
  348. data/spec/support/test_app/config/initializers/mime_types.rb +6 -0
  349. data/spec/support/test_app/config/initializers/secret_token.rb +12 -0
  350. data/spec/support/test_app/config/initializers/session_store.rb +9 -0
  351. data/spec/support/test_app/config/initializers/wice_grid_config.rb +163 -0
  352. data/spec/support/test_app/config/initializers/wrap_parameters.rb +15 -0
  353. data/spec/support/test_app/config/locales/en.yml +5 -0
  354. data/spec/support/test_app/config/locales/wice_grid.yml +550 -0
  355. data/spec/support/test_app/config/puma.rb +15 -0
  356. data/spec/support/test_app/config/routes.rb +125 -0
  357. data/spec/support/test_app/db/migrate/20120224193505_create_tasks.rb +27 -0
  358. data/spec/support/test_app/db/migrate/20120224193517_create_users.rb +12 -0
  359. data/spec/support/test_app/db/migrate/20120224193522_create_projects.rb +14 -0
  360. data/spec/support/test_app/db/migrate/20120224193529_create_priorities.rb +13 -0
  361. data/spec/support/test_app/db/migrate/20120224193537_create_statuses.rb +13 -0
  362. data/spec/support/test_app/db/migrate/20120224193543_create_versions.rb +15 -0
  363. data/spec/support/test_app/db/migrate/20120224193550_create_project_roles.rb +12 -0
  364. data/spec/support/test_app/db/migrate/20120224193610_create_companies.rb +12 -0
  365. data/spec/support/test_app/db/migrate/20120224195351_create_user_project_participations.rb +16 -0
  366. data/spec/support/test_app/db/migrate/20120224195521_add_tasks_users.rb +11 -0
  367. data/spec/support/test_app/db/migrate/20120610091944_create_wice_grid_serialized_queries.rb +14 -0
  368. data/spec/support/test_app/db/schema.rb +139 -0
  369. data/spec/support/test_app/db/seeds.rb +10 -0
  370. data/spec/support/test_app/lib/ar_fixtures.rb +100 -0
  371. data/spec/support/test_app/lib/assets/.gitkeep +0 -0
  372. data/spec/support/test_app/lib/tasks/.gitkeep +0 -0
  373. data/spec/support/test_app/lib/tasks/ar_fixtures.rake +45 -0
  374. data/spec/support/test_app/public/404.html +26 -0
  375. data/spec/support/test_app/public/422.html +26 -0
  376. data/spec/support/test_app/public/500.html +25 -0
  377. data/spec/support/test_app/public/favicon.ico +0 -0
  378. data/spec/support/test_app/public/robots.txt +5 -0
  379. data/spec/wice/grid_output_buffer_spec.rb +39 -0
  380. data/spec/wice/table_column_matrix_spec.rb +36 -0
  381. data/spec/wice/wice_grid_misc_spec.rb +157 -0
  382. data/spec/wice/wice_grid_spreadsheet_spec.rb +12 -0
  383. data/vendor/assets/javascripts/wice_grid.js +3 -0
  384. data/vendor/assets/javascripts/wice_grid_init.js.coffee +351 -0
  385. data/vendor/assets/javascripts/wice_grid_processor.js.coffee +133 -0
  386. data/vendor/assets/javascripts/wice_grid_saved_queries_init.js.coffee +104 -0
  387. data/vendor/assets/stylesheets/wice_grid.scss +81 -0
  388. data/wice_grid.gemspec +54 -0
  389. metadata +861 -0
@@ -0,0 +1,59 @@
1
+ # encoding: utf-8
2
+ require 'capybara/rspec'
3
+
4
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
5
+ ENV['RAILS_ENV'] ||= 'test'
6
+ require File.expand_path('../support/test_app/config/environment', __FILE__)
7
+ require 'rspec/rails'
8
+ require 'faker'
9
+
10
+ if ENV['BROWSER']
11
+ Capybara.default_driver = :selenium
12
+ else
13
+ require 'capybara/poltergeist'
14
+ Capybara.javascript_driver = :poltergeist
15
+
16
+ require 'capybara-screenshot/rspec'
17
+ Capybara::Screenshot.prune_strategy = :keep_last_run
18
+ end
19
+ Capybara.server = :webrick
20
+
21
+ # Slow down responses to help debug tests that have race conditions.
22
+ if ENV['TEST_RESPONSE_DELAY']
23
+ Capybara.default_wait_time += ENV['TEST_RESPONSE_DELAY'].to_i
24
+
25
+ class ActionController::Base
26
+ before_action { sleep ENV['TEST_RESPONSE_DELAY'].to_i }
27
+ end
28
+ end
29
+
30
+ # Requires supporting ruby files with custom matchers and macros, etc,
31
+ # in spec/support/ and its subdirectories.
32
+ Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
33
+
34
+ ALL_TESTS = false
35
+
36
+ RSpec.configure do |config|
37
+ # config.mock_with :mocha
38
+ # config.mock_with :flexmock
39
+ # config.mock_with :rr
40
+
41
+ config.fixture_path = "spec/fixtures"
42
+
43
+ config.use_transactional_fixtures = true
44
+
45
+ # If true, the base class of anonymous controllers will be inferred
46
+ # automatically. This will be the default behavior in future versions of
47
+ # rspec-rails.
48
+ config.infer_base_class_for_anonymous_controllers = false
49
+
50
+ config.global_fixtures = :all
51
+
52
+ config.include Capybara::DSL
53
+ end
54
+
55
+ # Disable SQL logging
56
+ ActiveRecord::Base.logger = nil
57
+
58
+ require 'features/shared.rb'
59
+ require 'features/shared_detached_filters.rb'
@@ -0,0 +1,280 @@
1
+ # encoding: utf-8
2
+ require 'acceptance_helper'
3
+
4
+ describe 'action_column WiceGrid', type: :request, js: true do
5
+ before :each do
6
+ visit '/action_column'
7
+ end
8
+
9
+ it 'should select rows' do
10
+ 510.upto(520).each do |i|
11
+ find(:css, %(input[type="checkbox"][value="#{i}"])).click
12
+ end
13
+
14
+ first(:css, 'button.btn', text: 'Process tasks').click
15
+
16
+ expect(page).to have_content('Selected tasks: 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, and 520')
17
+ end
18
+
19
+ it 'should select rows with the select all button and deselect them with the deselect button' do
20
+ find(:css, '.clickable.select-all').click
21
+
22
+ first(:css, 'button.btn', text: 'Process tasks').click
23
+
24
+ expect(page).to have_content('Selected tasks: 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, and 526')
25
+
26
+ find(:css, '.clickable.deselect-all').click
27
+
28
+ first(:css, 'button.btn', text: 'Process tasks').click
29
+
30
+ expect(page).to have_no_content('Selected tasks: 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, and 526')
31
+ end
32
+
33
+ it 'should filter by ID inside a form, two limits' do
34
+ fill_in('g_f_id_fr', with: 507)
35
+ fill_in('g_f_id_to', with: 509)
36
+
37
+ first(:css, 'button.btn', text: 'Process tasks').click
38
+
39
+ within '.pagination_status' do
40
+ expect(page).to have_content('1-3 / 3')
41
+ end
42
+
43
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
44
+ expect(page).to have_content('507')
45
+ end
46
+
47
+ expect(page).to have_content('508')
48
+ expect(page).to have_content('509')
49
+
50
+ within 'div.wice-grid-container table.wice-grid thead' do
51
+ click_on 'ID'
52
+ end
53
+
54
+ within '.pagination_status' do
55
+ expect(page).to have_content('1-3 / 3')
56
+ end
57
+
58
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted.active-filter' do
59
+ expect(page).to have_content('509')
60
+ end
61
+
62
+ expect(page).to have_content('508')
63
+ expect(page).to have_content('509')
64
+
65
+ within 'div.wice-grid-container table.wice-grid thead' do
66
+ click_on 'ID'
67
+ end
68
+
69
+ within '.pagination_status' do
70
+ expect(page).to have_content('1-3 / 3')
71
+ end
72
+
73
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
74
+ expect(page).to have_content('507')
75
+ end
76
+
77
+ within 'div.wice-grid-container table.wice-grid thead' do
78
+ click_on 'Title'
79
+ end
80
+
81
+ within '.pagination_status' do
82
+ expect(page).to have_content('1-3 / 3')
83
+ end
84
+ end
85
+
86
+ it 'should filter by Archived inside a form' do
87
+ select 'yes', from: 'g_f_archived'
88
+ first(:css, 'button.btn', text: 'Process tasks').click
89
+
90
+ within '.pagination_status' do
91
+ expect(page).to have_content('1-4 / 4')
92
+ end
93
+
94
+ within first(:css, 'td.active-filter') do
95
+ expect(page).to have_content('Yes')
96
+ end
97
+
98
+ select 'no', from: 'g_f_archived'
99
+ first(:css, 'button.btn', text: 'Process tasks').click
100
+
101
+ within '.pagination_status' do
102
+ expect(page).to have_content('1-20 / 46')
103
+ end
104
+
105
+ within first(:css, 'td.active-filter') do
106
+ expect(page).to have_content('No')
107
+ end
108
+
109
+ within 'ul.pagination' do
110
+ click_link '2'
111
+ end
112
+
113
+ within '.pagination_status' do
114
+ expect(page).to have_content('21-40 / 46')
115
+ end
116
+
117
+ within first(:css, 'td.active-filter') do
118
+ expect(page).to have_content('No')
119
+ end
120
+ end
121
+
122
+ it 'should filter by Added inside a form' do
123
+ set_datepicker(self, 'g_f_created_at_fr_date_placeholder', 2011, 5, 1)
124
+
125
+ set_datepicker(self, 'g_f_created_at_to_date_placeholder', 2011, 9, 1)
126
+
127
+ first(:css, 'button.btn', text: 'Process tasks').click
128
+
129
+ within '.pagination_status' do
130
+ expect(page).to have_content('1-20 / 29')
131
+ end
132
+
133
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
134
+ expect(page).to have_content('2011-09-13 22:11:12')
135
+ end
136
+
137
+ within 'div.wice-grid-container table.wice-grid thead' do
138
+ click_on 'ID'
139
+ end
140
+
141
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
142
+ expect(page).to have_content('2011-09-29 22:11:12')
143
+ end
144
+
145
+ within '.pagination_status' do
146
+ expect(page).to have_content('1-20 / 29')
147
+ end
148
+
149
+ within 'ul.pagination' do
150
+ click_link '2'
151
+ end
152
+
153
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
154
+ # page.should have_content('2011-08-14 22:11:12')
155
+ expect(page).to have_content('2011-09-22 22:11:12')
156
+ end
157
+ end
158
+
159
+ it 'should filter by Due Date' do
160
+ set_datepicker(self, 'g_f_due_date_fr_date_placeholder', 2012, 0, 1)
161
+
162
+ set_datepicker(self, 'g_f_due_date_to_date_placeholder', 2013, 0, 1)
163
+
164
+ first(:css, 'button.btn', text: 'Process tasks').click
165
+
166
+ within '.pagination_status' do
167
+ expect(page).to have_content('1-20 / 35')
168
+ end
169
+
170
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
171
+ expect(page).to have_content('2012-07-29')
172
+ end
173
+
174
+ within 'div.wice-grid-container table.wice-grid thead' do
175
+ click_on 'ID'
176
+ end
177
+
178
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
179
+ expect(page).to have_content('2012-10-02')
180
+ end
181
+
182
+ within '.pagination_status' do
183
+ expect(page).to have_content('1-20 / 35')
184
+ end
185
+
186
+ within 'ul.pagination' do
187
+ click_link '2'
188
+ end
189
+
190
+ within '.pagination_status' do
191
+ expect(page).to have_content('21-35 / 35')
192
+ end
193
+
194
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
195
+ expect(page).to have_content('2012-07-02')
196
+ end
197
+
198
+ set_datepicker(self, 'g_f_due_date_fr_date_placeholder', 2012, 6, 28)
199
+
200
+ set_datepicker(self, 'g_f_due_date_to_date_placeholder', 2012, 6, 31)
201
+
202
+ first(:css, 'button.btn', text: 'Process tasks').click
203
+
204
+ within '.pagination_status' do
205
+ expect(page).to have_content('1-1 / 1')
206
+ end
207
+
208
+ find(:css, '#g_f_due_date_fr_date_view').click
209
+
210
+ first(:css, 'button.btn', text: 'Process tasks').click
211
+
212
+ within '.pagination_status' do
213
+ expect(page).to have_content('1-10 / 10')
214
+ end
215
+
216
+ find(:css, '#g_f_due_date_to_date_view').click
217
+
218
+ first(:css, 'button.btn', text: 'Process tasks').click
219
+
220
+ within '.pagination_status' do
221
+ expect(page).to have_content('1-20 / 50')
222
+ end
223
+ end
224
+
225
+ it 'should negate the semantics of the text filter inside a form' do
226
+ fill_in('g_f_title_v', with: 'sed')
227
+ select 'no', from: 'g_f_archived'
228
+
229
+ first(:css, 'button.btn', text: 'Process tasks').click
230
+
231
+ expect(page).to have_content('sed impedit iste')
232
+
233
+ find(:css, '#g_f_title_n').click
234
+
235
+ first(:css, 'button.btn', text: 'Process tasks').click
236
+
237
+ expect(page).to have_no_content('sed impedit iste')
238
+ end
239
+
240
+ it 'should reload the title filter' do
241
+ fill_in('g_f_title_v', with: 'ed')
242
+
243
+ first(:css, 'button.btn', text: 'Process tasks').click
244
+
245
+ within '.pagination_status' do
246
+ expect(page).to have_content('1-2 / 2')
247
+ end
248
+
249
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
250
+ expect(page).to have_content('sed impedit iste')
251
+ end
252
+
253
+ expect(page).to have_content('corporis expedita vel')
254
+
255
+ within 'div.wice-grid-container table.wice-grid thead' do
256
+ click_on 'Title'
257
+ end
258
+
259
+ within '.pagination_status' do
260
+ expect(page).to have_content('1-2 / 2')
261
+ end
262
+
263
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
264
+ expect(page).to have_content('corporis expedita vel')
265
+ end
266
+
267
+ expect(page).to have_content('sed impedit iste')
268
+
269
+ within 'div.wice-grid-container table.wice-grid thead' do
270
+ click_on 'ID'
271
+ end
272
+
273
+ within '.pagination_status' do
274
+ expect(page).to have_content('1-2 / 2')
275
+ end
276
+
277
+ expect(page).to have_content('corporis expedita vel')
278
+ expect(page).to have_content('sed impedit iste')
279
+ end
280
+ end
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+ require 'acceptance_helper'
3
+
4
+ describe 'adding rows WiceGrid', type: :request, js: true do
5
+ before :each do
6
+ visit '/adding_rows'
7
+ end
8
+
9
+ it 'should filter by custom filters' do
10
+ select 'Urgent', from: 'grid_f_priority_id'
11
+
12
+ find(:css, '#grid_submit_grid_icon').click
13
+
14
+ ['inventore architecto aut', 'veniam tempora', 'doloremque', 'qui animi', 'dolor et corporis'].each do |title|
15
+ expect(page).to have_content(title)
16
+ expect(page).to have_content("Panic! \"#{title}\"")
17
+ end
18
+
19
+ expect(page).to have_content("Don't panic")
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+ require 'acceptance_helper'
3
+
4
+ describe 'all records WiceGrid', type: :request, js: true do
5
+ before :each do
6
+ visit '/all_records'
7
+ end
8
+
9
+ it 'should filter by custom filters' do
10
+ within 'div.wice-grid-container table.wice-grid tbody' do
11
+ expect(page).to have_no_content('show all')
12
+ end
13
+
14
+ within '.pagination_status' do
15
+ expect(page).to have_content('1-20 / 50')
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,366 @@
1
+ # encoding: utf-8
2
+ require 'acceptance_helper'
3
+
4
+ describe 'auto reloads 2 WiceGrid', type: :feature, js: true do
5
+ before :each do
6
+ visit '/auto_reloads2'
7
+ end
8
+
9
+ it 'should filter by Assigned custom filter' do
10
+ select 'Assigned', from: 'grid_f_status_id'
11
+
12
+ within '#grid .pagination_status' do
13
+ expect(page).to have_content('1-4 / 4')
14
+ end
15
+ end
16
+
17
+ it 'should filter by grid_f_project_id custom filter' do
18
+ select 'Divine Firmware', from: 'grid_f_project_id'
19
+
20
+ within '#grid .pagination_status' do
21
+ expect(page).to have_content('1-15 / 15')
22
+ end
23
+ end
24
+
25
+ it 'should filter by Added' do
26
+ set_datepicker(self, 'grid_f_created_at_fr_date_placeholder', 2011, 5, 1)
27
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
28
+ expect(page).to have_content('2011-09-13 22:11:12')
29
+ end
30
+
31
+ set_datepicker(self, 'grid_f_created_at_to_date_placeholder', 2011, 9, 1)
32
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
33
+ expect(page).to have_content('2011-09-13 22:11:12')
34
+ end
35
+
36
+ within '.pagination_status' do
37
+ expect(page).to have_content('1-20 / 29')
38
+ end
39
+
40
+ within 'div.wice-grid-container table.wice-grid thead' do
41
+ click_on 'ID'
42
+ end
43
+
44
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
45
+ expect(page).to have_content('2011-09-29 22:11:12')
46
+ end
47
+
48
+ within '.pagination_status' do
49
+ expect(page).to have_content('1-20 / 29')
50
+ end
51
+
52
+ within 'ul.pagination' do
53
+ click_link '2'
54
+ end
55
+
56
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
57
+ expect(page).to have_content('2011-09-22 22:11:12')
58
+ end
59
+
60
+ find(:css, '.wg-external-reset-button').click
61
+ within '.pagination_status' do
62
+ expect(page).to have_content('1-20 / 50')
63
+ end
64
+ end
65
+
66
+ it 'should filter by Archived' do
67
+ select 'yes', from: 'grid_f_archived'
68
+ # find(:css, '#grid_submit_grid_icon').click
69
+
70
+ within '.pagination_status' do
71
+ expect(page).to have_content('1-4 / 4')
72
+ end
73
+
74
+ within first(:css, 'td.active-filter') do
75
+ expect(page).to have_content('Yes')
76
+ end
77
+
78
+ select 'no', from: 'grid_f_archived'
79
+ # find(:css, '#grid_submit_grid_icon').click
80
+
81
+ within '.pagination_status' do
82
+ expect(page).to have_content('1-20 / 46')
83
+ end
84
+
85
+ within first(:css, 'td.active-filter') do
86
+ expect(page).to have_content('No')
87
+ end
88
+
89
+ within 'ul.pagination' do
90
+ click_link '2'
91
+ end
92
+
93
+ within '.pagination_status' do
94
+ expect(page).to have_content('21-40 / 46')
95
+ end
96
+
97
+ within first(:css, 'td.active-filter') do
98
+ expect(page).to have_content('No')
99
+ end
100
+
101
+ find(:css, '.wg-external-reset-button').click
102
+ within '.pagination_status' do
103
+ expect(page).to have_content('1-20 / 50')
104
+ end
105
+ end
106
+
107
+ it 'should filter by ID, two limits' do
108
+ fill_in('grid_f_id_fr', with: 507)
109
+ fill_in('grid_f_id_to', with: 509)
110
+
111
+ # find(:css, '#grid_submit_grid_icon').click
112
+
113
+ within '.pagination_status' do
114
+ expect(page).to have_content('1-3 / 3')
115
+ end
116
+
117
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
118
+ expect(page).to have_content('507')
119
+ end
120
+
121
+ expect(page).to have_content('508')
122
+ expect(page).to have_content('509')
123
+
124
+ within 'div.wice-grid-container table.wice-grid thead' do
125
+ click_on 'ID'
126
+ end
127
+
128
+ within '.pagination_status' do
129
+ expect(page).to have_content('1-3 / 3')
130
+ end
131
+
132
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted.active-filter' do
133
+ expect(page).to have_content('509')
134
+ end
135
+
136
+ expect(page).to have_content('507')
137
+ expect(page).to have_content('508')
138
+ expect(page).to have_content('509')
139
+
140
+ within 'div.wice-grid-container table.wice-grid thead' do
141
+ click_on 'ID'
142
+ end
143
+
144
+ within '.pagination_status' do
145
+ expect(page).to have_content('1-3 / 3')
146
+ end
147
+
148
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
149
+ expect(page).to have_content('507')
150
+ end
151
+
152
+ within 'div.wice-grid-container table.wice-grid thead' do
153
+ click_on 'Title'
154
+ end
155
+
156
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
157
+ expect(page).to have_content('ab')
158
+ end
159
+
160
+ within '.pagination_status' do
161
+ expect(page).to have_content('1-3 / 3')
162
+ end
163
+
164
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
165
+ expect(page).to have_content('ab')
166
+ end
167
+
168
+ expect(page).to have_content('507')
169
+ expect(page).to have_content('508')
170
+ expect(page).to have_content('509')
171
+
172
+ find(:css, '.wg-external-reset-button').click
173
+ within '.pagination_status' do
174
+ expect(page).to have_content('1-20 / 50')
175
+ end
176
+ end
177
+
178
+ it 'should filter by ID, one limit' do
179
+ fill_in('grid_f_id_fr', with: 550)
180
+
181
+ # find(:css, '#grid_submit_grid_icon').click
182
+
183
+ within '.pagination_status' do
184
+ expect(page).to have_content('1-7 / 7')
185
+ end
186
+
187
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
188
+ expect(page).to have_content('550')
189
+ end
190
+
191
+ 551.upto(556) do |i|
192
+ expect(page).to have_content(i)
193
+ end
194
+
195
+ within 'div.wice-grid-container table.wice-grid thead' do
196
+ click_on 'ID'
197
+ end
198
+
199
+ within '.pagination_status' do
200
+ expect(page).to have_content('1-7 / 7')
201
+ end
202
+
203
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted.active-filter' do
204
+ expect(page).to have_content('556')
205
+ end
206
+
207
+ 551.upto(556) do |i|
208
+ expect(page).to have_content(i)
209
+ end
210
+
211
+ within 'div.wice-grid-container table.wice-grid thead' do
212
+ click_on 'ID'
213
+ end
214
+
215
+ within '.pagination_status' do
216
+ expect(page).to have_content('1-7 / 7')
217
+ end
218
+
219
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.sorted' do
220
+ expect(page).to have_content('550')
221
+ end
222
+
223
+ within 'div.wice-grid-container table.wice-grid thead' do
224
+ click_on 'Title'
225
+ end
226
+
227
+ within '.pagination_status' do
228
+ expect(page).to have_content('1-7 / 7')
229
+ end
230
+
231
+ 550.upto(556) do |i|
232
+ expect(page).to have_content(i)
233
+ end
234
+
235
+ find(:css, '.wg-external-reset-button').click
236
+ within '.pagination_status' do
237
+ expect(page).to have_content('1-20 / 50')
238
+ end
239
+ end
240
+
241
+ it 'should filter by Due Date' do
242
+ set_datepicker(self, 'grid_f_due_date_fr_date_placeholder', 2012, 0, 1)
243
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
244
+ expect(page).to have_content('2013-01-26')
245
+ end
246
+
247
+ set_datepicker(self, 'grid_f_due_date_to_date_placeholder', 2013, 0, 1)
248
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
249
+ expect(page).to have_content('2012-07-29')
250
+ end
251
+
252
+ within '.pagination_status' do
253
+ expect(page).to have_content('1-20 / 35')
254
+ end
255
+
256
+ within 'div.wice-grid-container table.wice-grid thead' do
257
+ click_on 'ID'
258
+ end
259
+
260
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
261
+ expect(page).to have_content('2012-10-02')
262
+ end
263
+
264
+ within '.pagination_status' do
265
+ expect(page).to have_content('1-20 / 35')
266
+ end
267
+
268
+ within 'ul.pagination' do
269
+ click_link '2'
270
+ end
271
+
272
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
273
+ expect(page).to have_content('2012-07-02')
274
+ end
275
+
276
+ set_datepicker(self, 'grid_f_due_date_fr_date_placeholder', 2012, 6, 28)
277
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
278
+ expect(page).to have_content('2012-10-02')
279
+ end
280
+
281
+ set_datepicker(self, 'grid_f_due_date_to_date_placeholder', 2012, 6, 31)
282
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
283
+ expect(page).to have_content('2012-07-29')
284
+ end
285
+
286
+ within '.pagination_status' do
287
+ expect(page).to have_content('1-1 / 1')
288
+ end
289
+
290
+ find(:css, '#grid_f_due_date_fr_date_view').click
291
+
292
+ within '.pagination_status' do
293
+ expect(page).to have_content('1-10 / 10')
294
+ end
295
+
296
+ find(:css, '#grid_f_due_date_to_date_view').click
297
+
298
+ within '.pagination_status' do
299
+ expect(page).to have_content('1-20 / 50')
300
+ end
301
+ end
302
+
303
+ it 'should negate the semantics of the text filter' do
304
+ expect(page).to have_content('sequi')
305
+ expect(page).to have_content('sed impedit iste')
306
+
307
+ fill_in('grid_f_title_v', with: 'sed')
308
+ select 'no', from: 'grid_f_archived'
309
+
310
+ expect(page).to have_no_content('sequi')
311
+ expect(page).to have_content('sed impedit iste')
312
+
313
+ find(:css, '#grid_f_title_n').click
314
+
315
+ expect(page).to have_content('sequi')
316
+ expect(page).to have_no_content('sed impedit iste')
317
+ end
318
+
319
+ it 'should reload the title filter' do
320
+ fill_in('grid_f_title_v', with: 'ed')
321
+
322
+ within '.pagination_status' do
323
+ expect(page).to have_content('1-2 / 2')
324
+ end
325
+
326
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
327
+ expect(page).to have_content('sed impedit iste')
328
+ end
329
+
330
+ expect(page).to have_content('corporis expedita vel')
331
+
332
+ within 'div.wice-grid-container table.wice-grid thead' do
333
+ click_on 'Title'
334
+ end
335
+
336
+ within '.pagination_status' do
337
+ expect(page).to have_content('1-2 / 2')
338
+ end
339
+
340
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
341
+ expect(page).to have_content('corporis expedita vel')
342
+ end
343
+
344
+ expect(page).to have_content('sed impedit iste')
345
+
346
+ within 'div.wice-grid-container table.wice-grid thead' do
347
+ click_on 'ID'
348
+ end
349
+
350
+ within '.pagination_status' do
351
+ expect(page).to have_content('1-2 / 2')
352
+ end
353
+
354
+ expect(page).to have_content('corporis expedita vel')
355
+ expect(page).to have_content('sed impedit iste')
356
+
357
+ within 'div.wice-grid-container table.wice-grid tbody tr:first-child td.active-filter' do
358
+ expect(page).to have_content('sed impedit iste')
359
+ end
360
+
361
+ find(:css, '.wg-external-reset-button').click
362
+ within '.pagination_status' do
363
+ expect(page).to have_content('1-20 / 50')
364
+ end
365
+ end
366
+ end