rubber_ring 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +0 -0
- data/README.md +31 -26
- data/Rakefile +0 -0
- data/app/assets/images/glyphicons-halflings-white.png +0 -0
- data/app/assets/images/glyphicons-halflings.png +0 -0
- data/app/assets/javascripts/libs/dropzone.js +0 -0
- data/app/assets/javascripts/libs/h5utils.js +0 -0
- data/app/assets/javascripts/rubber_ring/application.js +17 -17
- data/app/assets/javascripts/rubber_ring/attachment_dragger.coffee +1 -1
- data/app/assets/javascripts/rubber_ring/attachment_manager.coffee +1 -1
- data/app/assets/javascripts/rubber_ring/attachment_uploader.coffee +0 -0
- data/app/assets/javascripts/rubber_ring/dropdown_menu.coffee +0 -0
- data/app/assets/javascripts/rubber_ring/editor.coffee +48 -56
- data/app/assets/javascripts/rubber_ring/link_editor.coffee +0 -0
- data/app/assets/javascripts/rubber_ring/persistence_manager.coffee +77 -74
- data/app/assets/javascripts/rubber_ring/template_editor.coffee +76 -76
- data/app/assets/javascripts/rubber_ring/util.coffee +22 -22
- data/app/assets/stylesheets/libs/bootstrap.scss.erb +0 -0
- data/app/assets/stylesheets/rubber_ring/application.css +0 -0
- data/app/assets/stylesheets/rubber_ring/cms.scss +200 -183
- data/app/concerns/rubber_ring/build.rb +4 -1
- data/app/concerns/rubber_ring/publish.rb +0 -0
- data/app/concerns/rubber_ring/util.rb +0 -0
- data/app/controllers/rubber_ring/attachments_controller.rb +52 -52
- data/app/controllers/rubber_ring/cms_controller.rb +57 -41
- data/app/controllers/rubber_ring/rubber_ring_controller.rb +67 -67
- data/app/controllers/rubber_ring/sessions_controller.rb +0 -0
- data/app/helpers/rubber_ring/cms_helper.rb +127 -122
- data/app/models/rubber_ring/page.rb +126 -126
- data/app/models/rubber_ring/page_content.rb +5 -5
- data/app/models/rubber_ring/page_template.rb +5 -5
- data/app/views/layouts/rubber_ring/application.html.erb +0 -0
- data/app/views/rubber_ring/_application.html.erb +7 -0
- data/app/views/rubber_ring/_head.html.erb +0 -0
- data/app/views/rubber_ring/_template_control.html.erb +19 -20
- data/app/views/rubber_ring/sessions/new.html.erb +0 -0
- data/config/routes.rb +20 -20
- data/db/migrate/20130520170602_create_pages.rubber_ring.rb +11 -11
- data/db/migrate/20130520170603_create_rubber_ring_page_contents.rubber_ring.rb +11 -11
- data/db/migrate/20130520170604_create_rubber_ring_page_templates.rubber_ring.rb +14 -14
- data/db/seeds.rb +0 -0
- data/lib/generators/rubber_ring/install/USAGE +0 -0
- data/lib/generators/rubber_ring/install/install_generator.rb +0 -0
- data/lib/generators/rubber_ring/install/templates/application.js +0 -0
- data/lib/generators/rubber_ring/install/templates/layout.html.erb +0 -0
- data/lib/generators/rubber_ring/install/templates/publish_template.yml +0 -0
- data/lib/generators/rubber_ring/install/templates/settings_template.rb +0 -0
- data/lib/generators/rubber_ring/page/USAGE +0 -0
- data/lib/generators/rubber_ring/page/page_generator.rb +0 -0
- data/lib/generators/rubber_ring/page/templates/action.html.erb +0 -0
- data/lib/generators/rubber_ring/page/templates/controller.rb +1 -9
- data/lib/rubber_ring/engine.rb +0 -0
- data/lib/rubber_ring/version.rb +1 -1
- data/lib/rubber_ring.rb +0 -0
- data/lib/tasks/rubber_ring_tasks.rake +0 -0
- data/spec/concerns/util_spec.rb +0 -0
- data/spec/controllers/attachments_controller_spec.rb +0 -0
- data/spec/controllers/cms_controller_spec.rb +150 -150
- data/spec/controllers/sessions_controller_spec.rb +0 -0
- data/spec/helpers/cms_helper_spec.rb +86 -63
- data/spec/javascripts/fixtures/duplicate_fields.html +2 -2
- data/spec/javascripts/fixtures/editable_fields.html +26 -15
- data/spec/javascripts/fixtures/templates.html +21 -21
- data/spec/javascripts/helpers/fixtures.js +10 -9
- data/spec/javascripts/helpers/jasmine-jquery.js +0 -0
- data/spec/javascripts/persistence_manager_spec.coffee +67 -5
- data/spec/javascripts/template_editor_spec.coffee +49 -29
- data/spec/javascripts/util_spec.coffee +0 -0
- data/spec/karma.conf.js +86 -86
- data/spec/models/page_spec.rb +196 -196
- data/spec/spec_helper.rb +0 -0
- data/test/dummy/README.rdoc +0 -0
- data/test/dummy/Rakefile +0 -0
- data/test/dummy/app/assets/images/baws.jpg +0 -0
- data/test/dummy/app/assets/javascripts/application.js +0 -0
- data/test/dummy/app/assets/stylesheets/application.css +22 -17
- data/test/dummy/app/controllers/application_controller.rb +0 -0
- data/test/dummy/app/controllers/example_controller.rb +1 -13
- data/test/dummy/app/helpers/application_helper.rb +0 -0
- data/test/dummy/app/views/example/page.html.erb +20 -20
- data/test/dummy/app/views/example/page2.html.erb +13 -13
- data/test/dummy/app/views/layouts/application.html.erb +0 -0
- data/test/dummy/app/views/layouts/rubber_ring/layout.html.erb +0 -0
- data/test/dummy/app/views/templates/_article.html.erb +7 -7
- data/test/dummy/app/views/templates/_blog_post.html.erb +0 -0
- data/test/dummy/app/views/templates/_test_article.html.erb +1 -0
- data/test/dummy/bin/bundle +0 -0
- data/test/dummy/bin/rails +0 -0
- data/test/dummy/bin/rake +0 -0
- data/test/dummy/config/application.rb +0 -0
- data/test/dummy/config/boot.rb +0 -0
- data/test/dummy/config/database.yml +0 -0
- data/test/dummy/config/environment.rb +0 -0
- data/test/dummy/config/environments/development.rb +0 -0
- data/test/dummy/config/environments/production.rb +0 -0
- data/test/dummy/config/environments/test.rb +36 -36
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -0
- data/test/dummy/config/initializers/inflections.rb +0 -0
- data/test/dummy/config/initializers/mime_types.rb +0 -0
- data/test/dummy/config/initializers/rubber_ring.rb +0 -0
- data/test/dummy/config/initializers/secret_token.rb +0 -0
- data/test/dummy/config/initializers/session_store.rb +0 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -0
- data/test/dummy/config/locales/en.yml +0 -0
- data/test/dummy/config/publish.yml +0 -0
- data/test/dummy/config/routes.rb +6 -6
- data/test/dummy/config.ru +0 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130524163154_create_pages.rubber_ring.rb +12 -12
- data/test/dummy/db/migrate/20130524163155_create_rubber_ring_page_contents.rubber_ring.rb +12 -12
- data/test/dummy/db/migrate/20130524163156_create_rubber_ring_page_templates.rubber_ring.rb +15 -15
- data/test/dummy/db/schema.rb +47 -47
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +136305 -23515
- data/test/dummy/log/test.log +51978 -37913
- data/test/dummy/public/404.html +0 -0
- data/test/dummy/public/422.html +0 -0
- data/test/dummy/public/500.html +0 -0
- data/test/dummy/public/build/assets/application.css +22 -17
- data/test/dummy/public/build/assets/application.js +1 -1
- data/test/dummy/public/build/assets/baws.jpg +0 -0
- data/test/dummy/public/build/page2.html +26 -0
- data/test/dummy/public/build/page2.html.gz +0 -0
- data/test/dummy/public/build/upload/en/example/page2/images/app_icon.png +0 -0
- data/test/dummy/public/build/upload/en/example/page2/images/lombard-mb.jpg +0 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/upload/en/example/page2/images/app_icon.png +0 -0
- data/test/dummy/public/upload/en/example/page2/images/lombard-mb.jpg +0 -0
- data/test/dummy/script/rails +6 -6
- data/test/dummy/tmp/cache/assets/development/sass/{9ef9c546be1f15bd909c4626b18ec56c75aac0ce → 6afeb0468679937dd837e6204d8c50da187b1b86}/cms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/8185f37c4f7dd19815b19559200f49fbf25b143a/cms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/{5df77a09e28ee5e99b029d061fc8c7aa74ed8701 → bf386cacb2b03aea3662489e692121614b700c0b}/bootstrap.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/005eccb32211a5ffdf41aad3484bbbb4 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/03d17cbcdf5da1d77daae00a93e1d8eb +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/05b70326df3b56707d29014e51681478 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{d3a4fc418bcc8c28e1477d8ae5981e44 → 0b7e113c317408196c4c5358803207aa} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{82af58bd517f6c898e82655012e662f3 → 0c110aab9d003ece8e77532f992c8ac4} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{c28f157f3954955f1bc4ca11b085e5f1 → 0ce49cb008857ab0744ac6c1b3abbc8b} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{5588d8e326c1909734ec317c6068a8b0 → 0f93e7090f8d9aec40d344a14507179e} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/10c6f6553bf3c14d2073a1dc826c4a03 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{d9a230b2c36f01509e607c6fc423b04f → 12500514d60c3ccadeada02813852775} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{980857c735dc36c6448aa7f0a63d5775 → 171f12428d9e1a40d9fb903b7e468b2d} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1893a62d9206a1fb9d89578a47e6dba8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1cb5879c7320b989a214a03dbb87bf33 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1f634c9d68d6c31855bf84ecb8e9d3a1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1fea295e8b5e18dd84023ff5526e6ef0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/20df56c42f6929328dc9f4b846fbdcfe +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{2bdc67c643c8348c3a0c294004f0fc35 → 2558b6957b25b93991193f924fc75bf8} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2d6a5f1b530809a08781e3fbd07e7ec5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{5802a1804470ed3a7258b19b52db2a15 → 2eb67a7041c777c64ffabc725ac0135a} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{95234f56258851aba6ec6fdab79bccb6 → 332d6068ca366c58c7051fd0916ee2d5} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/335356dbe0c1221a16b3fbb65d50737f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{c1bea1ba92a5304ffd28cc0af4b325d9 → 33af750044e6ee3fc377bf3e1dd729d8} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/33e002f0b7946cd298562302f71fdd77 +0 -0
- data/test/dummy/tmp/cache/assets/{production/sprockets/b81f49d8cf1dbae0f6d1ac4d9d923f17 → development/sprockets/340272cf2848f9a2d74d4f39c9b7642e} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3699e3a1c1e5ad798ad43a8f54dde72f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/373aa7486f8dc9d9548018802c99887d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{c843fdb2b33bf3e87833b23027a9adb9 → 3842af17b9a1edaab79091d7fa77ca66} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3877e7e301c281be42fc7aed5c3c5035 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{f72f9d88e28ad73485fcc24ef00be1f0 → 38b1ca58d468cedaa12b42af6bfe987d} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3beaa45c69e3414a2f8cdd63b39787a2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{021d5ce446187b362f442c81dbc04f33 → 3d57f0a9afcc890433a984ca738403fe} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{dcef36a5aee30ad53443ea58149b5c8d → 411e3d003692f86acf9dc756196ee980} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{77c132a2a2cf0e255033066a80db84e5 → 43c96209871dd10656ee0a583c4d224e} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/457aa334a405736412d49df345885a87 +0 -0
- data/test/dummy/tmp/cache/assets/{production/sprockets/5cceba1f5466432ddc1ca00d96bb6af2 → development/sprockets/4890c29871e7236809e31a1672e437e2} +0 -0
- data/test/dummy/tmp/cache/assets/{production/sprockets/ac74145f99b8dab2053e9ae97ab30b59 → development/sprockets/48e32a4ca9a9cd1e9f28fd35a9c423d4} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4d0e945a1aeffabb6ecbe4e9cfbe9900 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4ff563d50fe6491dbd10a9d82abbfdfb +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5158a96c0f825e9f03cb852177150660 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{896e0a59c127f026ecc3ce390c394c6d → 518189fb433e27f6948d41a436a6d152} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/53ba99192c5668743a46c5d52532ab35 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{f7147d2e3eeeaef3c6adef2176a6e9bf → 540ff91c3b7016e16673c857381527f3} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/54a2f8fde589b4f5b63efcc75a604223 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/58eb1186ddb15250a56597cd441118d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5b1e9ead20b30aaaaaf279bd8e3a798e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5cd9203ec5f16de07df500cd98f4f538 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5d5fb516cc13d631c73d6ba74527c7fd +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/62dc9541d46ef8f45853e3dca50132d8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/62e078b9f8be16ae7278da400568a918 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/63bca039746bf54ca66ddadf85fe3c74 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/68e88a76cf0ae3b9def99df2da275d32 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6a460bdc2d2ee57d882a40d6fbd9b706 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6cac7e80180a6143add53ed9a5b5290b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/716625880a04396476f184c7f6088be0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{3f68640e722ec4648c55f987c372bd1f → 736f87d63ed4ed02bff28b309e6d778d} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{6386e7f696b5dd6b1588f8051bf78083 → 74c9b855fe76feeff8b3258f58806976} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/764217b04b89871d5a19d639ad08d652 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7647442e68634bf506ceb6529c964ff8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{5cceba1f5466432ddc1ca00d96bb6af2 → 764bddd895dfccfa8ff3ef951c2b7c10} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{cf38200dbb3ee3a9d4dd84cc1d98ada2 → 7651480e2c1dcf5d039f4b10f214f3d4} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/76e238edb63fa832c6aa34fdf57e48a0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{c9d60e346e8632bb3945f7e94cce0036 → 7736698f9e23d715ba80ec4b2f3563f7} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7a4fe9e3d748b6627971dbfa57da0700 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{e0d30e94a53fc0d324ec29d883efd5a0 → 7b9859cd9bb07614b05aa61c7b028bda} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{2ee41f98f4c10cf8d2f5bd28d3bd1b96 → 7bc09e522e5e89e66d9d8f25553fedf5} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{0ceefdff5c5f03895722be20f6ddc26b → 7bcf92aa1727d37bb0c83d72ea558ee2} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7bd7316976b72a4351629802d0d996ac +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7e944534b79a5f98fa45ed7d0d51eb96 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{ffa3b9093369ac4b2758f390b0cafab4 → 7f204bc73e31e97abb5c1782a19038c8} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{a804717f8c355bf77d84f50220f6b66f → 7f37ba97c6c53d35bfb9a59e6e63f559} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8394c16a4541076a7958bd0949b389ec +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/851829daaa9bf188f9e6265fd060a111 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/85e0ba994b32ea76a422598c0635685b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{e64df0317c02ea3aaf0c6ac14b3c1994 → 86c5db77a82b91bbc060a99a2bf8b1d8} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{a6324741c7289fc944f62b446136cf36 → 8b3d169e10e3a60de99777b47413d8c6} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8b74d8c3afdb7163f50f52e10b198290 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8b916bd3400afb4fa336a44771290a7b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{b8bfca64ea01caaf52a8ad9336eba057 → 8c099909d672aad6dfdb0089cebd5cf2} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{672160928c4f356614c3b08e4dd18959 → 8c60f620d6fab20909c331508637d62e} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{cbfd1cdcc8926af0e015fd6e4a8cfe95 → 9056e523b48d7c3d49e3281cb8456f78} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{dfd54ce2610fa0bdcd51a47ebe236db4 → 908f17c91e5d3933c88ff294c2850c48} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{50b7c4b1c7e9124299cdd60ed2bf24fb → 92b0ddad5a7e9502c64f94f791f5b227} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/954bb101caefd0c65eaffd0806b60fe2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9993c347361adbac8056462899c084e5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9e0522ce72f83a2d14b9040602ad671e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9e4856eaccd8050e2cce8f2726bd1ff9 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{a1f2a21fb4036d971dd7f36cbfaf3320 → 9f98aa96aafbc2f72bc7ac8094f68d92} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{3052b99e985fcef75d109bb00139ebd3 → a255bb384e0691e2ecd1d9495e06e256} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a2719663651c4c47fea4601da97f674b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a30c5479ead2031a2e521cbfa989dca8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a54698289dfb98cb1c3314d66baf5f91 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a5fc721c5e049fa401638dbbe6f01666 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{ac74145f99b8dab2053e9ae97ab30b59 → a61abd48bf7b7983c84ddba700bf91c2} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{8dda9084ddc7e1b0ce01887b1bfbf7ad → a744ea358a5724c7d05808b92e5733fa} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{8a58cdb1fd183189a813cb45de9b5ecb → a8895017459d5367d9565e4291e9fde5} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{da3b6190521b537ef46190c99c630173 → a9fead645c2c02e002382413d89e2459} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/aafab1cd25c75cd144df598aa4d48858 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b064391743404352c0d06d1dae692bbc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b4520c38ae1fcee31b76f988e89dced4 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b4da7dedc3efa1b2420734a75da1402f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b5d99651fe9edd91970e38aaf098c3b6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{eb0dcd1f1d9812e1f7eb10b58e6b1ac9 → b867b71b34a178f9e2109581794d9746} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{cc2b3e15e75ad21a379b54186f0b3e63 → ba021acb60c8110caf167b5ddd687bd7} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{c8c8b769bfa8c90477013dc463dce8dd → bd84cc90c9c326977210109197cd8275} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{7b3469b8a6587d3fdde5168bcadc1829 → bf1f8c24547868c27b950882afb48ea6} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c0625d8a0a68787afb029146355062df +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c10a1994812cf191cd2ee4ef1f979bf0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{b0e2ed0167a71948529cf8507015a638 → c3d2138f727c60328d03d9035f0269bf} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c3fbb5f0690b2b69916c7cdfa2e6290b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c52fba073da9df226a864c2299f176f2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{b81f49d8cf1dbae0f6d1ac4d9d923f17 → c5b203e7f49dc081135c7781927db895} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{ce0f026a8f35c2824e68416229e502b0 → c641f626cb9e5f27cd52aea0c7968c4e} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c76f44b59338c92655cdb50acd5a51b7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{00dfd740f227e8eacf8dc70e8923aa30 → c887c975279c3c47685cf7124ed6a1bd} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{0fa97a19dba2b30d1269220457488770 → c9f9f57faf109718fb4af1d7c1817ecf} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ca5ae160185d691a80add93c7951ad8d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cb676c28d1dce8658c2ce261c40ff62d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cbb7cfa2a375a0ec163c71490071ae70 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{f5630318facff40bd4c26746561e91a5 → cc94cf292a326391d2963cba90f6bff5} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{e508a5da5b2a6ba14eaabe1fc9987f1b → cdeb8f35f199762f504a99aa024e4e87} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{de3b887062709ecbae0f43a1967507b3 → d2e2a9efa562c5d2fa461561ebcc1290} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d35e97e22dc8f2ebda1bed928a03ad8a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{ea3fbcf111211cf25a1e84abd8890069 → d5d3364d0d5abb33f4592912ab042d79} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{b0b79f650d323d7f80a4c7456dfce684 → d693a95e7a2c07d61b52e47271cbdbb5} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d7d736c1deac61de2c15341befe77a2e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d7d7b4cc12064138abb7eb48e552ce75 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{b344975ddf3cba471441e737f3ca0570 → d9bc0dc05b0c310aad16ab0b6d57427a} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{d06332ce072d0af8fda4bb34381370ef → da2a232cfd1b66aa714ec6d05c9731b1} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/dc3d91ae1d7f973c1354a745e97076dd +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e031b1069cbdfd42e262ccf38f88551f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e0c1faca0fe3b99790f1467965b76234 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e0e949e3a882294df1ac6efb53555963 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{d1734506eed8ef7a8e5c73e599b0debb → e3706c14b9e23f333d832cf3965247e3} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e65687a477607576014aae3cce13d0e1 +0 -0
- data/test/dummy/tmp/cache/assets/{production/sprockets/021d5ce446187b362f442c81dbc04f33 → development/sprockets/e6870ccbd0c9096ef15a3bc88af47a69} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{5449d7c21a154077e042b276efcfe346 → ea9cb066f249c19b768e4a04e3dccda1} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{17ea4d79d21b1f083c77f59ba9b3372d → ec43597e5721c7016d842c14a94fd8ac} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/eca6e114f4db2379855c8af72fafaa45 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ee94e4fa77c994757234bd188b221771 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/eeccfebd3c89a085ade5e49efa39fad9 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ef9bb4e9c3dedc3c4b035c2334693110 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f270587a206c85bb7163b16529b5ff69 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{19686f8659e57712f166b6b342155e6c → f4df1f1776710c62b946a89a0ca8d0ae} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{a6f3ccbc9cf1cae48fad3c83ffea2dd8 → f6b6006654dfb1057cd1e0903e98e6ba} +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/{8c20ea028e7ef9e18ab2517785615d32 → f885539e8180d385ffb61daf45b985dc} +0 -0
- metadata +255 -629
- data/test/dummy/db/production.sqlite3 +0 -0
- data/test/dummy/log/production.log +0 -2835
- data/test/dummy/public/assets/application-4e268cfccc1f26318c22a87c9e6b9095.js +0 -1
- data/test/dummy/public/assets/application-4e268cfccc1f26318c22a87c9e6b9095.js.gz +0 -0
- data/test/dummy/public/assets/application-e006d1eddf81edb7ed682d933d95167f.css +0 -18
- data/test/dummy/public/assets/application-e006d1eddf81edb7ed682d933d95167f.css.gz +0 -0
- data/test/dummy/public/assets/baws-27045628978f5e419d534d01c63ab3d6.jpg +0 -0
- data/test/dummy/public/assets/glyphicons-halflings-b47b2b03ec961163432b4cfe22cd6f31.png +0 -0
- data/test/dummy/public/assets/glyphicons-halflings-white-ec01567c9d4e5aba3fd3efa6e3054574.png +0 -0
- data/test/dummy/public/assets/manifest-d64ae8f73d13a404515a9c833b8ea4d7.json +0 -1
- data/test/dummy/public/assets/rubber_ring/application-166bd1c30eaa1f5b77c159a552ca0d1d.js +0 -4
- data/test/dummy/public/assets/rubber_ring/application-166bd1c30eaa1f5b77c159a552ca0d1d.js.gz +0 -0
- data/test/dummy/public/assets/rubber_ring/application-2211071c03381f99bd440671529d6d2d.css +0 -4358
- data/test/dummy/public/assets/rubber_ring/application-2211071c03381f99bd440671529d6d2d.css.gz +0 -0
- data/test/dummy/public/assets/rubber_ring/application-4ba3fedbf9929e7910c6f1497a82c4d1.css +0 -4380
- data/test/dummy/public/assets/rubber_ring/application-4ba3fedbf9929e7910c6f1497a82c4d1.css.gz +0 -0
- data/test/dummy/public/assets/rubber_ring/application-9b07b9a701e0e3a8bb9f2af9749adbac.js +0 -4
- data/test/dummy/public/assets/rubber_ring/application-9b07b9a701e0e3a8bb9f2af9749adbac.js.gz +0 -0
- data/test/dummy/public/build/assets/application-4e268cfccc1f26318c22a87c9e6b9095.js +0 -1
- data/test/dummy/public/build/assets/application-4e268cfccc1f26318c22a87c9e6b9095.js.gz +0 -0
- data/test/dummy/public/build/assets/application-e006d1eddf81edb7ed682d933d95167f.css +0 -18
- data/test/dummy/public/build/assets/application-e006d1eddf81edb7ed682d933d95167f.css.gz +0 -0
- data/test/dummy/public/build/assets/assets/images/baws.jpg +0 -0
- data/test/dummy/public/build/assets/assets/javascripts/application.js +0 -6
- data/test/dummy/public/build/assets/assets/stylesheets/application.css +0 -17
- data/test/dummy/public/build/assets/baws-27045628978f5e419d534d01c63ab3d6.jpg +0 -0
- data/test/dummy/public/build/assets/controllers/application_controller.rb +0 -5
- data/test/dummy/public/build/assets/controllers/example_controller.rb +0 -15
- data/test/dummy/public/build/assets/glyphicons-halflings-b47b2b03ec961163432b4cfe22cd6f31.png +0 -0
- data/test/dummy/public/build/assets/glyphicons-halflings-white-ec01567c9d4e5aba3fd3efa6e3054574.png +0 -0
- data/test/dummy/public/build/assets/helpers/application_helper.rb +0 -2
- data/test/dummy/public/build/assets/images/baws.jpg +0 -0
- data/test/dummy/public/build/assets/javascripts/application.js +0 -6
- data/test/dummy/public/build/assets/manifest-d64ae8f73d13a404515a9c833b8ea4d7.json +0 -1
- data/test/dummy/public/build/assets/rubber_ring/application-166bd1c30eaa1f5b77c159a552ca0d1d.js +0 -4
- data/test/dummy/public/build/assets/rubber_ring/application-166bd1c30eaa1f5b77c159a552ca0d1d.js.gz +0 -0
- data/test/dummy/public/build/assets/rubber_ring/application-2211071c03381f99bd440671529d6d2d.css +0 -4358
- data/test/dummy/public/build/assets/rubber_ring/application-2211071c03381f99bd440671529d6d2d.css.gz +0 -0
- data/test/dummy/public/build/assets/rubber_ring/application-4ba3fedbf9929e7910c6f1497a82c4d1.css +0 -4380
- data/test/dummy/public/build/assets/rubber_ring/application-4ba3fedbf9929e7910c6f1497a82c4d1.css.gz +0 -0
- data/test/dummy/public/build/assets/rubber_ring/application-9b07b9a701e0e3a8bb9f2af9749adbac.js +0 -4
- data/test/dummy/public/build/assets/rubber_ring/application-9b07b9a701e0e3a8bb9f2af9749adbac.js.gz +0 -0
- data/test/dummy/public/build/assets/stylesheets/application.css +0 -17
- data/test/dummy/public/build/assets/views/example/page.html.erb +0 -31
- data/test/dummy/public/build/assets/views/example/page2.html.erb +0 -10
- data/test/dummy/public/build/assets/views/layouts/application.html.erb +0 -14
- data/test/dummy/public/build/assets/views/layouts/rubber_ring/application.html.erb +0 -22
- data/test/dummy/public/build/assets/views/templates/_article.html.erb +0 -9
- data/test/dummy/public/build/upload/example/page/attachments/dbvis.license +0 -11
- data/test/dummy/public/build/upload/example/page/images/nutella.jpg +0 -0
- data/test/dummy/public/upload/en/example/page2/images/snb.jpg +0 -0
- data/test/dummy/public/upload/example/page/attachments/BoobyTrap.pdf +0 -0
- data/test/dummy/public/upload/example/page/attachments/main.html +0 -29
- data/test/dummy/public/upload/example/page/images/nutella.jpg +0 -0
- data/test/dummy/public/upload/example/page/images/snb.jpg +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/144bb07df25732886de34fc892b7c84d418ab110/cms.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/144bb07df25732886de34fc892b7c84d418ab110/cms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/9ef9c546be1f15bd909c4626b18ec56c75aac0ce/cms.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/c8e2efff656b76a26ac2cc5b5528e2ab9741b52a/bootstrap.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0218b228ced412bf87b02ca1b6be60b3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/052ccadc06984b221f1af051c32e613a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0894458794b51b17900c3d7abefc2aa5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0dd47da3f882e810b77e341b2bcd8abc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0de91e83e7c32c81d59a95bccdedb34f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0f096a9239d1b8b3c0d7f0a079ba8dc6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0f7e8127f53c92f853b2d1f7f3887b25 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/11eedd47a993ae43b134c4a8323fe16d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/14e730b33d5c77e57ef1d749d3f59d09 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/15c9e067f0a919861ad0e339ccabb55b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/162e101507dda2e6e16d3b6d20ac7155 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/16aa40bf8985a2f1f3e5dea5d72e6218 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1de6a759b14c2e99ab1641cad5521433 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/22a5108e690ae432a7d96ad27ae23356 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/22b9081ba2ffde46760b70110d440b5c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/25b52470f85dd54b7db5010558291a3a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2bf91fb337440bb9de78c2e6c6bcb95f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/37ffa56a3e6b08a7683a7b180bac45e9 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3fcb125156ac9a61f029c8a3ea0f9c40 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4081dfc5b927754129b209331c267441 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/41b539dab4032aeab4acc677841be9e1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/449d8c2f5dfa78068e85472dcee833fc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/47086b08a2d4af414320d0316d43636b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5343637e2648daefcbb5f6da93e22170 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5698b010ec22ef0139df1ec7921bada0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/573028956728676e330972a5f5b14ce1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/593143829da9d8a11949cdea62925830 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5a3608849ffcf6b5ffd0e0c519899b0f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5b28ba105943c3d7648e1c3a64497d6a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/613c2f7728f24118bf60b70e5467b04e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/62a837ae3a144323a69c9c742a0d338e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6428de878f492d768cfef210554eb78e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/65e9bcd0c838633f8992701c9486752f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/66c2afe997efeeb00c23f320cd5154b1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/69088615f9cef33446fa9ce9af0cbfcb +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/69c591a2e6598aef38bce6f1bfd9a583 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6c0e89bb1f1dd6fef016f0f030b155a4 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/74d99242046d9e80efe6e63d318f0d23 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/75ec5eefcca62d9bfa875ebb00e5acae +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7b89b96229652f6b39b4956713d83fb3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7bb9867f00636aa2e82aab7c8cde1156 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7d185042919d487db4ba3415054bf46b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7d541dc935739c00601285ef558dc186 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7d643ed86fb6b4f4bc4cbc1573edf562 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7d7c5e1189ffb57c1027fbb1f4849056 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7e0a659f836bf08aa7e86a3b3bd64a0a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8085921c00ddb46d86508243dd466f7a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/808e7e23c256ba7b4ae032c997b7f7d1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/813778cca328c7d9a71e6ad9bd6b5b93 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/898c074f26089ae77019f6bb0d7b87c3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8aa0c86835fc92349a71e76dfa064cf0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8d50fa8e9c1035cb3fbf50bcd2dad220 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/91307c7344a9f3f6f727226a87aaf6b1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/977b0e7fd460cd4ebb7482e0bc5dae0d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9a27bf15ceccd6156c4fbddfe430431f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9bbfa312e4f834114c0d7fcf15e9d591 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a0ddccdbb865754a76b131fa64932582 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/aac96aa095d26ef97f58eb4126da0bf7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ab136f8b2c696dd4d96e4899a0e8a4ac +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b2bf0c4531b78b65440c4c84908149fe +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b8acda462092c7c76b1322856f8e39ca +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/bf9bfc00456efae4900ccf4afcb76b1a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c01f86af98746d42cda25607438cc39f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c38b7c525999d0c070c974f0e1858073 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c4393dff2f5bbfb3db980d09f116e865 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c64c25da8d01c54ccf41dc956d9c9b44 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c6a502787893c3368f02209006ef3c3a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c6fc4a60aef7967d11f2188d3a8317e8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d60ab8b8e8ff9e6df6e04cb335e79e38 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d786e75d26229c39c37d842fb4de0479 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/dcf2f012e3f4d3ecc9b1a2f21290fefd +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/de7818edd5229ecc4f5808d25aea085d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e010156bdbfaae9098512ae86bf0288b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ea97af2f7f945b7c87258b2338f5bc0c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f2137fda0185692d9909c6bde77f6ac5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7428da6a5bd069f4c521897f2ff0549 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/fa7d07347669600716cb3cb894127454 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/fe4a3fb260cf70c451034496362792e4 +0 -0
- data/test/dummy/tmp/cache/assets/production/sass/144bb07df25732886de34fc892b7c84d418ab110/cms.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/production/sass/144bb07df25732886de34fc892b7c84d418ab110/cms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/production/sass/5df77a09e28ee5e99b029d061fc8c7aa74ed8701/bootstrap.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/production/sass/9ef9c546be1f15bd909c4626b18ec56c75aac0ce/cms.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/production/sass/c8e2efff656b76a26ac2cc5b5528e2ab9741b52a/bootstrap.scss.erbc +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/00dfd740f227e8eacf8dc70e8923aa30 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/052ccadc06984b221f1af051c32e613a +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/0894458794b51b17900c3d7abefc2aa5 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/0ceefdff5c5f03895722be20f6ddc26b +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/0dd47da3f882e810b77e341b2bcd8abc +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/0f096a9239d1b8b3c0d7f0a079ba8dc6 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/0f7e8127f53c92f853b2d1f7f3887b25 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/11eedd47a993ae43b134c4a8323fe16d +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/14e730b33d5c77e57ef1d749d3f59d09 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/16aa40bf8985a2f1f3e5dea5d72e6218 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/17ea4d79d21b1f083c77f59ba9b3372d +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/1893a62d9206a1fb9d89578a47e6dba8 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/1de6a759b14c2e99ab1641cad5521433 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/22a5108e690ae432a7d96ad27ae23356 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/2bf91fb337440bb9de78c2e6c6bcb95f +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/37ffa56a3e6b08a7683a7b180bac45e9 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/3f68640e722ec4648c55f987c372bd1f +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/41b539dab4032aeab4acc677841be9e1 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/4d0e945a1aeffabb6ecbe4e9cfbe9900 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/5343637e2648daefcbb5f6da93e22170 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/5698b010ec22ef0139df1ec7921bada0 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/593143829da9d8a11949cdea62925830 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/5a3608849ffcf6b5ffd0e0c519899b0f +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/613c2f7728f24118bf60b70e5467b04e +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/6428de878f492d768cfef210554eb78e +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/65e9bcd0c838633f8992701c9486752f +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/66c2afe997efeeb00c23f320cd5154b1 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/672160928c4f356614c3b08e4dd18959 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/69088615f9cef33446fa9ce9af0cbfcb +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/69c591a2e6598aef38bce6f1bfd9a583 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/6c0e89bb1f1dd6fef016f0f030b155a4 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/74d99242046d9e80efe6e63d318f0d23 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/77c132a2a2cf0e255033066a80db84e5 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/7b3469b8a6587d3fdde5168bcadc1829 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/7b89b96229652f6b39b4956713d83fb3 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/7bb9867f00636aa2e82aab7c8cde1156 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/7d185042919d487db4ba3415054bf46b +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/7d541dc935739c00601285ef558dc186 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/7e0a659f836bf08aa7e86a3b3bd64a0a +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/8085921c00ddb46d86508243dd466f7a +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/808e7e23c256ba7b4ae032c997b7f7d1 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/82af58bd517f6c898e82655012e662f3 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/896e0a59c127f026ecc3ce390c394c6d +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/8aa0c86835fc92349a71e76dfa064cf0 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/8c20ea028e7ef9e18ab2517785615d32 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/91307c7344a9f3f6f727226a87aaf6b1 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/977b0e7fd460cd4ebb7482e0bc5dae0d +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/9e4856eaccd8050e2cce8f2726bd1ff9 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/a0ddccdbb865754a76b131fa64932582 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/aac96aa095d26ef97f58eb4126da0bf7 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/ab136f8b2c696dd4d96e4899a0e8a4ac +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/b0e2ed0167a71948529cf8507015a638 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/b2bf0c4531b78b65440c4c84908149fe +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/bf9bfc00456efae4900ccf4afcb76b1a +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c01f86af98746d42cda25607438cc39f +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c0625d8a0a68787afb029146355062df +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c28f157f3954955f1bc4ca11b085e5f1 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c4393dff2f5bbfb3db980d09f116e865 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c6a502787893c3368f02209006ef3c3a +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c76f44b59338c92655cdb50acd5a51b7 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c8c8b769bfa8c90477013dc463dce8dd +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/c9d60e346e8632bb3945f7e94cce0036 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/cbfd1cdcc8926af0e015fd6e4a8cfe95 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/cc2b3e15e75ad21a379b54186f0b3e63 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/ce0f026a8f35c2824e68416229e502b0 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/cf38200dbb3ee3a9d4dd84cc1d98ada2 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/d60ab8b8e8ff9e6df6e04cb335e79e38 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/d786e75d26229c39c37d842fb4de0479 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/da3b6190521b537ef46190c99c630173 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/dcf2f012e3f4d3ecc9b1a2f21290fefd +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/de3b887062709ecbae0f43a1967507b3 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/e010156bdbfaae9098512ae86bf0288b +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/e0e949e3a882294df1ac6efb53555963 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/e508a5da5b2a6ba14eaabe1fc9987f1b +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/f2137fda0185692d9909c6bde77f6ac5 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/f5630318facff40bd4c26746561e91a5 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/f72f9d88e28ad73485fcc24ef00be1f0 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/f7428da6a5bd069f4c521897f2ff0549 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/fa7d07347669600716cb3cb894127454 +0 -0
- data/test/dummy/tmp/cache/assets/production/sprockets/ffa3b9093369ac4b2758f390b0cafab4 +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0e79aebcd8e04701aac347c16511109152e8323
|
4
|
+
data.tar.gz: 4de7a15f5afc6f96126c8a6e3f203d01ff164e4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e2349aa420c70b14ce53992593298dfbd3d6638c9dc62b5d63035f89bb687d4ca4e40bb9cc7b3ba5fac2d778bc7559fcb6b56ea6c55a08ebfaf236b2c9da4ac
|
7
|
+
data.tar.gz: 4ce0d584eb20be9aa5e6ebad85956175acc8e65790db6baf9e77e476f8e5af85d85fd20aacf3715d0953c6f00244efd10f4f0a62cfda8dd9bb53ffc93e6b7f68
|
data/MIT-LICENSE
CHANGED
File without changes
|
data/README.md
CHANGED
@@ -44,7 +44,7 @@ To install `imagemagick` and `sqlite3` on `Ubuntu`
|
|
44
44
|
|
45
45
|
Add it to your `Gemfile`
|
46
46
|
|
47
|
-
gem 'rubber_ring'
|
47
|
+
gem 'rubber_ring'
|
48
48
|
|
49
49
|
Create/migrate database
|
50
50
|
|
@@ -131,37 +131,40 @@ CMS fields are made of tag, key and `@page` which holds content for all the page
|
|
131
131
|
|
132
132
|
Examples
|
133
133
|
|
134
|
-
|
135
|
-
|
136
|
-
|
134
|
+
```erb
|
135
|
+
<%= editable_field(:h1, {key: 'header'}, @page) do %>
|
136
|
+
I'm editable content in one line.
|
137
|
+
<% end %>
|
137
138
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
139
|
+
<%= editable_field(:div, {key: 'first_content', class: 'multi-line'}, @page) do %>
|
140
|
+
I'm editable content in
|
141
|
+
multi lines...
|
142
|
+
<% end %>
|
143
|
+
|
144
|
+
<%= editable_link({class: 'rubber_ring_attachment', key: 'attachment-link', href: '/link-to-something'}, @page) do %>
|
145
|
+
Link to PDF
|
146
|
+
<% end %>
|
146
147
|
|
147
|
-
|
148
|
+
<%= editable_image({key: 'header_image', src: image_path('baws.jpg'), height: '360'}, @page) %>
|
149
|
+
```
|
148
150
|
|
149
151
|
## Templates
|
150
152
|
|
151
153
|
Allows you to set up repeating and sortable templates. Example
|
152
154
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
155
|
+
```erb
|
156
|
+
<% template([
|
157
|
+
{template: 'article', tclass: 'article', element: 'article'},
|
158
|
+
{template: 'blog_post', tclass: 'blog', element: 'div'}
|
159
|
+
],
|
160
|
+
{key: 'template_key', wrap_element: 'div', wrap_class: 'templates'}, @page)
|
161
|
+
%>
|
162
|
+
```
|
160
163
|
|
161
164
|
This means, that you need to create new view for each template in
|
162
165
|
`app/views/templates/`. Example
|
163
166
|
|
164
|
-
|
167
|
+
app/views/templates/_article.html.erb
|
165
168
|
|
166
169
|
Convention
|
167
170
|
|
@@ -169,17 +172,19 @@ Convention
|
|
169
172
|
{template: 'article', ...
|
170
173
|
...
|
171
174
|
|
172
|
-
means that you need a view, saved
|
175
|
+
means that you need a view, saved in a file
|
173
176
|
|
174
|
-
|
177
|
+
app/views/templates/_article.html.erb
|
175
178
|
|
176
179
|
**Inside templates** you can use all other helpers. **BUT**, you need to
|
177
180
|
assemble your key correctly or otherwise you will be overwriting your own content.
|
178
181
|
You can use `key_prefix`, which is assembled the way which will help you to prevent key overwites. Example:
|
179
182
|
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
+
```erb
|
184
|
+
<%= editable_field(:h2, {key: "#{key_prefix}_title"}, @page) do %>
|
185
|
+
Article Title
|
186
|
+
<% end %>
|
187
|
+
```
|
183
188
|
|
184
189
|
### Helper options
|
185
190
|
|
data/Rakefile
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,17 +1,17 @@
|
|
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
|
-
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
-
// GO AFTER THE REQUIRES BELOW.
|
12
|
-
//
|
13
|
-
//= require jquery
|
14
|
-
//= require jquery-ui
|
15
|
-
//= require jquery_ujs
|
16
|
-
//= require_tree ../libs
|
17
|
-
//= require_tree .
|
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
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
12
|
+
//
|
13
|
+
//= require jquery
|
14
|
+
//= require jquery-ui
|
15
|
+
//= require jquery_ujs
|
16
|
+
//= require_tree ../libs
|
17
|
+
//= require_tree .
|
@@ -33,7 +33,7 @@ class @AttachmentDragger
|
|
33
33
|
# also change link if we are dropping attachmeng
|
34
34
|
$(e.currentTarget).html(e.dataTransfer.getData(@attribute).split('/').reverse()[0]) if @attribute == "href"
|
35
35
|
|
36
|
-
pm = new PersistenceManager()
|
36
|
+
pm = new PersistenceManager(App.config.action_btns, $(".alert-saved div"))
|
37
37
|
pm.save_image($(e.currentTarget)) if @attribute == "src"
|
38
38
|
pm.save_attachment($(e.currentTarget)) if @attribute == "href"
|
39
39
|
|
@@ -6,7 +6,7 @@ $ ->
|
|
6
6
|
|
7
7
|
# remove all unused images action
|
8
8
|
$(".remove_not_used_attachments").on "click", ->
|
9
|
-
pm = new PersistenceManager()
|
9
|
+
pm = new PersistenceManager(App.config.action_btns, $(".alert-saved div"))
|
10
10
|
uploaded_images = ($(item).attr("src") for item in $(".uploaded-images img"))
|
11
11
|
uploaded_attachments = ($(item).attr("href") for item in $(".uploaded-attachments a"))
|
12
12
|
used_images = ($(item).attr("src") for item in $(".rubber_ring_image"))
|
File without changes
|
File without changes
|
@@ -1,66 +1,69 @@
|
|
1
1
|
$ ->
|
2
|
-
# init
|
3
|
-
config = {
|
4
|
-
action_btns: {
|
5
|
-
reset_btn: '<button class="reset-content"></button>',
|
6
|
-
reset_img: '<button class="reset-image"></button>'
|
7
|
-
}
|
8
|
-
}
|
9
|
-
|
10
|
-
$editable_content = $("[contenteditable]")
|
11
|
-
$alert = $(".alert-saved div")
|
12
|
-
|
13
2
|
util = new Util()
|
14
3
|
# first check for any duplicated keys
|
15
4
|
duplicates = util.find_duplicated_keys($('[data-cms]'))
|
16
5
|
alert "Correct key duplicates: '#{duplicates}'" if duplicates.length > 0
|
17
6
|
|
18
|
-
pm = new PersistenceManager(config.action_btns, $alert)
|
7
|
+
pm = new PersistenceManager(App.config.action_btns, $(".alert-saved div"))
|
19
8
|
te = new TemplateEditor(pm, util)
|
20
9
|
te.init()
|
21
10
|
te.init_sortable()
|
22
11
|
|
23
|
-
le = new LinkEditor($
|
12
|
+
le = new LinkEditor($("[contenteditable]"))
|
24
13
|
le.init()
|
25
14
|
|
26
|
-
|
27
|
-
|
28
|
-
|
15
|
+
App.init = ->
|
16
|
+
# append reset button to editable contents
|
17
|
+
$("[contenteditable]").append(App.config.action_btns.reset_btn)
|
18
|
+
$("img[data-cms]").after(App.config.action_btns.reset_img)
|
29
19
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
20
|
+
$("body").on "click", ".reset-content", (e) ->
|
21
|
+
$content_to_reset = $(e.currentTarget).parent()
|
22
|
+
if window.confirm "Really want reset content?"
|
23
|
+
pm.remove($content_to_reset).then ->
|
24
|
+
window.location.reload(true)
|
35
25
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
26
|
+
$("body").on "click", ".reset-image", (e) ->
|
27
|
+
$image_to_reset = $(e.currentTarget).prev()
|
28
|
+
if window.confirm "Really want reset image?"
|
29
|
+
pm.remove($image_to_reset).then ->
|
30
|
+
window.location.reload(true)
|
41
31
|
|
42
|
-
|
43
|
-
|
32
|
+
$(".rubber_ring_attachment").click (e) ->
|
33
|
+
e.preventDefault()
|
44
34
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
$this.data "before", $this.html()
|
49
|
-
$this
|
50
|
-
.on "blur", "[contenteditable]", ->
|
51
|
-
$this = $(this)
|
52
|
-
if $this.data("before") isnt $this.html()
|
35
|
+
# register change event for HTML5 content editable
|
36
|
+
$("body").on "focus", "[contenteditable]", ->
|
37
|
+
$this = $(this)
|
53
38
|
$this.data "before", $this.html()
|
54
|
-
$this
|
55
|
-
|
39
|
+
$this
|
40
|
+
.on "blur", "[contenteditable]", ->
|
41
|
+
$this = $(this)
|
42
|
+
if $this.data("before") isnt $this.html()
|
43
|
+
$this.data "before", $this.html()
|
44
|
+
$this.trigger "change"
|
45
|
+
$this
|
46
|
+
|
47
|
+
$("[contenteditable]").change (e) ->
|
48
|
+
$content = $(e.currentTarget)
|
49
|
+
pm.save($content)
|
50
|
+
|
51
|
+
# disable enter in single line editor
|
52
|
+
$("[contenteditable]").not(".multi-line").keydown (e) ->
|
53
|
+
e.preventDefault() if e.keyCode is 13
|
56
54
|
|
57
|
-
|
58
|
-
$
|
59
|
-
|
55
|
+
# https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla#Executing%5FCommands
|
56
|
+
$("[contenteditable].multi-line").keydown (e) ->
|
57
|
+
if e.which == 13
|
58
|
+
lineBreak = "<br />"
|
59
|
+
end = $(this).text().length == getCaretCharacterOffsetWithin(this)
|
60
60
|
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
if end
|
62
|
+
this.insertAdjacentHTML("beforeend", lineBreak)
|
63
|
+
else
|
64
|
+
document.execCommand("insertHTML", false, lineBreak)
|
65
|
+
|
66
|
+
false
|
64
67
|
|
65
68
|
getCaretCharacterOffsetWithin = (element) ->
|
66
69
|
caretOffset = 0
|
@@ -78,15 +81,4 @@ $ ->
|
|
78
81
|
caretOffset = preCaretTextRange.text.length
|
79
82
|
caretOffset
|
80
83
|
|
81
|
-
|
82
|
-
$("[contenteditable].multi-line").keydown (e) ->
|
83
|
-
if e.which == 13
|
84
|
-
lineBreak = "<br />"
|
85
|
-
end = $(this).text().length == getCaretCharacterOffsetWithin(this)
|
86
|
-
|
87
|
-
if end
|
88
|
-
this.insertAdjacentHTML("beforeend", lineBreak)
|
89
|
-
else
|
90
|
-
document.execCommand("insertHTML", false, lineBreak)
|
91
|
-
|
92
|
-
false
|
84
|
+
App.init()
|
File without changes
|
@@ -1,74 +1,77 @@
|
|
1
|
-
class @PersistenceManager
|
2
|
-
post_object:
|
3
|
-
page_controller: App.controller
|
4
|
-
page_action: App.action
|
5
|
-
page_path: document.location.pathname
|
6
|
-
page_locale: App.locale
|
7
|
-
|
8
|
-
constructor: (@action_btns, @alert) ->
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
@post_object.content =
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
@
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
@
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
@
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
@post_object.content =
|
42
|
-
@post_object.
|
43
|
-
@post_object.
|
44
|
-
@
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
@post_object.content =
|
50
|
-
@post_object.content[key] = content.attr("href")
|
51
|
-
@
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
#
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
@post_object
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
1
|
+
class @PersistenceManager
|
2
|
+
post_object:
|
3
|
+
page_controller: App.controller
|
4
|
+
page_action: App.action
|
5
|
+
page_path: document.location.pathname
|
6
|
+
page_locale: App.locale
|
7
|
+
|
8
|
+
constructor: (@action_btns, @alert) ->
|
9
|
+
|
10
|
+
save: (content) ->
|
11
|
+
key = content.attr("data-cms") # data wont work here because of cloning dom
|
12
|
+
|
13
|
+
if content.is('input')
|
14
|
+
value = content.val()
|
15
|
+
else
|
16
|
+
value = @sanitize(content)
|
17
|
+
|
18
|
+
@post_object.content = {}
|
19
|
+
@post_object.content[key] = value
|
20
|
+
|
21
|
+
if content.is("a")
|
22
|
+
@post_object.content["#{key}_href"] = content.attr("href")
|
23
|
+
|
24
|
+
@post_to_backend(App.save_path, @post_object)
|
25
|
+
|
26
|
+
save_template: (templates) ->
|
27
|
+
@post_object.content = templates
|
28
|
+
@post_to_backend(App.save_template_path, @post_object)
|
29
|
+
|
30
|
+
add_template: (content) ->
|
31
|
+
@post_object.content = content
|
32
|
+
@post_to_backend(App.add_template_path, @post_object)
|
33
|
+
|
34
|
+
remove_template: (content) ->
|
35
|
+
@post_object.content = content
|
36
|
+
@post_to_backend(App.remove_template_path, @post_object)
|
37
|
+
|
38
|
+
save_image: (content) ->
|
39
|
+
key = content.attr("data-cms")
|
40
|
+
@post_object.content = {}
|
41
|
+
@post_object.content[key] = content.attr("src")
|
42
|
+
@post_object.width = content.attr("width")
|
43
|
+
@post_object.height = content.attr("height")
|
44
|
+
@post_to_backend(App.save_image_path, @post_object)
|
45
|
+
|
46
|
+
save_attachment: (content) ->
|
47
|
+
key = content.attr("data-cms")
|
48
|
+
@post_object.content = {}
|
49
|
+
@post_object.content[key] = content.attr("href").split('/').reverse()[0]
|
50
|
+
@post_object.content["#{key}_href"] = content.attr("href")
|
51
|
+
@post_to_backend(App.save_attachment_path, @post_object)
|
52
|
+
|
53
|
+
sanitize: (content) ->
|
54
|
+
# it is important to sanitize htmlValue or else we will get more and more broken html from database
|
55
|
+
# we need to remove any new lines like \r and \n
|
56
|
+
content = content.html().replace(/^[\s]+$/g, "").trim()
|
57
|
+
|
58
|
+
for key, value of @action_btns
|
59
|
+
regex = new RegExp(value, "g");
|
60
|
+
content = content.replace(regex, "").trim()
|
61
|
+
|
62
|
+
content
|
63
|
+
|
64
|
+
remove: (content) ->
|
65
|
+
key = content.attr("data-cms")
|
66
|
+
path = App.remove_path.replace(':key', key)
|
67
|
+
@post_to_backend(path, @post_object)
|
68
|
+
|
69
|
+
remove_image: (src) ->
|
70
|
+
@post_object.src_to_remove = src
|
71
|
+
@post_to_backend(App.remove_attachment_path, @post_object)
|
72
|
+
|
73
|
+
post_to_backend: (path, post_object) =>
|
74
|
+
$.post path, post_object, =>
|
75
|
+
@alert.addClass("animate")
|
76
|
+
@alert.on "transitionend", =>
|
77
|
+
@alert.removeClass("animate")
|
@@ -1,76 +1,76 @@
|
|
1
|
-
class @TemplateEditor
|
2
|
-
|
3
|
-
constructor: (@pm, @util) ->
|
4
|
-
|
5
|
-
init: ->
|
6
|
-
# save templates to database immediately
|
7
|
-
not_saved_yet = $('[data-cms-template]').filter (index, element) ->
|
8
|
-
$(element).data('from-db') == false
|
9
|
-
|
10
|
-
if not_saved_yet.length > 0
|
11
|
-
@save_all_templates()
|
12
|
-
|
13
|
-
$('.rr-control .add-remove').click (e) =>
|
14
|
-
$select = $(e.currentTarget).parents('.rr-control').find('select')
|
15
|
-
action = $(e.target).data('action')
|
16
|
-
|
17
|
-
template = $select.val()
|
18
|
-
key = $select.data('cms-template')
|
19
|
-
add_index = $("[data-cms=#{key}]").find("[data-template=#{template}]:first").data('template-index')
|
20
|
-
remove_index = $("[data-cms=#{key}]").find("[data-template=#{template}]:last").data('template-index')
|
21
|
-
|
22
|
-
content = {
|
23
|
-
key: key
|
24
|
-
template: template
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
@pm.add_template(content).then ->
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
@pm.remove_template(content).then ->
|
36
|
-
|
37
|
-
|
38
|
-
save_all_templates: ->
|
39
|
-
$templates = $('[data-template]')
|
40
|
-
templates_to_save = @get_templates_array($templates)
|
41
|
-
@pm.save_template(templates_to_save)
|
42
|
-
|
43
|
-
get_templates_array: ($templates) ->
|
44
|
-
list = []
|
45
|
-
$templates.each (index, element) ->
|
46
|
-
list.push({
|
47
|
-
key: $(element).parents('[data-cms]').first().data('cms')
|
48
|
-
index: $(element).data('template-index')
|
49
|
-
template: $(element).data('template')
|
50
|
-
tclass: $(element).attr('class')
|
51
|
-
element: $(element).prop('tagName').toLowerCase()
|
52
|
-
sort: index
|
53
|
-
})
|
54
|
-
|
55
|
-
list
|
56
|
-
|
57
|
-
init_sortable: ->
|
58
|
-
# init sortable and disable it by default
|
59
|
-
$('.templates').sortable()
|
60
|
-
$('.templates').sortable('disable')
|
61
|
-
|
62
|
-
$('.rr-control [data-action=sort]').click (e) =>
|
63
|
-
$btn = $(e.currentTarget)
|
64
|
-
|
65
|
-
if $('.templates').hasClass('ui-sortable-disabled')
|
66
|
-
$('.templates').sortable('enable')
|
67
|
-
$btn.text('Disable sort')
|
68
|
-
$('.templates').children().css('cursor', 'move')
|
69
|
-
else
|
70
|
-
$('.templates').sortable('disable')
|
71
|
-
$btn.text('Enable sort')
|
72
|
-
$('.templates').children().css('cursor', 'auto')
|
73
|
-
|
74
|
-
# re initialize order and save
|
75
|
-
$('.templates').on 'sortupdate', (event, ui) =>
|
76
|
-
@save_all_templates()
|
1
|
+
class @TemplateEditor
|
2
|
+
|
3
|
+
constructor: (@pm, @util) ->
|
4
|
+
|
5
|
+
init: ->
|
6
|
+
# save templates to database immediately
|
7
|
+
not_saved_yet = $('[data-cms-template]').filter (index, element) ->
|
8
|
+
$(element).data('from-db') == false
|
9
|
+
|
10
|
+
if not_saved_yet.length > 0
|
11
|
+
@save_all_templates()
|
12
|
+
|
13
|
+
$('.rr-control .add-remove').click (e) =>
|
14
|
+
$select = $(e.currentTarget).parents('.rr-control').find('select')
|
15
|
+
action = $(e.target).data('action')
|
16
|
+
|
17
|
+
template = $select.val()
|
18
|
+
key = $select.data('cms-template')
|
19
|
+
add_index = $("[data-cms=#{key}]").find("[data-template=#{template}]:first").data('template-index')
|
20
|
+
remove_index = $("[data-cms=#{key}]").find("[data-template=#{template}]:last").data('template-index')
|
21
|
+
|
22
|
+
content = {
|
23
|
+
key: key
|
24
|
+
template: template
|
25
|
+
}
|
26
|
+
|
27
|
+
if action is 'add'
|
28
|
+
content.index = add_index
|
29
|
+
@pm.add_template(content).then (data) ->
|
30
|
+
$(data.new_template).appendTo("[data-cms=#{key}]");
|
31
|
+
App.init()
|
32
|
+
else
|
33
|
+
if add_index isnt remove_index
|
34
|
+
content.index = remove_index
|
35
|
+
@pm.remove_template(content).then ->
|
36
|
+
$("[data-template-index=#{remove_index}]").remove()
|
37
|
+
|
38
|
+
save_all_templates: ->
|
39
|
+
$templates = $('[data-template]')
|
40
|
+
templates_to_save = @get_templates_array($templates)
|
41
|
+
@pm.save_template(templates_to_save)
|
42
|
+
|
43
|
+
get_templates_array: ($templates) ->
|
44
|
+
list = []
|
45
|
+
$templates.each (index, element) ->
|
46
|
+
list.push({
|
47
|
+
key: $(element).parents('[data-cms]').first().data('cms')
|
48
|
+
index: $(element).data('template-index')
|
49
|
+
template: $(element).data('template')
|
50
|
+
tclass: $(element).attr('class')
|
51
|
+
element: $(element).prop('tagName').toLowerCase()
|
52
|
+
sort: index
|
53
|
+
})
|
54
|
+
|
55
|
+
list
|
56
|
+
|
57
|
+
init_sortable: ->
|
58
|
+
# init sortable and disable it by default
|
59
|
+
$('.templates').sortable()
|
60
|
+
$('.templates').sortable('disable')
|
61
|
+
|
62
|
+
$('.rr-control [data-action=sort]').click (e) =>
|
63
|
+
$btn = $(e.currentTarget)
|
64
|
+
|
65
|
+
if $('.templates').hasClass('ui-sortable-disabled')
|
66
|
+
$('.templates').sortable('enable')
|
67
|
+
$btn.text('Disable sort')
|
68
|
+
$('.templates').children().css('cursor', 'move')
|
69
|
+
else
|
70
|
+
$('.templates').sortable('disable')
|
71
|
+
$btn.text('Enable sort')
|
72
|
+
$('.templates').children().css('cursor', 'auto')
|
73
|
+
|
74
|
+
# re initialize order and save
|
75
|
+
$('.templates').on 'sortupdate', (event, ui) =>
|
76
|
+
@save_all_templates()
|