push_type_admin 0.1.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.md +20 -0
- data/README.md +3 -0
- data/app/assets/images/push_type/icon-file-audio.png +0 -0
- data/app/assets/images/push_type/icon-file-document.png +0 -0
- data/app/assets/images/push_type/icon-file-video.png +0 -0
- data/app/assets/images/push_type/pushtype-logo.png +0 -0
- data/app/assets/javascripts/push_type/admin.js.coffee +74 -0
- data/app/assets/javascripts/push_type/asset_pipeline.js.coffee.erb +17 -0
- data/app/assets/javascripts/push_type/assets.js.coffee +61 -0
- data/app/assets/javascripts/push_type/nodes.js.coffee +60 -0
- data/app/assets/stylesheets/push_type/admin.scss +515 -0
- data/app/assets/stylesheets/push_type/foundation_and_overrides.scss +1443 -0
- data/app/assets/stylesheets/push_type/froala_theme.scss +373 -0
- data/app/controllers/push_type/admin_controller.rb +14 -0
- data/app/controllers/push_type/assets_controller.rb +68 -0
- data/app/controllers/push_type/nodes_controller.rb +93 -0
- data/app/controllers/push_type/users_controller.rb +73 -0
- data/app/helpers/push_type/admin_helper.rb +15 -0
- data/app/helpers/push_type/assets_helper.rb +15 -0
- data/app/helpers/push_type/users_helper.rb +13 -0
- data/app/views/kaminari/_first_page.html.haml +2 -0
- data/app/views/kaminari/_gap.html.haml +2 -0
- data/app/views/kaminari/_last_page.html.haml +2 -0
- data/app/views/kaminari/_next_page.html.haml +2 -0
- data/app/views/kaminari/_page.html.haml +2 -0
- data/app/views/kaminari/_paginator.html.haml +11 -0
- data/app/views/kaminari/_prev_page.html.haml +2 -0
- data/app/views/layouts/push_type/admin.html.erb +55 -0
- data/app/views/push_type/assets/_form.html.haml +50 -0
- data/app/views/push_type/assets/edit.html.haml +4 -0
- data/app/views/push_type/assets/index.html.haml +34 -0
- data/app/views/push_type/assets/new.html.haml +4 -0
- data/app/views/push_type/fields/_default.html.haml +2 -0
- data/app/views/push_type/nodes/_form_fields.html.haml +61 -0
- data/app/views/push_type/nodes/_meta_table.html.haml +8 -0
- data/app/views/push_type/nodes/_new_node_button.html.haml +17 -0
- data/app/views/push_type/nodes/edit.html.haml +7 -0
- data/app/views/push_type/nodes/index.html.haml +56 -0
- data/app/views/push_type/nodes/new.html.haml +11 -0
- data/app/views/push_type/users/_form.html.haml +30 -0
- data/app/views/push_type/users/_meta_table.html.haml +0 -0
- data/app/views/push_type/users/_user.html.haml +7 -0
- data/app/views/push_type/users/edit.html.haml +4 -0
- data/app/views/push_type/users/index.html.haml +24 -0
- data/app/views/push_type/users/new.html.haml +4 -0
- data/config/initializers/inline_error_messages.rb +7 -0
- data/config/initializers/kaminari_config.rb +10 -0
- data/config/routes.rb +16 -0
- data/lib/push_type/admin/engine.rb +16 -0
- data/lib/push_type/admin.rb +27 -0
- data/lib/push_type/breadcrumbs/foundation.rb +11 -0
- data/lib/push_type/rails/form_builder.rb +13 -0
- data/lib/push_type_admin.rb +1 -0
- data/lib/tasks/push_type_tasks.rake +4 -0
- data/test/controllers/push_type/assets_controller_test.rb +67 -0
- data/test/controllers/push_type/nodes_controller_test.rb +101 -0
- data/test/controllers/push_type/users_controller_test.rb +72 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +16 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/page.rb +10 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/nodes/page.html.erb +3 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config/application.rb +14 -0
- data/test/dummy/config/boot.rb +4 -0
- data/test/dummy/config/database.yml +85 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +78 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/assets.rb +8 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/push_type.rb +5 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +59 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/migrate/20141205213506_create_push_type_users.push_type.rb +13 -0
- data/test/dummy/db/migrate/20141205213507_create_push_type_nodes.push_type.rb +25 -0
- data/test/dummy/db/migrate/20141205213508_create_push_type_node_hierarchies.push_type.rb +17 -0
- data/test/dummy/db/migrate/20141205213509_create_push_type_assets.push_type.rb +19 -0
- data/test/dummy/db/schema.rb +67 -0
- data/test/dummy/db/seeds.rb +7 -0
- data/test/dummy/log/test.log +2322 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/robots.txt +5 -0
- data/test/dummy/tmp/cache/assets/test/sass/53cc07db53069364c4116d03ae9493d85566d502/_functions.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_accordion.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_alert-boxes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_block-grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_clearing.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_dropdown-buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_dropdown.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_flex-video.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_global.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_icon-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_inline-lists.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_joyride.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_keystrokes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_magellan.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_offcanvas.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_orbit.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_pricing-tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_range-slider.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_reveal.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_side-nav.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_split-buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_sub-nav.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_switches.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_tabs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_thumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_tooltips.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_top-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_type.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_visibility.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/68968d876746de0885a03aacd18ec354e154ffed/foundation-icons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/805c0b657f4b79d174c13bc42a4759a57d5a5484/foundation.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/806626419a476c98acb0fcf38feea6623fb99ce0/admin.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/806626419a476c98acb0fcf38feea6623fb99ce0/foundation_and_overrides.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/806626419a476c98acb0fcf38feea6623fb99ce0/froala_theme.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/00ae61e049df7e5570b8c57835868cfe +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/042e6dec69dbf88f86f5e8c360b52bcb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0448802b256c25a379824969bf01241e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/05f11ba90b1f59f6a65002fef96de531 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/090f2c9bc57f8e73105a98a800051354 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/09fd8b22d7c059ed78b065ffa44138a4 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0a01f1c3288f982772ed595695292767 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0b83e9e8467b82a0991df336697846e0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/10a718d020e26634ffd3071d63270dd1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/12375f1bf3d91db0a06c3fc436918949 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/12a4fbfdcb2f1ed98ebd869761bce11e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1505f3ddd93d7be2405c81d84a45cbfb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/161b66dc0b76d65e577b5465f86cb767 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/18ee507bade4f16ba4f6a5c93f3aac22 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1c63cb75109171c505bf1b6b3f26513b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1da46bb361bbd7b80dc66e5737dbf2a7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2479bd5cbccdeac3ab4df62c2c12e8d3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2599cde7c63354f12928a204c42fe68b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/25b238c2ec907a80d53955a0bb81073c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2821176477eee8de7b9581f0564d0947 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2a00ce050c10f75691b820576ec3aefd +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2a854446f76c1902defbfa436b1e7df8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2c745da65bdbc8ebb88b6bce026972b9 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2d1bc2b9dc5ee0ed5635abc31fb1bc88 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/31c57ad31a65f9a951c6d7268cdedae5 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/337d12a0890572dfec336aa11e864651 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3a2e7d8d06318496bd7e5c6bac44adf8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3d4f40cd6363f1841fa7c17dcbd281ce +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/47dcfb84d9a092ad939f512e1d3db43c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/48582f4afd1c515e7eb10a8fc2195deb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4c6b223eba19a3d4009cbda20ed1ae2d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4fc498f23125a9811434c6d5d5b43b64 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/505162da4e90217e5f52f5e8f1922a0d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/557b45e924759b342404ddfb736f95a2 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/55d58e1add1ca367e262464e83ad82cf +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/55d7985953b175268932d2f7e50f64e0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/59992ed1702654aa166f8572af80a301 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/600202d00479f08d2e69019e34d12e65 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/62462f7d0da5dfe3ae7923c7c21325c0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/666e486cb09d9612ba03d995085ea02d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/67d67f783372c9b99e2ff84c12d38dfb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6d21cd96abbcb6506d99fb93e8a11196 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6e714e8b8ac03d2e562e8a71c40e00f8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6f2f2b2fbb1097278be40facf7aa8447 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/72e0f0b80593c7ccfaf939c504f8127f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7326e3e660754d56c46671c7347c5e97 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/75c5663a92b2003b794d5f5d184fde44 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7b63c613f1053bde6004342003178a0e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7d07558d12b9bd9b9dfa778344bab4ac +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7ea9d575b03f8effb678d4dcedf3d079 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7f0b91f5fa71c52d3cbe1f108fb7c942 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/805c63977d339feb2ea7b61e1141a32f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/81ba6a364949bd4ffe2732ae5745012d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/81e2498e0e1457dd93b47780ae28fc03 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/897553ff72f546645e24e94feec75255 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8a34d99aaa243ebb4e60f483a5b5a817 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8e20677e2b4bd3f063a63fcf9e673971 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8feb3d758b7824f15b301f9dc024c3f6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/932f699ead87a4b9910d47334ed14d60 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/959fa77a7302a3002d5fb1394575117b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/969e05674f51d3b5b500e605e0292573 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/972e71e7d6b360ef56c88716f3191aaf +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/98228623f6175426b2d7964b4a921cbb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/987bf17b1a3915d5c6d95ebda01e8f49 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9aef3ae1f0c62b895d86ab60901dd450 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9f65b180bd79d7b67e5fb1fe8ded1383 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a4ee671663a58ce1f1860b1e9a9d17fb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a55e988592ebc0d8e4e4ef1244ae4da7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a590260912e62280bb115dd52a953b18 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a6453a78eb0c813a0b69a12cb7c4ab2c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a721a930039ed66bd3f092ab1e9c8de6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a748bad0d4f5d6e6bbdf1b340905795b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a96494099d559bfd8cb5257e21cb196c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a970f64c67051f35069f45d8dad113a5 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/aaa6dc2bd59e21dd14b0c86a308a1d1f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ac1b1f0c521a6acb5833209d7b18d888 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b24f2d6f62512f4cb11c6a2e44bf90e4 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b28bcc6d89b692e6b74758c30e21b862 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b3b2a83d3d7d735130f0b029e58b29b8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b3d0193a1439465426a4d051a161291d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b657c356e24f45a8b92d4f4da9ff361d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b76beafa9aef0c7a18bf63fe612ecd17 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b771c2de3967bda011cf04e0979497cf +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b8a73c4d259957f05d45cb5d96d41ff1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ba87909b8d71ddaedd84c3f6c00dce72 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/badf6e6ab7c3d1cc2b180e5883005a40 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/bbfc8dec2c2cc07cf4c1708597316a77 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/bc732efa6ca399217b023bd1e04f0404 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/bd5b45287cfdac63ed7199b7982da02f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/bee4e1605077e29abd380b05b645cbb4 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c0e7a018799e51565da4aae3cd7409b4 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c190d0bdd188c43629f35b9f463b86af +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c2b59fd99edc4b53754f7cb4e160452f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c42a7aac68d827f88bcc25a41cdb5591 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c5ef052e357af6829f6c522a38916fc7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c705dc7fb9e60c7d39b5c23a101cd830 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c988fd2c5c9497ccef54f79a9e444ac6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cb761fc7bfc4c192abf5c946f863ab1e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ce523687d631719d872f2869d34803b0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d2215e57429ecae68a054210e665d787 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d30a320df486e076298c602d428f3145 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d3921fc37cc437f0933c4dee9d089fd8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d527d40cd214f965c2751831ef138ba7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d8daf6c8e5df881485c0e1139a275f6d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d9e5382620928a6b4a8cd70bdac10aa3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/dd803fd7a93619599c7e703c2b307411 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e05796fbbc7fcdcaefdd97534f2e4030 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e1c3eff1f3886da4c71a854d42077d10 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e568172da8ab8581f83f98dad0a73d29 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f02093872b151ddb0fd1074fe83ff846 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f100237ea34e5360da23f95cca21c340 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f25b88a46a5a3b1b179079f6c0e4039a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f31d581aaa301ef9ef6a08edc4319c35 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f5fcab9d313889bf6d14a05040aff5bc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f66bf7665e75e4d537977c71a5e39a4e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f6c61aec4cc93384f9655a7d8aba73fe +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/fa7e1f9a13f606e2603a17f8e00aa32a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/fcce52ee43ecad8cb3f18fc8f13a66b7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/fd5e59fed8301f86b74e551534fce2b2 +0 -0
- data/test/helpers/push_type/admin_helper_test.rb +25 -0
- data/test/helpers/push_type/assets_helper_test.rb +26 -0
- data/test/test_helper.rb +19 -0
- data/vendor/assets/javascripts/confirm_with_reveal.js.coffee +148 -0
- data/vendor/assets/javascripts/jquery.filedrop.js +568 -0
- data/vendor/assets/javascripts/jquery.sortable.js +81 -0
- data/vendor/assets/javascripts/jquery.sticky.js +170 -0
- metadata +724 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0cbf92079561b52b5fff07bedf439c15859cfa2a
|
4
|
+
data.tar.gz: 06007ba7129d9587f72b4ba6b2b400913a8a40fa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f5bb867b96a4ea65e0cf748b829a3e3db5d83913a4b9c4bcdf381775f2e153db89f2c8fd9a430265131bc53cf2d65c074e8120e359bed495879c0f6241823f5f
|
7
|
+
data.tar.gz: 35d91900238b20a916b29c50a7db7983831b5feb2bbf548c2c0f21cbbb0ef96e3795358746869535afbef9a3c0ab5d3e0bebfcca2e21decd38d2d223edc39988
|
data/LICENSE.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2014 Push Code Ltd
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
# listed below.
|
3
|
+
#
|
4
|
+
# Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
# or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
#
|
7
|
+
# It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
# compiled file.
|
9
|
+
#
|
10
|
+
# Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
|
11
|
+
# about supported directives.
|
12
|
+
#
|
13
|
+
#= require jquery
|
14
|
+
#= require jquery_ujs
|
15
|
+
#= require turbolinks
|
16
|
+
#= require foundation
|
17
|
+
#= require confirm_with_reveal
|
18
|
+
#= require angular
|
19
|
+
#= require froala_editor.min
|
20
|
+
#= require plugins/lists.min
|
21
|
+
#= require plugins/file_upload.min
|
22
|
+
#= require plugins/video.min
|
23
|
+
#= require jquery.sticky
|
24
|
+
#= require jquery.sortable
|
25
|
+
#= require jquery.filedrop
|
26
|
+
#= require moment
|
27
|
+
#= require_self
|
28
|
+
#= require_tree .
|
29
|
+
|
30
|
+
Turbolinks.enableProgressBar()
|
31
|
+
|
32
|
+
@app = angular.module 'push_type', []
|
33
|
+
|
34
|
+
@app.directive 'sidePanel', ->
|
35
|
+
(scope, $el, attrs) ->
|
36
|
+
$el.sticky
|
37
|
+
topSpacing: 80
|
38
|
+
getWidthFrom: '.sticky-wrapper'
|
39
|
+
responsiveWidth: true
|
40
|
+
|
41
|
+
# jQuery init
|
42
|
+
$(document).on 'ready page:load', ->
|
43
|
+
|
44
|
+
# Bootstrap foundation
|
45
|
+
$(document).foundation()
|
46
|
+
|
47
|
+
# Bootstrap Angular
|
48
|
+
angular.bootstrap $('[role="main"]'), ['push_type']
|
49
|
+
|
50
|
+
$('.sortable').sortable
|
51
|
+
handle: '.handle'
|
52
|
+
forcePlaceholderSize: true
|
53
|
+
.on 'sortupdate', (e, ui) ->
|
54
|
+
obj = { prev: ui.item.prev().data('id'), next: ui.item.next().data('id') }
|
55
|
+
$.post "/push_type/nodes/#{ ui.item.data('id') }/position", obj, 'json'
|
56
|
+
|
57
|
+
$('textarea.froala', '.rich_text').editable
|
58
|
+
inlineMode: false
|
59
|
+
height: 400
|
60
|
+
buttons: ['bold', 'italic', 'underline', 'sep', 'formatBlock', 'align', 'insertOrderedList', 'insertUnorderedList', 'sep', 'createLink', 'insertImage', 'uploadFile', 'insertVideo', 'table', 'sep', 'removeFormat', 'undo', 'redo', 'sep' ,'html']
|
61
|
+
blockTags:
|
62
|
+
n: 'Normal'
|
63
|
+
h1: 'Heading 1'
|
64
|
+
h2: 'Heading 2'
|
65
|
+
theme: 'pt'
|
66
|
+
|
67
|
+
$('textarea.froala', '.rich_text').on 'editable.focus', (e, editor) ->
|
68
|
+
editor.$box.addClass 'focus'
|
69
|
+
|
70
|
+
$('textarea.froala', '.rich_text').on 'editable.blur', (e, editor) ->
|
71
|
+
editor.$box.removeClass 'focus'
|
72
|
+
|
73
|
+
$(document).confirmWithReveal()
|
74
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%
|
2
|
+
namespace = 'push_type'
|
3
|
+
imgs = {}
|
4
|
+
|
5
|
+
Dir.chdir PushType::Admin::Engine.root.join('app', 'assets', 'images', namespace) do
|
6
|
+
imgs = Dir["**"].inject({}) do |h,f|
|
7
|
+
asset = File.join(namespace, f)
|
8
|
+
h.merge! asset => image_path(asset)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
%>
|
12
|
+
|
13
|
+
@rails_assets = <%= imgs.to_json %>
|
14
|
+
|
15
|
+
@asset_path = (name) -> window.rails_assets[name]
|
16
|
+
|
17
|
+
@kaminari_per_page = <%= Kaminari.config.default_per_page %>
|
@@ -0,0 +1,61 @@
|
|
1
|
+
@app.controller 'AssetListCtrl', ['$scope', ($scope) ->
|
2
|
+
|
3
|
+
$scope.assetCount = ->
|
4
|
+
$scope.assets.length
|
5
|
+
|
6
|
+
$scope.editUrl = (asset) ->
|
7
|
+
$scope.assetUrl.replace(/~id/, asset.id)
|
8
|
+
|
9
|
+
$scope.previewthumbUrl = (asset) ->
|
10
|
+
url = asset.preview_thumb_url
|
11
|
+
if asset['image?'] then url else asset_path(url)
|
12
|
+
|
13
|
+
$scope.afterUpload = (asset) ->
|
14
|
+
$scope.assets.unshift(asset)
|
15
|
+
$scope.assets = $scope.assets.slice(0, kaminari_per_page)
|
16
|
+
|
17
|
+
]
|
18
|
+
|
19
|
+
@app.controller 'AssetUploadCtrl', ['$scope', ($scope) ->
|
20
|
+
|
21
|
+
$scope.method = ->
|
22
|
+
if $scope.asset['new_record?'] then 'post' else 'patch'
|
23
|
+
|
24
|
+
$scope.saveUrl = ->
|
25
|
+
if $scope.asset['new_record?'] then $scope.createUrl else $scope.updateUrl.replace(/~id$/, $scope.asset.id)
|
26
|
+
|
27
|
+
$scope.saveButtonClass = ->
|
28
|
+
if $scope.asset['new_record?'] then 'success' else 'primary'
|
29
|
+
|
30
|
+
$scope.saveButtonText = ->
|
31
|
+
if $scope.asset['new_record?'] then 'Upload file' else 'Update media'
|
32
|
+
|
33
|
+
$scope.uploadedDate = ->
|
34
|
+
moment($scope.asset.created_at).format('Do MMM YYYY, h:mma')
|
35
|
+
|
36
|
+
$scope.previewthumbUrl = ->
|
37
|
+
url = $scope.asset.preview_thumb_url
|
38
|
+
if $scope.asset['image?'] then url else asset_path(url)
|
39
|
+
|
40
|
+
$scope.afterUpload = (asset) ->
|
41
|
+
$scope.asset = asset
|
42
|
+
|
43
|
+
]
|
44
|
+
|
45
|
+
@app.directive 'assetUpload', ->
|
46
|
+
(scope, $el, attrs) ->
|
47
|
+
if attrs.assetFallback
|
48
|
+
scope.hideFileField = true
|
49
|
+
$el.filedrop
|
50
|
+
fallback_id: attrs.assetFallback
|
51
|
+
url: attrs.assetUpload
|
52
|
+
paramname: 'asset[file]'
|
53
|
+
maxfiles: attrs.assetMaxfiles || 1
|
54
|
+
dragOver: -> $(this).addClass('hover')
|
55
|
+
dragLeave: -> $(this).removeClass('hover')
|
56
|
+
drop: -> $(this).removeClass('hover')
|
57
|
+
uploadFinished: (i, file, response, time) ->
|
58
|
+
scope.afterUpload(response)
|
59
|
+
scope.$apply() unless scope.$$phase
|
60
|
+
|
61
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
@app.controller 'NodeFormCtrl', ['$scope', ($scope) ->
|
2
|
+
|
3
|
+
$scope.typeToString = ->
|
4
|
+
$scope.node.type.replace( /([A-Z])/g, (m) -> " #{ m.toLowerCase() }" ).trim()
|
5
|
+
|
6
|
+
$scope.setSlug = ->
|
7
|
+
if $scope.node['new_record?']
|
8
|
+
$scope.node.slug = $scope.node.title.toLowerCase().replace(/[\s\_]/g, '-').replace(/[^\w\-]/g, '')
|
9
|
+
|
10
|
+
$scope.permalinkVisibility = ->
|
11
|
+
if $scope.node.slug? then 'visible' else null
|
12
|
+
|
13
|
+
$scope.saveButtonClass = ->
|
14
|
+
if $scope.node.status == 'published' then 'success' else 'primary'
|
15
|
+
|
16
|
+
$scope.saveButtonText = ->
|
17
|
+
switch $scope.node.status
|
18
|
+
when 'draft'
|
19
|
+
if $scope.node['new_record?'] || !$scope.node.published_at?
|
20
|
+
'Save draft'
|
21
|
+
else
|
22
|
+
"Unpublish #{ $scope.typeToString() }"
|
23
|
+
when 'published'
|
24
|
+
if $scope.node['new_record?'] || !$scope.node.published_at?
|
25
|
+
if $scope.publishedAtMoment().toDate() > new Date() then 'Publish later' else 'Publish now'
|
26
|
+
else
|
27
|
+
"Save #{ $scope.typeToString() }"
|
28
|
+
|
29
|
+
|
30
|
+
$scope.publishedDates = ->
|
31
|
+
switch $scope.node.status
|
32
|
+
when 'draft'
|
33
|
+
'N/A'
|
34
|
+
when 'published'
|
35
|
+
if $scope.node['new_record?'] || !$scope.node.published_at?
|
36
|
+
if $scope.publishedAtMoment().toDate() > new Date() then $scope.publishedAtMoment().format('Do MMM YYYY, h:mma') else 'Immediately'
|
37
|
+
else
|
38
|
+
$scope.publishedAtMoment().format('Do MMM YYYY, h:mma')
|
39
|
+
|
40
|
+
|
41
|
+
$scope.publishedAtMoment = ->
|
42
|
+
$scope.published_at ||= if $scope.node.published_at then moment($scope.node.published_at) else moment()
|
43
|
+
|
44
|
+
]
|
45
|
+
|
46
|
+
@app.directive 'nodeStatus', ->
|
47
|
+
(scope, $el, attrs) ->
|
48
|
+
$el.on 'click', (e) ->
|
49
|
+
e.preventDefault()
|
50
|
+
scope.node.status = attrs.nodeStatus
|
51
|
+
$(this).foundation 'dropdown', 'close', $(this).parents('.f-dropdown')
|
52
|
+
scope.$apply() unless scope.$$phase
|
53
|
+
|
54
|
+
@app.directive 'nodeDatetime', ->
|
55
|
+
(scope, $el, attrs) ->
|
56
|
+
$el.on 'change', (e) ->
|
57
|
+
dateArray = $(this).siblings('select').andSelf().map( -> $(this).val() ).get()
|
58
|
+
dateArray[1]--
|
59
|
+
scope[attrs.nodeDatetime] = moment(dateArray)
|
60
|
+
scope.$apply() unless scope.$$phase
|