pages_core 3.5.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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