pages_core 3.4.3 → 3.7.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 (375) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +74 -15
  3. data/Rakefile +2 -0
  4. data/app/assets/javascripts/pages/admin.jsx +17 -0
  5. data/app/assets/javascripts/pages/admin/components.jsx +2 -0
  6. data/app/assets/javascripts/pages/admin/components/attachment.jsx +130 -0
  7. data/app/assets/javascripts/pages/admin/components/attachment_editor.jsx +131 -0
  8. data/app/assets/javascripts/pages/admin/components/attachments.jsx +211 -0
  9. data/app/assets/javascripts/pages/admin/components/date_range_select.jsx +174 -0
  10. data/app/assets/javascripts/pages/admin/components/drag_uploader.jsx +174 -0
  11. data/app/assets/javascripts/pages/admin/components/editable_image.jsx +57 -0
  12. data/app/assets/javascripts/pages/admin/components/file_upload_button.jsx +44 -0
  13. data/app/assets/javascripts/pages/admin/components/focal_point.jsx +82 -0
  14. data/app/assets/javascripts/pages/admin/components/grid_image.jsx +124 -0
  15. data/app/assets/javascripts/pages/admin/components/image_editor.jsx +496 -0
  16. data/app/assets/javascripts/pages/admin/components/image_grid.jsx +306 -0
  17. data/app/assets/javascripts/pages/admin/components/image_uploader.jsx +176 -0
  18. data/app/assets/javascripts/pages/admin/components/modal.jsx +48 -0
  19. data/app/assets/javascripts/pages/admin/components/modal_store.jsx +20 -0
  20. data/app/assets/javascripts/pages/admin/components/page_dates.jsx +58 -0
  21. data/app/assets/javascripts/pages/admin/components/page_files.jsx +14 -0
  22. data/app/assets/javascripts/pages/admin/components/page_images.jsx +16 -0
  23. data/app/assets/javascripts/pages/admin/components/page_tree.jsx +300 -0
  24. data/app/assets/javascripts/pages/admin/components/page_tree_node.jsx +396 -0
  25. data/app/assets/javascripts/pages/admin/components/page_tree_store.jsx +203 -0
  26. data/app/assets/javascripts/pages/admin/components/rich_text_area.jsx +64 -0
  27. data/app/assets/javascripts/pages/admin/components/rich_text_toolbar.jsx +91 -0
  28. data/app/assets/javascripts/pages/admin/components/toast.jsx +34 -0
  29. data/app/assets/javascripts/pages/admin/components/toast_store.jsx +52 -0
  30. data/app/assets/javascripts/pages/admin/features/content_tabs.jsx +72 -0
  31. data/app/assets/javascripts/pages/admin/features/edit_page.jsx +97 -0
  32. data/app/assets/javascripts/pages/admin/features/rich_text.jsx +14 -0
  33. data/app/assets/javascripts/pages/admin/features/tag_editor.jsx +160 -0
  34. data/app/assets/javascripts/pages/admin/lib/tree.jsx +294 -0
  35. data/app/assets/javascripts/pages/login_form.jsx +21 -0
  36. data/app/assets/stylesheets/pages/admin.scss +144 -0
  37. data/app/assets/stylesheets/pages/admin/components/archive.scss +6 -0
  38. data/app/assets/stylesheets/pages/admin/components/attachments.scss +130 -0
  39. data/app/assets/stylesheets/pages/admin/components/buttons.scss +23 -0
  40. data/app/assets/stylesheets/pages/admin/components/forms.scss +169 -0
  41. data/app/assets/stylesheets/pages/admin/components/header.scss +157 -0
  42. data/app/assets/stylesheets/pages/admin/components/image_editor.scss +195 -0
  43. data/app/assets/stylesheets/pages/admin/components/image_grid.scss +181 -0
  44. data/app/assets/stylesheets/pages/admin/components/image_uploader.scss +53 -0
  45. data/app/assets/stylesheets/pages/admin/components/layout.scss +44 -0
  46. data/app/assets/stylesheets/pages/admin/components/links.scss +43 -0
  47. data/app/assets/stylesheets/pages/admin/components/list_table.scss +61 -0
  48. data/app/assets/stylesheets/pages/admin/{login.css.scss.erb → components/login.scss} +3 -9
  49. data/app/assets/stylesheets/pages/admin/components/modal.scss +106 -0
  50. data/app/assets/stylesheets/pages/admin/components/page_tree.scss +179 -0
  51. data/app/assets/stylesheets/pages/admin/components/pagination.scss +49 -0
  52. data/app/assets/stylesheets/pages/admin/components/sidebar.scss +28 -0
  53. data/app/assets/stylesheets/pages/admin/components/tag_editor.scss +59 -0
  54. data/app/assets/stylesheets/pages/admin/components/textarea.scss +6 -0
  55. data/app/assets/stylesheets/pages/admin/components/toast.scss +51 -0
  56. data/app/assets/stylesheets/pages/admin/components/toolbar.scss +108 -0
  57. data/app/assets/stylesheets/pages/admin/controllers/pages.scss +184 -0
  58. data/app/assets/stylesheets/pages/admin/controllers/{users.css.erb → users.scss} +2 -2
  59. data/app/assets/stylesheets/pages/admin/mixins/breakpoints.scss +21 -0
  60. data/app/assets/stylesheets/pages/admin/mixins/clearfix.scss +7 -0
  61. data/app/assets/stylesheets/pages/admin/mixins/gradients.scss +7 -0
  62. data/app/assets/stylesheets/pages/admin/vars.scss +30 -0
  63. data/app/assets/stylesheets/pages/errors.css +2 -0
  64. data/app/controller_dummies/admin/admin_controller.rb +1 -1
  65. data/app/controller_dummies/application_controller.rb +3 -3
  66. data/app/controller_dummies/attachments_controller.rb +4 -0
  67. data/app/controller_dummies/frontend_controller.rb +1 -1
  68. data/app/controller_dummies/images_controller.rb +1 -1
  69. data/app/controller_dummies/page_files_controller.rb +1 -1
  70. data/app/controller_dummies/pages_controller.rb +1 -1
  71. data/app/controller_dummies/sitemaps_controller.rb +1 -1
  72. data/app/controllers/admin/attachments_controller.rb +50 -0
  73. data/app/controllers/admin/categories_controller.rb +3 -4
  74. data/app/controllers/admin/images_controller.rb +29 -18
  75. data/app/controllers/admin/invites_controller.rb +20 -23
  76. data/app/controllers/admin/pages_controller.rb +59 -111
  77. data/app/controllers/admin/password_resets_controller.rb +23 -21
  78. data/app/controllers/admin/users_controller.rb +23 -23
  79. data/app/controllers/concerns/pages_core/admin/news_page_controller.rb +67 -0
  80. data/app/controllers/concerns/pages_core/admin/persistent_params.rb +75 -0
  81. data/app/controllers/concerns/pages_core/authentication.rb +4 -3
  82. data/app/controllers/concerns/pages_core/error_renderer.rb +36 -0
  83. data/app/controllers/concerns/pages_core/error_reporting.rb +36 -0
  84. data/app/controllers/concerns/pages_core/policies_helper.rb +16 -13
  85. data/app/controllers/concerns/pages_core/preview_pages_controller.rb +44 -0
  86. data/app/controllers/concerns/pages_core/process_titler.rb +4 -4
  87. data/app/controllers/concerns/pages_core/rss_controller.rb +25 -0
  88. data/app/controllers/concerns/pages_core/static_cache_controller.rb +48 -0
  89. data/app/controllers/errors_controller.rb +20 -30
  90. data/app/controllers/pages_core/admin_controller.rb +21 -70
  91. data/app/controllers/pages_core/attachments_controller.rb +40 -0
  92. data/app/controllers/pages_core/{application_controller.rb → base_controller.rb} +13 -8
  93. data/app/controllers/pages_core/frontend/page_files_controller.rb +7 -24
  94. data/app/controllers/pages_core/frontend/pages_controller.rb +39 -228
  95. data/app/controllers/pages_core/frontend_controller.rb +10 -3
  96. data/app/controllers/pages_core/images_controller.rb +2 -2
  97. data/app/controllers/pages_core/sitemaps_controller.rb +15 -10
  98. data/app/controllers/sessions_controller.rb +4 -14
  99. data/app/formatters/pages_core/html_formatter.rb +52 -48
  100. data/app/formatters/pages_core/image_embedder.rb +79 -0
  101. data/app/formatters/pages_core/link_renderer.rb +17 -0
  102. data/app/helpers/admin/admin_helper.rb +1 -1
  103. data/app/helpers/admin/menu_helper.rb +19 -16
  104. data/app/helpers/admin/pages_helper.rb +27 -30
  105. data/app/helpers/application_helper.rb +1 -1
  106. data/app/helpers/frontend_helper.rb +1 -1
  107. data/app/helpers/pages_core/admin/admin_helper.rb +44 -71
  108. data/app/helpers/pages_core/admin/content_tabs_helper.rb +28 -0
  109. data/app/helpers/pages_core/admin/date_range_helper.rb +55 -0
  110. data/app/helpers/pages_core/admin/form_builder.rb +44 -0
  111. data/app/helpers/pages_core/admin/image_uploads_helper.rb +48 -0
  112. data/app/helpers/pages_core/admin/labelled_field_helper.rb +19 -19
  113. data/app/helpers/pages_core/admin/page_blocks_helper.rb +66 -0
  114. data/app/helpers/pages_core/admin/page_json_helper.rb +23 -0
  115. data/app/helpers/pages_core/admin/tag_editor_helper.rb +16 -14
  116. data/app/helpers/pages_core/application_helper.rb +15 -26
  117. data/app/helpers/pages_core/attachments_helper.rb +40 -0
  118. data/app/helpers/pages_core/form_builder.rb +71 -134
  119. data/app/helpers/pages_core/frontend_helper.rb +2 -8
  120. data/app/helpers/pages_core/head_tags_helper.rb +36 -169
  121. data/app/helpers/pages_core/images_helper.rb +5 -4
  122. data/app/helpers/pages_core/meta_tags_helper.rb +96 -0
  123. data/app/helpers/pages_core/open_graph_tags_helper.rb +51 -0
  124. data/app/helpers/pages_core/page_path_helper.rb +66 -0
  125. data/app/jobs/pages_core/autopublish_job.rb +2 -2
  126. data/app/jobs/pages_core/sweep_cache_job.rb +3 -3
  127. data/app/mailers/admin_mailer.rb +8 -31
  128. data/app/models/attachment.rb +78 -0
  129. data/app/models/autopublisher.rb +7 -4
  130. data/app/models/category.rb +10 -11
  131. data/app/models/concerns/pages_core/has_roles.rb +5 -4
  132. data/app/models/concerns/pages_core/humanizable_param.rb +11 -8
  133. data/app/models/concerns/pages_core/page_model/attachments.rb +41 -0
  134. data/app/models/concerns/pages_core/page_model/autopublishable.rb +25 -0
  135. data/app/models/concerns/pages_core/page_model/dated_page.rb +59 -0
  136. data/app/models/concerns/pages_core/page_model/images.rb +51 -0
  137. data/app/models/concerns/pages_core/page_model/localizable.rb +38 -0
  138. data/app/models/concerns/pages_core/page_model/pathable.rb +114 -0
  139. data/app/models/concerns/pages_core/page_model/redirectable.rb +36 -0
  140. data/app/models/concerns/pages_core/page_model/sortable.rb +53 -0
  141. data/app/models/concerns/pages_core/page_model/status.rb +50 -0
  142. data/app/models/concerns/pages_core/page_model/templateable.rb +85 -0
  143. data/app/models/concerns/pages_core/page_model/tree.rb +134 -0
  144. data/app/models/concerns/pages_core/sweepable.rb +3 -3
  145. data/app/models/concerns/pages_core/taggable.rb +11 -4
  146. data/app/models/image.rb +15 -1
  147. data/app/models/invite.rb +3 -11
  148. data/app/models/invite_role.rb +5 -3
  149. data/app/models/page.rb +49 -234
  150. data/app/models/page_builder.rb +5 -7
  151. data/app/models/page_category.rb +7 -0
  152. data/app/models/page_exporter.rb +100 -0
  153. data/app/models/page_file.rb +26 -50
  154. data/app/models/page_image.rb +7 -40
  155. data/app/models/page_path.rb +52 -0
  156. data/app/models/password_reset_token.rb +7 -9
  157. data/app/models/role.rb +23 -7
  158. data/app/models/tag.rb +28 -19
  159. data/app/models/tagging.rb +6 -5
  160. data/app/models/user.rb +38 -32
  161. data/app/policies/invite_policy.rb +2 -0
  162. data/app/policies/page_file_policy.rb +15 -17
  163. data/app/policies/page_image_policy.rb +15 -17
  164. data/app/policies/page_policy.rb +29 -23
  165. data/app/policies/policy.rb +4 -8
  166. data/app/policies/user_policy.rb +34 -32
  167. data/app/serializers/admin/attachment_serializer.rb +31 -0
  168. data/app/serializers/admin/image_serializer.rb +55 -6
  169. data/app/serializers/admin/page_file_serializer.rb +8 -0
  170. data/app/serializers/admin/page_image_serializer.rb +3 -1
  171. data/app/serializers/page_export_serializer.rb +32 -0
  172. data/app/serializers/page_file_export_serializer.rb +6 -0
  173. data/app/serializers/page_image_export_serializer.rb +42 -0
  174. data/app/serializers/page_image_serializer.rb +4 -0
  175. data/app/serializers/page_serializer.rb +2 -0
  176. data/app/services/pages_core/create_user_service.rb +39 -0
  177. data/app/services/pages_core/destroy_invite_service.rb +25 -0
  178. data/app/services/pages_core/invite_service.rb +43 -0
  179. data/app/views/admin/images/show.json.jbuilder +8 -0
  180. data/app/views/admin/invites/new.html.erb +2 -1
  181. data/app/views/admin/invites/show.html.erb +3 -4
  182. data/app/views/admin/pages/_edit_content.html.erb +11 -2
  183. data/app/views/admin/pages/_edit_files.html.erb +8 -0
  184. data/app/views/admin/pages/_edit_images.html.erb +8 -84
  185. data/app/views/admin/pages/_edit_metadata.html.erb +23 -12
  186. data/app/views/admin/pages/_edit_options.html.erb +25 -25
  187. data/app/views/admin/pages/_list_item.html.erb +50 -0
  188. data/app/views/admin/pages/deleted.html.erb +42 -0
  189. data/app/views/admin/pages/edit.html.erb +11 -91
  190. data/app/views/admin/pages/index.html.erb +10 -54
  191. data/app/views/admin/pages/new.html.erb +5 -4
  192. data/app/views/admin/pages/news.html.erb +61 -47
  193. data/app/views/admin/password_resets/show.html.erb +6 -9
  194. data/app/views/admin/users/_access_control.html.erb +4 -1
  195. data/app/views/admin/users/_list.html.erb +12 -7
  196. data/app/views/admin/users/edit.html.erb +5 -11
  197. data/app/views/admin/users/login.html.erb +58 -15
  198. data/app/views/admin/users/show.html.erb +1 -1
  199. data/app/views/admin_mailer/invite.text.erb +1 -1
  200. data/app/views/admin_mailer/password_reset.text.erb +1 -1
  201. data/app/views/errors/401.html.erb +6 -0
  202. data/app/views/errors/403.html.erb +1 -1
  203. data/app/views/errors/422.html.erb +7 -0
  204. data/app/views/errors/500.html.erb +2 -15
  205. data/app/views/errors/_generic_help.html.erb +1 -1
  206. data/app/views/feeds/pages.rss.builder +2 -2
  207. data/app/views/layouts/admin.html.erb +83 -79
  208. data/app/views/layouts/admin/_analytics.html.erb +1 -3
  209. data/app/views/layouts/admin/_header.html.erb +4 -4
  210. data/app/views/layouts/errors.html.erb +3 -7
  211. data/app/views/sitemaps/show.xml.builder +2 -0
  212. data/config/locales/en.yml +50 -1
  213. data/config/routes.rb +57 -58
  214. data/db/migrate/20111219033112_create_pages_tables.rb +191 -276
  215. data/lib/pages_core.rb +34 -32
  216. data/lib/pages_core/admin_menu_item.rb +18 -4
  217. data/lib/pages_core/archive_finder.rb +49 -20
  218. data/lib/pages_core/attachment_embedder.rb +36 -0
  219. data/lib/pages_core/cache_sweeper.rb +9 -89
  220. data/lib/pages_core/configuration.rb +3 -3
  221. data/lib/pages_core/configuration/base.rb +8 -9
  222. data/lib/pages_core/configuration/pages.rb +8 -9
  223. data/lib/pages_core/digest_verifier.rb +70 -0
  224. data/lib/pages_core/engine.rb +72 -5
  225. data/lib/pages_core/extensions.rb +2 -3
  226. data/lib/pages_core/extensions/string_extensions.rb +2 -2
  227. data/lib/pages_core/page_path_constraint.rb +23 -0
  228. data/lib/pages_core/pages_plugin.rb +13 -2
  229. data/lib/pages_core/plugin.rb +8 -52
  230. data/lib/pages_core/pub_sub.rb +38 -0
  231. data/lib/pages_core/static_cache.rb +26 -0
  232. data/lib/pages_core/static_cache/null_handler.rb +17 -0
  233. data/lib/pages_core/static_cache/page_cache_handler.rb +56 -0
  234. data/lib/pages_core/static_cache/varnish_handler.rb +55 -0
  235. data/lib/pages_core/templates.rb +10 -10
  236. data/lib/pages_core/templates/block_configuration.rb +4 -3
  237. data/lib/pages_core/templates/configuration.rb +115 -34
  238. data/lib/pages_core/templates/configuration_handler.rb +9 -5
  239. data/lib/pages_core/templates/configuration_proxy.rb +12 -12
  240. data/lib/pages_core/templates/controller_actions.rb +1 -1
  241. data/lib/pages_core/templates/template_configuration.rb +102 -98
  242. data/lib/pages_core/version.rb +2 -2
  243. data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +11 -16
  244. data/lib/rails/generators/pages_core/frontend/templates/application.js.erb +1 -2
  245. data/lib/rails/generators/pages_core/frontend/templates/{application.css.scss.erb → application.scss.erb} +0 -0
  246. data/lib/rails/generators/pages_core/frontend/templates/{base.css.scss.erb → base.scss.erb} +0 -0
  247. data/lib/rails/generators/pages_core/frontend/templates/{breakpoints.css.scss.erb → breakpoints.scss.erb} +0 -0
  248. data/lib/rails/generators/pages_core/frontend/templates/clearfix.scss.erb +7 -0
  249. data/lib/rails/generators/pages_core/frontend/templates/layout.html.erb +0 -3
  250. data/lib/rails/generators/pages_core/install/install_generator.rb +25 -66
  251. data/lib/rails/generators/pages_core/install/templates/active_job_initializer.rb +2 -0
  252. data/lib/rails/generators/pages_core/install/templates/application_controller.rb +2 -2
  253. data/lib/rails/generators/pages_core/install/templates/application_helper.rb +1 -1
  254. data/lib/rails/generators/pages_core/install/templates/delayed_job +1 -0
  255. data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +16 -1
  256. data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +1 -1
  257. data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +1 -1
  258. data/lib/rails/generators/pages_core/install/templates/gitignore.erb +12 -1
  259. data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +9 -15
  260. data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +1 -1
  261. data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +5 -23
  262. data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +19 -14
  263. data/lib/rails/generators/pages_core/rspec/templates/factories.rb +3 -8
  264. data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +2 -0
  265. data/lib/rails/generators/pages_core/rspec/templates/page_templates_spec.rb +26 -0
  266. data/lib/rails/generators/pages_core/rspec/templates/rails_helper.rb +91 -0
  267. data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +89 -45
  268. data/lib/tasks/pages.rake +2 -63
  269. data/lib/tasks/pages/cache.rake +12 -5
  270. data/lib/tasks/pages/export.rake +11 -0
  271. data/lib/tasks/pages/page_paths.rake +12 -0
  272. data/template.rb +5 -3
  273. data/vendor/assets/javascripts/ReactCrop.min.js +1 -0
  274. data/vendor/assets/javascripts/reflux.min.js +1 -0
  275. data/vendor/assets/stylesheets/ReactCrop.css +167 -0
  276. metadata +356 -192
  277. data/app/assets/images/pages/admin/description-bg.gif +0 -0
  278. data/app/assets/images/pages/admin/drag-handle.gif +0 -0
  279. data/app/assets/images/pages/admin/flash-error-bg.gif +0 -0
  280. data/app/assets/images/pages/admin/formelement-bg.gif +0 -0
  281. data/app/assets/images/pages/admin/header-tab-current-bg.gif +0 -0
  282. data/app/assets/images/pages/admin/list-table-td-bg.gif +0 -0
  283. data/app/assets/images/pages/admin/sidebar-bg.gif +0 -0
  284. data/app/assets/images/pages/admin/textarea_controls.gif +0 -0
  285. data/app/assets/javascripts/pages/admin.js.coffee +0 -54
  286. data/app/assets/javascripts/pages/admin/controllers/base.js.coffee +0 -4
  287. data/app/assets/javascripts/pages/admin/controllers/pages_controller.js.coffee +0 -139
  288. data/app/assets/javascripts/pages/admin/controllers/users_controller.js.coffee +0 -9
  289. data/app/assets/javascripts/pages/admin/features/content_tabs.js.coffee +0 -47
  290. data/app/assets/javascripts/pages/admin/features/editable_image.js.coffee.erb +0 -122
  291. data/app/assets/javascripts/pages/admin/features/modal.js.coffee +0 -66
  292. data/app/assets/javascripts/pages/admin/features/page_images.js +0 -329
  293. data/app/assets/javascripts/pages/admin/features/rich_text.js.coffee +0 -40
  294. data/app/assets/javascripts/pages/admin/features/tag_editor.js +0 -159
  295. data/app/assets/javascripts/pages/admin/lib/ajax_extensions.js.coffee +0 -17
  296. data/app/assets/javascripts/pages/admin/lib/center_on_screen.js.coffee +0 -21
  297. data/app/assets/javascripts/pages/admin/lib/jrichtextarea.js +0 -57
  298. data/app/assets/javascripts/pages/login_form.js.coffee +0 -17
  299. data/app/assets/stylesheets/pages/admin.css.erb +0 -404
  300. data/app/assets/stylesheets/pages/admin/buttons.css.erb +0 -5
  301. data/app/assets/stylesheets/pages/admin/controllers/artists.css.erb +0 -94
  302. data/app/assets/stylesheets/pages/admin/controllers/files.css.erb +0 -58
  303. data/app/assets/stylesheets/pages/admin/controllers/pages.css.scss.erb +0 -178
  304. data/app/assets/stylesheets/pages/admin/editable_image.css.erb +0 -19
  305. data/app/assets/stylesheets/pages/admin/forms.css.scss.erb +0 -73
  306. data/app/assets/stylesheets/pages/admin/header.css.erb +0 -129
  307. data/app/assets/stylesheets/pages/admin/images.css.scss.erb +0 -160
  308. data/app/assets/stylesheets/pages/admin/links.css.erb +0 -34
  309. data/app/assets/stylesheets/pages/admin/list_table.css.erb +0 -56
  310. data/app/assets/stylesheets/pages/admin/modal.css.erb +0 -14
  311. data/app/assets/stylesheets/pages/admin/pagination.css.scss +0 -22
  312. data/app/assets/stylesheets/pages/admin/print.css.erb +0 -17
  313. data/app/assets/stylesheets/pages/admin/sidebar.css.erb +0 -39
  314. data/app/assets/stylesheets/pages/admin/sortable_images.css.erb +0 -18
  315. data/app/assets/stylesheets/pages/admin/tag_editor.css.scss.erb +0 -48
  316. data/app/assets/stylesheets/pages/admin/textarea.css.erb +0 -55
  317. data/app/controllers/admin/page_comments_controller.rb +0 -61
  318. data/app/controllers/admin/page_files_controller.rb +0 -81
  319. data/app/controllers/admin/page_images_controller.rb +0 -116
  320. data/app/controllers/concerns/pages_core/domain_based_cache.rb +0 -28
  321. data/app/controllers/concerns/pages_core/exception_handler.rb +0 -114
  322. data/app/helpers/pages_core/login_helper.rb +0 -14
  323. data/app/indices/page_file_index.rb +0 -9
  324. data/app/indices/page_index.rb +0 -29
  325. data/app/indices/user_index.rb +0 -11
  326. data/app/models/concerns/pages_core/page_tree.rb +0 -85
  327. data/app/models/concerns/pages_core/searchable_page.rb +0 -33
  328. data/app/models/concerns/pages_core/templateable.rb +0 -85
  329. data/app/models/localization.rb +0 -27
  330. data/app/models/page_comment.rb +0 -18
  331. data/app/views/admin/pages/_edit_comments.html.erb +0 -21
  332. data/app/views/admin/pages/_pagelisting.html.erb +0 -63
  333. data/app/views/admin/users/_login_form.html.erb +0 -47
  334. data/app/views/admin_mailer/comment_notification.text.erb +0 -7
  335. data/app/views/admin_mailer/error_report.html.erb +0 -70
  336. data/app/views/errors/500_critical.html.erb +0 -7
  337. data/app/views/errors/report.html.erb +0 -4
  338. data/config/removed_migrations.yml +0 -60
  339. data/db/migrate/20120627033112_rename_textbits.rb +0 -19
  340. data/db/migrate/20121010055412_drop_removed_tables.rb +0 -83
  341. data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +0 -11
  342. data/db/migrate/20130303053932_remove_filter_from_localizations.rb +0 -11
  343. data/db/migrate/20130303160632_remove_imagesets.rb +0 -24
  344. data/db/migrate/20130303161732_remove_sms_subscribers.rb +0 -16
  345. data/db/migrate/20130823133208_update_page_redirect_to.rb +0 -25
  346. data/db/migrate/20140203183900_create_roles.rb +0 -63
  347. data/db/migrate/20140414150500_change_locale_names.rb +0 -13
  348. data/db/migrate/20140515130100_remove_sphinx_deltas.rb +0 -15
  349. data/db/migrate/20140604142100_remove_openid_url.rb +0 -9
  350. data/db/migrate/20140920231700_convert_images_to_dis.rb +0 -79
  351. data/db/migrate/20140922124600_convert_page_files_to_dis.rb +0 -50
  352. data/db/migrate/20141004003100_create_password_reset_tokens.rb +0 -10
  353. data/db/migrate/20141006181300_remove_user_cruft.rb +0 -11
  354. data/db/migrate/20141007173000_create_invites.rb +0 -16
  355. data/db/migrate/20150204130800_update_delayed_job_table.rb +0 -9
  356. data/db/migrate/20150401131300_localize_images.rb +0 -39
  357. data/db/migrate/20150520174300_add_meta_image_to_page.rb +0 -5
  358. data/db/migrate/20150904164200_add_pinned_to_tags.rb +0 -5
  359. data/lib/pages_core/extensions/hash_extensions.rb +0 -23
  360. data/lib/pages_core/localizable.rb +0 -49
  361. data/lib/pages_core/localizable/active_record_extension.rb +0 -41
  362. data/lib/pages_core/localizable/class_methods.rb +0 -51
  363. data/lib/pages_core/localizable/configuration.rb +0 -50
  364. data/lib/pages_core/localizable/instance_methods.rb +0 -130
  365. data/lib/pages_core/localizable/localizer.rb +0 -72
  366. data/lib/pages_core/localizable/scope_extension.rb +0 -22
  367. data/lib/pages_core/paginates.rb +0 -102
  368. data/lib/rails/generators/pages_core/frontend/templates/hidpi.css.scss.erb +0 -8
  369. data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +0 -11
  370. data/lib/rails/generators/pages_core/install/templates/thinking_sphinx.yml +0 -12
  371. data/lib/tasks/db.rake +0 -96
  372. data/lib/tasks/pages/assets.rake +0 -65
  373. data/lib/tasks/pages/update.rake +0 -19
  374. data/vendor/assets/javascripts/jquery.dimscreen.js +0 -77
  375. data/vendor/assets/javascripts/jquery.fieldselection.js +0 -59
data/lib/tasks/pages.rake CHANGED
@@ -1,69 +1,9 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require "find"
4
4
  require "open-uri"
5
5
 
6
- begin
7
- require "delayed/tasks"
8
- rescue LoadError
9
- puts "Delayed job not installed"
10
- end
11
-
12
6
  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]}".blue.bold, "\n"
41
- print "#{report[:url]}".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
7
  desc "Autopublish due pages"
68
8
  task autopublish: :environment do
69
9
  published = Autopublisher.run!
@@ -71,6 +11,5 @@ namespace :pages do
71
11
  end
72
12
 
73
13
  desc "Perform routine maintenance"
74
- task maintenance: [:autopublish] do
75
- end
14
+ task maintenance: [:autopublish]
76
15
  end
@@ -1,16 +1,23 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  namespace :pages do
4
4
  namespace :cache do
5
5
  desc "Sweep the pages cache"
6
6
  task sweep: :environment do
7
- swept_files = PagesCore::CacheSweeper.sweep!
8
- Rails.logger.info "Cache swept, #{swept_files.length} files deleted."
7
+ PagesCore::StaticCache.handler.sweep_now!
8
+ Rails.logger.info "Static cache swept"
9
9
  end
10
+
11
+ desc "Sweep the pages cache (queued)"
12
+ task sweep_later: :environment do
13
+ PagesCore::StaticCache.handler.sweep!
14
+ Rails.logger.info "Static cache sweeping queued"
15
+ end
16
+
10
17
  desc "Purge the entire pages cache"
11
18
  task purge: :environment do
12
- PagesCore::CacheSweeper.purge!
13
- Rails.logger.info "Cache purged."
19
+ PagesCore::StaticCache.handler.purge!
20
+ Rails.logger.info "Cache purged"
14
21
  end
15
22
  end
16
23
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :pages do
4
+ namespace :export do
5
+ desc "Export pages"
6
+ task pages: :environment do
7
+ dir = Rails.root.join("export")
8
+ PageExporter.new(dir, progress_bar: true).export
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :pages do
4
+ namespace :page_paths do
5
+ desc "Build page paths"
6
+ task build: :environment do
7
+ print "Building page paths..."
8
+ PagePath.build_all
9
+ puts "Done!"
10
+ end
11
+ end
12
+ end
data/template.rb CHANGED
@@ -1,12 +1,14 @@
1
- gem "pages_core", git: "git@github.com:manualdesign/pages.git", branch: "master"
1
+ # frozen_string_literal: true
2
+
3
+ gem "pages_core", git: "git@github.com:anyone-oslo/pages.git", branch: "master"
2
4
 
3
5
  gem_group :development do
4
- gem "manual_server", git: "git@github.com:manualdesign/manual_server.git"
6
+ gem "manual_server", git: "git@github.com:anyone-oslo/anyone_server.git"
5
7
  end
6
8
 
7
9
  route "root to: 'pages#index'"
8
10
 
9
- run "echo '2.2.2' > .ruby-version"
11
+ run "echo '2.3.1' > .ruby-version"
10
12
 
11
13
  run "bundle install"
12
14
 
@@ -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"}])});
@@ -0,0 +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=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,87 +1,185 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pages_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.3
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-28 00:00:00.000000000 Z
11
+ date: 2021-02-10 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.3.18
19
+ version: '3.32'
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.3.18
26
+ version: '3.32'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec-rails
28
+ name: factory_bot
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.1.0
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: 3.1.0
40
+ version: 4.11.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: factory_girl
42
+ name: pg
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 4.3.0
47
+ version: 1.2.3
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: 4.3.0
54
+ version: 1.2.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails-controller-testing
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.0.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec_junit_formatter
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 3.8.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 3.8.1
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: shoulda-matchers
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
57
113
  requirement: !ruby/object:Gem::Requirement
58
114
  requirements:
59
115
  - - "~>"
60
116
  - !ruby/object:Gem::Version
61
- version: 2.8.0
117
+ version: 0.17.1
62
118
  type: :development
63
119
  prerelease: false
64
120
  version_requirements: !ruby/object:Gem::Requirement
65
121
  requirements:
66
122
  - - "~>"
67
123
  - !ruby/object:Gem::Version
68
- version: 2.8.0
124
+ version: 0.17.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: timecop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.8.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.8.0
69
139
  - !ruby/object:Gem::Dependency
70
140
  name: rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '5.0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '5.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: actionpack-page_caching
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: 1.1.0
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: 1.1.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: active_model_serializers
71
169
  requirement: !ruby/object:Gem::Requirement
72
170
  requirements:
73
171
  - - "~>"
74
172
  - !ruby/object:Gem::Version
75
- version: 4.2.0
173
+ version: 0.10.12
76
174
  type: :runtime
77
175
  prerelease: false
78
176
  version_requirements: !ruby/object:Gem::Requirement
79
177
  requirements:
80
178
  - - "~>"
81
179
  - !ruby/object:Gem::Version
82
- version: 4.2.0
180
+ version: 0.10.12
83
181
  - !ruby/object:Gem::Dependency
84
- name: bcrypt-ruby
182
+ name: bcrypt
85
183
  requirement: !ruby/object:Gem::Requirement
86
184
  requirements:
87
185
  - - ">="
@@ -95,49 +193,63 @@ dependencies:
95
193
  - !ruby/object:Gem::Version
96
194
  version: '0'
97
195
  - !ruby/object:Gem::Dependency
98
- name: RedCloth
196
+ name: country_select
99
197
  requirement: !ruby/object:Gem::Requirement
100
198
  requirements:
101
- - - "~>"
199
+ - - ">="
102
200
  - !ruby/object:Gem::Version
103
- version: 4.2.9
201
+ version: '0'
104
202
  type: :runtime
105
203
  prerelease: false
106
204
  version_requirements: !ruby/object:Gem::Requirement
107
205
  requirements:
108
- - - "~>"
206
+ - - ">="
109
207
  - !ruby/object:Gem::Version
110
- version: 4.2.9
208
+ version: '0'
111
209
  - !ruby/object:Gem::Dependency
112
210
  name: dis
113
211
  requirement: !ruby/object:Gem::Requirement
114
212
  requirements:
115
213
  - - "~>"
116
214
  - !ruby/object:Gem::Version
117
- version: 1.0.0
215
+ version: 1.1.2
118
216
  type: :runtime
119
217
  prerelease: false
120
218
  version_requirements: !ruby/object:Gem::Requirement
121
219
  requirements:
122
220
  - - "~>"
123
221
  - !ruby/object:Gem::Version
124
- version: 1.0.0
222
+ version: 1.1.2
125
223
  - !ruby/object:Gem::Dependency
126
224
  name: dynamic_image
127
225
  requirement: !ruby/object:Gem::Requirement
128
226
  requirements:
129
227
  - - "~>"
130
228
  - !ruby/object:Gem::Version
131
- version: 2.0.0.beta7
229
+ version: '2.0'
132
230
  type: :runtime
133
231
  prerelease: false
134
232
  version_requirements: !ruby/object:Gem::Requirement
135
233
  requirements:
136
234
  - - "~>"
137
235
  - !ruby/object:Gem::Version
138
- version: 2.0.0.beta7
236
+ version: '2.0'
139
237
  - !ruby/object:Gem::Dependency
140
- name: actionpack-page_caching
238
+ name: lograge
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 0.11.2
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 0.11.2
251
+ - !ruby/object:Gem::Dependency
252
+ name: nokogiri
141
253
  requirement: !ruby/object:Gem::Requirement
142
254
  requirements:
143
255
  - - ">="
@@ -151,119 +263,119 @@ dependencies:
151
263
  - !ruby/object:Gem::Version
152
264
  version: '0'
153
265
  - !ruby/object:Gem::Dependency
154
- name: active_model_serializers
266
+ name: progress_bar
155
267
  requirement: !ruby/object:Gem::Requirement
156
268
  requirements:
157
- - - "~>"
269
+ - - ">="
158
270
  - !ruby/object:Gem::Version
159
- version: 0.9.0
271
+ version: '0'
160
272
  type: :runtime
161
273
  prerelease: false
162
274
  version_requirements: !ruby/object:Gem::Requirement
163
275
  requirements:
164
- - - "~>"
276
+ - - ">="
165
277
  - !ruby/object:Gem::Version
166
- version: 0.9.0
278
+ version: '0'
167
279
  - !ruby/object:Gem::Dependency
168
- name: rails-i18n
280
+ name: rails-healthcheck
169
281
  requirement: !ruby/object:Gem::Requirement
170
282
  requirements:
171
283
  - - "~>"
172
284
  - !ruby/object:Gem::Version
173
- version: 4.0.0
285
+ version: 1.0.3
174
286
  type: :runtime
175
287
  prerelease: false
176
288
  version_requirements: !ruby/object:Gem::Requirement
177
289
  requirements:
178
290
  - - "~>"
179
291
  - !ruby/object:Gem::Version
180
- version: 4.0.0
292
+ version: 1.0.3
181
293
  - !ruby/object:Gem::Dependency
182
- name: sass-rails
294
+ name: RedCloth
183
295
  requirement: !ruby/object:Gem::Requirement
184
296
  requirements:
185
297
  - - "~>"
186
298
  - !ruby/object:Gem::Version
187
- version: '5.0'
299
+ version: 4.3.2
188
300
  type: :runtime
189
301
  prerelease: false
190
302
  version_requirements: !ruby/object:Gem::Requirement
191
303
  requirements:
192
304
  - - "~>"
193
305
  - !ruby/object:Gem::Version
194
- version: '5.0'
306
+ version: 4.3.2
195
307
  - !ruby/object:Gem::Dependency
196
- name: uglifier
308
+ name: typhoeus
197
309
  requirement: !ruby/object:Gem::Requirement
198
310
  requirements:
199
- - - ">="
311
+ - - "~>"
200
312
  - !ruby/object:Gem::Version
201
- version: 1.3.0
313
+ version: 1.4.0
202
314
  type: :runtime
203
315
  prerelease: false
204
316
  version_requirements: !ruby/object:Gem::Requirement
205
317
  requirements:
206
- - - ">="
318
+ - - "~>"
207
319
  - !ruby/object:Gem::Version
208
- version: 1.3.0
320
+ version: 1.4.0
209
321
  - !ruby/object:Gem::Dependency
210
- name: coffee-rails
322
+ name: will_paginate
211
323
  requirement: !ruby/object:Gem::Requirement
212
324
  requirements:
213
325
  - - "~>"
214
326
  - !ruby/object:Gem::Version
215
- version: 4.1.0
327
+ version: 3.1.0
216
328
  type: :runtime
217
329
  prerelease: false
218
330
  version_requirements: !ruby/object:Gem::Requirement
219
331
  requirements:
220
332
  - - "~>"
221
333
  - !ruby/object:Gem::Version
222
- version: 4.1.0
334
+ version: 3.1.0
223
335
  - !ruby/object:Gem::Dependency
224
- name: jquery-rails
336
+ name: rails-i18n
225
337
  requirement: !ruby/object:Gem::Requirement
226
338
  requirements:
227
339
  - - ">="
228
340
  - !ruby/object:Gem::Version
229
- version: '0'
341
+ version: 5.0.0
230
342
  type: :runtime
231
343
  prerelease: false
232
344
  version_requirements: !ruby/object:Gem::Requirement
233
345
  requirements:
234
346
  - - ">="
235
347
  - !ruby/object:Gem::Version
236
- version: '0'
348
+ version: 5.0.0
237
349
  - !ruby/object:Gem::Dependency
238
- name: jbuilder
350
+ name: coffee-rails
239
351
  requirement: !ruby/object:Gem::Requirement
240
352
  requirements:
241
353
  - - "~>"
242
354
  - !ruby/object:Gem::Version
243
- version: '2.0'
355
+ version: '4.2'
244
356
  type: :runtime
245
357
  prerelease: false
246
358
  version_requirements: !ruby/object:Gem::Requirement
247
359
  requirements:
248
360
  - - "~>"
249
361
  - !ruby/object:Gem::Version
250
- version: '2.0'
362
+ version: '4.2'
251
363
  - !ruby/object:Gem::Dependency
252
- name: jquery-ui-rails
364
+ name: jbuilder
253
365
  requirement: !ruby/object:Gem::Requirement
254
366
  requirements:
255
367
  - - "~>"
256
368
  - !ruby/object:Gem::Version
257
- version: 4.2.1
369
+ version: '2.5'
258
370
  type: :runtime
259
371
  prerelease: false
260
372
  version_requirements: !ruby/object:Gem::Requirement
261
373
  requirements:
262
374
  - - "~>"
263
375
  - !ruby/object:Gem::Version
264
- version: 4.2.1
376
+ version: '2.5'
265
377
  - !ruby/object:Gem::Dependency
266
- name: jquery-cookie-rails
378
+ name: jquery-rails
267
379
  requirement: !ruby/object:Gem::Requirement
268
380
  requirements:
269
381
  - - ">="
@@ -277,132 +389,155 @@ dependencies:
277
389
  - !ruby/object:Gem::Version
278
390
  version: '0'
279
391
  - !ruby/object:Gem::Dependency
280
- name: jcrop-rails-v2
392
+ name: sass-rails
281
393
  requirement: !ruby/object:Gem::Requirement
282
394
  requirements:
283
395
  - - ">="
284
396
  - !ruby/object:Gem::Version
285
- version: '0'
397
+ version: '5.0'
286
398
  type: :runtime
287
399
  prerelease: false
288
400
  version_requirements: !ruby/object:Gem::Requirement
289
401
  requirements:
290
402
  - - ">="
291
403
  - !ruby/object:Gem::Version
292
- version: '0'
404
+ version: '5.0'
293
405
  - !ruby/object:Gem::Dependency
294
- name: underscore-rails
406
+ name: uglifier
295
407
  requirement: !ruby/object:Gem::Requirement
296
408
  requirements:
297
409
  - - ">="
298
410
  - !ruby/object:Gem::Version
299
- version: '0'
411
+ version: 1.3.0
300
412
  type: :runtime
301
413
  prerelease: false
302
414
  version_requirements: !ruby/object:Gem::Requirement
303
415
  requirements:
304
416
  - - ">="
305
417
  - !ruby/object:Gem::Version
306
- version: '0'
418
+ version: 1.3.0
307
419
  - !ruby/object:Gem::Dependency
308
- name: acts_as_list
420
+ name: font-awesome-rails
309
421
  requirement: !ruby/object:Gem::Requirement
310
422
  requirements:
311
- - - ">="
423
+ - - "~>"
312
424
  - !ruby/object:Gem::Version
313
- version: '0'
425
+ version: '4.7'
314
426
  type: :runtime
315
427
  prerelease: false
316
428
  version_requirements: !ruby/object:Gem::Requirement
317
429
  requirements:
318
- - - ">="
430
+ - - "~>"
319
431
  - !ruby/object:Gem::Version
320
- version: '0'
432
+ version: '4.7'
321
433
  - !ruby/object:Gem::Dependency
322
- name: recaptcha
434
+ name: jquery-ui-rails
323
435
  requirement: !ruby/object:Gem::Requirement
324
436
  requirements:
325
437
  - - "~>"
326
438
  - !ruby/object:Gem::Version
327
- version: 0.3.5
439
+ version: 6.0.0
328
440
  type: :runtime
329
441
  prerelease: false
330
442
  version_requirements: !ruby/object:Gem::Requirement
331
443
  requirements:
332
444
  - - "~>"
333
445
  - !ruby/object:Gem::Version
334
- version: 0.3.5
446
+ version: 6.0.0
335
447
  - !ruby/object:Gem::Dependency
336
- name: delayed_job
448
+ name: react-rails
337
449
  requirement: !ruby/object:Gem::Requirement
338
450
  requirements:
339
451
  - - "~>"
340
452
  - !ruby/object:Gem::Version
341
- version: 4.0.0
453
+ version: '2.4'
342
454
  type: :runtime
343
455
  prerelease: false
344
456
  version_requirements: !ruby/object:Gem::Requirement
345
457
  requirements:
346
458
  - - "~>"
347
459
  - !ruby/object:Gem::Version
348
- version: 4.0.0
460
+ version: '2.4'
349
461
  - !ruby/object:Gem::Dependency
350
- name: delayed_job_active_record
462
+ name: acts_as_list
351
463
  requirement: !ruby/object:Gem::Requirement
352
464
  requirements:
353
465
  - - "~>"
354
466
  - !ruby/object:Gem::Version
355
- version: 4.0.0
467
+ version: '0.9'
356
468
  type: :runtime
357
469
  prerelease: false
358
470
  version_requirements: !ruby/object:Gem::Requirement
359
471
  requirements:
360
472
  - - "~>"
361
473
  - !ruby/object:Gem::Version
362
- version: 4.0.0
474
+ version: '0.9'
475
+ - !ruby/object:Gem::Dependency
476
+ name: localizable_model
477
+ requirement: !ruby/object:Gem::Requirement
478
+ requirements:
479
+ - - ">="
480
+ - !ruby/object:Gem::Version
481
+ version: 0.5.3
482
+ type: :runtime
483
+ prerelease: false
484
+ version_requirements: !ruby/object:Gem::Requirement
485
+ requirements:
486
+ - - ">="
487
+ - !ruby/object:Gem::Version
488
+ version: 0.5.3
363
489
  - !ruby/object:Gem::Dependency
364
490
  name: daemons
365
491
  requirement: !ruby/object:Gem::Requirement
366
492
  requirements:
367
493
  - - "~>"
368
494
  - !ruby/object:Gem::Version
369
- version: 1.1.0
495
+ version: 1.2.0
370
496
  type: :runtime
371
497
  prerelease: false
372
498
  version_requirements: !ruby/object:Gem::Requirement
373
499
  requirements:
374
500
  - - "~>"
375
501
  - !ruby/object:Gem::Version
376
- version: 1.1.0
502
+ version: 1.2.0
503
+ - !ruby/object:Gem::Dependency
504
+ name: delayed_job
505
+ requirement: !ruby/object:Gem::Requirement
506
+ requirements:
507
+ - - "~>"
508
+ - !ruby/object:Gem::Version
509
+ version: 4.1.2
510
+ type: :runtime
511
+ prerelease: false
512
+ version_requirements: !ruby/object:Gem::Requirement
513
+ requirements:
514
+ - - "~>"
515
+ - !ruby/object:Gem::Version
516
+ version: 4.1.2
377
517
  - !ruby/object:Gem::Dependency
378
- name: thinking-sphinx
518
+ name: delayed_job_active_record
379
519
  requirement: !ruby/object:Gem::Requirement
380
520
  requirements:
381
521
  - - "~>"
382
522
  - !ruby/object:Gem::Version
383
- version: 3.1.1
523
+ version: 4.1.1
384
524
  type: :runtime
385
525
  prerelease: false
386
526
  version_requirements: !ruby/object:Gem::Requirement
387
527
  requirements:
388
528
  - - "~>"
389
529
  - !ruby/object:Gem::Version
390
- version: 3.1.1
530
+ version: 4.1.1
391
531
  description: Pages Core
392
532
  email:
393
- - inge@manualdesign.no
533
+ - inge@anyone.no
394
534
  executables: []
395
535
  extensions: []
396
536
  extra_rdoc_files: []
397
537
  files:
398
538
  - README.md
399
539
  - Rakefile
400
- - app/assets/images/pages/admin/description-bg.gif
401
- - app/assets/images/pages/admin/drag-handle.gif
402
540
  - app/assets/images/pages/admin/drag-icon.png
403
- - app/assets/images/pages/admin/flash-error-bg.gif
404
- - app/assets/images/pages/admin/formelement-bg.gif
405
- - app/assets/images/pages/admin/header-tab-current-bg.gif
406
541
  - app/assets/images/pages/admin/icon.png
407
542
  - app/assets/images/pages/admin/image-editor-bg.png
408
543
  - app/assets/images/pages/admin/list-table-pin-blue.gif
@@ -410,72 +545,99 @@ files:
410
545
  - app/assets/images/pages/admin/list-table-pin-green.gif
411
546
  - app/assets/images/pages/admin/list-table-pin-red.gif
412
547
  - app/assets/images/pages/admin/list-table-pin-yellow.gif
413
- - app/assets/images/pages/admin/list-table-td-bg.gif
414
548
  - app/assets/images/pages/admin/loading-modal.gif
415
- - app/assets/images/pages/admin/sidebar-bg.gif
416
- - app/assets/images/pages/admin/textarea_controls.gif
417
549
  - app/assets/images/pages/admin/warning-icon.gif
418
550
  - app/assets/images/pages/favicon.gif
419
551
  - app/assets/images/pages/feed-icon-14x14.png
420
- - app/assets/javascripts/pages/admin.js.coffee
421
- - app/assets/javascripts/pages/admin/controllers/base.js.coffee
422
- - app/assets/javascripts/pages/admin/controllers/pages_controller.js.coffee
423
- - app/assets/javascripts/pages/admin/controllers/users_controller.js.coffee
424
- - app/assets/javascripts/pages/admin/features/content_tabs.js.coffee
425
- - app/assets/javascripts/pages/admin/features/editable_image.js.coffee.erb
426
- - app/assets/javascripts/pages/admin/features/modal.js.coffee
427
- - app/assets/javascripts/pages/admin/features/page_images.js
428
- - app/assets/javascripts/pages/admin/features/rich_text.js.coffee
429
- - app/assets/javascripts/pages/admin/features/tag_editor.js
430
- - app/assets/javascripts/pages/admin/lib/ajax_extensions.js.coffee
431
- - app/assets/javascripts/pages/admin/lib/center_on_screen.js.coffee
432
- - app/assets/javascripts/pages/admin/lib/jrichtextarea.js
433
- - app/assets/javascripts/pages/login_form.js.coffee
434
- - app/assets/stylesheets/pages/admin.css.erb
435
- - app/assets/stylesheets/pages/admin/buttons.css.erb
436
- - app/assets/stylesheets/pages/admin/controllers/artists.css.erb
437
- - app/assets/stylesheets/pages/admin/controllers/files.css.erb
438
- - app/assets/stylesheets/pages/admin/controllers/pages.css.scss.erb
439
- - app/assets/stylesheets/pages/admin/controllers/users.css.erb
440
- - app/assets/stylesheets/pages/admin/editable_image.css.erb
441
- - app/assets/stylesheets/pages/admin/forms.css.scss.erb
442
- - app/assets/stylesheets/pages/admin/header.css.erb
443
- - app/assets/stylesheets/pages/admin/images.css.scss.erb
444
- - app/assets/stylesheets/pages/admin/links.css.erb
445
- - app/assets/stylesheets/pages/admin/list_table.css.erb
446
- - app/assets/stylesheets/pages/admin/login.css.scss.erb
447
- - app/assets/stylesheets/pages/admin/modal.css.erb
448
- - app/assets/stylesheets/pages/admin/pagination.css.scss
449
- - app/assets/stylesheets/pages/admin/print.css.erb
450
- - app/assets/stylesheets/pages/admin/sidebar.css.erb
451
- - app/assets/stylesheets/pages/admin/sortable_images.css.erb
452
- - app/assets/stylesheets/pages/admin/tag_editor.css.scss.erb
453
- - app/assets/stylesheets/pages/admin/textarea.css.erb
552
+ - app/assets/javascripts/pages/admin.jsx
553
+ - app/assets/javascripts/pages/admin/components.jsx
554
+ - app/assets/javascripts/pages/admin/components/attachment.jsx
555
+ - app/assets/javascripts/pages/admin/components/attachment_editor.jsx
556
+ - app/assets/javascripts/pages/admin/components/attachments.jsx
557
+ - app/assets/javascripts/pages/admin/components/date_range_select.jsx
558
+ - app/assets/javascripts/pages/admin/components/drag_uploader.jsx
559
+ - app/assets/javascripts/pages/admin/components/editable_image.jsx
560
+ - app/assets/javascripts/pages/admin/components/file_upload_button.jsx
561
+ - app/assets/javascripts/pages/admin/components/focal_point.jsx
562
+ - app/assets/javascripts/pages/admin/components/grid_image.jsx
563
+ - app/assets/javascripts/pages/admin/components/image_editor.jsx
564
+ - app/assets/javascripts/pages/admin/components/image_grid.jsx
565
+ - app/assets/javascripts/pages/admin/components/image_uploader.jsx
566
+ - app/assets/javascripts/pages/admin/components/modal.jsx
567
+ - app/assets/javascripts/pages/admin/components/modal_store.jsx
568
+ - app/assets/javascripts/pages/admin/components/page_dates.jsx
569
+ - app/assets/javascripts/pages/admin/components/page_files.jsx
570
+ - app/assets/javascripts/pages/admin/components/page_images.jsx
571
+ - app/assets/javascripts/pages/admin/components/page_tree.jsx
572
+ - app/assets/javascripts/pages/admin/components/page_tree_node.jsx
573
+ - app/assets/javascripts/pages/admin/components/page_tree_store.jsx
574
+ - app/assets/javascripts/pages/admin/components/rich_text_area.jsx
575
+ - app/assets/javascripts/pages/admin/components/rich_text_toolbar.jsx
576
+ - app/assets/javascripts/pages/admin/components/toast.jsx
577
+ - app/assets/javascripts/pages/admin/components/toast_store.jsx
578
+ - app/assets/javascripts/pages/admin/features/content_tabs.jsx
579
+ - app/assets/javascripts/pages/admin/features/edit_page.jsx
580
+ - app/assets/javascripts/pages/admin/features/rich_text.jsx
581
+ - app/assets/javascripts/pages/admin/features/tag_editor.jsx
582
+ - app/assets/javascripts/pages/admin/lib/tree.jsx
583
+ - app/assets/javascripts/pages/login_form.jsx
584
+ - app/assets/stylesheets/pages/admin.scss
585
+ - app/assets/stylesheets/pages/admin/components/archive.scss
586
+ - app/assets/stylesheets/pages/admin/components/attachments.scss
587
+ - app/assets/stylesheets/pages/admin/components/buttons.scss
588
+ - app/assets/stylesheets/pages/admin/components/forms.scss
589
+ - app/assets/stylesheets/pages/admin/components/header.scss
590
+ - app/assets/stylesheets/pages/admin/components/image_editor.scss
591
+ - app/assets/stylesheets/pages/admin/components/image_grid.scss
592
+ - app/assets/stylesheets/pages/admin/components/image_uploader.scss
593
+ - app/assets/stylesheets/pages/admin/components/layout.scss
594
+ - app/assets/stylesheets/pages/admin/components/links.scss
595
+ - app/assets/stylesheets/pages/admin/components/list_table.scss
596
+ - app/assets/stylesheets/pages/admin/components/login.scss
597
+ - app/assets/stylesheets/pages/admin/components/modal.scss
598
+ - app/assets/stylesheets/pages/admin/components/page_tree.scss
599
+ - app/assets/stylesheets/pages/admin/components/pagination.scss
600
+ - app/assets/stylesheets/pages/admin/components/sidebar.scss
601
+ - app/assets/stylesheets/pages/admin/components/tag_editor.scss
602
+ - app/assets/stylesheets/pages/admin/components/textarea.scss
603
+ - app/assets/stylesheets/pages/admin/components/toast.scss
604
+ - app/assets/stylesheets/pages/admin/components/toolbar.scss
605
+ - app/assets/stylesheets/pages/admin/controllers/pages.scss
606
+ - app/assets/stylesheets/pages/admin/controllers/users.scss
607
+ - app/assets/stylesheets/pages/admin/mixins/breakpoints.scss
608
+ - app/assets/stylesheets/pages/admin/mixins/clearfix.scss
609
+ - app/assets/stylesheets/pages/admin/mixins/gradients.scss
610
+ - app/assets/stylesheets/pages/admin/vars.scss
454
611
  - app/assets/stylesheets/pages/errors.css
455
612
  - app/controller_dummies/admin/admin_controller.rb
456
613
  - app/controller_dummies/application_controller.rb
614
+ - app/controller_dummies/attachments_controller.rb
457
615
  - app/controller_dummies/frontend_controller.rb
458
616
  - app/controller_dummies/images_controller.rb
459
617
  - app/controller_dummies/page_files_controller.rb
460
618
  - app/controller_dummies/pages_controller.rb
461
619
  - app/controller_dummies/sitemaps_controller.rb
620
+ - app/controllers/admin/attachments_controller.rb
462
621
  - app/controllers/admin/categories_controller.rb
463
622
  - app/controllers/admin/images_controller.rb
464
623
  - app/controllers/admin/invites_controller.rb
465
- - app/controllers/admin/page_comments_controller.rb
466
- - app/controllers/admin/page_files_controller.rb
467
- - app/controllers/admin/page_images_controller.rb
468
624
  - app/controllers/admin/pages_controller.rb
469
625
  - app/controllers/admin/password_resets_controller.rb
470
626
  - app/controllers/admin/users_controller.rb
627
+ - app/controllers/concerns/pages_core/admin/news_page_controller.rb
628
+ - app/controllers/concerns/pages_core/admin/persistent_params.rb
471
629
  - app/controllers/concerns/pages_core/authentication.rb
472
- - app/controllers/concerns/pages_core/domain_based_cache.rb
473
- - app/controllers/concerns/pages_core/exception_handler.rb
630
+ - app/controllers/concerns/pages_core/error_renderer.rb
631
+ - app/controllers/concerns/pages_core/error_reporting.rb
474
632
  - app/controllers/concerns/pages_core/policies_helper.rb
633
+ - app/controllers/concerns/pages_core/preview_pages_controller.rb
475
634
  - app/controllers/concerns/pages_core/process_titler.rb
635
+ - app/controllers/concerns/pages_core/rss_controller.rb
636
+ - app/controllers/concerns/pages_core/static_cache_controller.rb
476
637
  - app/controllers/errors_controller.rb
477
638
  - app/controllers/pages_core/admin_controller.rb
478
- - app/controllers/pages_core/application_controller.rb
639
+ - app/controllers/pages_core/attachments_controller.rb
640
+ - app/controllers/pages_core/base_controller.rb
479
641
  - app/controllers/pages_core/frontend/page_files_controller.rb
480
642
  - app/controllers/pages_core/frontend/pages_controller.rb
481
643
  - app/controllers/pages_core/frontend_controller.rb
@@ -483,44 +645,62 @@ files:
483
645
  - app/controllers/pages_core/sitemaps_controller.rb
484
646
  - app/controllers/sessions_controller.rb
485
647
  - app/formatters/pages_core/html_formatter.rb
648
+ - app/formatters/pages_core/image_embedder.rb
649
+ - app/formatters/pages_core/link_renderer.rb
486
650
  - app/helpers/admin/admin_helper.rb
487
651
  - app/helpers/admin/menu_helper.rb
488
652
  - app/helpers/admin/pages_helper.rb
489
653
  - app/helpers/application_helper.rb
490
654
  - app/helpers/frontend_helper.rb
491
655
  - app/helpers/pages_core/admin/admin_helper.rb
656
+ - app/helpers/pages_core/admin/content_tabs_helper.rb
657
+ - app/helpers/pages_core/admin/date_range_helper.rb
658
+ - app/helpers/pages_core/admin/form_builder.rb
659
+ - app/helpers/pages_core/admin/image_uploads_helper.rb
492
660
  - app/helpers/pages_core/admin/labelled_field_helper.rb
661
+ - app/helpers/pages_core/admin/page_blocks_helper.rb
662
+ - app/helpers/pages_core/admin/page_json_helper.rb
493
663
  - app/helpers/pages_core/admin/tag_editor_helper.rb
494
664
  - app/helpers/pages_core/application_helper.rb
665
+ - app/helpers/pages_core/attachments_helper.rb
495
666
  - app/helpers/pages_core/form_builder.rb
496
667
  - app/helpers/pages_core/frontend_helper.rb
497
668
  - app/helpers/pages_core/head_tags_helper.rb
498
669
  - app/helpers/pages_core/images_helper.rb
499
- - app/helpers/pages_core/login_helper.rb
500
- - app/indices/page_file_index.rb
501
- - app/indices/page_index.rb
502
- - app/indices/user_index.rb
670
+ - app/helpers/pages_core/meta_tags_helper.rb
671
+ - app/helpers/pages_core/open_graph_tags_helper.rb
672
+ - app/helpers/pages_core/page_path_helper.rb
503
673
  - app/jobs/pages_core/autopublish_job.rb
504
674
  - app/jobs/pages_core/sweep_cache_job.rb
505
675
  - app/mailers/admin_mailer.rb
676
+ - app/models/attachment.rb
506
677
  - app/models/autopublisher.rb
507
678
  - app/models/category.rb
508
679
  - app/models/concerns/pages_core/has_roles.rb
509
680
  - app/models/concerns/pages_core/humanizable_param.rb
510
- - app/models/concerns/pages_core/page_tree.rb
511
- - app/models/concerns/pages_core/searchable_page.rb
681
+ - app/models/concerns/pages_core/page_model/attachments.rb
682
+ - app/models/concerns/pages_core/page_model/autopublishable.rb
683
+ - app/models/concerns/pages_core/page_model/dated_page.rb
684
+ - app/models/concerns/pages_core/page_model/images.rb
685
+ - app/models/concerns/pages_core/page_model/localizable.rb
686
+ - app/models/concerns/pages_core/page_model/pathable.rb
687
+ - app/models/concerns/pages_core/page_model/redirectable.rb
688
+ - app/models/concerns/pages_core/page_model/sortable.rb
689
+ - app/models/concerns/pages_core/page_model/status.rb
690
+ - app/models/concerns/pages_core/page_model/templateable.rb
691
+ - app/models/concerns/pages_core/page_model/tree.rb
512
692
  - app/models/concerns/pages_core/sweepable.rb
513
693
  - app/models/concerns/pages_core/taggable.rb
514
- - app/models/concerns/pages_core/templateable.rb
515
694
  - app/models/image.rb
516
695
  - app/models/invite.rb
517
696
  - app/models/invite_role.rb
518
- - app/models/localization.rb
519
697
  - app/models/page.rb
520
698
  - app/models/page_builder.rb
521
- - app/models/page_comment.rb
699
+ - app/models/page_category.rb
700
+ - app/models/page_exporter.rb
522
701
  - app/models/page_file.rb
523
702
  - app/models/page_image.rb
703
+ - app/models/page_path.rb
524
704
  - app/models/password_reset_token.rb
525
705
  - app/models/role.rb
526
706
  - app/models/tag.rb
@@ -532,18 +712,28 @@ files:
532
712
  - app/policies/page_policy.rb
533
713
  - app/policies/policy.rb
534
714
  - app/policies/user_policy.rb
715
+ - app/serializers/admin/attachment_serializer.rb
535
716
  - app/serializers/admin/image_serializer.rb
717
+ - app/serializers/admin/page_file_serializer.rb
536
718
  - app/serializers/admin/page_image_serializer.rb
719
+ - app/serializers/page_export_serializer.rb
720
+ - app/serializers/page_file_export_serializer.rb
721
+ - app/serializers/page_image_export_serializer.rb
537
722
  - app/serializers/page_image_serializer.rb
538
723
  - app/serializers/page_serializer.rb
724
+ - app/services/pages_core/create_user_service.rb
725
+ - app/services/pages_core/destroy_invite_service.rb
726
+ - app/services/pages_core/invite_service.rb
727
+ - app/views/admin/images/show.json.jbuilder
539
728
  - app/views/admin/invites/new.html.erb
540
729
  - app/views/admin/invites/show.html.erb
541
- - app/views/admin/pages/_edit_comments.html.erb
542
730
  - app/views/admin/pages/_edit_content.html.erb
731
+ - app/views/admin/pages/_edit_files.html.erb
543
732
  - app/views/admin/pages/_edit_images.html.erb
544
733
  - app/views/admin/pages/_edit_metadata.html.erb
545
734
  - app/views/admin/pages/_edit_options.html.erb
546
- - app/views/admin/pages/_pagelisting.html.erb
735
+ - app/views/admin/pages/_list_item.html.erb
736
+ - app/views/admin/pages/deleted.html.erb
547
737
  - app/views/admin/pages/edit.html.erb
548
738
  - app/views/admin/pages/index.html.erb
549
739
  - app/views/admin/pages/new.html.erb
@@ -551,7 +741,6 @@ files:
551
741
  - app/views/admin/password_resets/show.html.erb
552
742
  - app/views/admin/users/_access_control.html.erb
553
743
  - app/views/admin/users/_list.html.erb
554
- - app/views/admin/users/_login_form.html.erb
555
744
  - app/views/admin/users/deactivated.html.erb
556
745
  - app/views/admin/users/edit.html.erb
557
746
  - app/views/admin/users/index.html.erb
@@ -559,17 +748,15 @@ files:
559
748
  - app/views/admin/users/new.html.erb
560
749
  - app/views/admin/users/new_password.html.erb
561
750
  - app/views/admin/users/show.html.erb
562
- - app/views/admin_mailer/comment_notification.text.erb
563
- - app/views/admin_mailer/error_report.html.erb
564
751
  - app/views/admin_mailer/invite.text.erb
565
752
  - app/views/admin_mailer/password_reset.text.erb
753
+ - app/views/errors/401.html.erb
566
754
  - app/views/errors/403.html.erb
567
755
  - app/views/errors/404.html.erb
568
756
  - app/views/errors/405.html.erb
757
+ - app/views/errors/422.html.erb
569
758
  - app/views/errors/500.html.erb
570
- - app/views/errors/500_critical.html.erb
571
759
  - app/views/errors/_generic_help.html.erb
572
- - app/views/errors/report.html.erb
573
760
  - app/views/feeds/pages.rss.builder
574
761
  - app/views/layouts/admin.html.erb
575
762
  - app/views/layouts/admin/_analytics.html.erb
@@ -577,50 +764,28 @@ files:
577
764
  - app/views/layouts/errors.html.erb
578
765
  - app/views/sitemaps/show.xml.builder
579
766
  - config/locales/en.yml
580
- - config/removed_migrations.yml
581
767
  - config/routes.rb
582
768
  - db/migrate/20111219033112_create_pages_tables.rb
583
- - db/migrate/20120627033112_rename_textbits.rb
584
- - db/migrate/20121010055412_drop_removed_tables.rb
585
- - db/migrate/20130130053932_add_queue_to_delayed_jobs.rb
586
- - db/migrate/20130303053932_remove_filter_from_localizations.rb
587
- - db/migrate/20130303160632_remove_imagesets.rb
588
- - db/migrate/20130303161732_remove_sms_subscribers.rb
589
- - db/migrate/20130823133208_update_page_redirect_to.rb
590
- - db/migrate/20140203183900_create_roles.rb
591
- - db/migrate/20140414150500_change_locale_names.rb
592
- - db/migrate/20140515130100_remove_sphinx_deltas.rb
593
- - db/migrate/20140604142100_remove_openid_url.rb
594
- - db/migrate/20140920231700_convert_images_to_dis.rb
595
- - db/migrate/20140922124600_convert_page_files_to_dis.rb
596
- - db/migrate/20141004003100_create_password_reset_tokens.rb
597
- - db/migrate/20141006181300_remove_user_cruft.rb
598
- - db/migrate/20141007173000_create_invites.rb
599
- - db/migrate/20150204130800_update_delayed_job_table.rb
600
- - db/migrate/20150401131300_localize_images.rb
601
- - db/migrate/20150520174300_add_meta_image_to_page.rb
602
- - db/migrate/20150904164200_add_pinned_to_tags.rb
603
769
  - lib/pages_core.rb
604
770
  - lib/pages_core/admin_menu_item.rb
605
771
  - lib/pages_core/archive_finder.rb
772
+ - lib/pages_core/attachment_embedder.rb
606
773
  - lib/pages_core/cache_sweeper.rb
607
774
  - lib/pages_core/configuration.rb
608
775
  - lib/pages_core/configuration/base.rb
609
776
  - lib/pages_core/configuration/pages.rb
777
+ - lib/pages_core/digest_verifier.rb
610
778
  - lib/pages_core/engine.rb
611
779
  - lib/pages_core/extensions.rb
612
- - lib/pages_core/extensions/hash_extensions.rb
613
780
  - lib/pages_core/extensions/string_extensions.rb
614
- - lib/pages_core/localizable.rb
615
- - lib/pages_core/localizable/active_record_extension.rb
616
- - lib/pages_core/localizable/class_methods.rb
617
- - lib/pages_core/localizable/configuration.rb
618
- - lib/pages_core/localizable/instance_methods.rb
619
- - lib/pages_core/localizable/localizer.rb
620
- - lib/pages_core/localizable/scope_extension.rb
781
+ - lib/pages_core/page_path_constraint.rb
621
782
  - lib/pages_core/pages_plugin.rb
622
- - lib/pages_core/paginates.rb
623
783
  - lib/pages_core/plugin.rb
784
+ - lib/pages_core/pub_sub.rb
785
+ - lib/pages_core/static_cache.rb
786
+ - lib/pages_core/static_cache/null_handler.rb
787
+ - lib/pages_core/static_cache/page_cache_handler.rb
788
+ - lib/pages_core/static_cache/varnish_handler.rb
624
789
  - lib/pages_core/templates.rb
625
790
  - lib/pages_core/templates/block_configuration.rb
626
791
  - lib/pages_core/templates/configuration.rb
@@ -630,18 +795,17 @@ files:
630
795
  - lib/pages_core/templates/template_configuration.rb
631
796
  - lib/pages_core/version.rb
632
797
  - lib/rails/generators/pages_core/frontend/frontend_generator.rb
633
- - lib/rails/generators/pages_core/frontend/templates/application.css.scss.erb
634
798
  - lib/rails/generators/pages_core/frontend/templates/application.js.erb
635
- - lib/rails/generators/pages_core/frontend/templates/base.css.scss.erb
636
- - lib/rails/generators/pages_core/frontend/templates/breakpoints.css.scss.erb
637
- - lib/rails/generators/pages_core/frontend/templates/hidpi.css.scss.erb
799
+ - lib/rails/generators/pages_core/frontend/templates/application.scss.erb
800
+ - lib/rails/generators/pages_core/frontend/templates/base.scss.erb
801
+ - lib/rails/generators/pages_core/frontend/templates/breakpoints.scss.erb
802
+ - lib/rails/generators/pages_core/frontend/templates/clearfix.scss.erb
638
803
  - lib/rails/generators/pages_core/frontend/templates/layout.html.erb
639
804
  - lib/rails/generators/pages_core/frontend/templates/normalize.css.erb
640
805
  - lib/rails/generators/pages_core/install/install_generator.rb
641
806
  - lib/rails/generators/pages_core/install/templates/active_job_initializer.rb
642
807
  - lib/rails/generators/pages_core/install/templates/application_controller.rb
643
808
  - lib/rails/generators/pages_core/install/templates/application_helper.rb
644
- - lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb
645
809
  - lib/rails/generators/pages_core/install/templates/default_page_template.html.erb
646
810
  - lib/rails/generators/pages_core/install/templates/delayed_job
647
811
  - lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb
@@ -651,23 +815,24 @@ files:
651
815
  - lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb
652
816
  - lib/rails/generators/pages_core/install/templates/pages_controller.rb
653
817
  - lib/rails/generators/pages_core/install/templates/pages_initializer.rb
654
- - lib/rails/generators/pages_core/install/templates/thinking_sphinx.yml
655
818
  - lib/rails/generators/pages_core/rspec/rspec_generator.rb
656
819
  - lib/rails/generators/pages_core/rspec/templates/factories.rb
657
820
  - lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb
821
+ - lib/rails/generators/pages_core/rspec/templates/page_templates_spec.rb
822
+ - lib/rails/generators/pages_core/rspec/templates/rails_helper.rb
658
823
  - lib/rails/generators/pages_core/rspec/templates/spec_helper.rb
659
- - lib/tasks/db.rake
660
824
  - lib/tasks/pages.rake
661
- - lib/tasks/pages/assets.rake
662
825
  - lib/tasks/pages/cache.rake
663
- - lib/tasks/pages/update.rake
826
+ - lib/tasks/pages/export.rake
827
+ - lib/tasks/pages/page_paths.rake
664
828
  - template.rb
665
- - vendor/assets/javascripts/jquery.dimscreen.js
666
- - vendor/assets/javascripts/jquery.fieldselection.js
829
+ - vendor/assets/javascripts/ReactCrop.min.js
830
+ - vendor/assets/javascripts/reflux.min.js
831
+ - vendor/assets/stylesheets/ReactCrop.css
667
832
  homepage: ''
668
833
  licenses: []
669
834
  metadata: {}
670
- post_install_message:
835
+ post_install_message:
671
836
  rdoc_options: []
672
837
  require_paths:
673
838
  - lib
@@ -675,16 +840,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
675
840
  requirements:
676
841
  - - ">="
677
842
  - !ruby/object:Gem::Version
678
- version: 1.9.2
843
+ version: 2.7.0
679
844
  required_rubygems_version: !ruby/object:Gem::Requirement
680
845
  requirements:
681
846
  - - ">="
682
847
  - !ruby/object:Gem::Version
683
848
  version: '0'
684
849
  requirements: []
685
- rubyforge_project: "."
686
- rubygems_version: 2.5.1
687
- signing_key:
850
+ rubygems_version: 3.1.4
851
+ signing_key:
688
852
  specification_version: 4
689
853
  summary: Pages Core
690
854
  test_files: []