pages_core 3.5.1 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (312) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +7 -13
  3. data/app/assets/javascripts/pages/{admin.es6.jsx → admin.jsx} +2 -4
  4. data/app/assets/javascripts/pages/admin/components.jsx +2 -0
  5. data/app/assets/javascripts/pages/admin/components/attachment.jsx +130 -0
  6. data/app/assets/javascripts/pages/admin/components/attachment_editor.jsx +131 -0
  7. data/app/assets/javascripts/pages/admin/components/attachments.jsx +211 -0
  8. data/app/assets/javascripts/pages/admin/components/date_range_select.jsx +174 -0
  9. data/app/assets/javascripts/pages/admin/components/drag_uploader.jsx +174 -0
  10. data/app/assets/javascripts/pages/admin/components/editable_image.jsx +57 -0
  11. data/app/assets/javascripts/pages/admin/components/file_upload_button.jsx +44 -0
  12. data/app/assets/javascripts/pages/admin/components/focal_point.jsx +82 -0
  13. data/app/assets/javascripts/pages/admin/components/grid_image.jsx +124 -0
  14. data/app/assets/javascripts/pages/admin/components/image_editor.jsx +496 -0
  15. data/app/assets/javascripts/pages/admin/components/image_grid.jsx +301 -0
  16. data/app/assets/javascripts/pages/admin/components/image_uploader.jsx +171 -0
  17. data/app/assets/javascripts/pages/admin/components/modal.jsx +48 -0
  18. data/app/assets/javascripts/pages/admin/components/modal_store.jsx +20 -0
  19. data/app/assets/javascripts/pages/admin/components/page_dates.jsx +58 -0
  20. data/app/assets/javascripts/pages/admin/components/page_files.jsx +14 -0
  21. data/app/assets/javascripts/pages/admin/components/page_images.jsx +16 -0
  22. data/app/assets/javascripts/pages/admin/components/{page_tree.es6.jsx → page_tree.jsx} +7 -37
  23. data/app/assets/javascripts/pages/admin/components/{page_tree_node.es6.jsx → page_tree_node.jsx} +32 -10
  24. data/app/assets/javascripts/pages/admin/components/page_tree_store.jsx +203 -0
  25. data/app/assets/javascripts/pages/admin/components/rich_text_area.jsx +63 -0
  26. data/app/assets/javascripts/pages/admin/components/rich_text_toolbar.jsx +58 -0
  27. data/app/assets/javascripts/pages/admin/components/toast.jsx +37 -0
  28. data/app/assets/javascripts/pages/admin/components/toast_store.jsx +52 -0
  29. data/app/assets/javascripts/pages/admin/features/{content_tabs.es6.jsx → content_tabs.jsx} +11 -2
  30. data/app/assets/javascripts/pages/admin/features/{edit_page.es6.jsx → edit_page.jsx} +7 -51
  31. data/app/assets/javascripts/pages/admin/features/rich_text.jsx +14 -0
  32. data/app/assets/javascripts/pages/admin/features/{tag_editor.es6.jsx → tag_editor.jsx} +0 -0
  33. data/app/assets/javascripts/pages/admin/lib/{tree.es6.jsx → tree.jsx} +0 -0
  34. data/app/assets/javascripts/pages/{login_form.es6.jsx → login_form.jsx} +0 -0
  35. data/app/assets/stylesheets/pages/admin.scss +9 -13
  36. data/app/assets/stylesheets/pages/admin/components/archive.scss +6 -0
  37. data/app/assets/stylesheets/pages/admin/components/attachments.scss +130 -0
  38. data/app/assets/stylesheets/pages/admin/components/buttons.scss +18 -0
  39. data/app/assets/stylesheets/pages/admin/components/forms.scss +99 -21
  40. data/app/assets/stylesheets/pages/admin/components/header.scss +16 -28
  41. data/app/assets/stylesheets/pages/admin/components/image_editor.scss +195 -0
  42. data/app/assets/stylesheets/pages/admin/components/image_grid.scss +181 -0
  43. data/app/assets/stylesheets/pages/admin/components/image_uploader.scss +53 -0
  44. data/app/assets/stylesheets/pages/admin/components/links.scss +1 -1
  45. data/app/assets/stylesheets/pages/admin/components/list_table.scss +8 -5
  46. data/app/assets/stylesheets/pages/admin/components/login.scss +2 -8
  47. data/app/assets/stylesheets/pages/admin/components/modal.scss +91 -0
  48. data/app/assets/stylesheets/pages/admin/components/page_tree.scss +12 -6
  49. data/app/assets/stylesheets/pages/admin/components/pagination.scss +34 -16
  50. data/app/assets/stylesheets/pages/admin/components/sidebar.scss +9 -6
  51. data/app/assets/stylesheets/pages/admin/components/tag_editor.scss +20 -15
  52. data/app/assets/stylesheets/pages/admin/components/textarea.scss +1 -71
  53. data/app/assets/stylesheets/pages/admin/components/toast.scss +51 -0
  54. data/app/assets/stylesheets/pages/admin/components/toolbar.scss +108 -0
  55. data/app/assets/stylesheets/pages/admin/controllers/pages.scss +9 -21
  56. data/app/assets/stylesheets/pages/admin/controllers/users.scss +2 -2
  57. data/app/assets/stylesheets/pages/admin/vars.scss +26 -4
  58. data/app/controller_dummies/admin/admin_controller.rb +0 -2
  59. data/app/controller_dummies/application_controller.rb +2 -4
  60. data/app/controller_dummies/attachments_controller.rb +2 -0
  61. data/app/controller_dummies/frontend_controller.rb +0 -2
  62. data/app/controller_dummies/images_controller.rb +0 -2
  63. data/app/controller_dummies/page_files_controller.rb +0 -2
  64. data/app/controller_dummies/pages_controller.rb +0 -2
  65. data/app/controller_dummies/sitemaps_controller.rb +0 -2
  66. data/app/controllers/admin/attachments_controller.rb +48 -0
  67. data/app/controllers/admin/categories_controller.rb +2 -5
  68. data/app/controllers/admin/images_controller.rb +25 -19
  69. data/app/controllers/admin/invites_controller.rb +16 -26
  70. data/app/controllers/admin/pages_controller.rb +50 -32
  71. data/app/controllers/admin/password_resets_controller.rb +11 -18
  72. data/app/controllers/admin/users_controller.rb +16 -22
  73. data/app/controllers/concerns/pages_core/admin/news_page_controller.rb +21 -14
  74. data/app/controllers/concerns/pages_core/authentication.rb +0 -2
  75. data/app/controllers/concerns/pages_core/domain_based_cache.rb +0 -2
  76. data/app/controllers/concerns/pages_core/error_renderer.rb +33 -0
  77. data/app/controllers/concerns/pages_core/policies_helper.rb +9 -13
  78. data/app/controllers/concerns/pages_core/preview_pages_controller.rb +3 -5
  79. data/app/controllers/concerns/pages_core/process_titler.rb +1 -3
  80. data/app/controllers/concerns/pages_core/rss_controller.rb +0 -2
  81. data/app/controllers/errors_controller.rb +52 -26
  82. data/app/controllers/pages_core/admin_controller.rb +22 -13
  83. data/app/controllers/pages_core/attachments_controller.rb +36 -0
  84. data/app/controllers/pages_core/{application_controller.rb → base_controller.rb} +16 -5
  85. data/app/controllers/pages_core/frontend/page_files_controller.rb +5 -24
  86. data/app/controllers/pages_core/frontend/pages_controller.rb +4 -8
  87. data/app/controllers/pages_core/frontend_controller.rb +0 -2
  88. data/app/controllers/pages_core/images_controller.rb +0 -2
  89. data/app/controllers/pages_core/sitemaps_controller.rb +3 -5
  90. data/app/controllers/sessions_controller.rb +3 -15
  91. data/app/formatters/pages_core/html_formatter.rb +60 -16
  92. data/app/formatters/pages_core/link_renderer.rb +15 -0
  93. data/app/helpers/admin/admin_helper.rb +0 -2
  94. data/app/helpers/admin/menu_helper.rb +2 -4
  95. data/app/helpers/admin/pages_helper.rb +47 -9
  96. data/app/helpers/application_helper.rb +0 -2
  97. data/app/helpers/frontend_helper.rb +0 -2
  98. data/app/helpers/pages_core/admin/admin_helper.rb +75 -20
  99. data/app/helpers/pages_core/admin/form_builder.rb +36 -0
  100. data/app/helpers/pages_core/admin/labelled_field_helper.rb +6 -8
  101. data/app/helpers/pages_core/admin/tag_editor_helper.rb +0 -2
  102. data/app/helpers/pages_core/application_helper.rb +1 -2
  103. data/app/helpers/pages_core/attachments_helper.rb +36 -0
  104. data/app/helpers/pages_core/form_builder.rb +7 -11
  105. data/app/helpers/pages_core/frontend_helper.rb +0 -6
  106. data/app/helpers/pages_core/head_tags_helper.rb +8 -4
  107. data/app/helpers/pages_core/images_helper.rb +0 -2
  108. data/app/helpers/pages_core/meta_tags_helper.rb +3 -5
  109. data/app/helpers/pages_core/open_graph_tags_helper.rb +1 -3
  110. data/app/helpers/pages_core/page_path_helper.rb +14 -9
  111. data/app/jobs/pages_core/autopublish_job.rb +0 -2
  112. data/app/jobs/pages_core/sweep_cache_job.rb +0 -2
  113. data/app/mailers/admin_mailer.rb +3 -16
  114. data/app/models/attachment.rb +76 -0
  115. data/app/models/autopublisher.rb +3 -3
  116. data/app/models/category.rb +0 -3
  117. data/app/models/concerns/pages_core/has_roles.rb +1 -2
  118. data/app/models/concerns/pages_core/humanizable_param.rb +4 -4
  119. data/app/models/concerns/pages_core/page_model/attachments.rb +39 -0
  120. data/app/models/concerns/pages_core/page_model/autopublishable.rb +0 -2
  121. data/app/models/concerns/pages_core/page_model/dated_page.rb +59 -0
  122. data/app/models/concerns/pages_core/page_model/images.rb +12 -15
  123. data/app/models/concerns/pages_core/page_model/localizable.rb +10 -3
  124. data/app/models/concerns/pages_core/page_model/pathable.rb +8 -10
  125. data/app/models/concerns/pages_core/page_model/redirectable.rb +0 -2
  126. data/app/models/concerns/pages_core/page_model/sortable.rb +1 -3
  127. data/app/models/concerns/pages_core/page_model/status.rb +1 -3
  128. data/app/models/concerns/pages_core/page_model/templateable.rb +2 -4
  129. data/app/models/concerns/pages_core/page_model/tree.rb +24 -5
  130. data/app/models/concerns/pages_core/sweepable.rb +0 -2
  131. data/app/models/concerns/pages_core/taggable.rb +4 -3
  132. data/app/models/image.rb +1 -0
  133. data/app/models/invite.rb +0 -10
  134. data/app/models/page.rb +17 -21
  135. data/app/models/page_builder.rb +0 -2
  136. data/app/models/page_category.rb +0 -2
  137. data/app/models/page_exporter.rb +87 -0
  138. data/app/models/page_file.rb +24 -48
  139. data/app/models/page_image.rb +3 -37
  140. data/app/models/page_path.rb +0 -2
  141. data/app/models/password_reset_token.rb +0 -4
  142. data/app/models/role.rb +15 -2
  143. data/app/models/tag.rb +15 -6
  144. data/app/models/tagging.rb +1 -3
  145. data/app/models/user.rb +29 -25
  146. data/app/policies/page_file_policy.rb +13 -17
  147. data/app/policies/page_image_policy.rb +13 -17
  148. data/app/policies/page_policy.rb +26 -26
  149. data/app/policies/policy.rb +2 -8
  150. data/app/policies/user_policy.rb +32 -32
  151. data/app/serializers/admin/attachment_serializer.rb +29 -0
  152. data/app/serializers/admin/image_serializer.rb +53 -6
  153. data/app/serializers/admin/page_file_serializer.rb +6 -0
  154. data/app/serializers/admin/page_image_serializer.rb +1 -1
  155. data/app/serializers/page_export_serializer.rb +30 -0
  156. data/app/serializers/page_file_export_serializer.rb +4 -0
  157. data/app/serializers/page_image_export_serializer.rb +40 -0
  158. data/app/serializers/page_image_serializer.rb +2 -0
  159. data/app/services/pages_core/create_user_service.rb +36 -0
  160. data/app/services/pages_core/invite_service.rb +41 -0
  161. data/app/views/admin/images/show.json.jbuilder +6 -0
  162. data/app/views/admin/pages/_edit_content.html.erb +7 -0
  163. data/app/views/admin/pages/_edit_files.html.erb +8 -0
  164. data/app/views/admin/pages/_edit_images.html.erb +8 -95
  165. data/app/views/admin/pages/_edit_options.html.erb +7 -15
  166. data/app/views/admin/pages/_list_item.html.erb +50 -0
  167. data/app/views/admin/pages/deleted.html.erb +42 -0
  168. data/app/views/admin/pages/edit.html.erb +9 -94
  169. data/app/views/admin/pages/index.html.erb +9 -12
  170. data/app/views/admin/pages/new.html.erb +2 -1
  171. data/app/views/admin/pages/news.html.erb +59 -45
  172. data/app/views/admin/password_resets/show.html.erb +6 -9
  173. data/app/views/admin/users/_access_control.html.erb +4 -1
  174. data/app/views/admin/users/_list.html.erb +12 -7
  175. data/app/views/admin/users/edit.html.erb +5 -11
  176. data/app/views/admin/users/login.html.erb +58 -15
  177. data/app/views/admin/users/show.html.erb +1 -1
  178. data/app/views/admin_mailer/invite.text.erb +1 -1
  179. data/app/views/admin_mailer/password_reset.text.erb +1 -1
  180. data/app/views/errors/401.html.erb +6 -0
  181. data/app/views/errors/403.html.erb +1 -1
  182. data/app/views/errors/500.html.erb +11 -6
  183. data/app/views/errors/500_critical.html.erb +1 -1
  184. data/app/views/feeds/pages.rss.builder +1 -3
  185. data/app/views/layouts/admin.html.erb +83 -83
  186. data/app/views/layouts/admin/_analytics.html.erb +1 -3
  187. data/app/views/layouts/admin/_header.html.erb +2 -2
  188. data/app/views/layouts/errors.html.erb +3 -7
  189. data/config/locales/en.yml +12 -0
  190. data/config/routes.rb +38 -55
  191. data/db/migrate/20111219033112_create_pages_tables.rb +6 -8
  192. data/db/migrate/20120627033112_rename_textbits.rb +1 -3
  193. data/db/migrate/20121010055412_drop_removed_tables.rb +1 -3
  194. data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +1 -3
  195. data/db/migrate/20130303053932_remove_filter_from_localizations.rb +1 -3
  196. data/db/migrate/20130303160632_remove_imagesets.rb +1 -3
  197. data/db/migrate/20130303161732_remove_sms_subscribers.rb +1 -3
  198. data/db/migrate/20130823133208_update_page_redirect_to.rb +1 -3
  199. data/db/migrate/20140203183900_create_roles.rb +1 -1
  200. data/db/migrate/20140414150500_change_locale_names.rb +1 -3
  201. data/db/migrate/20140604142100_remove_openid_url.rb +1 -1
  202. data/db/migrate/20140920231700_convert_images_to_dis.rb +1 -1
  203. data/db/migrate/20140922124600_convert_page_files_to_dis.rb +1 -1
  204. data/db/migrate/20141004003100_create_password_reset_tokens.rb +1 -1
  205. data/db/migrate/20141006181300_remove_user_cruft.rb +1 -1
  206. data/db/migrate/20141007173000_create_invites.rb +1 -1
  207. data/db/migrate/20150204130800_update_delayed_job_table.rb +1 -1
  208. data/db/migrate/20150401131300_localize_images.rb +1 -1
  209. data/db/migrate/20150520174300_add_meta_image_to_page.rb +1 -1
  210. data/db/migrate/20150904164200_add_pinned_to_tags.rb +1 -1
  211. data/db/migrate/20151002174800_create_page_paths.rb +2 -2
  212. data/db/migrate/20151021103400_drop_binaries_table.rb +1 -1
  213. data/db/migrate/20151204151000_remove_page_content_order.rb +1 -1
  214. data/db/migrate/20160330220900_rename_pages_categories.rb +1 -1
  215. data/db/migrate/20160405202700_change_localization_limit.rb +1 -1
  216. data/db/migrate/20170716040500_remove_page_comments.rb +23 -0
  217. data/db/migrate/20170716213400_remove_sessions.rb +15 -0
  218. data/db/migrate/20180207134000_add_dates_to_pages.rb +11 -0
  219. data/db/migrate/20190211154800_create_attachments.rb +73 -0
  220. data/lib/pages_core.rb +6 -9
  221. data/lib/pages_core/admin_menu_item.rb +0 -2
  222. data/lib/pages_core/archive_finder.rb +21 -15
  223. data/lib/pages_core/attachment_embedder.rb +38 -0
  224. data/lib/pages_core/cache_sweeper.rb +14 -23
  225. data/lib/pages_core/configuration.rb +0 -2
  226. data/lib/pages_core/configuration/base.rb +0 -2
  227. data/lib/pages_core/configuration/pages.rb +2 -8
  228. data/lib/pages_core/digest_verifier.rb +70 -0
  229. data/lib/pages_core/engine.rb +6 -13
  230. data/lib/pages_core/extensions.rb +0 -3
  231. data/lib/pages_core/extensions/string_extensions.rb +0 -2
  232. data/lib/pages_core/page_path_constraint.rb +0 -2
  233. data/lib/pages_core/pages_plugin.rb +0 -2
  234. data/lib/pages_core/plugin.rb +0 -2
  235. data/lib/pages_core/pub_sub.rb +36 -0
  236. data/lib/pages_core/templates.rb +0 -2
  237. data/lib/pages_core/templates/block_configuration.rb +1 -3
  238. data/lib/pages_core/templates/configuration.rb +88 -10
  239. data/lib/pages_core/templates/configuration_handler.rb +6 -4
  240. data/lib/pages_core/templates/configuration_proxy.rb +4 -2
  241. data/lib/pages_core/templates/controller_actions.rb +0 -2
  242. data/lib/pages_core/templates/template_configuration.rb +41 -37
  243. data/lib/pages_core/version.rb +1 -3
  244. data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +10 -17
  245. data/lib/rails/generators/pages_core/frontend/templates/application.js.erb +1 -2
  246. data/lib/rails/generators/pages_core/frontend/templates/{application.css.scss.erb → application.scss.erb} +0 -0
  247. data/lib/rails/generators/pages_core/frontend/templates/{base.css.scss.erb → base.scss.erb} +0 -0
  248. data/lib/rails/generators/pages_core/frontend/templates/{breakpoints.css.scss.erb → breakpoints.scss.erb} +0 -0
  249. data/lib/rails/generators/pages_core/frontend/templates/clearfix.scss.erb +7 -0
  250. data/lib/rails/generators/pages_core/frontend/templates/layout.html.erb +0 -3
  251. data/lib/rails/generators/pages_core/install/install_generator.rb +4 -15
  252. data/lib/rails/generators/pages_core/install/templates/application_controller.rb +1 -3
  253. data/lib/rails/generators/pages_core/install/templates/application_helper.rb +0 -2
  254. data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +0 -5
  255. data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +0 -2
  256. data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +0 -2
  257. data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +0 -2
  258. data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +7 -15
  259. data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +0 -2
  260. data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +2 -19
  261. data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +2 -4
  262. data/lib/rails/generators/pages_core/rspec/templates/factories.rb +1 -1
  263. data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +4 -13
  264. data/lib/tasks/pages.rake +0 -62
  265. data/lib/tasks/pages/cache.rake +6 -2
  266. data/lib/tasks/pages/export.rake +9 -0
  267. data/lib/tasks/pages/page_paths.rake +0 -2
  268. data/lib/tasks/pages/update.rake +0 -2
  269. data/template.rb +3 -3
  270. data/vendor/assets/javascripts/ReactCrop.min.js +1 -0
  271. data/vendor/assets/javascripts/reflux.min.js +1 -1
  272. data/vendor/assets/stylesheets/ReactCrop.css +167 -0
  273. metadata +200 -175
  274. data/app/assets/javascripts/pages/admin/components.es6.jsx +0 -1
  275. data/app/assets/javascripts/pages/admin/components/page_tree_actions.es6.jsx +0 -8
  276. data/app/assets/javascripts/pages/admin/components/page_tree_store.es6.jsx +0 -161
  277. data/app/assets/javascripts/pages/admin/features/editable_image.es6.jsx +0 -145
  278. data/app/assets/javascripts/pages/admin/features/modal.es6.jsx +0 -90
  279. data/app/assets/javascripts/pages/admin/features/page_images.es6.jsx +0 -338
  280. data/app/assets/javascripts/pages/admin/features/rich_text.es6.jsx +0 -124
  281. data/app/assets/javascripts/pages/admin/lib/ajax_extensions.es6.jsx +0 -21
  282. data/app/assets/javascripts/pages/admin/lib/center_on_screen.es6.jsx +0 -22
  283. data/app/assets/stylesheets/pages/admin/components/editable_image.scss +0 -18
  284. data/app/assets/stylesheets/pages/admin/components/images.scss +0 -155
  285. data/app/assets/stylesheets/pages/admin/print.scss +0 -17
  286. data/app/controllers/admin/page_comments_controller.rb +0 -61
  287. data/app/controllers/admin/page_files_controller.rb +0 -79
  288. data/app/controllers/admin/page_images_controller.rb +0 -111
  289. data/app/controllers/concerns/pages_core/add_comments_controller.rb +0 -67
  290. data/app/controllers/concerns/pages_core/exception_handler.rb +0 -137
  291. data/app/controllers/concerns/pages_core/search_pages_controller.rb +0 -40
  292. data/app/helpers/pages_core/login_helper.rb +0 -14
  293. data/app/indices/page_file_index.rb +0 -9
  294. data/app/indices/page_index.rb +0 -29
  295. data/app/indices/user_index.rb +0 -11
  296. data/app/models/concerns/pages_core/page_model/commentable.rb +0 -29
  297. data/app/models/concerns/pages_core/page_model/searchable.rb +0 -41
  298. data/app/models/page_comment.rb +0 -18
  299. data/app/serializers/page_tree_serializer.rb +0 -15
  300. data/app/views/admin/pages/_edit_comments.html.erb +0 -37
  301. data/app/views/admin/pages/_pagelisting.html.erb +0 -63
  302. data/app/views/admin/users/_login_form.html.erb +0 -47
  303. data/app/views/admin_mailer/comment_notification.text.erb +0 -7
  304. data/lib/pages_core/extensions/hash_extensions.rb +0 -23
  305. data/lib/pages_core/file_embedder.rb +0 -40
  306. data/lib/pages_core/paginates.rb +0 -102
  307. data/lib/rails/generators/pages_core/frontend/templates/hidpi.css.scss.erb +0 -8
  308. data/lib/rails/generators/pages_core/install/templates/thinking_sphinx.yml +0 -12
  309. data/lib/tasks/db.rake +0 -96
  310. data/lib/tasks/pages/assets.rake +0 -65
  311. data/vendor/assets/javascripts/jquery.dimscreen.js +0 -77
  312. data/vendor/assets/javascripts/jquery.fieldselection.js +0 -59
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  # Be sure to restart your web server when you modify this file.
4
2
 
5
3
  PagesCore.configure do |config|
@@ -13,9 +11,6 @@ PagesCore.configure do |config|
13
11
  # Locales and names
14
12
  # config.locales(nb: 'Norwegian', en: 'English')
15
13
 
16
- # ReCAPTCHA (default: disabled)
17
- # config.recaptcha :disabled
18
-
19
14
  # Page cache (default: enabled)
20
15
  # config.page_cache :enabled
21
16
 
@@ -28,21 +23,9 @@ PagesCore.configure do |config|
28
23
  # New pages will be created by the user with this email address:
29
24
  # config.default_author "email@example.com"
30
25
 
31
- # Send notifications when new comments are posted
32
- # config :comment_notifications, [:author, 'your@email.com']
33
-
34
- # Automatically close comments after a certain amount of time has
35
- # passed. (default: disabled)
36
- # config.close_comments_after 60.days
37
-
38
- # Comment honeypot.
39
- # Add <%%= comment_honeypot_field %> to your form
40
- # and .comment_email { display: none; } to your CSS.
41
- # config.comment_honeypot :disabled
42
-
43
26
  # Layout for 404 errors
44
27
  # config.error_404_layout "errors"
45
28
 
46
- # Custom file embedder
47
- # config.file_embedder PagesCore::FileEmbedder
29
+ # Custom attachment embedder
30
+ # config.attachment_embedder PagesCore::AttachmentEmbedder
48
31
  end
@@ -1,10 +1,8 @@
1
- # encoding: utf-8
2
-
3
1
  module PagesCore
4
2
  module Generators
5
3
  class RspecGenerator < Rails::Generators::Base
6
4
  desc "RSpec setup"
7
- source_root File.expand_path("../templates", __FILE__)
5
+ source_root File.expand_path("templates", __dir__)
8
6
 
9
7
  def setup_development_gems
10
8
  gem_group :development do
@@ -19,7 +17,7 @@ module PagesCore
19
17
  gem "json_spec"
20
18
  gem "capybara"
21
19
  gem "timecop"
22
- gem "factory_girl_rails"
20
+ gem "factory_bot_rails"
23
21
  end
24
22
  end
25
23
 
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  sequence :email do |n|
3
3
  "person#{n}@example.com"
4
4
  end
@@ -1,15 +1,14 @@
1
1
  ENV["RAILS_ENV"] = "test"
2
2
 
3
3
  require "rubygems"
4
- require File.expand_path("../../config/environment", __FILE__)
4
+ require File.expand_path("../config/environment", __dir__)
5
5
  require "rspec/rails"
6
6
  require "rspec/autorun"
7
- require "thinking_sphinx/test"
8
7
  require "shoulda-matchers"
9
8
 
10
9
  # Requires supporting ruby files with custom matchers and macros, etc,
11
10
  # in spec/support/ and its subdirectories.
12
- Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| load f }
11
+ Dir[Rails.root.join("spec", "support", "**", "*.rb")].each { |f| load f }
13
12
 
14
13
  RSpec.configure do |config|
15
14
  # == Mock Framework
@@ -24,8 +23,8 @@ RSpec.configure do |config|
24
23
  # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
25
24
  # config.fixture_path = "#{::Rails.root}/spec/fixtures"
26
25
 
27
- # Use FactoryGirl shorthand
28
- config.include FactoryGirl::Syntax::Methods
26
+ # Use FactoryBot shorthand
27
+ config.include FactoryBot::Syntax::Methods
29
28
 
30
29
  # If you're not using ActiveRecord, or you'd prefer not to run each of your
31
30
  # examples within a transaction, remove the following line or assign false
@@ -40,12 +39,4 @@ RSpec.configure do |config|
40
39
  config.include JsonSpec::Helpers
41
40
  config.include MailerMacros
42
41
  config.before(:each) { reset_email }
43
-
44
- config.before(:suite) do
45
- # Ensure sphinx directories exist for the test environment
46
- ThinkingSphinx::Test.init
47
- # Configure and start Sphinx, and automatically
48
- # stop Sphinx at the end of the test suite.
49
- ThinkingSphinx::Test.start_with_autostop
50
- end
51
42
  end
data/lib/tasks/pages.rake CHANGED
@@ -1,69 +1,7 @@
1
- # encoding: utf-8
2
-
3
1
  require "find"
4
2
  require "open-uri"
5
3
 
6
- begin
7
- require "delayed/tasks"
8
- rescue LoadError
9
- puts "Delayed job not installed"
10
- end
11
-
12
4
  namespace :pages do
13
- namespace :error_reports do
14
- desc "Show error reports"
15
- task list: :environment do
16
- require "term/ansicolor"
17
- include Term::ANSIColor
18
-
19
- reports = []
20
- reports_dir = Rails.root.join("log", "error_reports")
21
- if File.exist?(reports_dir)
22
- files = Dir.entries(reports_dir).select { |f| f =~ /\.yml$/ }
23
- files.each do |f|
24
- report = begin
25
- YAML
26
- .load_file(File.join(reports_dir, f))
27
- .merge(sha1_hash: f.gsub(/\.yml$/, ""))
28
- rescue
29
- nil
30
- end
31
- reports << report if report
32
- end
33
- end
34
- if reports.length > 1
35
- puts
36
- reports = reports.sort { |a, b| a[:timestamp] <=> b[:timestamp] }
37
- reports.each do |report|
38
- message = report[:message].strip.split("\n").first
39
- print "#{report[:timestamp]} "
40
- print (report[:sha1_hash]).to_s.blue.bold, "\n"
41
- print (report[:url]).to_s.green.bold, "\n"
42
- print "#{report[:params].inspect}\n".yellow
43
- print "#{message}\n\n"
44
- end
45
- else
46
- puts "No error reports found"
47
- end
48
- end
49
-
50
- desc "Clear all error reports"
51
- task clear: :environment do
52
- reports_dir = Rails.root.join("log", "error_reports")
53
- if File.exist?(reports_dir)
54
- files = Dir.entries(reports_dir).select { |f| f =~ /\.yml$/ }
55
- files.each do |f|
56
- `rm #{File.join(reports_dir, f)}`
57
- end
58
- end
59
- puts "Error reports cleared"
60
- end
61
- end
62
-
63
- desc "Show error reports"
64
- task error_reports: "pages:error_reports:list" do
65
- end
66
-
67
5
  desc "Autopublish due pages"
68
6
  task autopublish: :environment do
69
7
  published = Autopublisher.run!
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  namespace :pages do
4
2
  namespace :cache do
5
3
  desc "Sweep the pages cache"
@@ -7,6 +5,12 @@ namespace :pages do
7
5
  swept_files = PagesCore::CacheSweeper.sweep!
8
6
  Rails.logger.info "Cache swept, #{swept_files.length} files deleted."
9
7
  end
8
+
9
+ desc "Sweep the pages cache (queued)"
10
+ task sweep_later: :environment do
11
+ PagesCore::SweepCacheJob.perform_later
12
+ end
13
+
10
14
  desc "Purge the entire pages cache"
11
15
  task purge: :environment do
12
16
  PagesCore::CacheSweeper.purge!
@@ -0,0 +1,9 @@
1
+ namespace :pages do
2
+ namespace :export do
3
+ desc "Export pages"
4
+ task pages: :environment do
5
+ dir = Rails.root.join("export")
6
+ PageExporter.new(dir).export
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  namespace :pages do
4
2
  namespace :page_paths do
5
3
  desc "Build page paths"
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  require "find"
4
2
  require "open-uri"
5
3
 
data/template.rb CHANGED
@@ -1,12 +1,12 @@
1
- gem "pages_core", git: "git@github.com:kord-as/pages.git", branch: "master"
1
+ gem "pages_core", git: "git@github.com:anyone-oslo/pages.git", branch: "master"
2
2
 
3
3
  gem_group :development do
4
- gem "manual_server", git: "git@github.com:kord-as/manual_server.git"
4
+ gem "manual_server", git: "git@github.com:anyone-oslo/anyone_server.git"
5
5
  end
6
6
 
7
7
  route "root to: 'pages#index'"
8
8
 
9
- run "echo '2.2.2' > .ruby-version"
9
+ run "echo '2.3.1' > .ruby-version"
10
10
 
11
11
  run "bundle install"
12
12
 
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.ReactCrop=t(require("react")):e.ReactCrop=t(e.React)}("undefined"!=typeof self?self:this,function(e){return function(e){function t(o){if(r[o])return r[o].exports;var a=r[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,r){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function a(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function c(e){var t=e.getBoundingClientRect(),r=document.documentElement;return{top:t.top+window.pageYOffset-r.clientTop,left:t.left+window.pageXOffset-r.clientLeft}}function d(e){var t=void 0,r=void 0;return e.touches?(t=e.touches[0].pageX,r=e.touches[0].pageY):(t=e.pageX,r=e.pageY),{x:t,y:r}}function h(e,t,r){return Math.min(Math.max(e,t),r)}function u(e){return e&&e.width&&e.height}function p(e){var t=void 0;return"n"===e?t="s":"ne"===e?t="sw":"e"===e?t="w":"se"===e?t="nw":"s"===e?t="n":"sw"===e?t="ne":"w"===e?t="e":"nw"===e&&(t="se"),t}function f(e,t){if(isNaN(e.aspect)||isNaN(t))return console.warn("`crop.aspect` and `imageAspect` need to be numbers in order to make an aspect crop",e),e;var r=y({},e);return e.width&&(r.height=e.width/e.aspect*t),e.height&&(r.width=(r.height||e.height)*(e.aspect/t)),e.y+(r.height||e.height)>100&&(r.height=100-e.y,r.width=r.height*e.aspect/t),e.x+(r.width||e.width)>100&&(r.width=100-e.x,r.height=r.width/e.aspect*t),r}function l(e,t){return e&&e.aspect&&(!e.width&&e.height||e.width&&!e.height)?f(e,t.naturalWidth/t.naturalHeight):e}function g(e,t){if(!e||!t)return null;var r=Math.round(e.naturalWidth*(t.x/100)),o=Math.round(e.naturalHeight*(t.y/100)),a=Math.round(e.naturalWidth*(t.width/100)),n=Math.round(e.naturalHeight*(t.height/100));return{x:r,y:o,width:h(a,0,e.naturalWidth-r),height:h(n,0,e.naturalHeight-o)}}function v(e,t,r){var o=y({},t),a=!1;o.x+o.width>100?(o.width=t.width+(100-(t.x+t.width)),o.x=t.x+(100-(t.x+o.width)),a=!0):o.x<0&&(o.width=t.x+t.width,o.x=0,a=!0),a&&t.aspect&&(o.height=o.width/t.aspect*r,e.y>o.y&&(o.y=t.y+(t.height-o.height)));var n=!1;return o.y+o.height>100?(o.height=t.height+(100-(t.y+t.height)),o.y=t.y+(100-(t.y+o.height)),n=!0):o.y<0&&(o.height=t.y+t.height,o.y=0,n=!0),n&&t.aspect&&(o.width=o.height*t.aspect/r,o.x<t.x&&(o.x=t.x+(t.width-o.width))),o}var m=function(){function e(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,r,o){return r&&e(t.prototype,r),o&&e(t,o),t}}(),y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},w=r(1),C=o(w),x=r(2),O=o(x),b=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return b=!0,!0}}))}catch(e){}var R=function(e){function t(){var e,r,o,a;n(this,t);for(var s=arguments.length,p=Array(s),f=0;f<s;f++)p[f]=arguments[f];return r=o=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(p))),o.state={},o.onCropMouseTouchDown=function(e){var t=o.props,r=t.crop;if(!t.disabled){e.preventDefault();var a=d(e);o.componentRef.focus({preventScroll:!0});var n=e.target.dataset.ord,i="nw"===n||"w"===n||"sw"===n,s="nw"===n||"n"===n||"ne"===n,h=void 0;r.aspect&&(h=c(o.cropSelectRef)),o.evData={clientStartX:a.x,clientStartY:a.y,cropStartWidth:r.width,cropStartHeight:r.height,cropStartX:i?r.x+r.width:r.x,cropStartY:s?r.y+r.height:r.y,xInversed:i,yInversed:s,xCrossOver:i,yCrossOver:s,startXCrossOver:i,startYCrossOver:s,isResize:e.target!==o.cropSelectRef,ord:n,cropOffset:h},o.mouseDownOnCrop=!0,o.setState({cropIsActive:!0})}},o.onComponentMouseTouchDown=function(e){var t=o.props,r=t.crop,a=t.disabled,n=t.keepSelection,i=t.onChange;if(e.target===o.imageRef&&!(a||n&&u(r))){e.preventDefault();var s=d(e);o.componentRef.focus({preventScroll:!0});var h=c(o.imageRef),p=(s.x-h.left)/o.imageRef.width*100,f=(s.y-h.top)/o.imageRef.height*100,l={aspect:r?r.aspect:void 0,x:p,y:f,width:0,height:0};o.evData={clientStartX:s.x,clientStartY:s.y,cropStartWidth:l.width,cropStartHeight:l.height,cropStartX:l.x,cropStartY:l.y,xInversed:!1,yInversed:!1,xCrossOver:!1,yCrossOver:!1,startXCrossOver:!1,startYCrossOver:!1,isResize:!0,ord:"nw"},o.mouseDownOnCrop=!0,i(l,g(o.imageRef,l)),o.setState({cropIsActive:!0})}},o.onDocMouseTouchMove=function(e){var t=o.props,r=t.crop,a=t.disabled,n=t.onChange;if((0,t.onDragStart)(),!a&&o.mouseDownOnCrop){e.preventDefault();var i=o,s=i.evData,c=d(e);s.isResize&&r.aspect&&s.cropOffset&&(c.y=o.straightenYPath(c.x));var h=c.x-s.clientStartX;s.xDiffPc=h/o.imageRef.width*100;var u=c.y-s.clientStartY;s.yDiffPc=u/o.imageRef.height*100;var p=void 0;p=s.isResize?o.resizeCrop():o.dragCrop(),n(p,g(o.imageRef,p))}},o.onComponentKeyDown=function(e){var r=o.props,a=r.crop,n=r.disabled,i=r.onChange,s=r.onComplete;if(!n){var c=e.which,d=!1;if(u(a)){var p=o.makeNewCrop();c===t.arrowKey.left?(p.x-=t.nudgeStep,d=!0):c===t.arrowKey.right?(p.x+=t.nudgeStep,d=!0):c===t.arrowKey.up?(p.y-=t.nudgeStep,d=!0):c===t.arrowKey.down&&(p.y+=t.nudgeStep,d=!0),d&&(e.preventDefault(),p.x=h(p.x,0,100-p.width),p.y=h(p.y,0,100-p.height),i(p,g(o.imageRef,p)),s(p,g(o.imageRef,p)))}}},o.onDocMouseTouchEnd=function(){var e=o.props,t=e.crop,r=e.disabled,a=e.onComplete;(0,e.onDragEnd)(),r||o.mouseDownOnCrop&&(o.mouseDownOnCrop=!1,a(t,g(o.imageRef,t)),o.setState({cropIsActive:!1}))},a=r,i(o,a)}return s(t,e),m(t,[{key:"componentDidMount",value:function(){var e=!!b&&{passive:!1};if(document.addEventListener("mousemove",this.onDocMouseTouchMove,e),document.addEventListener("touchmove",this.onDocMouseTouchMove,e),document.addEventListener("mouseup",this.onDocMouseTouchEnd,e),document.addEventListener("touchend",this.onDocMouseTouchEnd,e),document.addEventListener("touchcancel",this.onDocMouseTouchEnd,e),this.imageRef.complete||this.imageRef.readyState)if(0===this.imageRef.naturalWidth){var t=this.imageRef.src;this.imageRef.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",this.imageRef.src=t}else this.onImageLoad(this.imageRef)}},{key:"componentDidUpdate",value:function(e){e.crop!==this.props.crop&&this.resolveCropAndTriggerChange(this.props.crop,this.imageRef)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mousemove",this.onDocMouseTouchMove),document.removeEventListener("touchmove",this.onDocMouseTouchMove),document.removeEventListener("mouseup",this.onDocMouseTouchEnd),document.removeEventListener("touchend",this.onDocMouseTouchEnd),document.removeEventListener("touchcancel",this.onDocMouseTouchEnd)}},{key:"onImageLoad",value:function(e){var t=this.resolveCropAndTriggerChange(this.props.crop,e);this.props.onImageLoaded(e,g(e,t))}},{key:"getCropStyle",value:function(){var e=this.props.crop;return{top:e.y+"%",left:e.x+"%",width:e.width+"%",height:e.height+"%"}}},{key:"getNewSize",value:function(){var e=this.props,t=e.crop,r=e.minWidth,o=e.maxWidth,a=e.minHeight,n=e.maxHeight,i=this.evData,s=this.imageRef.width/this.imageRef.height,c=i.cropStartWidth+i.xDiffPc;i.xCrossOver&&(c=Math.abs(c)),c=h(c,r,o);var d=void 0;return d=t.aspect?c/t.aspect*s:i.cropStartHeight+i.yDiffPc,i.yCrossOver&&(d=Math.min(Math.abs(d),i.cropStartY)),d=h(d,a,n),t.aspect&&(c=h(d*t.aspect/s,0,100)),{width:c,height:d}}},{key:"resolveCropAndTriggerChange",value:function(e,t){var r=l(e,t);return r!==e&&(this.props.onChange(r,g(t,r)),this.props.onComplete(r,g(t,r))),r}},{key:"dragCrop",value:function(){var e=this.makeNewCrop(),t=this.evData;return e.x=h(t.cropStartX+t.xDiffPc,0,100-e.width),e.y=h(t.cropStartY+t.yDiffPc,0,100-e.height),e}},{key:"resizeCrop",value:function(){var e=this.makeNewCrop(),r=this.evData,o=r.ord,a=this.imageRef.width/this.imageRef.height;r.xInversed&&(r.xDiffPc-=2*r.cropStartWidth),r.yInversed&&(r.yDiffPc-=2*r.cropStartHeight);var n=this.getNewSize(),i=r.cropStartX,s=r.cropStartY;r.xCrossOver&&(i=e.x+(e.width-n.width)),r.yCrossOver&&(s=!1===r.lastYCrossover?e.y-n.height:e.y+(e.height-n.height));var c=v(this.props.crop,{x:i,y:s,width:n.width,height:n.height,aspect:e.aspect},a);return e.aspect||t.xyOrds.indexOf(o)>-1?(e.x=c.x,e.y=c.y,e.width=c.width,e.height=c.height):t.xOrds.indexOf(o)>-1?(e.x=c.x,e.width=c.width):t.yOrds.indexOf(o)>-1&&(e.y=c.y,e.height=c.height),r.lastYCrossover=r.yCrossOver,this.crossOverCheck(),e}},{key:"straightenYPath",value:function(e){var t=this.evData,r=t.ord,o=t.cropOffset,a=t.cropStartWidth/100*this.imageRef.width,n=t.cropStartHeight/100*this.imageRef.height,i=void 0,s=void 0;return"nw"===r||"se"===r?(i=n/a,s=o.top-o.left*i):(i=-n/a,s=o.top+(n-o.left*i)),i*e+s}},{key:"createCropSelection",value:function(){var e=this,t=this.props.disabled,r=this.getCropStyle();return C.default.createElement("div",{ref:function(t){e.cropSelectRef=t},style:r,className:"ReactCrop__crop-selection",onMouseDown:this.onCropMouseTouchDown,onTouchStart:this.onCropMouseTouchDown,role:"presentation"},!t&&C.default.createElement("div",{className:"ReactCrop__drag-elements"},C.default.createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),C.default.createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),C.default.createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),C.default.createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw"}),C.default.createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w"})))}},{key:"makeNewCrop",value:function(){return y({},t.defaultCrop,this.props.crop)}},{key:"crossOverCheck",value:function(){var e=this.evData;(!e.xCrossOver&&-Math.abs(e.cropStartWidth)-e.xDiffPc>=0||e.xCrossOver&&-Math.abs(e.cropStartWidth)-e.xDiffPc<=0)&&(e.xCrossOver=!e.xCrossOver),(!e.yCrossOver&&-Math.abs(e.cropStartHeight)-e.yDiffPc>=0||e.yCrossOver&&-Math.abs(e.cropStartHeight)-e.yDiffPc<=0)&&(e.yCrossOver=!e.yCrossOver);var t=e.xCrossOver!==e.startXCrossOver,r=e.yCrossOver!==e.startYCrossOver;e.inversedXOrd=!!t&&p(e.ord),e.inversedYOrd=!!r&&p(e.ord)}},{key:"render",value:function(){var e=this,t=this.props,r=t.children,o=t.className,n=t.crossorigin,i=t.crop,s=t.disabled,c=t.imageAlt,d=t.onImageError,h=t.src,p=t.style,f=t.imageStyle,l=this.state.cropIsActive,g=void 0;u(i)&&(g=this.createCropSelection());var v=["ReactCrop"];return l&&v.push("ReactCrop--active"),i&&(i.aspect&&v.push("ReactCrop--fixed-aspect"),!l||i.width&&i.height||v.push("ReactCrop--crop-invisible")),s&&v.push("ReactCrop--disabled"),o&&v.push.apply(v,a(o.split(" "))),C.default.createElement("div",{ref:function(t){e.componentRef=t},className:v.join(" "),style:p,onTouchStart:this.onComponentMouseTouchDown,onMouseDown:this.onComponentMouseTouchDown,role:"presentation",tabIndex:"1",onKeyDown:this.onComponentKeyDown},C.default.createElement("img",{ref:function(t){e.imageRef=t},crossOrigin:n,className:"ReactCrop__image",style:f,src:h,onLoad:function(t){return e.onImageLoad(t.target)},onError:d,alt:c}),g,r)}}]),t}(w.PureComponent);R.xOrds=["e","w"],R.yOrds=["n","s"],R.xyOrds=["nw","ne","se","sw"],R.arrowKey={left:37,up:38,right:39,down:40},R.nudgeStep=.2,R.defaultCrop={x:0,y:0,width:0,height:0},R.propTypes={className:O.default.string,crossorigin:O.default.string,children:O.default.oneOfType([O.default.arrayOf(O.default.node),O.default.node]),crop:O.default.shape({aspect:O.default.number,x:O.default.number,y:O.default.number,width:O.default.number,height:O.default.number}),disabled:O.default.bool,imageAlt:O.default.string,imageStyle:O.default.shape({}),keepSelection:O.default.bool,minWidth:O.default.number,minHeight:O.default.number,maxWidth:O.default.number,maxHeight:O.default.number,onChange:O.default.func.isRequired,onImageError:O.default.func,onComplete:O.default.func,onImageLoaded:O.default.func,onDragStart:O.default.func,onDragEnd:O.default.func,src:O.default.string.isRequired,style:O.default.shape({})},R.defaultProps={className:void 0,crop:void 0,crossorigin:void 0,disabled:!1,imageAlt:"",maxWidth:100,maxHeight:100,minWidth:0,minHeight:0,keepSelection:!1,onComplete:function(){},onImageError:function(){},onImageLoaded:function(){},onDragStart:function(){},onDragEnd:function(){},children:void 0,style:void 0,imageStyle:void 0},e.exports=R,e.exports.getPixelCrop=g,e.exports.makeAspectCrop=f,e.exports.containCrop=v},function(t,r){t.exports=e},function(e,t,r){e.exports=r(3)()},function(e,t,r){"use strict";function o(){}var a=r(4);e.exports=function(){function e(e,t,r,o,n,i){if(i!==a){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return r.checkPropTypes=o,r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}])});
@@ -1 +1 @@
1
- !function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Reflux=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function e(){}var f="function"!=typeof Object.create?"~":!1;e.prototype._events=void 0,e.prototype.listeners=function(a,b){var c=f?f+a:a,d=this._events&&this._events[c];if(b)return!!d;if(!d)return[];if(d.fn)return[d.fn];for(var e=0,g=d.length,h=new Array(g);g>e;e++)h[e]=d[e].fn;return h},e.prototype.emit=function(a,b,c,d,e,g){var h=f?f+a:a;if(!this._events||!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if("function"==typeof k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,c),!0;case 4:return k.fn.call(k.context,b,c,d),!0;case 5:return k.fn.call(k.context,b,c,d,e),!0;case 6:return k.fn.call(k.context,b,c,d,e,g),!0}for(j=1,i=new Array(l-1);l>j;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;n>j;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,c);break;default:if(!i)for(m=1,i=new Array(l-1);l>m;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},e.prototype.on=function(a,b,c){var e=new d(b,c||this),g=f?f+a:a;return this._events||(this._events=f?{}:Object.create(null)),this._events[g]?this._events[g].fn?this._events[g]=[this._events[g],e]:this._events[g].push(e):this._events[g]=e,this},e.prototype.once=function(a,b,c){var e=new d(b,c||this,!0),g=f?f+a:a;return this._events||(this._events=f?{}:Object.create(null)),this._events[g]?this._events[g].fn?this._events[g]=[this._events[g],e]:this._events[g].push(e):this._events[g]=e,this},e.prototype.removeListener=function(a,b,c,d){var e=f?f+a:a;if(!this._events||!this._events[e])return this;var g=this._events[e],h=[];if(b)if(g.fn)(g.fn!==b||d&&!g.once||c&&g.context!==c)&&h.push(g);else for(var i=0,j=g.length;j>i;i++)(g[i].fn!==b||d&&!g[i].once||c&&g[i].context!==c)&&h.push(g[i]);return h.length?this._events[e]=1===h.length?h[0]:h:delete this._events[e],this},e.prototype.removeAllListeners=function(a){return this._events?(a?delete this._events[f?f+a:a]:this._events=f?{}:Object.create(null),this):this},e.prototype.off=e.prototype.removeListener,e.prototype.addListener=e.prototype.on,e.prototype.setMaxListeners=function(){return this},e.prefixed=f,"undefined"!=typeof b&&(b.exports=e)},{}],2:[function(a,b,c){b.exports={}},{}],3:[function(a,b,c){c.createdStores=[],c.createdActions=[],c.reset=function(){for(;c.createdStores.length;)c.createdStores.pop();for(;c.createdActions.length;)c.createdActions.pop()}},{}],4:[function(a,b,c){var d=a("./utils"),e=a("./joins").instanceJoinCreator,f=function(a){for(var b,c=0,d={};c<(a.children||[]).length;++c)b=a.children[c],a[b]&&(d[b]=a[b]);return d},g=function(a){var b={};for(var c in a){var e=a[c],h=f(e),i=g(h);b[c]=e;for(var j in i){var k=i[j];b[c+d.capitalize(j)]=k}}return b};b.exports={hasListener:function(a){for(var b,c,d,e=0;e<(this.subscriptions||[]).length;++e)for(d=[].concat(this.subscriptions[e].listenable),b=0;b<d.length;b++)if(c=d[b],c===a||c.hasListener&&c.hasListener(a))return!0;return!1},listenToMany:function(a){var b=g(a);for(var c in b){var e=d.callbackName(c),f=this[e]?e:this[c]?c:void 0;f&&this.listenTo(b[c],f,this[e+"Default"]||this[f+"Default"]||f)}},validateListening:function(a){return a===this?"Listener is not able to listen to itself":d.isFunction(a.listen)?a.hasListener&&a.hasListener(this)?"Listener cannot listen to this listenable because of circular loop":void 0:a+" is missing a listen method"},listenTo:function(a,b,c){var e,f,g,h=this.subscriptions=this.subscriptions||[];return d.throwIf(this.validateListening(a)),this.fetchInitialState(a,c),e=a.listen(this[b]||b,this),f=function(){var a=h.indexOf(g);d.throwIf(-1===a,"Tried to remove listen already gone from subscriptions list!"),h.splice(a,1),e()},g={stop:f,listenable:a},h.push(g),g},stopListeningTo:function(a){for(var b,c=0,e=this.subscriptions||[];c<e.length;c++)if(b=e[c],b.listenable===a)return b.stop(),d.throwIf(-1!==e.indexOf(b),"Failed to remove listen from subscriptions list!"),!0;return!1},stopListeningToAll:function(){for(var a,b=this.subscriptions||[];a=b.length;)b[0].stop(),d.throwIf(b.length!==a-1,"Failed to remove listen from subscriptions list!")},fetchInitialState:function(a,b){b=b&&this[b]||b;var c=this;if(d.isFunction(b)&&d.isFunction(a.getInitialState)){var e=a.getInitialState();e&&d.isFunction(e.then)?e.then(function(){b.apply(c,arguments)}):b.call(this,e)}},joinTrailing:e("last"),joinLeading:e("first"),joinConcat:e("all"),joinStrict:e("strict")}},{"./joins":14,"./utils":18}],5:[function(a,b,c){var d=a("./utils"),e=a("./ListenerMethods");b.exports=d.extend({componentWillUnmount:e.stopListeningToAll},e)},{"./ListenerMethods":4,"./utils":18}],6:[function(a,b,c){var d=a("./utils");b.exports={preEmit:function(){},shouldEmit:function(){return!0},listen:function(a,b){b=b||this;var c=function(c){e||a.apply(b,c)},d=this,e=!1;return this.emitter.addListener(this.eventLabel,c),function(){e=!0,d.emitter.removeListener(d.eventLabel,c)}},promise:function(a){var b=this,c=this.children.indexOf("completed")>=0&&this.children.indexOf("failed")>=0;if(!c)throw new Error('Publisher must have "completed" and "failed" child publishers');a.then(function(a){return b.completed(a)},function(a){return b.failed(a)})},listenAndPromise:function(a,b){var c=this;b=b||this,this.willCallPromise=(this.willCallPromise||0)+1;var d=this.listen(function(){if(!a)throw new Error("Expected a function returning a promise but got "+a);var d=arguments,e=a.apply(b,d);return c.promise.call(c,e)},b);return function(){c.willCallPromise--,d.call(c)}},trigger:function(){var a=arguments,b=this.preEmit.apply(this,a);a=void 0===b?a:d.isArguments(b)?b:[].concat(b),this.shouldEmit.apply(this,a)&&this.emitter.emit(this.eventLabel,a)},triggerAsync:function(){var a=arguments,b=this;d.nextTick(function(){b.trigger.apply(b,a)})},triggerPromise:function(){var a=this,b=arguments,c=this.children.indexOf("completed")>=0&&this.children.indexOf("failed")>=0,e=d.createPromise(function(e,f){if(a.willCallPromise)return void d.nextTick(function(){var c=a.promise;a.promise=function(b){return b.then(e,f),a.promise=c,a.promise.apply(a,arguments)},a.trigger.apply(a,b)});if(c)var g=a.completed.listen(function(a){g(),h(),e(a)}),h=a.failed.listen(function(a){g(),h(),f(a)});a.triggerAsync.apply(a,b),c||e()});return e}}},{"./utils":18}],7:[function(a,b,c){b.exports={}},{}],8:[function(a,b,c){b.exports=function(a,b){for(var c in b)if(Object.getOwnPropertyDescriptor&&Object.defineProperty){var d=Object.getOwnPropertyDescriptor(b,c);if(!d.value||"function"!=typeof d.value||!b.hasOwnProperty(c))continue;a[c]=b[c].bind(a)}else{var e=b[c];if("function"!=typeof e||!b.hasOwnProperty(c))continue;a[c]=e.bind(a)}return a}},{}],9:[function(a,b,c){var d=a("./ListenerMethods"),e=a("./ListenerMixin"),f=a("./utils");b.exports=function(a,b){return{getInitialState:function(){return f.isFunction(a.getInitialState)?void 0===b?a.getInitialState():f.object([b],[a.getInitialState()]):{}},componentDidMount:function(){f.extend(this,d);var c=this,e=void 0===b?this.setState:function(a){("undefined"==typeof c.isMounted||c.isMounted()===!0)&&c.setState(f.object([b],[a]))};this.listenTo(a,e)},componentWillUnmount:e.componentWillUnmount}}},{"./ListenerMethods":4,"./ListenerMixin":5,"./utils":18}],10:[function(a,b,c){var d=a("./ListenerMethods"),e=a("./ListenerMixin"),f=a("./utils");b.exports=function(a,b,c){return c=f.isFunction(b)?b:c,{getInitialState:function(){if(f.isFunction(a.getInitialState)){if(f.isFunction(b))return c.call(this,a.getInitialState());var d=c.call(this,a.getInitialState());return"undefined"!=typeof d?f.object([b],[d]):{}}return{}},componentDidMount:function(){f.extend(this,d);var e=this,g=function(a){if(f.isFunction(b))e.setState(c.call(e,a));else{var d=c.call(e,a);e.setState(f.object([b],[d]))}};this.listenTo(a,g)},componentWillUnmount:e.componentWillUnmount}}},{"./ListenerMethods":4,"./ListenerMixin":5,"./utils":18}],11:[function(a,b,c){var d=a("./utils"),e=a("./ActionMethods"),f=a("./PublisherMethods"),g=a("./Keep"),h={preEmit:1,shouldEmit:1},i=function(a){a=a||{},d.isObject(a)||(a={actionName:a});for(var b in e)if(!h[b]&&f[b])throw new Error("Cannot override API method "+b+" in Reflux.ActionMethods. Use another method name or override it on Reflux.PublisherMethods instead.");for(var c in a)if(!h[c]&&f[c])throw new Error("Cannot override API method "+c+" in action creation. Use another method name or override it on Reflux.PublisherMethods instead.");a.children=a.children||[],a.asyncResult&&(a.children=a.children.concat(["completed","failed"]));for(var j=0,k={};j<a.children.length;j++){var l=a.children[j];k[l]=i(l)}var m=d.extend({eventLabel:"action",emitter:new d.EventEmitter,_isAction:!0},f,e,a),n=function(){var a=n.sync?"trigger":d.environment.hasPromises?"triggerPromise":"triggerAsync";return n[a].apply(n,arguments)};return d.extend(n,k,m),g.createdActions.push(n),n};b.exports=i},{"./ActionMethods":2,"./Keep":3,"./PublisherMethods":6,"./utils":18}],12:[function(a,b,c){var d=a("./utils"),e=a("./Keep"),f=a("./mixer"),g={preEmit:1,shouldEmit:1},h=a("./bindMethods");b.exports=function(b){function c(){var a,c=0;if(this.subscriptions=[],this.emitter=new d.EventEmitter,this.eventLabel="change",h(this,b),this.init&&d.isFunction(this.init)&&this.init(),this.listenables)for(a=[].concat(this.listenables);c<a.length;c++)this.listenToMany(a[c])}var i=a("./StoreMethods"),j=a("./PublisherMethods"),k=a("./ListenerMethods");b=b||{};for(var l in i)if(!g[l]&&(j[l]||k[l]))throw new Error("Cannot override API method "+l+" in Reflux.StoreMethods. Use another method name or override it on Reflux.PublisherMethods / Reflux.ListenerMethods instead.");for(var m in b)if(!g[m]&&(j[m]||k[m]))throw new Error("Cannot override API method "+m+" in store creation. Use another method name or override it on Reflux.PublisherMethods / Reflux.ListenerMethods instead.");b=f(b),d.extend(c.prototype,k,j,i,b);var n=new c;return e.createdStores.push(n),n}},{"./Keep":3,"./ListenerMethods":4,"./PublisherMethods":6,"./StoreMethods":7,"./bindMethods":8,"./mixer":17,"./utils":18}],13:[function(a,b,c){c.ActionMethods=a("./ActionMethods"),c.ListenerMethods=a("./ListenerMethods"),c.PublisherMethods=a("./PublisherMethods"),c.StoreMethods=a("./StoreMethods"),c.createAction=a("./createAction"),c.createStore=a("./createStore"),c.connect=a("./connect"),c.connectFilter=a("./connectFilter"),c.ListenerMixin=a("./ListenerMixin"),c.listenTo=a("./listenTo"),c.listenToMany=a("./listenToMany");var d=a("./joins").staticJoinCreator;c.joinTrailing=c.all=d("last"),c.joinLeading=d("first"),c.joinStrict=d("strict"),c.joinConcat=d("all");var e=c.utils=a("./utils");c.EventEmitter=e.EventEmitter,c.Promise=e.Promise,c.createActions=function(a){var b={};for(var d in a)if(a.hasOwnProperty(d)){var f=a[d],g=e.isObject(f)?d:f;b[g]=c.createAction(f)}return b},c.setEventEmitter=function(a){c.EventEmitter=e.EventEmitter=a},c.setPromise=function(a){c.Promise=e.Promise=a},c.setPromiseFactory=function(a){e.createPromise=a},c.nextTick=function(a){e.nextTick=a},c.__keep=a("./Keep"),Function.prototype.bind||console.error("Function.prototype.bind not available. ES5 shim required. https://github.com/spoike/refluxjs#es5")},{"./ActionMethods":2,"./Keep":3,"./ListenerMethods":4,"./ListenerMixin":5,"./PublisherMethods":6,"./StoreMethods":7,"./connect":9,"./connectFilter":10,"./createAction":11,"./createStore":12,"./joins":14,"./listenTo":15,"./listenToMany":16,"./utils":18}],14:[function(a,b,c){function d(a,b,c){return function(){var d,e=c.subscriptions,f=e?e.indexOf(a):-1;for(i.throwIf(-1===f,"Tried to remove join already gone from subscriptions list!"),d=0;d<b.length;d++)b[d]();e.splice(f,1)}}function e(a){a.listenablesEmitted=new Array(a.numberOfListenables),a.args=new Array(a.numberOfListenables)}function f(a,b){return function(){var c=h.call(arguments);if(b.listenablesEmitted[a])switch(b.strategy){case"strict":throw new Error("Strict join failed because listener triggered twice.");case"last":b.args[a]=c;break;case"all":b.args[a].push(c)}else b.listenablesEmitted[a]=!0,b.args[a]="all"===b.strategy?[c]:c;g(b)}}function g(a){for(var b=0;b<a.numberOfListenables;b++)if(!a.listenablesEmitted[b])return;a.callback.apply(a.listener,a.args),e(a)}var h=Array.prototype.slice,i=a("./utils"),j=a("./createStore"),k={strict:"joinStrict",first:"joinLeading",last:"joinTrailing",all:"joinConcat"};c.staticJoinCreator=function(a){return function(){var b=h.call(arguments);return j({init:function(){this[k[a]].apply(this,b.concat("triggerAsync"))}})}},c.instanceJoinCreator=function(a){return function(){i.throwIf(arguments.length<2,"Cannot create a join with less than 2 listenables!");var b,c,g=h.call(arguments),j=g.pop(),k=g.length,l={numberOfListenables:k,callback:this[j]||j,listener:this,strategy:a},m=[];for(b=0;k>b;b++)i.throwIf(this.validateListening(g[b]));for(b=0;k>b;b++)m.push(g[b].listen(f(b,l),this));return e(l),c={listenable:g},c.stop=d(c,m,this),this.subscriptions=(this.subscriptions||[]).concat(c),c}}},{"./createStore":12,"./utils":18}],15:[function(a,b,c){var d=a("./ListenerMethods");b.exports=function(a,b,c){return{componentDidMount:function(){for(var e in d)if(this[e]!==d[e]){if(this[e])throw"Can't have other property '"+e+"' when using Reflux.listenTo!";this[e]=d[e]}this.listenTo(a,b,c)},componentWillUnmount:d.stopListeningToAll}}},{"./ListenerMethods":4}],16:[function(a,b,c){var d=a("./ListenerMethods");b.exports=function(a){return{componentDidMount:function(){for(var b in d)if(this[b]!==d[b]){if(this[b])throw"Can't have other property '"+b+"' when using Reflux.listenToMany!";this[b]=d[b]}this.listenToMany(a)},componentWillUnmount:d.stopListeningToAll}}},{"./ListenerMethods":4}],17:[function(a,b,c){var d=a("./utils");b.exports=function(a){var b={init:[],preEmit:[],shouldEmit:[]},c=function e(a){var c={};return a.mixins&&a.mixins.forEach(function(a){d.extend(c,e(a))}),d.extend(c,a),Object.keys(b).forEach(function(c){a.hasOwnProperty(c)&&b[c].push(a[c])}),c}(a);return b.init.length>1&&(c.init=function(){var a=arguments;b.init.forEach(function(b){b.apply(this,a)},this)}),b.preEmit.length>1&&(c.preEmit=function(){return b.preEmit.reduce(function(a,b){var c=b.apply(this,a);return void 0===c?a:[c]}.bind(this),arguments)}),b.shouldEmit.length>1&&(c.shouldEmit=function(){var a=arguments;return!b.shouldEmit.some(function(b){return!b.apply(this,a)},this)}),Object.keys(b).forEach(function(a){1===b[a].length&&(c[a]=b[a][0])}),c}},{"./utils":18}],18:[function(a,b,c){c.environment={};var d=c.isObject=function(a){var b=typeof a;return"function"===b||"object"===b&&!!a};c.extend=function(a){if(!d(a))return a;for(var b,c,e=1,f=arguments.length;f>e;e++){b=arguments[e];for(c in b)if(Object.getOwnPropertyDescriptor&&Object.defineProperty){var g=Object.getOwnPropertyDescriptor(b,c);Object.defineProperty(a,c,g)}else a[c]=b[c]}return a},c.isFunction=function(a){return"function"==typeof a},c.EventEmitter=a("eventemitter3"),c.nextTick=function(a){setTimeout(a,0)},c.capitalize=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},c.callbackName=function(a){return"on"+c.capitalize(a)},c.object=function(a,b){for(var c={},d=0;d<a.length;d++)c[a[d]]=b[d];return c};try{c.Promise=Promise,c.createPromise=function(a){return new c.Promise(a)}}catch(e){c.Promise=null,c.createPromise=function(){}}c.environment.hasPromises=!!c.Promise,c.isArguments=function(a){return"object"==typeof a&&"callee"in a&&"number"==typeof a.length},c.throwIf=function(a,b){if(a)throw Error(b||a)}},{eventemitter3:1}]},{},[13])(13)});
1
+ !function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Reflux=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function e(){}var f=Object.prototype.hasOwnProperty,g="function"!=typeof Object.create?"~":!1;e.prototype._events=void 0,e.prototype.eventNames=function(){var a,b=this._events,c=[];if(!b)return c;for(a in b)f.call(b,a)&&c.push(g?a.slice(1):a);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(b)):c},e.prototype.listeners=function(a,b){var c=g?g+a:a,d=this._events&&this._events[c];if(b)return!!d;if(!d)return[];if(d.fn)return[d.fn];for(var e=0,f=d.length,h=new Array(f);f>e;e++)h[e]=d[e].fn;return h},e.prototype.emit=function(a,b,c,d,e,f){var h=g?g+a:a;if(!this._events||!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if("function"==typeof k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,c),!0;case 4:return k.fn.call(k.context,b,c,d),!0;case 5:return k.fn.call(k.context,b,c,d,e),!0;case 6:return k.fn.call(k.context,b,c,d,e,f),!0}for(j=1,i=new Array(l-1);l>j;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;n>j;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,c);break;default:if(!i)for(m=1,i=new Array(l-1);l>m;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},e.prototype.on=function(a,b,c){var e=new d(b,c||this),f=g?g+a:a;return this._events||(this._events=g?{}:Object.create(null)),this._events[f]?this._events[f].fn?this._events[f]=[this._events[f],e]:this._events[f].push(e):this._events[f]=e,this},e.prototype.once=function(a,b,c){var e=new d(b,c||this,!0),f=g?g+a:a;return this._events||(this._events=g?{}:Object.create(null)),this._events[f]?this._events[f].fn?this._events[f]=[this._events[f],e]:this._events[f].push(e):this._events[f]=e,this},e.prototype.removeListener=function(a,b,c,d){var e=g?g+a:a;if(!this._events||!this._events[e])return this;var f=this._events[e],h=[];if(b)if(f.fn)(f.fn!==b||d&&!f.once||c&&f.context!==c)&&h.push(f);else for(var i=0,j=f.length;j>i;i++)(f[i].fn!==b||d&&!f[i].once||c&&f[i].context!==c)&&h.push(f[i]);return h.length?this._events[e]=1===h.length?h[0]:h:delete this._events[e],this},e.prototype.removeAllListeners=function(a){return this._events?(a?delete this._events[g?g+a:a]:this._events=g?{}:Object.create(null),this):this},e.prototype.off=e.prototype.removeListener,e.prototype.addListener=e.prototype.on,e.prototype.setMaxListeners=function(){return this},e.prefixed=g,"undefined"!=typeof b&&(b.exports=e)},{}],2:[function(a,b,c){"use strict";Object.defineProperty(c,"__esModule",{value:!0})},{}],3:[function(a,b,c){"use strict";function d(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!0;h=a}function e(a){h&&i.push(a)}function f(a){h&&j.push(a)}function g(){for(;i.length;)i.pop();for(;j.length;)j.pop()}Object.defineProperty(c,"__esModule",{value:!0});var h=!1,i=[],j=[];c.useKeep=d,c.addStore=e,c.addAction=f,c.createdStores=i,c.createdActions=j,c.reset=g},{}],4:[function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}Object.defineProperty(c,"__esModule",{value:!0}),c.joinStrict=c.joinConcat=c.joinLeading=c.joinTrailing=c.fetchInitialState=c.stopListeningToAll=c.stopListeningTo=c.listenTo=c.validateListening=c.listenToMany=c.hasListener=void 0;var e=a("./utils"),f=d(e),g=a("./joins"),h=function(a){for(var b,c=0,d={};c<(a.children||[]).length;++c)b=a.children[c],a[b]&&(d[b]=a[b]);return d},i=function j(a){var b={};for(var c in a){var d=a[c],e=h(d),g=j(e);b[c]=d;for(var i in g){var k=g[i];b[c+f.capitalize(i)]=k}}return b};c.hasListener=function(a){for(var b,c,d,e=0;e<(this.subscriptions||[]).length;++e)for(d=[].concat(this.subscriptions[e].listenable),b=0;b<d.length;b++)if(c=d[b],c===a||c.hasListener&&c.hasListener(a))return!0;return!1},c.listenToMany=function(a){var b=i(a);for(var c in b){var d=f.callbackName(c),e=this[d]?d:this[c]?c:void 0;e&&this.listenTo(b[c],e,this[d+"Default"]||this[e+"Default"]||e)}},c.validateListening=function(a){return a===this?"Listener is not able to listen to itself":f.isFunction(a.listen)?a.hasListener&&a.hasListener(this)?"Listener cannot listen to this listenable because of circular loop":void 0:a+" is missing a listen method"},c.listenTo=function(a,b,c){var d,e,g,h=this.subscriptions=this.subscriptions||[];return f.throwIf(this.validateListening(a)),this.fetchInitialState(a,c),d=a.listen(this[b]||b,this),e=function(){var a=h.indexOf(g);f.throwIf(-1===a,"Tried to remove listen already gone from subscriptions list!"),h.splice(a,1),d()},g={stop:e,listenable:a},h.push(g),g},c.stopListeningTo=function(a){for(var b,c=0,d=this.subscriptions||[];c<d.length;c++)if(b=d[c],b.listenable===a)return b.stop(),f.throwIf(-1!==d.indexOf(b),"Failed to remove listen from subscriptions list!"),!0;return!1},c.stopListeningToAll=function(){for(var a,b=this.subscriptions||[];a=b.length;)b[0].stop(),f.throwIf(b.length!==a-1,"Failed to remove listen from subscriptions list!")},c.fetchInitialState=function(a,b){b=b&&this[b]||b;var c=this;if(f.isFunction(b)&&f.isFunction(a.getInitialState)){var d=a.getInitialState();d&&f.isFunction(d.then)?d.then(function(){b.apply(c,arguments)}):b.call(this,d)}},c.joinTrailing=(0,g.instanceJoinCreator)("last"),c.joinLeading=(0,g.instanceJoinCreator)("first"),c.joinConcat=(0,g.instanceJoinCreator)("all"),c.joinStrict=(0,g.instanceJoinCreator)("strict")},{"./joins":11,"./utils":13}],5:[function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}Object.defineProperty(c,"__esModule",{value:!0}),c.deferWith=c.triggerAsync=c.trigger=c.listen=c.shouldEmit=c.preEmit=void 0;var e=a("./utils"),f=d(e);c.preEmit=function(){},c.shouldEmit=function(){return!0},c.listen=function(a,b){b=b||this;var c=function(c){e||a.apply(b,c)},d=this,e=!1;return this.emitter.addListener(this.eventLabel,c),function(){e=!0,d.emitter.removeListener(d.eventLabel,c)}},c.trigger=function(){var a=arguments,b=this.preEmit.apply(this,a);a=void 0===b?a:f.isArguments(b)?b:[].concat(b),this.shouldEmit.apply(this,a)&&this.emitter.emit(this.eventLabel,a)},c.triggerAsync=function(){var a=arguments,b=this;f.nextTick(function(){b.trigger.apply(b,a)})},c.deferWith=function(a){var b=this.trigger,c=this,d=function(){b.apply(c,arguments)};this.trigger=function(){a.apply(c,[d].concat([].splice.call(arguments,0)))}}},{"./utils":13}],6:[function(a,b,c){arguments[4][2][0].apply(c,arguments)},{dup:2}],7:[function(a,b,c){"use strict";function d(a,b){for(var c in b)if(Object.getOwnPropertyDescriptor&&Object.defineProperty){var d=Object.getOwnPropertyDescriptor(b,c);if(!d.value||"function"!=typeof d.value||!b.hasOwnProperty(c))continue;a[c]=b[c].bind(a)}else{var e=b[c];if("function"!=typeof e||!b.hasOwnProperty(c))continue;a[c]=e.bind(a)}return a}Object.defineProperty(c,"__esModule",{value:!0}),c.bindMethods=d},{}],8:[function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function e(a){a=a||{},g.isObject(a)||(a={actionName:a});for(var b in i)if(!n[b]&&k[b])throw new Error("Cannot override API method "+b+" in Reflux.ActionMethods. Use another method name or override it on Reflux.PublisherMethods instead.");for(var c in a)if(!n[c]&&k[c])throw new Error("Cannot override API method "+c+" in action creation. Use another method name or override it on Reflux.PublisherMethods instead.");a.children=a.children||[],a.asyncResult&&(a.children=a.children.concat(["completed","failed"]));for(var d=0,f={};d<a.children.length;d++){var h=a.children[d],j="string"==typeof h?h:h.actionName;f[j]=e(h)}var l=g.extend({eventLabel:"action",emitter:new g.EventEmitter,_isAction:!0},k,i,a),o=function p(){var a=!1;for(var b in p.childActions){a=!0;break}var c=!p.sync&&"undefined"!=typeof p.sync||a,d=c?"triggerAsync":"trigger";return p[d].apply(p,arguments)};return g.extend(o,f,l),m.addAction(o),o}Object.defineProperty(c,"__esModule",{value:!0}),c.createAction=e;var f=a("./utils"),g=d(f),h=a("./ActionMethods"),i=d(h),j=a("./PublisherMethods"),k=d(j),l=a("./Keep"),m=d(l),n={preEmit:1,shouldEmit:1}},{"./ActionMethods":2,"./Keep":3,"./PublisherMethods":5,"./utils":13}],9:[function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function e(a){function b(){var b,c=0;if(this.subscriptions=[],this.emitter=new g.EventEmitter,this.eventLabel="change",(0,k.bindMethods)(this,a),this.init&&g.isFunction(this.init)&&this.init(),this.listenables)for(b=[].concat(this.listenables);c<b.length;c++)this.listenToMany(b[c])}a=a||{};for(var c in m)if(!r[c]&&(o[c]||q[c]))throw new Error("Cannot override API method "+c+" in Reflux.StoreMethods. Use another method name or override it on Reflux.PublisherMethods / Reflux.ListenerMethods instead.");for(var d in a)if(!r[d]&&(o[d]||q[d]))throw new Error("Cannot override API method "+d+" in store creation. Use another method name or override it on Reflux.PublisherMethods / Reflux.ListenerMethods instead.");a=(0,j.mix)(a),g.extend(b.prototype,q,o,m,a);var e=new b;return i.addStore(e),e}Object.defineProperty(c,"__esModule",{value:!0}),c.createStore=e;var f=a("./utils"),g=d(f),h=a("./Keep"),i=d(h),j=a("./mixer"),k=a("./bindMethods"),l=a("./StoreMethods"),m=d(l),n=a("./PublisherMethods"),o=d(n),p=a("./ListenerMethods"),q=d(p),r={preEmit:1,shouldEmit:1}},{"./Keep":3,"./ListenerMethods":4,"./PublisherMethods":5,"./StoreMethods":6,"./bindMethods":7,"./mixer":12,"./utils":13}],10:[function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function e(a){r.EventEmitter=a}function f(a){r.nextTick=a}function g(a){a(this)}Object.defineProperty(c,"__esModule",{value:!0}),c.__keep=c.joinConcat=c.joinStrict=c.joinLeading=c.all=c.joinTrailing=c.use=c.nextTick=c.setEventEmitter=c.createActions=c.createStore=c.createAction=c.utils=c.StoreMethods=c.PublisherMethods=c.ListenerMethods=c.ActionMethods=c.version=void 0;var h=a("./ActionMethods"),i=d(h),j=a("./ListenerMethods"),k=d(j),l=a("./PublisherMethods"),m=d(l),n=a("./StoreMethods"),o=d(n),p=a("./joins"),q=a("./utils"),r=d(q),s=a("./createAction"),t=a("./createStore"),u=a("./Keep"),v=d(u),w={"reflux-core":"1.0.0"},x=(0,p.staticJoinCreator)("last"),y=x,z=(0,p.staticJoinCreator)("first"),A=(0,p.staticJoinCreator)("strict"),B=(0,p.staticJoinCreator)("all"),C=r,D=function(){var a=function(a,b){Object.keys(a).forEach(function(c){var d=a[c];b[c]=(0,s.createAction)(d)})};return function(b){var c={};return b instanceof Array?b.forEach(function(b){r.isObject(b)?a(b,c):c[b]=(0,s.createAction)(b)}):a(b,c),c}}();c.version=w,c.ActionMethods=i,c.ListenerMethods=k,c.PublisherMethods=m,c.StoreMethods=o,c.utils=C,c.createAction=s.createAction,c.createStore=t.createStore,c.createActions=D,c.setEventEmitter=e,c.nextTick=f,c.use=g,c.joinTrailing=x,c.all=y,c.joinLeading=z,c.joinStrict=A,c.joinConcat=B,c.__keep=v,Object.defineProperty(c,"default",{get:function(){return c}}),Function.prototype.bind||console.error("Function.prototype.bind not available. ES5 shim required. https://github.com/spoike/refluxjs#es5")},{"./ActionMethods":2,"./Keep":3,"./ListenerMethods":4,"./PublisherMethods":5,"./StoreMethods":6,"./createAction":8,"./createStore":9,"./joins":11,"./utils":13}],11:[function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function e(a){return function(){var b=n.call(arguments);return(0,k.createStore)({init:function(){this[o[a]].apply(this,b.concat("triggerAsync"))}})}}function f(a){return function(){m.throwIf(arguments.length<2,"Cannot create a join with less than 2 listenables!");var b,c,d=n.call(arguments),e=d.pop(),f=d.length,j={numberOfListenables:f,callback:this[e]||e,listener:this,strategy:a},k=[];for(b=0;f>b;b++)m.throwIf(this.validateListening(d[b]));for(b=0;f>b;b++)k.push(d[b].listen(i(b,j),this));return h(j),c={listenable:d},c.stop=g(c,k,this),this.subscriptions=(this.subscriptions||[]).concat(c),c}}function g(a,b,c){return function(){var d,e=c.subscriptions,f=e?e.indexOf(a):-1;for(m.throwIf(-1===f,"Tried to remove join already gone from subscriptions list!"),d=0;d<b.length;d++)b[d]();e.splice(f,1)}}function h(a){a.listenablesEmitted=new Array(a.numberOfListenables),a.args=new Array(a.numberOfListenables)}function i(a,b){return function(){var c=n.call(arguments);if(b.listenablesEmitted[a])switch(b.strategy){case"strict":throw new Error("Strict join failed because listener triggered twice.");case"last":b.args[a]=c;break;case"all":b.args[a].push(c)}else b.listenablesEmitted[a]=!0,b.args[a]="all"===b.strategy?[c]:c;j(b)}}function j(a){for(var b=0;b<a.numberOfListenables;b++)if(!a.listenablesEmitted[b])return;a.callback.apply(a.listener,a.args),h(a)}Object.defineProperty(c,"__esModule",{value:!0}),c.staticJoinCreator=e,c.instanceJoinCreator=f;var k=a("./createStore"),l=a("./utils"),m=d(l),n=Array.prototype.slice,o={strict:"joinStrict",first:"joinLeading",last:"joinTrailing",all:"joinConcat"}},{"./createStore":9,"./utils":13}],12:[function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function e(a){var b={init:[],preEmit:[],shouldEmit:[]},c=function d(a){var c={};return a.mixins&&a.mixins.forEach(function(a){g.extend(c,d(a))}),g.extend(c,a),Object.keys(b).forEach(function(c){a.hasOwnProperty(c)&&b[c].push(a[c])}),c}(a);return b.init.length>1&&(c.init=function(){var a=arguments;b.init.forEach(function(b){b.apply(this,a)},this)}),b.preEmit.length>1&&(c.preEmit=function(){return b.preEmit.reduce(function(a,b){var c=b.apply(this,a);return void 0===c?a:[c]}.bind(this),arguments)}),b.shouldEmit.length>1&&(c.shouldEmit=function(){var a=arguments;return!b.shouldEmit.some(function(b){return!b.apply(this,a)},this)}),Object.keys(b).forEach(function(a){1===b[a].length&&(c[a]=b[a][0])}),c}Object.defineProperty(c,"__esModule",{value:!0}),c.mix=e;var f=a("./utils"),g=d(f)},{"./utils":13}],13:[function(a,b,c){"use strict";function d(a){return a.charAt(0).toUpperCase()+a.slice(1)}function e(a,b){return b=b||"on",b+c.capitalize(a)}function f(a){var b="undefined"==typeof a?"undefined":m(a);return"function"===b||"object"===b&&!!a}function g(a){if(!f(a))return a;for(var b,c,d,e=1,g=arguments.length;g>e;e++){b=arguments[e],c=Object.keys(b);for(var h=0;h<c.length;h++)if(d=c[h],Object.getOwnPropertyDescriptor&&Object.defineProperty){var i=Object.getOwnPropertyDescriptor(b,d);Object.defineProperty(a,d,i)}else a[d]=b[d]}return a}function h(a){return"function"==typeof a}function i(a){setTimeout(a,0)}function j(a,b){for(var c={},d=0;d<a.length;d++)c[a[d]]=b[d];return c}function k(a){return"object"===("undefined"==typeof a?"undefined":m(a))&&"callee"in a&&"number"==typeof a.length}function l(a,b){if(a)throw Error(b||a)}Object.defineProperty(c,"__esModule",{value:!0});var m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};c.capitalize=d,c.callbackName=e,c.isObject=f,c.extend=g,c.isFunction=h,c.nextTick=i,c.object=j,c.isArguments=k,c.throwIf=l,c.EventEmitter=a("eventemitter3")},{eventemitter3:1}],14:[function(a,b,c){var d=a("reflux-core/lib/utils"),e=a("reflux-core/lib/ListenerMethods");b.exports=d.extend({componentWillUnmount:e.stopListeningToAll},e)},{"reflux-core/lib/ListenerMethods":4,"reflux-core/lib/utils":13}],15:[function(a,b,c){var d=a("reflux-core");if(d.defineReact=a("./defineReact"),d.utils.inherits=function(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)},"undefined"!=typeof React&&React)d.defineReact(React);else try{var e=a("react");d.defineReact(e)}catch(f){}},{"./defineReact":18,react:void 0,"reflux-core":10}],16:[function(a,b,c){var d=a("reflux-core/lib/ListenerMethods"),e=a("./ListenerMixin"),f=a("reflux-core/lib/utils");b.exports=function(a,b){return f.throwIf("undefined"==typeof b,"Reflux.connect() requires a key."),{getInitialState:function(){return f.isFunction(a.getInitialState)?f.object([b],[a.getInitialState()]):{}},componentDidMount:function(){var c=this;f.extend(c,d),this.listenTo(a,function(a){c.setState(f.object([b],[a]))})},componentWillUnmount:e.componentWillUnmount}}},{"./ListenerMixin":14,"reflux-core/lib/ListenerMethods":4,"reflux-core/lib/utils":13}],17:[function(a,b,c){var d=a("reflux-core/lib/ListenerMethods"),e=a("./ListenerMixin"),f=a("reflux-core/lib/utils");b.exports=function(a,b,c){return f.throwIf(f.isFunction(b),"Reflux.connectFilter() requires a key."),{getInitialState:function(){if(!f.isFunction(a.getInitialState))return{};var d=c.call(this,a.getInitialState());return"undefined"!=typeof d?f.object([b],[d]):{}},componentDidMount:function(){var e=this;f.extend(this,d),this.listenTo(a,function(a){var d=c.call(e,a);e.setState(f.object([b],[d]))})},componentWillUnmount:e.componentWillUnmount}}},{"./ListenerMixin":14,"reflux-core/lib/ListenerMethods":4,"reflux-core/lib/utils":13}],18:[function(a,b,c){function d(a,b,c){var j,k;try{g=a||g||React,k=c||g.Component}catch(l){return}if(g&&k&&(!i||c)){var m=function(a,b,c){k.call(this,a,b,c)};if(h.utils.inherits(m,k),j=m.prototype,j.storeKeys=null,j.componentWillMount=function(){if(this.store&&(Array.isArray(this.stores)?this.stores.unshift(this.store):this.stores=[this.store]),this.stores){this.__storeunsubscribes__=this.__storeunsubscribes__||[];for(var a=this.setState.bind(this),b=function(b){var c=e(this.storeKeys,b);c&&a(c)}.bind(this),c=0,d=this.stores.length;d>c;c++){var f=this.stores[c];if("function"==typeof f){var g=f.id;if(f.singleton||(f.singleton=new f,g&&(h.stores[g]=f.singleton)),this.stores[c]=f=f.singleton,f.id=g,g&&h.GlobalState[g]){for(var i in h.GlobalState[g])f.state[i]=h.GlobalState[g][i];h.GlobalState[g]=f.state}else g&&(h.GlobalState[g]=f.state)}h.serverMode||this.__storeunsubscribes__.push(f.listen(b));var j=e(this.storeKeys,f.state);j&&this.setState(j)}}this.__readytomap__=!0;var k=this.__delayedmaps__;if(k)for(var l=0,m=k.length;m>l;l++)k[l].func(k[l].state);this.__delayedmaps__=null},j.componentWillUnmount=function(){if(this.__storeunsubscribes__)for(var a=0,b=this.__storeunsubscribes__.length;b>a;a++)this.__storeunsubscribes__[a]();this.__readytomap__=!1},j.mapStoreToState=function(a,b){function c(a){var c=b.call(d,a);if(c){var e=!1;for(var f in c){e=!0;break}e&&d.setState(c)}}"function"==typeof a&&(a=a.singleton?a.singleton:h.initStore(a));var d=this;this.__storeunsubscribes__=this.__storeunsubscribes__||[],this.__storeunsubscribes__.push(a.listen(c)),this.__readytomap__?c(a.state):(this.__delayedmaps__=this.__delayedmaps__||[],this.__delayedmaps__.push({func:c,state:a.state}))},m.extend=function(a){return d(null,null,a)},c)return m;h.Component=m,g.PureComponent&&(h.PureComponent=m.extend(g.PureComponent));var n=function(){this.__store__=h.createStore(),this.state={};var a=this;for(var b in this.__store__)!function(b){Object.defineProperty(a,b,{get:function(){return a.__store__[b]},set:function(c){a.__store__[b]=c}})}(b)};j=n.prototype,Object.defineProperty(j,"listenables",{get:function(){return this.__listenables__},set:function(a){var b={};Array.isArray(a)?a.forEach(function(a){for(var c in a)b[c]=a[c]}):b=a,this.__listenables__=b,this.listenToMany(b)},enumerable:!0,configurable:!0}),j.setState=function(a){for(var b in a)this.state[b]=a[b];this.id&&(h.GlobalState[this.id]=this.state),this.trigger(a)},Object.defineProperty(n,"isES6Store",{get:function(){return!0},enumerable:!0,configurable:!0}),Object.defineProperty(n,"state",{get:function(){if(!this.singleton)throw new Error("Reflux.Store.state is inaccessible before the store has been initialized.");return this.singleton.state},enumerable:!0,configurable:!0}),h.Store=n,h.GlobalState=h.GlobalState||{},h.stores={},h.getGlobalState=function(){return f(h.GlobalState)},h.setGlobalState=function(a){for(var b in a)h.stores[b]?h.stores[b].setState(a[b]):h.GlobalState[b]=a[b]},h.initializeGlobalStore=h.initStore=function(a){var b=a.id;if(a.singleton)return a.singleton;if(!b)return a.singleton=new a,a.singleton;var c=a.singleton=new a;if(h.stores[b]=c,c.id=b,h.GlobalState[b]){for(var d in h.GlobalState[b])c.state[d]=h.GlobalState[b][d];h.GlobalState[b]=c.state}else h.GlobalState[b]=c.state;return c},i=!0}}function e(a,b){if(!a)return b;for(var c=!1,d={},e=0,f=a.length;f>e;e++){var g=a[e];b.hasOwnProperty(g)&&(c=!0,d[g]=b[g])}return c?d:!1}function f(a,b){if(null===a||"object"!=typeof a)return a;if(a.constructor!==Object&&a.constructor!==Array)return a;if(a.constructor===Date||a.constructor===RegExp||a.constructor===Function||a.constructor===String||a.constructor===Number||a.constructor===Boolean)return new a.constructor(a);b=b||new a.constructor;for(var c in a)b[c]="undefined"==typeof b[c]?f(a[c],null):b[c];return b}var g,h=a("reflux-core"),i=!1;b.exports=d},{"reflux-core":10}],19:[function(a,b,c){var d=a("reflux-core");d.serverMode="object"!=typeof window,d.connect=a("./connect"),d.connectFilter=a("./connectFilter"),d.ListenerMixin=a("./ListenerMixin"),d.listenTo=a("./listenTo"),d.listenToMany=a("./listenToMany"),a("./addES6"),b.exports=d},{"./ListenerMixin":14,"./addES6":15,"./connect":16,"./connectFilter":17,"./listenTo":20,"./listenToMany":21,"reflux-core":10}],20:[function(a,b,c){var d=a("reflux-core/lib/ListenerMethods");b.exports=function(a,b,c){return{componentDidMount:function(){for(var e in d)if(this[e]!==d[e]){if(this[e])throw"Can't have other property '"+e+"' when using Reflux.listenTo!";this[e]=d[e]}this.listenTo(a,b,c)},componentWillUnmount:d.stopListeningToAll}}},{"reflux-core/lib/ListenerMethods":4}],21:[function(a,b,c){var d=a("reflux-core/lib/ListenerMethods");b.exports=function(a){return{componentDidMount:function(){for(var b in d)if(this[b]!==d[b]){if(this[b])throw"Can't have other property '"+b+"' when using Reflux.listenToMany!";this[b]=d[b]}this.listenToMany(a)},componentWillUnmount:d.stopListeningToAll}}},{"reflux-core/lib/ListenerMethods":4}]},{},[19])(19)});
@@ -0,0 +1,167 @@
1
+ .ReactCrop {
2
+ position: relative;
3
+ display: inline-block;
4
+ cursor: crosshair;
5
+ overflow: hidden;
6
+ max-width: 100%;
7
+ background-color: #000; }
8
+ .ReactCrop:focus {
9
+ outline: none; }
10
+ .ReactCrop--disabled {
11
+ cursor: inherit; }
12
+ .ReactCrop__image {
13
+ /* autoprefixer: off */
14
+ display: block;
15
+ max-width: 100%;
16
+ max-height: -webkit-fill-available;
17
+ max-height: -moz-available;
18
+ max-height: stretch; }
19
+ .ReactCrop--crop-invisible .ReactCrop__image {
20
+ opacity: 0.5; }
21
+ .ReactCrop__crop-selection {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ transform: translate3d(0, 0, 0);
26
+ box-sizing: border-box;
27
+ cursor: move;
28
+ box-shadow: 0 0 0 9999em rgba(0, 0, 0, 0.5);
29
+ border: 1px solid;
30
+ border-image-source: url("data:image/gif;base64,R0lGODlhCgAKAJECAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEI5RDc5MTFDNkE2MTFFM0JCMDZEODI2QTI4MzJBOTIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEI5RDc5MTBDNkE2MTFFM0JCMDZEODI2QTI4MzJBOTIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTE4MDgzQzNDMjA5MzREQ0ZDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTE4MDgzQzNDMjA5MzREQ0ZDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEBQoAAgAsAAAAAAoACgAAAhWEERkn7W3ei7KlagMWF/dKgYeyGAUAIfkEBQoAAgAsAAAAAAoACgAAAg+UYwLJ7RnQm7QmsCyVKhUAIfkEBQoAAgAsAAAAAAoACgAAAhCUYgLJHdiinNSAVfOEKoUCACH5BAUKAAIALAAAAAAKAAoAAAIRVISAdusPo3RAzYtjaMIaUQAAIfkEBQoAAgAsAAAAAAoACgAAAg+MDiem7Q8bSLFaG5il6xQAIfkEBQoAAgAsAAAAAAoACgAAAg+UYRLJ7QnQm7SmsCyVKhUAIfkEBQoAAgAsAAAAAAoACgAAAhCUYBLJDdiinNSEVfOEKoECACH5BAUKAAIALAAAAAAKAAoAAAIRFISBdusPo3RBzYsjaMIaUQAAOw==");
31
+ border-image-slice: 1;
32
+ border-image-repeat: repeat; }
33
+ .ReactCrop--disabled .ReactCrop__crop-selection {
34
+ cursor: inherit; }
35
+ .ReactCrop__drag-handle {
36
+ position: absolute;
37
+ width: 9px;
38
+ height: 9px;
39
+ background-color: rgba(0, 0, 0, 0.2);
40
+ border: 1px solid rgba(255, 255, 255, 0.7);
41
+ box-sizing: border-box;
42
+ outline: 1px solid transparent; }
43
+ .ReactCrop .ord-nw {
44
+ top: 0;
45
+ left: 0;
46
+ margin-top: -5px;
47
+ margin-left: -5px;
48
+ cursor: nw-resize; }
49
+ .ReactCrop .ord-n {
50
+ top: 0;
51
+ left: 50%;
52
+ margin-top: -5px;
53
+ margin-left: -5px;
54
+ cursor: n-resize; }
55
+ .ReactCrop .ord-ne {
56
+ top: 0;
57
+ right: 0;
58
+ margin-top: -5px;
59
+ margin-right: -5px;
60
+ cursor: ne-resize; }
61
+ .ReactCrop .ord-e {
62
+ top: 50%;
63
+ right: 0;
64
+ margin-top: -5px;
65
+ margin-right: -5px;
66
+ cursor: e-resize; }
67
+ .ReactCrop .ord-se {
68
+ bottom: 0;
69
+ right: 0;
70
+ margin-bottom: -5px;
71
+ margin-right: -5px;
72
+ cursor: se-resize; }
73
+ .ReactCrop .ord-s {
74
+ bottom: 0;
75
+ left: 50%;
76
+ margin-bottom: -5px;
77
+ margin-left: -5px;
78
+ cursor: s-resize; }
79
+ .ReactCrop .ord-sw {
80
+ bottom: 0;
81
+ left: 0;
82
+ margin-bottom: -5px;
83
+ margin-left: -5px;
84
+ cursor: sw-resize; }
85
+ .ReactCrop .ord-w {
86
+ top: 50%;
87
+ left: 0;
88
+ margin-top: -5px;
89
+ margin-left: -5px;
90
+ cursor: w-resize; }
91
+ .ReactCrop__disabled .ReactCrop__drag-handle {
92
+ cursor: inherit; }
93
+ .ReactCrop__drag-bar {
94
+ position: absolute; }
95
+ .ReactCrop__drag-bar.ord-n {
96
+ top: 0;
97
+ left: 0;
98
+ width: 100%;
99
+ height: 6px;
100
+ margin-top: -3px; }
101
+ .ReactCrop__drag-bar.ord-e {
102
+ right: 0;
103
+ top: 0;
104
+ width: 6px;
105
+ height: 100%;
106
+ margin-right: -3px; }
107
+ .ReactCrop__drag-bar.ord-s {
108
+ bottom: 0;
109
+ left: 0;
110
+ width: 100%;
111
+ height: 6px;
112
+ margin-bottom: -3px; }
113
+ .ReactCrop__drag-bar.ord-w {
114
+ top: 0;
115
+ left: 0;
116
+ width: 6px;
117
+ height: 100%;
118
+ margin-left: -3px; }
119
+ .ReactCrop--new-crop .ReactCrop__drag-bar,
120
+ .ReactCrop--new-crop .ReactCrop__drag-handle,
121
+ .ReactCrop--fixed-aspect .ReactCrop__drag-bar {
122
+ display: none; }
123
+ .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,
124
+ .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,
125
+ .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,
126
+ .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w {
127
+ display: none; }
128
+ @media (max-width: 768px), (pointer: coarse) {
129
+ .ReactCrop__drag-handle {
130
+ width: 17px;
131
+ height: 17px; }
132
+ .ReactCrop .ord-nw {
133
+ margin-top: -9px;
134
+ margin-left: -9px; }
135
+ .ReactCrop .ord-n {
136
+ margin-top: -9px;
137
+ margin-left: -9px; }
138
+ .ReactCrop .ord-ne {
139
+ margin-top: -9px;
140
+ margin-right: -9px; }
141
+ .ReactCrop .ord-e {
142
+ margin-top: -9px;
143
+ margin-right: -9px; }
144
+ .ReactCrop .ord-se {
145
+ margin-bottom: -9px;
146
+ margin-right: -9px; }
147
+ .ReactCrop .ord-s {
148
+ margin-bottom: -9px;
149
+ margin-left: -9px; }
150
+ .ReactCrop .ord-sw {
151
+ margin-bottom: -9px;
152
+ margin-left: -9px; }
153
+ .ReactCrop .ord-w {
154
+ margin-top: -9px;
155
+ margin-left: -9px; }
156
+ .ReactCrop__drag-bar.ord-n {
157
+ height: 14px;
158
+ margin-top: -7px; }
159
+ .ReactCrop__drag-bar.ord-e {
160
+ width: 14px;
161
+ margin-right: -7px; }
162
+ .ReactCrop__drag-bar.ord-s {
163
+ height: 14px;
164
+ margin-bottom: -7px; }
165
+ .ReactCrop__drag-bar.ord-w {
166
+ width: 14px;
167
+ margin-left: -7px; } }
metadata CHANGED
@@ -1,185 +1,185 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pages_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.1
4
+ version: 3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-28 00:00:00.000000000 Z
11
+ date: 2019-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: mysql2
14
+ name: capybara
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.4.2
19
+ version: 3.10.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.4.2
26
+ version: 3.10.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: pg
28
+ name: factory_bot
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.18.3
33
+ version: 4.11.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.18.3
40
+ version: 4.11.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec-rails
42
+ name: mysql2
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 3.5.1
47
+ version: 0.4.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 3.5.1
54
+ version: 0.4.2
55
55
  - !ruby/object:Gem::Dependency
56
- name: factory_girl
56
+ name: pg
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 4.5.0
61
+ version: 0.18.3
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 4.5.0
68
+ version: 0.18.3
69
69
  - !ruby/object:Gem::Dependency
70
- name: shoulda-matchers
70
+ name: rails-controller-testing
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 3.1.0
75
+ version: 1.0.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 3.1.0
82
+ version: 1.0.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: rspec-activejob
84
+ name: rspec-rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 3.8.1
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 3.8.1
97
97
  - !ruby/object:Gem::Dependency
98
- name: timecop
98
+ name: rspec_junit_formatter
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 0.8.0
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 0.8.0
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rails
112
+ name: shoulda-matchers
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 4.2.0
118
- type: :runtime
117
+ version: '0'
118
+ type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 4.2.0
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: bcrypt-ruby
126
+ name: timecop
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
131
+ version: 0.8.0
132
+ type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: 0.8.0
139
139
  - !ruby/object:Gem::Dependency
140
- name: RedCloth
140
+ name: rails
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 4.3.2
145
+ version: '5.0'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 4.3.2
152
+ version: '5.0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: dis
154
+ name: actionpack-page_caching
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 1.0.0
159
+ version: 1.1.0
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 1.0.0
166
+ version: 1.1.0
167
167
  - !ruby/object:Gem::Dependency
168
- name: dynamic_image
168
+ name: active_model_serializers
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 2.0.0
173
+ version: 0.10.0
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 2.0.0
180
+ version: 0.10.0
181
181
  - !ruby/object:Gem::Dependency
182
- name: actionpack-page_caching
182
+ name: bcrypt-ruby
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="
@@ -193,119 +193,119 @@ dependencies:
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
- name: active_model_serializers
196
+ name: country_select
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - "~>"
199
+ - - ">="
200
200
  - !ruby/object:Gem::Version
201
- version: 0.9.0
201
+ version: '0'
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - "~>"
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
- version: 0.9.0
208
+ version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
- name: rails-i18n
210
+ name: dis
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 4.0.0
215
+ version: 1.1.2
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 4.0.0
222
+ version: 1.1.2
223
223
  - !ruby/object:Gem::Dependency
224
- name: sass-rails
224
+ name: dynamic_image
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - "~>"
228
228
  - !ruby/object:Gem::Version
229
- version: '5.0'
229
+ version: '2.0'
230
230
  type: :runtime
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
- version: '5.0'
236
+ version: '2.0'
237
237
  - !ruby/object:Gem::Dependency
238
- name: uglifier
238
+ name: RedCloth
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - ">="
241
+ - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: 1.3.0
243
+ version: 4.3.2
244
244
  type: :runtime
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - ">="
248
+ - - "~>"
249
249
  - !ruby/object:Gem::Version
250
- version: 1.3.0
250
+ version: 4.3.2
251
251
  - !ruby/object:Gem::Dependency
252
- name: coffee-rails
252
+ name: will_paginate
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: 4.1.0
257
+ version: 3.1.0
258
258
  type: :runtime
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: 4.1.0
264
+ version: 3.1.0
265
265
  - !ruby/object:Gem::Dependency
266
- name: jquery-rails
266
+ name: rails-i18n
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - ">="
269
+ - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: '0'
271
+ version: 5.0.0
272
272
  type: :runtime
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - ">="
276
+ - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: '0'
278
+ version: 5.0.0
279
279
  - !ruby/object:Gem::Dependency
280
- name: jbuilder
280
+ name: coffee-rails
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - "~>"
284
284
  - !ruby/object:Gem::Version
285
- version: '2.0'
285
+ version: '4.2'
286
286
  type: :runtime
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - "~>"
291
291
  - !ruby/object:Gem::Version
292
- version: '2.0'
292
+ version: '4.2'
293
293
  - !ruby/object:Gem::Dependency
294
- name: jquery-ui-rails
294
+ name: jbuilder
295
295
  requirement: !ruby/object:Gem::Requirement
296
296
  requirements:
297
297
  - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: 5.0.0
299
+ version: '2.5'
300
300
  type: :runtime
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
- version: 5.0.0
306
+ version: '2.5'
307
307
  - !ruby/object:Gem::Dependency
308
- name: jcrop-rails-v2
308
+ name: jquery-rails
309
309
  requirement: !ruby/object:Gem::Requirement
310
310
  requirements:
311
311
  - - ">="
@@ -319,148 +319,148 @@ dependencies:
319
319
  - !ruby/object:Gem::Version
320
320
  version: '0'
321
321
  - !ruby/object:Gem::Dependency
322
- name: underscore-rails
322
+ name: sass-rails
323
323
  requirement: !ruby/object:Gem::Requirement
324
324
  requirements:
325
- - - ">="
325
+ - - "~>"
326
326
  - !ruby/object:Gem::Version
327
- version: '0'
327
+ version: '5.0'
328
328
  type: :runtime
329
329
  prerelease: false
330
330
  version_requirements: !ruby/object:Gem::Requirement
331
331
  requirements:
332
- - - ">="
332
+ - - "~>"
333
333
  - !ruby/object:Gem::Version
334
- version: '0'
334
+ version: '5.0'
335
335
  - !ruby/object:Gem::Dependency
336
- name: font-awesome-rails
336
+ name: uglifier
337
337
  requirement: !ruby/object:Gem::Requirement
338
338
  requirements:
339
- - - "~>"
339
+ - - ">="
340
340
  - !ruby/object:Gem::Version
341
- version: 4.5.0
341
+ version: 1.3.0
342
342
  type: :runtime
343
343
  prerelease: false
344
344
  version_requirements: !ruby/object:Gem::Requirement
345
345
  requirements:
346
- - - "~>"
346
+ - - ">="
347
347
  - !ruby/object:Gem::Version
348
- version: 4.5.0
348
+ version: 1.3.0
349
349
  - !ruby/object:Gem::Dependency
350
- name: react-rails
350
+ name: font-awesome-rails
351
351
  requirement: !ruby/object:Gem::Requirement
352
352
  requirements:
353
353
  - - "~>"
354
354
  - !ruby/object:Gem::Version
355
- version: 1.6.2
355
+ version: '4.7'
356
356
  type: :runtime
357
357
  prerelease: false
358
358
  version_requirements: !ruby/object:Gem::Requirement
359
359
  requirements:
360
360
  - - "~>"
361
361
  - !ruby/object:Gem::Version
362
- version: 1.6.2
362
+ version: '4.7'
363
363
  - !ruby/object:Gem::Dependency
364
- name: acts_as_list
364
+ name: jquery-ui-rails
365
365
  requirement: !ruby/object:Gem::Requirement
366
366
  requirements:
367
- - - '='
367
+ - - "~>"
368
368
  - !ruby/object:Gem::Version
369
- version: 0.7.2
369
+ version: 5.0.0
370
370
  type: :runtime
371
371
  prerelease: false
372
372
  version_requirements: !ruby/object:Gem::Requirement
373
373
  requirements:
374
- - - '='
374
+ - - "~>"
375
375
  - !ruby/object:Gem::Version
376
- version: 0.7.2
376
+ version: 5.0.0
377
377
  - !ruby/object:Gem::Dependency
378
- name: localizable_model
378
+ name: react-rails
379
379
  requirement: !ruby/object:Gem::Requirement
380
380
  requirements:
381
- - - ">="
381
+ - - "~>"
382
382
  - !ruby/object:Gem::Version
383
- version: '0'
383
+ version: '2.4'
384
384
  type: :runtime
385
385
  prerelease: false
386
386
  version_requirements: !ruby/object:Gem::Requirement
387
387
  requirements:
388
- - - ">="
388
+ - - "~>"
389
389
  - !ruby/object:Gem::Version
390
- version: '0'
390
+ version: '2.4'
391
391
  - !ruby/object:Gem::Dependency
392
- name: recaptcha
392
+ name: acts_as_list
393
393
  requirement: !ruby/object:Gem::Requirement
394
394
  requirements:
395
395
  - - "~>"
396
396
  - !ruby/object:Gem::Version
397
- version: 0.6.0
397
+ version: '0.9'
398
398
  type: :runtime
399
399
  prerelease: false
400
400
  version_requirements: !ruby/object:Gem::Requirement
401
401
  requirements:
402
402
  - - "~>"
403
403
  - !ruby/object:Gem::Version
404
- version: 0.6.0
404
+ version: '0.9'
405
405
  - !ruby/object:Gem::Dependency
406
- name: delayed_job
406
+ name: localizable_model
407
407
  requirement: !ruby/object:Gem::Requirement
408
408
  requirements:
409
- - - "~>"
409
+ - - ">="
410
410
  - !ruby/object:Gem::Version
411
- version: 4.1.0
411
+ version: 0.5.3
412
412
  type: :runtime
413
413
  prerelease: false
414
414
  version_requirements: !ruby/object:Gem::Requirement
415
415
  requirements:
416
- - - "~>"
416
+ - - ">="
417
417
  - !ruby/object:Gem::Version
418
- version: 4.1.0
418
+ version: 0.5.3
419
419
  - !ruby/object:Gem::Dependency
420
- name: delayed_job_active_record
420
+ name: daemons
421
421
  requirement: !ruby/object:Gem::Requirement
422
422
  requirements:
423
423
  - - "~>"
424
424
  - !ruby/object:Gem::Version
425
- version: 4.1.0
425
+ version: 1.2.0
426
426
  type: :runtime
427
427
  prerelease: false
428
428
  version_requirements: !ruby/object:Gem::Requirement
429
429
  requirements:
430
430
  - - "~>"
431
431
  - !ruby/object:Gem::Version
432
- version: 4.1.0
432
+ version: 1.2.0
433
433
  - !ruby/object:Gem::Dependency
434
- name: daemons
434
+ name: delayed_job
435
435
  requirement: !ruby/object:Gem::Requirement
436
436
  requirements:
437
437
  - - "~>"
438
438
  - !ruby/object:Gem::Version
439
- version: 1.2.0
439
+ version: 4.1.2
440
440
  type: :runtime
441
441
  prerelease: false
442
442
  version_requirements: !ruby/object:Gem::Requirement
443
443
  requirements:
444
444
  - - "~>"
445
445
  - !ruby/object:Gem::Version
446
- version: 1.2.0
446
+ version: 4.1.2
447
447
  - !ruby/object:Gem::Dependency
448
- name: thinking-sphinx
448
+ name: delayed_job_active_record
449
449
  requirement: !ruby/object:Gem::Requirement
450
450
  requirements:
451
451
  - - "~>"
452
452
  - !ruby/object:Gem::Version
453
- version: 3.1.1
453
+ version: 4.1.1
454
454
  type: :runtime
455
455
  prerelease: false
456
456
  version_requirements: !ruby/object:Gem::Requirement
457
457
  requirements:
458
458
  - - "~>"
459
459
  - !ruby/object:Gem::Version
460
- version: 3.1.1
460
+ version: 4.1.1
461
461
  description: Pages Core
462
462
  email:
463
- - inge@kord.no
463
+ - inge@anyone.no
464
464
  executables: []
465
465
  extensions: []
466
466
  extra_rdoc_files: []
@@ -479,29 +479,47 @@ files:
479
479
  - app/assets/images/pages/admin/warning-icon.gif
480
480
  - app/assets/images/pages/favicon.gif
481
481
  - app/assets/images/pages/feed-icon-14x14.png
482
- - app/assets/javascripts/pages/admin.es6.jsx
483
- - app/assets/javascripts/pages/admin/components.es6.jsx
484
- - app/assets/javascripts/pages/admin/components/page_tree.es6.jsx
485
- - app/assets/javascripts/pages/admin/components/page_tree_actions.es6.jsx
486
- - app/assets/javascripts/pages/admin/components/page_tree_node.es6.jsx
487
- - app/assets/javascripts/pages/admin/components/page_tree_store.es6.jsx
488
- - app/assets/javascripts/pages/admin/features/content_tabs.es6.jsx
489
- - app/assets/javascripts/pages/admin/features/edit_page.es6.jsx
490
- - app/assets/javascripts/pages/admin/features/editable_image.es6.jsx
491
- - app/assets/javascripts/pages/admin/features/modal.es6.jsx
492
- - app/assets/javascripts/pages/admin/features/page_images.es6.jsx
493
- - app/assets/javascripts/pages/admin/features/rich_text.es6.jsx
494
- - app/assets/javascripts/pages/admin/features/tag_editor.es6.jsx
495
- - app/assets/javascripts/pages/admin/lib/ajax_extensions.es6.jsx
496
- - app/assets/javascripts/pages/admin/lib/center_on_screen.es6.jsx
497
- - app/assets/javascripts/pages/admin/lib/tree.es6.jsx
498
- - app/assets/javascripts/pages/login_form.es6.jsx
482
+ - app/assets/javascripts/pages/admin.jsx
483
+ - app/assets/javascripts/pages/admin/components.jsx
484
+ - app/assets/javascripts/pages/admin/components/attachment.jsx
485
+ - app/assets/javascripts/pages/admin/components/attachment_editor.jsx
486
+ - app/assets/javascripts/pages/admin/components/attachments.jsx
487
+ - app/assets/javascripts/pages/admin/components/date_range_select.jsx
488
+ - app/assets/javascripts/pages/admin/components/drag_uploader.jsx
489
+ - app/assets/javascripts/pages/admin/components/editable_image.jsx
490
+ - app/assets/javascripts/pages/admin/components/file_upload_button.jsx
491
+ - app/assets/javascripts/pages/admin/components/focal_point.jsx
492
+ - app/assets/javascripts/pages/admin/components/grid_image.jsx
493
+ - app/assets/javascripts/pages/admin/components/image_editor.jsx
494
+ - app/assets/javascripts/pages/admin/components/image_grid.jsx
495
+ - app/assets/javascripts/pages/admin/components/image_uploader.jsx
496
+ - app/assets/javascripts/pages/admin/components/modal.jsx
497
+ - app/assets/javascripts/pages/admin/components/modal_store.jsx
498
+ - app/assets/javascripts/pages/admin/components/page_dates.jsx
499
+ - app/assets/javascripts/pages/admin/components/page_files.jsx
500
+ - app/assets/javascripts/pages/admin/components/page_images.jsx
501
+ - app/assets/javascripts/pages/admin/components/page_tree.jsx
502
+ - app/assets/javascripts/pages/admin/components/page_tree_node.jsx
503
+ - app/assets/javascripts/pages/admin/components/page_tree_store.jsx
504
+ - app/assets/javascripts/pages/admin/components/rich_text_area.jsx
505
+ - app/assets/javascripts/pages/admin/components/rich_text_toolbar.jsx
506
+ - app/assets/javascripts/pages/admin/components/toast.jsx
507
+ - app/assets/javascripts/pages/admin/components/toast_store.jsx
508
+ - app/assets/javascripts/pages/admin/features/content_tabs.jsx
509
+ - app/assets/javascripts/pages/admin/features/edit_page.jsx
510
+ - app/assets/javascripts/pages/admin/features/rich_text.jsx
511
+ - app/assets/javascripts/pages/admin/features/tag_editor.jsx
512
+ - app/assets/javascripts/pages/admin/lib/tree.jsx
513
+ - app/assets/javascripts/pages/login_form.jsx
499
514
  - app/assets/stylesheets/pages/admin.scss
515
+ - app/assets/stylesheets/pages/admin/components/archive.scss
516
+ - app/assets/stylesheets/pages/admin/components/attachments.scss
500
517
  - app/assets/stylesheets/pages/admin/components/buttons.scss
501
- - app/assets/stylesheets/pages/admin/components/editable_image.scss
502
518
  - app/assets/stylesheets/pages/admin/components/forms.scss
503
519
  - app/assets/stylesheets/pages/admin/components/header.scss
504
- - app/assets/stylesheets/pages/admin/components/images.scss
520
+ - app/assets/stylesheets/pages/admin/components/image_editor.scss
521
+ - app/assets/stylesheets/pages/admin/components/image_grid.scss
522
+ - app/assets/stylesheets/pages/admin/components/image_uploader.scss
505
523
  - app/assets/stylesheets/pages/admin/components/layout.scss
506
524
  - app/assets/stylesheets/pages/admin/components/links.scss
507
525
  - app/assets/stylesheets/pages/admin/components/list_table.scss
@@ -512,43 +530,42 @@ files:
512
530
  - app/assets/stylesheets/pages/admin/components/sidebar.scss
513
531
  - app/assets/stylesheets/pages/admin/components/tag_editor.scss
514
532
  - app/assets/stylesheets/pages/admin/components/textarea.scss
533
+ - app/assets/stylesheets/pages/admin/components/toast.scss
534
+ - app/assets/stylesheets/pages/admin/components/toolbar.scss
515
535
  - app/assets/stylesheets/pages/admin/controllers/pages.scss
516
536
  - app/assets/stylesheets/pages/admin/controllers/users.scss
517
537
  - app/assets/stylesheets/pages/admin/mixins/breakpoints.scss
518
538
  - app/assets/stylesheets/pages/admin/mixins/clearfix.scss
519
539
  - app/assets/stylesheets/pages/admin/mixins/gradients.scss
520
- - app/assets/stylesheets/pages/admin/print.scss
521
540
  - app/assets/stylesheets/pages/admin/vars.scss
522
541
  - app/assets/stylesheets/pages/errors.css
523
542
  - app/controller_dummies/admin/admin_controller.rb
524
543
  - app/controller_dummies/application_controller.rb
544
+ - app/controller_dummies/attachments_controller.rb
525
545
  - app/controller_dummies/frontend_controller.rb
526
546
  - app/controller_dummies/images_controller.rb
527
547
  - app/controller_dummies/page_files_controller.rb
528
548
  - app/controller_dummies/pages_controller.rb
529
549
  - app/controller_dummies/sitemaps_controller.rb
550
+ - app/controllers/admin/attachments_controller.rb
530
551
  - app/controllers/admin/categories_controller.rb
531
552
  - app/controllers/admin/images_controller.rb
532
553
  - app/controllers/admin/invites_controller.rb
533
- - app/controllers/admin/page_comments_controller.rb
534
- - app/controllers/admin/page_files_controller.rb
535
- - app/controllers/admin/page_images_controller.rb
536
554
  - app/controllers/admin/pages_controller.rb
537
555
  - app/controllers/admin/password_resets_controller.rb
538
556
  - app/controllers/admin/users_controller.rb
539
- - app/controllers/concerns/pages_core/add_comments_controller.rb
540
557
  - app/controllers/concerns/pages_core/admin/news_page_controller.rb
541
558
  - app/controllers/concerns/pages_core/authentication.rb
542
559
  - app/controllers/concerns/pages_core/domain_based_cache.rb
543
- - app/controllers/concerns/pages_core/exception_handler.rb
560
+ - app/controllers/concerns/pages_core/error_renderer.rb
544
561
  - app/controllers/concerns/pages_core/policies_helper.rb
545
562
  - app/controllers/concerns/pages_core/preview_pages_controller.rb
546
563
  - app/controllers/concerns/pages_core/process_titler.rb
547
564
  - app/controllers/concerns/pages_core/rss_controller.rb
548
- - app/controllers/concerns/pages_core/search_pages_controller.rb
549
565
  - app/controllers/errors_controller.rb
550
566
  - app/controllers/pages_core/admin_controller.rb
551
- - app/controllers/pages_core/application_controller.rb
567
+ - app/controllers/pages_core/attachments_controller.rb
568
+ - app/controllers/pages_core/base_controller.rb
552
569
  - app/controllers/pages_core/frontend/page_files_controller.rb
553
570
  - app/controllers/pages_core/frontend/pages_controller.rb
554
571
  - app/controllers/pages_core/frontend_controller.rb
@@ -556,40 +573,40 @@ files:
556
573
  - app/controllers/pages_core/sitemaps_controller.rb
557
574
  - app/controllers/sessions_controller.rb
558
575
  - app/formatters/pages_core/html_formatter.rb
576
+ - app/formatters/pages_core/link_renderer.rb
559
577
  - app/helpers/admin/admin_helper.rb
560
578
  - app/helpers/admin/menu_helper.rb
561
579
  - app/helpers/admin/pages_helper.rb
562
580
  - app/helpers/application_helper.rb
563
581
  - app/helpers/frontend_helper.rb
564
582
  - app/helpers/pages_core/admin/admin_helper.rb
583
+ - app/helpers/pages_core/admin/form_builder.rb
565
584
  - app/helpers/pages_core/admin/labelled_field_helper.rb
566
585
  - app/helpers/pages_core/admin/tag_editor_helper.rb
567
586
  - app/helpers/pages_core/application_helper.rb
587
+ - app/helpers/pages_core/attachments_helper.rb
568
588
  - app/helpers/pages_core/form_builder.rb
569
589
  - app/helpers/pages_core/frontend_helper.rb
570
590
  - app/helpers/pages_core/head_tags_helper.rb
571
591
  - app/helpers/pages_core/images_helper.rb
572
- - app/helpers/pages_core/login_helper.rb
573
592
  - app/helpers/pages_core/meta_tags_helper.rb
574
593
  - app/helpers/pages_core/open_graph_tags_helper.rb
575
594
  - app/helpers/pages_core/page_path_helper.rb
576
- - app/indices/page_file_index.rb
577
- - app/indices/page_index.rb
578
- - app/indices/user_index.rb
579
595
  - app/jobs/pages_core/autopublish_job.rb
580
596
  - app/jobs/pages_core/sweep_cache_job.rb
581
597
  - app/mailers/admin_mailer.rb
598
+ - app/models/attachment.rb
582
599
  - app/models/autopublisher.rb
583
600
  - app/models/category.rb
584
601
  - app/models/concerns/pages_core/has_roles.rb
585
602
  - app/models/concerns/pages_core/humanizable_param.rb
603
+ - app/models/concerns/pages_core/page_model/attachments.rb
586
604
  - app/models/concerns/pages_core/page_model/autopublishable.rb
587
- - app/models/concerns/pages_core/page_model/commentable.rb
605
+ - app/models/concerns/pages_core/page_model/dated_page.rb
588
606
  - app/models/concerns/pages_core/page_model/images.rb
589
607
  - app/models/concerns/pages_core/page_model/localizable.rb
590
608
  - app/models/concerns/pages_core/page_model/pathable.rb
591
609
  - app/models/concerns/pages_core/page_model/redirectable.rb
592
- - app/models/concerns/pages_core/page_model/searchable.rb
593
610
  - app/models/concerns/pages_core/page_model/sortable.rb
594
611
  - app/models/concerns/pages_core/page_model/status.rb
595
612
  - app/models/concerns/pages_core/page_model/templateable.rb
@@ -602,7 +619,7 @@ files:
602
619
  - app/models/page.rb
603
620
  - app/models/page_builder.rb
604
621
  - app/models/page_category.rb
605
- - app/models/page_comment.rb
622
+ - app/models/page_exporter.rb
606
623
  - app/models/page_file.rb
607
624
  - app/models/page_image.rb
608
625
  - app/models/page_path.rb
@@ -617,19 +634,27 @@ files:
617
634
  - app/policies/page_policy.rb
618
635
  - app/policies/policy.rb
619
636
  - app/policies/user_policy.rb
637
+ - app/serializers/admin/attachment_serializer.rb
620
638
  - app/serializers/admin/image_serializer.rb
639
+ - app/serializers/admin/page_file_serializer.rb
621
640
  - app/serializers/admin/page_image_serializer.rb
641
+ - app/serializers/page_export_serializer.rb
642
+ - app/serializers/page_file_export_serializer.rb
643
+ - app/serializers/page_image_export_serializer.rb
622
644
  - app/serializers/page_image_serializer.rb
623
645
  - app/serializers/page_serializer.rb
624
- - app/serializers/page_tree_serializer.rb
646
+ - app/services/pages_core/create_user_service.rb
647
+ - app/services/pages_core/invite_service.rb
648
+ - app/views/admin/images/show.json.jbuilder
625
649
  - app/views/admin/invites/new.html.erb
626
650
  - app/views/admin/invites/show.html.erb
627
- - app/views/admin/pages/_edit_comments.html.erb
628
651
  - app/views/admin/pages/_edit_content.html.erb
652
+ - app/views/admin/pages/_edit_files.html.erb
629
653
  - app/views/admin/pages/_edit_images.html.erb
630
654
  - app/views/admin/pages/_edit_metadata.html.erb
631
655
  - app/views/admin/pages/_edit_options.html.erb
632
- - app/views/admin/pages/_pagelisting.html.erb
656
+ - app/views/admin/pages/_list_item.html.erb
657
+ - app/views/admin/pages/deleted.html.erb
633
658
  - app/views/admin/pages/edit.html.erb
634
659
  - app/views/admin/pages/index.html.erb
635
660
  - app/views/admin/pages/new.html.erb
@@ -637,7 +662,6 @@ files:
637
662
  - app/views/admin/password_resets/show.html.erb
638
663
  - app/views/admin/users/_access_control.html.erb
639
664
  - app/views/admin/users/_list.html.erb
640
- - app/views/admin/users/_login_form.html.erb
641
665
  - app/views/admin/users/deactivated.html.erb
642
666
  - app/views/admin/users/edit.html.erb
643
667
  - app/views/admin/users/index.html.erb
@@ -645,10 +669,10 @@ files:
645
669
  - app/views/admin/users/new.html.erb
646
670
  - app/views/admin/users/new_password.html.erb
647
671
  - app/views/admin/users/show.html.erb
648
- - app/views/admin_mailer/comment_notification.text.erb
649
672
  - app/views/admin_mailer/error_report.html.erb
650
673
  - app/views/admin_mailer/invite.text.erb
651
674
  - app/views/admin_mailer/password_reset.text.erb
675
+ - app/views/errors/401.html.erb
652
676
  - app/views/errors/403.html.erb
653
677
  - app/views/errors/404.html.erb
654
678
  - app/views/errors/405.html.erb
@@ -691,22 +715,26 @@ files:
691
715
  - db/migrate/20151204151000_remove_page_content_order.rb
692
716
  - db/migrate/20160330220900_rename_pages_categories.rb
693
717
  - db/migrate/20160405202700_change_localization_limit.rb
718
+ - db/migrate/20170716040500_remove_page_comments.rb
719
+ - db/migrate/20170716213400_remove_sessions.rb
720
+ - db/migrate/20180207134000_add_dates_to_pages.rb
721
+ - db/migrate/20190211154800_create_attachments.rb
694
722
  - lib/pages_core.rb
695
723
  - lib/pages_core/admin_menu_item.rb
696
724
  - lib/pages_core/archive_finder.rb
725
+ - lib/pages_core/attachment_embedder.rb
697
726
  - lib/pages_core/cache_sweeper.rb
698
727
  - lib/pages_core/configuration.rb
699
728
  - lib/pages_core/configuration/base.rb
700
729
  - lib/pages_core/configuration/pages.rb
730
+ - lib/pages_core/digest_verifier.rb
701
731
  - lib/pages_core/engine.rb
702
732
  - lib/pages_core/extensions.rb
703
- - lib/pages_core/extensions/hash_extensions.rb
704
733
  - lib/pages_core/extensions/string_extensions.rb
705
- - lib/pages_core/file_embedder.rb
706
734
  - lib/pages_core/page_path_constraint.rb
707
735
  - lib/pages_core/pages_plugin.rb
708
- - lib/pages_core/paginates.rb
709
736
  - lib/pages_core/plugin.rb
737
+ - lib/pages_core/pub_sub.rb
710
738
  - lib/pages_core/templates.rb
711
739
  - lib/pages_core/templates/block_configuration.rb
712
740
  - lib/pages_core/templates/configuration.rb
@@ -716,11 +744,11 @@ files:
716
744
  - lib/pages_core/templates/template_configuration.rb
717
745
  - lib/pages_core/version.rb
718
746
  - lib/rails/generators/pages_core/frontend/frontend_generator.rb
719
- - lib/rails/generators/pages_core/frontend/templates/application.css.scss.erb
720
747
  - lib/rails/generators/pages_core/frontend/templates/application.js.erb
721
- - lib/rails/generators/pages_core/frontend/templates/base.css.scss.erb
722
- - lib/rails/generators/pages_core/frontend/templates/breakpoints.css.scss.erb
723
- - lib/rails/generators/pages_core/frontend/templates/hidpi.css.scss.erb
748
+ - lib/rails/generators/pages_core/frontend/templates/application.scss.erb
749
+ - lib/rails/generators/pages_core/frontend/templates/base.scss.erb
750
+ - lib/rails/generators/pages_core/frontend/templates/breakpoints.scss.erb
751
+ - lib/rails/generators/pages_core/frontend/templates/clearfix.scss.erb
724
752
  - lib/rails/generators/pages_core/frontend/templates/layout.html.erb
725
753
  - lib/rails/generators/pages_core/frontend/templates/normalize.css.erb
726
754
  - lib/rails/generators/pages_core/install/install_generator.rb
@@ -737,21 +765,19 @@ files:
737
765
  - lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb
738
766
  - lib/rails/generators/pages_core/install/templates/pages_controller.rb
739
767
  - lib/rails/generators/pages_core/install/templates/pages_initializer.rb
740
- - lib/rails/generators/pages_core/install/templates/thinking_sphinx.yml
741
768
  - lib/rails/generators/pages_core/rspec/rspec_generator.rb
742
769
  - lib/rails/generators/pages_core/rspec/templates/factories.rb
743
770
  - lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb
744
771
  - lib/rails/generators/pages_core/rspec/templates/spec_helper.rb
745
- - lib/tasks/db.rake
746
772
  - lib/tasks/pages.rake
747
- - lib/tasks/pages/assets.rake
748
773
  - lib/tasks/pages/cache.rake
774
+ - lib/tasks/pages/export.rake
749
775
  - lib/tasks/pages/page_paths.rake
750
776
  - lib/tasks/pages/update.rake
751
777
  - template.rb
752
- - vendor/assets/javascripts/jquery.dimscreen.js
753
- - vendor/assets/javascripts/jquery.fieldselection.js
778
+ - vendor/assets/javascripts/ReactCrop.min.js
754
779
  - vendor/assets/javascripts/reflux.min.js
780
+ - vendor/assets/stylesheets/ReactCrop.css
755
781
  homepage: ''
756
782
  licenses: []
757
783
  metadata: {}
@@ -763,15 +789,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
763
789
  requirements:
764
790
  - - ">="
765
791
  - !ruby/object:Gem::Version
766
- version: 1.9.2
792
+ version: 2.1.0
767
793
  required_rubygems_version: !ruby/object:Gem::Requirement
768
794
  requirements:
769
795
  - - ">="
770
796
  - !ruby/object:Gem::Version
771
797
  version: '0'
772
798
  requirements: []
773
- rubyforge_project: "."
774
- rubygems_version: 2.5.1
799
+ rubygems_version: 3.0.1
775
800
  signing_key:
776
801
  specification_version: 4
777
802
  summary: Pages Core