comfortable_mexican_sofa 1.12.11 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +4 -0
  3. data/.gitattributes +2 -0
  4. data/.github/issue_template.md +22 -0
  5. data/.github/pull_request_template.md +6 -0
  6. data/.gitignore +3 -0
  7. data/.rubocop.yml +5 -0
  8. data/.rubocop_todo.yml +974 -0
  9. data/.travis.yml +2 -10
  10. data/Gemfile +5 -7
  11. data/README.md +40 -39
  12. data/Rakefile +1 -31
  13. data/app/assets/javascripts/comfy/admin/cms/application.js.coffee +7 -4
  14. data/app/assets/javascripts/comfy/admin/cms/base.js.coffee +23 -33
  15. data/app/assets/javascripts/comfy/admin/cms/lib/diff/pretty_text_diff.js +76 -0
  16. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr.min.js +2 -0
  17. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/ar.js +52 -0
  18. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/bg.js +65 -0
  19. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/bn.js +65 -0
  20. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/cat.js +83 -0
  21. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/cs.js +70 -0
  22. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/cy.js +92 -0
  23. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/da.js +71 -0
  24. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/de.js +70 -0
  25. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/default.js +80 -0
  26. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/eo.js +73 -0
  27. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/es.js +69 -0
  28. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/et.js +73 -0
  29. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/fa.js +68 -0
  30. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/fi.js +69 -0
  31. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/fr.js +75 -0
  32. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/gr.js +74 -0
  33. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/he.js +57 -0
  34. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/hi.js +65 -0
  35. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/hr.js +66 -0
  36. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/hu.js +72 -0
  37. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/id.js +61 -0
  38. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/it.js +70 -0
  39. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/ja.js +57 -0
  40. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/ko.js +60 -0
  41. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/lt.js +72 -0
  42. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/lv.js +67 -0
  43. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/mk.js +69 -0
  44. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/mn.js +67 -0
  45. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/ms.js +68 -0
  46. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/my.js +69 -0
  47. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/nl.js +75 -0
  48. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/no.js +73 -0
  49. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/pa.js +65 -0
  50. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/pl.js +68 -0
  51. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/pt-BR.js +66 -0
  52. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/pt.js +66 -0
  53. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/ro.js +69 -0
  54. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/ru.js +66 -0
  55. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/si.js +65 -0
  56. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/sk.js +70 -0
  57. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/sl.js +70 -0
  58. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/sq.js +65 -0
  59. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/sr.js +69 -0
  60. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/sv.js +70 -0
  61. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/th.js +72 -0
  62. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/tr.js +66 -0
  63. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/uk.js +66 -0
  64. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/vn.js +66 -0
  65. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/zh-CN.js +61 -0
  66. data/app/assets/javascripts/comfy/admin/cms/lib/flatpickr/i18n/zh-TW.js +61 -0
  67. data/app/assets/javascripts/comfy/admin/cms/lib/redactor.js +9 -3
  68. data/app/assets/javascripts/comfy/admin/cms/uploader.js.coffee +9 -10
  69. data/app/assets/stylesheets/comfy/admin/cms/application.sass +4 -4
  70. data/app/assets/stylesheets/comfy/admin/cms/base.sass +215 -338
  71. data/app/assets/stylesheets/comfy/admin/cms/lib/flatpickr.min.css +13 -0
  72. data/app/assets/stylesheets/comfy/admin/cms/redactor_overrides.sass +2 -2
  73. data/app/controllers/comfy/admin/base_controller.rb +20 -0
  74. data/app/controllers/comfy/admin/cms/base_controller.rb +9 -22
  75. data/app/controllers/comfy/admin/cms/categories_controller.rb +2 -3
  76. data/app/controllers/comfy/admin/cms/files_controller.rb +50 -31
  77. data/app/controllers/comfy/admin/cms/layouts_controller.rb +12 -13
  78. data/app/controllers/comfy/admin/cms/pages_controller.rb +28 -28
  79. data/app/controllers/comfy/admin/cms/revisions_controller.rb +23 -14
  80. data/app/controllers/comfy/admin/cms/sites_controller.rb +9 -10
  81. data/app/controllers/comfy/admin/cms/snippets_controller.rb +11 -11
  82. data/app/controllers/comfy/admin/cms/translations_controller.rb +98 -0
  83. data/app/controllers/comfy/cms/assets_controller.rb +9 -10
  84. data/app/controllers/comfy/cms/base_controller.rb +0 -2
  85. data/app/controllers/comfy/cms/content_controller.rb +50 -31
  86. data/app/controllers/concerns/comfy/paginate.rb +2 -2
  87. data/app/helpers/comfy/admin/cms_helper.rb +29 -0
  88. data/app/helpers/comfy/cms_helper.rb +40 -60
  89. data/app/models/comfy/cms/categorization.rb +8 -11
  90. data/app/models/comfy/cms/category.rb +10 -14
  91. data/app/models/comfy/cms/file.rb +31 -47
  92. data/app/models/comfy/cms/fragment.rb +55 -0
  93. data/app/models/comfy/cms/layout.rb +45 -40
  94. data/app/models/comfy/cms/page.rb +47 -36
  95. data/app/models/comfy/cms/revision.rb +5 -8
  96. data/app/models/comfy/cms/site.rb +26 -51
  97. data/app/models/comfy/cms/snippet.rb +20 -24
  98. data/app/models/comfy/cms/translation.rb +37 -0
  99. data/app/models/concerns/comfy/cms/with_categories.rb +38 -0
  100. data/app/models/concerns/comfy/cms/with_fragments.rb +121 -0
  101. data/app/views/comfy/admin/cms/categories/_categories.html.haml +2 -1
  102. data/app/views/comfy/admin/cms/categories/_edit.html.haml +7 -6
  103. data/app/views/comfy/admin/cms/categories/_form.html.haml +8 -5
  104. data/app/views/comfy/admin/cms/categories/_index.html.haml +24 -20
  105. data/app/views/comfy/admin/cms/categories/_show.html.haml +10 -9
  106. data/app/views/comfy/admin/cms/categories/create.js.erb +2 -2
  107. data/app/views/comfy/admin/cms/categories/edit.js.erb +1 -1
  108. data/app/views/comfy/admin/cms/categories/update.js.erb +2 -2
  109. data/app/views/comfy/admin/cms/files/_file.html.haml +31 -25
  110. data/app/views/comfy/admin/cms/files/_form.html.haml +16 -12
  111. data/app/views/comfy/admin/cms/files/edit.html.haml +1 -1
  112. data/app/views/comfy/admin/cms/files/index.html.haml +17 -19
  113. data/app/views/comfy/admin/cms/files/new.html.haml +1 -1
  114. data/app/views/comfy/admin/cms/layouts/_form.html.haml +10 -10
  115. data/app/views/comfy/admin/cms/layouts/_index_branch.html.haml +21 -19
  116. data/app/views/comfy/admin/cms/layouts/edit.html.haml +5 -5
  117. data/app/views/comfy/admin/cms/layouts/index.html.haml +4 -7
  118. data/app/views/comfy/admin/cms/pages/_form.html.haml +15 -21
  119. data/app/views/comfy/admin/cms/pages/_form_fragments.html.haml +40 -0
  120. data/app/views/comfy/admin/cms/pages/_fragment_attachments.html.haml +10 -0
  121. data/app/views/comfy/admin/cms/pages/_index_branch.html.haml +34 -26
  122. data/app/views/comfy/admin/cms/pages/edit.html.haml +19 -5
  123. data/app/views/comfy/admin/cms/pages/form_fragments.js.erb +1 -0
  124. data/app/views/comfy/admin/cms/pages/index.html.haml +5 -8
  125. data/app/views/comfy/admin/cms/pages/new.html.haml +1 -1
  126. data/app/views/comfy/admin/cms/revisions/show.html.haml +29 -27
  127. data/app/views/comfy/admin/cms/sites/_form.html.haml +6 -8
  128. data/app/views/comfy/admin/cms/sites/edit.html.haml +1 -1
  129. data/app/views/comfy/admin/cms/sites/index.html.haml +23 -22
  130. data/app/views/comfy/admin/cms/sites/new.html.haml +1 -1
  131. data/app/views/comfy/admin/cms/snippets/_form.html.haml +9 -9
  132. data/app/views/comfy/admin/cms/snippets/edit.html.haml +6 -5
  133. data/app/views/comfy/admin/cms/snippets/index.html.haml +25 -25
  134. data/app/views/comfy/admin/cms/snippets/new.html.haml +1 -1
  135. data/app/views/comfy/admin/cms/translations/_form.html.haml +21 -0
  136. data/app/views/comfy/admin/cms/translations/edit.html.haml +9 -0
  137. data/app/views/comfy/admin/cms/translations/form_fragments.js.erb +1 -0
  138. data/app/views/comfy/admin/cms/translations/new.html.haml +5 -0
  139. data/app/views/kaminari/comfy/_first_page.html.haml +3 -2
  140. data/app/views/kaminari/comfy/_gap.html.haml +2 -2
  141. data/app/views/kaminari/comfy/_last_page.html.haml +3 -2
  142. data/app/views/kaminari/comfy/_next_page.html.haml +2 -2
  143. data/app/views/kaminari/comfy/_page.html.haml +2 -2
  144. data/app/views/kaminari/comfy/_prev_page.html.haml +1 -1
  145. data/app/views/layouts/comfy/admin/cms/_body.html.haml +13 -15
  146. data/app/views/layouts/comfy/admin/cms/_footer_js.html.haml +10 -3
  147. data/app/views/layouts/comfy/admin/cms/_head.html.haml +7 -10
  148. data/app/views/layouts/comfy/admin/cms/_left.html.haml +33 -15
  149. data/app/views/layouts/comfy/admin/cms/_right.html.haml +2 -2
  150. data/comfortable_mexican_sofa.gemspec +19 -19
  151. data/config/application.rb +14 -8
  152. data/config/boot.rb +2 -2
  153. data/config/cms_routes.rb +3 -3
  154. data/config/environments/development.rb +37 -4
  155. data/config/environments/test.rb +12 -14
  156. data/config/initializers/comfortable_mexican_sofa.rb +5 -12
  157. data/config/locales/cs.yml +33 -7
  158. data/config/locales/da.yml +33 -7
  159. data/config/locales/de.yml +32 -6
  160. data/config/locales/en.yml +33 -7
  161. data/config/locales/es.yml +33 -7
  162. data/config/locales/fr.yml +33 -7
  163. data/config/locales/it.yml +33 -7
  164. data/config/locales/ja.yml +33 -7
  165. data/config/locales/nb.yml +33 -7
  166. data/config/locales/nl.yml +33 -7
  167. data/config/locales/pl.yml +33 -7
  168. data/config/locales/pt-BR.yml +33 -7
  169. data/config/locales/ru.yml +33 -7
  170. data/config/locales/sk.yml +33 -7
  171. data/config/locales/sv.yml +33 -7
  172. data/config/locales/tr.yml +33 -7
  173. data/config/locales/uk.yml +33 -7
  174. data/config/locales/zh-CN.yml +33 -7
  175. data/config/locales/zh-TW.yml +33 -7
  176. data/config/storage.yml +35 -0
  177. data/db/cms_seeds/sample-site/files/_default.jpg.yml +5 -0
  178. data/db/{cms_fixtures/sample-site/files/sample.jpg → cms_seeds/sample-site/files/default.jpg} +0 -0
  179. data/db/cms_seeds/sample-site/layouts/default/content.html +16 -0
  180. data/db/cms_seeds/sample-site/layouts/default/nested/content.html +14 -0
  181. data/db/cms_seeds/sample-site/pages/index/child_a/content.html +7 -0
  182. data/db/cms_seeds/sample-site/pages/index/child_b/content.html +6 -0
  183. data/db/cms_seeds/sample-site/pages/index/content.es.html +6 -0
  184. data/db/cms_seeds/sample-site/pages/index/content.fr.html +6 -0
  185. data/db/cms_seeds/sample-site/pages/index/content.html +24 -0
  186. data/db/{cms_fixtures/sample-site/pages/index/child/thumbnail.png → cms_seeds/sample-site/pages/index/footer.png} +0 -0
  187. data/db/cms_seeds/sample-site/pages/index/header.png +0 -0
  188. data/db/cms_seeds/sample-site/snippets/default.html +8 -0
  189. data/db/migrate/00_create_active_storage_tables.active_storage.rb +26 -0
  190. data/db/migrate/01_create_cms.rb +113 -104
  191. data/doc/preview.jpg +0 -0
  192. data/lib/comfortable_mexican_sofa.rb +10 -14
  193. data/lib/comfortable_mexican_sofa/configuration.rb +9 -13
  194. data/lib/comfortable_mexican_sofa/content.rb +28 -0
  195. data/lib/comfortable_mexican_sofa/content/block.rb +11 -0
  196. data/lib/comfortable_mexican_sofa/content/params_parser.rb +80 -0
  197. data/lib/comfortable_mexican_sofa/content/renderer.rb +125 -0
  198. data/lib/comfortable_mexican_sofa/content/tag.rb +37 -0
  199. data/lib/comfortable_mexican_sofa/content/tags/asset.rb +56 -0
  200. data/lib/comfortable_mexican_sofa/content/tags/checkbox.rb +21 -0
  201. data/lib/comfortable_mexican_sofa/content/tags/date.rb +22 -0
  202. data/lib/comfortable_mexican_sofa/content/tags/datetime.rb +22 -0
  203. data/lib/comfortable_mexican_sofa/content/tags/file.rb +77 -0
  204. data/lib/comfortable_mexican_sofa/content/tags/file_link.rb +66 -0
  205. data/lib/comfortable_mexican_sofa/content/tags/files.rb +39 -0
  206. data/lib/comfortable_mexican_sofa/content/tags/fragment.rb +54 -0
  207. data/lib/comfortable_mexican_sofa/content/tags/helper.rb +52 -0
  208. data/lib/comfortable_mexican_sofa/content/tags/markdown.rb +21 -0
  209. data/lib/comfortable_mexican_sofa/content/tags/number.rb +17 -0
  210. data/lib/comfortable_mexican_sofa/content/tags/partial.rb +42 -0
  211. data/lib/comfortable_mexican_sofa/content/tags/snippet.rb +31 -0
  212. data/lib/comfortable_mexican_sofa/content/tags/template.rb +41 -0
  213. data/lib/comfortable_mexican_sofa/content/tags/text.rb +17 -0
  214. data/lib/comfortable_mexican_sofa/content/tags/textarea.rb +17 -0
  215. data/lib/comfortable_mexican_sofa/content/tags/wysiwyg.rb +18 -0
  216. data/lib/comfortable_mexican_sofa/engine.rb +3 -2
  217. data/lib/comfortable_mexican_sofa/extensions/acts_as_tree.rb +33 -30
  218. data/lib/comfortable_mexican_sofa/extensions/has_revisions.rb +27 -23
  219. data/lib/comfortable_mexican_sofa/form_builder.rb +32 -104
  220. data/lib/comfortable_mexican_sofa/render_methods.rb +24 -21
  221. data/lib/comfortable_mexican_sofa/routes/cms.rb +6 -14
  222. data/lib/comfortable_mexican_sofa/routes/cms_admin.rb +39 -29
  223. data/lib/comfortable_mexican_sofa/routing.rb +1 -1
  224. data/lib/comfortable_mexican_sofa/seeds.rb +102 -0
  225. data/lib/comfortable_mexican_sofa/seeds/file/exporter.rb +40 -0
  226. data/lib/comfortable_mexican_sofa/seeds/file/importer.rb +61 -0
  227. data/lib/comfortable_mexican_sofa/seeds/layout/exporter.rb +37 -0
  228. data/lib/comfortable_mexican_sofa/seeds/layout/importer.rb +59 -0
  229. data/lib/comfortable_mexican_sofa/seeds/page/exporter.rb +88 -0
  230. data/lib/comfortable_mexican_sofa/seeds/page/importer.rb +213 -0
  231. data/lib/comfortable_mexican_sofa/seeds/snippet/exporter.rb +31 -0
  232. data/lib/comfortable_mexican_sofa/seeds/snippet/importer.rb +48 -0
  233. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  234. data/lib/comfortable_mexican_sofa/view_hooks.rb +0 -1
  235. data/lib/generators/comfy/cms/assets_generator.rb +0 -1
  236. data/lib/generators/comfy/cms/cms_generator.rb +15 -5
  237. data/lib/generators/comfy/scaffold/scaffold_generator.rb +26 -20
  238. data/lib/generators/comfy/scaffold/templates/{controller.rb → controller.rb.tt} +10 -10
  239. data/lib/generators/comfy/scaffold/templates/{migration.rb → migration.rb.tt} +2 -3
  240. data/lib/generators/comfy/scaffold/templates/{model.rb → model.rb.tt} +7 -7
  241. data/lib/generators/comfy/scaffold/templates/tests/{controller.rb → controller.rb.tt} +37 -24
  242. data/lib/generators/comfy/scaffold/templates/tests/{fixture.yml → fixture.yml.tt} +0 -0
  243. data/lib/generators/comfy/scaffold/templates/tests/{model.rb → model.rb.tt} +3 -4
  244. data/lib/generators/comfy/scaffold/templates/views/_form.haml.tt +7 -0
  245. data/lib/generators/comfy/scaffold/templates/views/{edit.haml → edit.haml.tt} +1 -1
  246. data/lib/generators/comfy/scaffold/templates/views/index.haml.tt +21 -0
  247. data/lib/generators/comfy/scaffold/templates/views/{new.haml → new.haml.tt} +1 -1
  248. data/lib/generators/comfy/scaffold/templates/views/{show.haml → show.haml.tt} +2 -2
  249. data/lib/tasks/cms_seeds.rake +37 -0
  250. data/test/controllers/comfy/admin/cms/base_controller_test.rb +5 -6
  251. data/test/controllers/comfy/admin/cms/categories_controller_test.rb +27 -24
  252. data/test/controllers/comfy/admin/cms/files_controller_test.rb +97 -97
  253. data/test/controllers/comfy/admin/cms/layouts_controller_test.rb +32 -31
  254. data/test/controllers/comfy/admin/cms/pages_controller_test.rb +317 -263
  255. data/test/controllers/comfy/admin/cms/revisions_controller_test.rb +175 -65
  256. data/test/controllers/comfy/admin/cms/sites_controller_test.rb +27 -29
  257. data/test/controllers/comfy/admin/cms/snippets_controller_test.rb +54 -51
  258. data/test/controllers/comfy/admin/cms/translations_controller_test.rb +181 -0
  259. data/test/controllers/comfy/cms/assets_controller_test.rb +24 -22
  260. data/test/controllers/comfy/cms/content_controller_test.rb +126 -140
  261. data/test/fixtures/active_storage/attachments.yml +9 -0
  262. data/test/fixtures/active_storage/blobs.yml +13 -0
  263. data/test/fixtures/comfy/cms/files.yml +2 -6
  264. data/test/fixtures/comfy/cms/fragments.yml +25 -0
  265. data/test/fixtures/comfy/cms/layouts.yml +7 -13
  266. data/test/fixtures/comfy/cms/pages.yml +2 -17
  267. data/test/fixtures/comfy/cms/revisions.yml +16 -8
  268. data/test/fixtures/comfy/cms/sites.yml +0 -1
  269. data/test/fixtures/comfy/cms/snippets.yml +1 -1
  270. data/test/fixtures/comfy/cms/translations.yml +7 -0
  271. data/test/fixtures/generators/cms/application.rb +7 -0
  272. data/test/fixtures/generators/cms/routes.rb +4 -7
  273. data/test/fixtures/generators/scaffold/controller.rb +10 -10
  274. data/test/fixtures/generators/scaffold/migration.rb +2 -3
  275. data/test/fixtures/generators/scaffold/model.rb +7 -7
  276. data/test/fixtures/generators/scaffold/routes.rb +1 -2
  277. data/test/fixtures/generators/scaffold/tests/controller.rb +37 -24
  278. data/test/fixtures/generators/scaffold/tests/model.rb +3 -4
  279. data/test/fixtures/generators/scaffold/views/_form.haml +3 -2
  280. data/test/fixtures/generators/scaffold/views/edit.haml +1 -1
  281. data/test/fixtures/generators/scaffold/views/index.haml +15 -13
  282. data/test/fixtures/generators/scaffold/views/new.haml +1 -1
  283. data/test/fixtures/generators/scaffold/views/show.haml +2 -2
  284. data/test/gemfiles/Gemfile.rails.5.2 +32 -0
  285. data/test/generators/cms_assets_generator_test.rb +1 -2
  286. data/test/generators/cms_generator_test.rb +3 -1
  287. data/test/generators/cms_views_generator_test.rb +1 -1
  288. data/test/generators/scaffold_generator_test.rb +2 -2
  289. data/test/helpers/cms_helper_test.rb +52 -73
  290. data/test/integration/access_control_test.rb +35 -28
  291. data/test/integration/js_variables_test.rb +1 -2
  292. data/test/integration/render_cms_test.rb +37 -37
  293. data/test/integration/routing_test.rb +4 -5
  294. data/test/integration/seeds_test.rb +76 -0
  295. data/test/integration/sites_test.rb +35 -49
  296. data/test/integration/view_hooks_test.rb +12 -13
  297. data/test/lib/configuration_test.rb +3 -4
  298. data/test/lib/content/block_test.rb +26 -0
  299. data/test/lib/content/params_parser_test.rb +125 -0
  300. data/test/lib/content/renderer_test.rb +240 -0
  301. data/test/lib/content/tag_test.rb +48 -0
  302. data/test/lib/content/tags/asset_test.rb +79 -0
  303. data/test/lib/content/tags/checkbox_test.rb +20 -0
  304. data/test/lib/content/tags/date_test.rb +20 -0
  305. data/test/lib/content/tags/datetime_test.rb +20 -0
  306. data/test/lib/content/tags/file_link_test.rb +78 -0
  307. data/test/lib/content/tags/file_test.rb +60 -0
  308. data/test/lib/content/tags/files_test.rb +49 -0
  309. data/test/lib/content/tags/fragment_test.rb +63 -0
  310. data/test/lib/content/tags/helper_test.rb +52 -0
  311. data/test/lib/content/tags/markdown_test.rb +33 -0
  312. data/test/lib/content/tags/number_test.rb +13 -0
  313. data/test/lib/content/tags/partial_test.rb +43 -0
  314. data/test/lib/content/tags/snippet_test.rb +36 -0
  315. data/test/lib/content/tags/template_test.rb +35 -0
  316. data/test/lib/content/tags/text_test.rb +13 -0
  317. data/test/lib/content/tags/textarea_test.rb +13 -0
  318. data/test/lib/content/tags/wysiwyg_test.rb +13 -0
  319. data/test/lib/revisions_test.rb +146 -111
  320. data/test/lib/seeds/files_test.rb +96 -0
  321. data/test/lib/seeds/layouts_test.rb +155 -0
  322. data/test/lib/seeds/pages_test.rb +227 -0
  323. data/test/lib/seeds/snippets_test.rb +98 -0
  324. data/test/lib/seeds_test.rb +50 -0
  325. data/test/models/categorization_test.rb +37 -38
  326. data/test/models/category_test.rb +14 -14
  327. data/test/models/file_test.rb +23 -96
  328. data/test/models/fragment_test.rb +131 -0
  329. data/test/models/layout_test.rb +105 -74
  330. data/test/models/page_test.rb +352 -97
  331. data/test/models/site_test.rb +101 -90
  332. data/test/models/snippet_test.rb +29 -23
  333. data/test/models/translation_test.rb +60 -0
  334. data/test/tasks/cms_seeds_test.rb +33 -0
  335. data/test/test_helper.rb +49 -32
  336. metadata +235 -210
  337. data/_config.yml +0 -1
  338. data/app/assets/images/comfy/admin/cms/arrow_bottom.gif +0 -0
  339. data/app/assets/images/comfy/admin/cms/arrow_right.gif +0 -0
  340. data/app/assets/images/comfy/admin/cms/checkerboard.gif +0 -0
  341. data/app/assets/images/comfy/admin/cms/icon_draft.gif +0 -0
  342. data/app/assets/images/comfy/admin/cms/icon_file.gif +0 -0
  343. data/app/assets/images/comfy/admin/cms/icon_layout.gif +0 -0
  344. data/app/assets/images/comfy/admin/cms/icon_move.gif +0 -0
  345. data/app/assets/images/comfy/admin/cms/icon_page.gif +0 -0
  346. data/app/assets/images/comfy/admin/cms/icon_site.gif +0 -0
  347. data/app/assets/images/comfy/admin/cms/icon_snippet.gif +0 -0
  348. data/app/assets/javascripts/comfy/admin/cms/lib/bootstrap-datetimepicker.js +0 -29
  349. data/app/assets/javascripts/comfy/admin/cms/lib/diff.js.coffee +0 -9
  350. data/app/assets/javascripts/comfy/admin/cms/lib/diff/pretty_text_diff.min.js +0 -5
  351. data/app/assets/stylesheets/comfy/admin/cms/bootstrap_overrides.sass +0 -32
  352. data/app/assets/stylesheets/comfy/admin/cms/lib/bootstrap-datetimepicker.css +0 -9
  353. data/app/models/comfy/cms/block.rb +0 -63
  354. data/app/views/comfy/admin/cms/files/_page_form.html.haml +0 -10
  355. data/app/views/comfy/admin/cms/pages/_form_blocks.html.haml +0 -32
  356. data/app/views/comfy/admin/cms/pages/form_blocks.js.erb +0 -1
  357. data/app/views/comfy/admin/cms/partials/_body_before.html.haml +0 -3
  358. data/app/views/comfy/admin/cms/partials/_file_form_after.html.haml +0 -3
  359. data/app/views/comfy/admin/cms/partials/_file_form_before.html.haml +0 -3
  360. data/app/views/comfy/admin/cms/partials/_files_after.html.haml +0 -3
  361. data/app/views/comfy/admin/cms/partials/_files_before.html.haml +0 -3
  362. data/app/views/comfy/admin/cms/partials/_html_footer.html.haml +0 -2
  363. data/app/views/comfy/admin/cms/partials/_html_head.html.haml +0 -2
  364. data/app/views/comfy/admin/cms/partials/_layout_form_after.html.haml +0 -3
  365. data/app/views/comfy/admin/cms/partials/_layout_form_before.html.haml +0 -3
  366. data/app/views/comfy/admin/cms/partials/_layouts_after.html.haml +0 -3
  367. data/app/views/comfy/admin/cms/partials/_layouts_before.html.haml +0 -3
  368. data/app/views/comfy/admin/cms/partials/_navigation_after.html.haml +0 -3
  369. data/app/views/comfy/admin/cms/partials/_navigation_before.html.haml +0 -3
  370. data/app/views/comfy/admin/cms/partials/_navigation_inner.html.haml +0 -3
  371. data/app/views/comfy/admin/cms/partials/_page_form_after.html.haml +0 -3
  372. data/app/views/comfy/admin/cms/partials/_page_form_before.html.haml +0 -3
  373. data/app/views/comfy/admin/cms/partials/_page_form_inner.html.haml +0 -3
  374. data/app/views/comfy/admin/cms/partials/_pages_after.html.haml +0 -3
  375. data/app/views/comfy/admin/cms/partials/_pages_before.html.haml +0 -3
  376. data/app/views/comfy/admin/cms/partials/_right_column_after.html.haml +0 -3
  377. data/app/views/comfy/admin/cms/partials/_right_column_before.html.haml +0 -3
  378. data/app/views/comfy/admin/cms/partials/_site_form_after.html.haml +0 -3
  379. data/app/views/comfy/admin/cms/partials/_site_form_before.html.haml +0 -3
  380. data/app/views/comfy/admin/cms/partials/_sites_after.html.haml +0 -3
  381. data/app/views/comfy/admin/cms/partials/_sites_before.html.haml +0 -3
  382. data/app/views/comfy/admin/cms/partials/_snippet_form_after.html.haml +0 -3
  383. data/app/views/comfy/admin/cms/partials/_snippet_form_before.html.haml +0 -3
  384. data/app/views/comfy/admin/cms/partials/_snippets_after.html.haml +0 -3
  385. data/app/views/comfy/admin/cms/partials/_snippets_before.html.haml +0 -3
  386. data/app/views/comfy/admin/cms/sites/_mirrors.html.haml +0 -18
  387. data/app/views/comfy/cms/content/render_sitemap.xml.builder +0 -14
  388. data/app/views/layouts/comfy/admin/cms/_footer.html.haml +0 -3
  389. data/config/initializers/paperclip.rb +0 -3
  390. data/config/initializers/secret_token.rb +0 -15
  391. data/db/cms_fixtures/sample-site/categories/files.yml +0 -1
  392. data/db/cms_fixtures/sample-site/categories/pages.yml +0 -1
  393. data/db/cms_fixtures/sample-site/categories/snippets.yml +0 -1
  394. data/db/cms_fixtures/sample-site/files/_sample.jpg.yml +0 -5
  395. data/db/cms_fixtures/sample-site/layouts/default/attributes.yml +0 -1
  396. data/db/cms_fixtures/sample-site/layouts/default/content.html +0 -5
  397. data/db/cms_fixtures/sample-site/layouts/default/javascript.js +0 -1
  398. data/db/cms_fixtures/sample-site/layouts/default/nested/attributes.yml +0 -2
  399. data/db/cms_fixtures/sample-site/layouts/default/nested/content.haml +0 -3
  400. data/db/cms_fixtures/sample-site/layouts/default/nested/javascript.js +0 -1
  401. data/db/cms_fixtures/sample-site/layouts/default/nested/stylesheet.css +0 -1
  402. data/db/cms_fixtures/sample-site/layouts/default/stylesheet.css +0 -1
  403. data/db/cms_fixtures/sample-site/pages/index/attributes.yml +0 -6
  404. data/db/cms_fixtures/sample-site/pages/index/child/attributes.yml +0 -3
  405. data/db/cms_fixtures/sample-site/pages/index/child/left.haml +0 -1
  406. data/db/cms_fixtures/sample-site/pages/index/child/right.html +0 -1
  407. data/db/cms_fixtures/sample-site/pages/index/content.html +0 -2
  408. data/db/cms_fixtures/sample-site/snippets/default/attributes.yml +0 -4
  409. data/db/cms_fixtures/sample-site/snippets/default/content.html +0 -1
  410. data/db/seeds.rb +0 -7
  411. data/db/upgrade_migrations/02_upgrade_to_1_1_0.rb +0 -19
  412. data/db/upgrade_migrations/03_upgrade_to_1_2_0.rb +0 -15
  413. data/db/upgrade_migrations/04_upgrade_to_1_3_0.rb +0 -23
  414. data/db/upgrade_migrations/05_upgrade_to_1_4_0.rb +0 -33
  415. data/db/upgrade_migrations/06_upgrade_to_1_5_0.rb +0 -21
  416. data/db/upgrade_migrations/07_upgrade_to_1_6_0.rb +0 -25
  417. data/db/upgrade_migrations/08_upgrade_to_1_12_0.rb +0 -83
  418. data/doc/preview.png +0 -0
  419. data/lib/comfortable_mexican_sofa/extensions/cms_manageable.rb +0 -106
  420. data/lib/comfortable_mexican_sofa/extensions/is_categorized.rb +0 -49
  421. data/lib/comfortable_mexican_sofa/extensions/is_mirrored.rb +0 -86
  422. data/lib/comfortable_mexican_sofa/extensions/rails.rb +0 -17
  423. data/lib/comfortable_mexican_sofa/fixture.rb +0 -82
  424. data/lib/comfortable_mexican_sofa/fixture/category.rb +0 -42
  425. data/lib/comfortable_mexican_sofa/fixture/file.rb +0 -85
  426. data/lib/comfortable_mexican_sofa/fixture/layout.rb +0 -95
  427. data/lib/comfortable_mexican_sofa/fixture/page.rb +0 -129
  428. data/lib/comfortable_mexican_sofa/fixture/snippet.rb +0 -75
  429. data/lib/comfortable_mexican_sofa/tag.rb +0 -154
  430. data/lib/comfortable_mexican_sofa/tags/asset.rb +0 -30
  431. data/lib/comfortable_mexican_sofa/tags/collection.rb +0 -64
  432. data/lib/comfortable_mexican_sofa/tags/field_boolean.rb +0 -17
  433. data/lib/comfortable_mexican_sofa/tags/field_datetime.rb +0 -17
  434. data/lib/comfortable_mexican_sofa/tags/field_integer.rb +0 -17
  435. data/lib/comfortable_mexican_sofa/tags/field_rich_text.rb +0 -17
  436. data/lib/comfortable_mexican_sofa/tags/field_string.rb +0 -17
  437. data/lib/comfortable_mexican_sofa/tags/field_text.rb +0 -17
  438. data/lib/comfortable_mexican_sofa/tags/file.rb +0 -29
  439. data/lib/comfortable_mexican_sofa/tags/helper.rb +0 -24
  440. data/lib/comfortable_mexican_sofa/tags/page_datetime.rb +0 -13
  441. data/lib/comfortable_mexican_sofa/tags/page_file.rb +0 -62
  442. data/lib/comfortable_mexican_sofa/tags/page_files.rb +0 -51
  443. data/lib/comfortable_mexican_sofa/tags/page_integer.rb +0 -13
  444. data/lib/comfortable_mexican_sofa/tags/page_markdown.rb +0 -16
  445. data/lib/comfortable_mexican_sofa/tags/page_rich_text.rb +0 -13
  446. data/lib/comfortable_mexican_sofa/tags/page_string.rb +0 -13
  447. data/lib/comfortable_mexican_sofa/tags/page_text.rb +0 -13
  448. data/lib/comfortable_mexican_sofa/tags/partial.rb +0 -23
  449. data/lib/comfortable_mexican_sofa/tags/snippet.rb +0 -19
  450. data/lib/comfortable_mexican_sofa/tags/template.rb +0 -22
  451. data/lib/generators/comfy/scaffold/templates/views/_form.haml +0 -6
  452. data/lib/generators/comfy/scaffold/templates/views/index.haml +0 -23
  453. data/lib/tasks/comfortable_mexican_sofa.rake +0 -37
  454. data/test/fixtures/comfy/cms/blocks.yml +0 -12
  455. data/test/gemfiles/Gemfile.rails.4.1 +0 -22
  456. data/test/gemfiles/Gemfile.rails.4.2 +0 -22
  457. data/test/gemfiles/Gemfile.rails.5.0 +0 -23
  458. data/test/gemfiles/Gemfile.rails.master +0 -23
  459. data/test/integration/fixtures_test.rb +0 -65
  460. data/test/integration/mirrors_test.rb +0 -72
  461. data/test/lib/fixtures/categories_test.rb +0 -36
  462. data/test/lib/fixtures/files_test.rb +0 -109
  463. data/test/lib/fixtures/layouts_test.rb +0 -135
  464. data/test/lib/fixtures/pages_test.rb +0 -168
  465. data/test/lib/fixtures/snippets_test.rb +0 -106
  466. data/test/lib/fixtures_test.rb +0 -43
  467. data/test/lib/mirrors_test.rb +0 -254
  468. data/test/lib/tag_test.rb +0 -309
  469. data/test/lib/tags/asset_test.rb +0 -95
  470. data/test/lib/tags/collection_test.rb +0 -117
  471. data/test/lib/tags/field_boolean_test.rb +0 -49
  472. data/test/lib/tags/field_datetime_test.rb +0 -50
  473. data/test/lib/tags/field_integer_test.rb +0 -49
  474. data/test/lib/tags/field_rich_text_test.rb +0 -49
  475. data/test/lib/tags/field_string_test.rb +0 -52
  476. data/test/lib/tags/field_text_test.rb +0 -48
  477. data/test/lib/tags/file_test.rb +0 -67
  478. data/test/lib/tags/helper_test.rb +0 -86
  479. data/test/lib/tags/page_datetime_test.rb +0 -50
  480. data/test/lib/tags/page_file_test.rb +0 -119
  481. data/test/lib/tags/page_files_test.rb +0 -117
  482. data/test/lib/tags/page_integer_test.rb +0 -49
  483. data/test/lib/tags/page_markdown_test.rb +0 -48
  484. data/test/lib/tags/page_rich_text_test.rb +0 -49
  485. data/test/lib/tags/page_string_test.rb +0 -49
  486. data/test/lib/tags/page_text_test.rb +0 -52
  487. data/test/lib/tags/partial_test.rb +0 -76
  488. data/test/lib/tags/snippet_test.rb +0 -45
  489. data/test/lib/tags/template_test.rb +0 -56
  490. data/test/models/block_test.rb +0 -233
@@ -0,0 +1,61 @@
1
+ /* flatpickr v4.0.6, @license MIT */
2
+ (function (global, factory) {
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
5
+ (factory((global.zh = {})));
6
+ }(this, (function (exports) { 'use strict';
7
+
8
+ var fp = typeof window !== "undefined" && window.flatpickr !== undefined
9
+ ? window.flatpickr
10
+ : {
11
+ l10ns: {},
12
+ };
13
+ var Mandarin = {
14
+ weekdays: {
15
+ shorthand: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
16
+ longhand: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
17
+ },
18
+ months: {
19
+ shorthand: [
20
+ "一月",
21
+ "二月",
22
+ "三月",
23
+ "四月",
24
+ "五月",
25
+ "六月",
26
+ "七月",
27
+ "八月",
28
+ "九月",
29
+ "十月",
30
+ "十一月",
31
+ "十二月",
32
+ ],
33
+ longhand: [
34
+ "一月",
35
+ "二月",
36
+ "三月",
37
+ "四月",
38
+ "五月",
39
+ "六月",
40
+ "七月",
41
+ "八月",
42
+ "九月",
43
+ "十月",
44
+ "十一月",
45
+ "十二月",
46
+ ],
47
+ },
48
+ rangeSeparator: " 至 ",
49
+ weekAbbreviation: "周",
50
+ scrollTitle: "滚动切换",
51
+ toggleTitle: "点击切换 12/24 小时时制",
52
+ };
53
+ fp.l10ns.zh = Mandarin;
54
+ var zh = fp.l10ns;
55
+
56
+ exports.Mandarin = Mandarin;
57
+ exports['default'] = zh;
58
+
59
+ Object.defineProperty(exports, '__esModule', { value: true });
60
+
61
+ })));
@@ -1461,7 +1461,7 @@
1461
1461
  if (this.start) return;
1462
1462
  if (this.rtePaste) return;
1463
1463
 
1464
- if ($(e.target).closest('.redactor-editor, .redactor-toolbar, .redactor-dropdown').size() !== 0)
1464
+ if ($(e.target).closest('.redactor-editor, .redactor-toolbar, .redactor-dropdown').length !== 0)
1465
1465
  {
1466
1466
  return;
1467
1467
  }
@@ -4299,7 +4299,6 @@
4299
4299
  if (tag == tags[i]) tag = replaced[i];
4300
4300
  }
4301
4301
 
4302
-
4303
4302
  if (this.opts.allowedTags)
4304
4303
  {
4305
4304
  if ($.inArray(tag, this.opts.allowedTags) == -1) return;
@@ -6911,7 +6910,7 @@
6911
6910
  inValues = typeof observe['in'] != 'undefined' ? observe['in'] : false,
6912
6911
  outValues = typeof observe['out'] != 'undefined' ? observe['out'] : false;
6913
6912
 
6914
- if ($current.closest(element).size() > 0)
6913
+ if ($current.closest(element).length > 0)
6915
6914
  {
6916
6915
  this.observe.setDropdownProperties($item, inValues, outValues);
6917
6916
  }
@@ -7729,6 +7728,13 @@
7729
7728
  {
7730
7729
  var node2 = this.selection.getMarker(2);
7731
7730
  this.selection.setMarker(this.range, node2, false);
7731
+
7732
+ // comfy fix
7733
+ if (this.utils.browser('chrome'))
7734
+ {
7735
+ this.caret.set(node1, 0, node2, 0);
7736
+ }
7737
+ // end fix
7732
7738
  }
7733
7739
 
7734
7740
  this.savedSel = this.$editor.html();
@@ -13,19 +13,18 @@
13
13
  fileList = $(".cms-uploader-filelist", target)
14
14
 
15
15
  fileList.prepend("
16
- <tr id='#{file.id}' class='temp'>
17
- <td><div class='icon'></div></td>
18
- <td class='main' colspan=2>
16
+ <li id='#{file.id}' class='row temp'>
17
+ <div class='col-md-9 d-flex align-items-center'>
19
18
  <div class='progress'>
20
- <div class='progress-bar progress-bar-striped active'>
19
+ <div class='progress-bar progress-bar-striped progress-bar-animated'>
21
20
  <span>#{file.name}</span>
22
21
  </div>
23
22
  </div>
24
- </td>
25
- <td>
23
+ </div>
24
+ <div class='col-md-3 d-flex align-items-center justify-content-md-end'>
26
25
  <a class='btn btn-sm btn-danger pull-right cms-uploader-file-delete' href='#'>Delete</a>
27
- </td>
28
- </tr>
26
+ </div>
27
+ </li>
29
28
  ")
30
29
 
31
30
  $("#" + file.id + " a.cms-uploader-file-delete").click (e) ->
@@ -124,7 +123,7 @@
124
123
  uploader.bind "FileUploaded", (up, file, info) ->
125
124
  # Replace the dummy file entry in the file list with the the entry
126
125
  # from the server response.
127
- $("tr##{file.id}").replaceWith(info.response)
126
+ $("li##{file.id}").replaceWith(info.response)
128
127
 
129
128
  uploader.bind 'FilesRemoved', (up, files) ->
130
129
  $.each files, (i, file) ->
@@ -134,4 +133,4 @@
134
133
  if settings.setup
135
134
  settings.setup(uploader)
136
135
 
137
- ) jQuery, mOxie
136
+ ) jQuery, mOxie
@@ -1,11 +1,11 @@
1
1
  @import "jquery-ui"
2
2
  @import "codemirror"
3
- @import "bootstrap-sprockets"
4
3
  @import "bootstrap"
4
+ @import "rails_bootstrap_forms"
5
+ @import "font-awesome"
5
6
  @import "comfy/admin/cms/lib/redactor"
6
- @import "comfy/admin/cms/lib/bootstrap-datetimepicker"
7
- @import "comfy/admin/cms/bootstrap_overrides"
7
+ @import "comfy/admin/cms/lib/flatpickr.min"
8
8
  @import "comfy/admin/cms/codemirror_overrides"
9
9
  @import "comfy/admin/cms/redactor_overrides"
10
10
  @import "comfy/admin/cms/base"
11
- @import "comfy/admin/cms/custom"
11
+ @import "comfy/admin/cms/custom"
@@ -1,296 +1,210 @@
1
- //= depend_on_asset "comfy/admin/cms/checkerboard.gif"
2
- //= depend_on_asset "comfy/admin/cms/icon_page.gif"
3
- //= depend_on_asset "comfy/admin/cms/icon_move.gif"
4
- //= depend_on_asset "comfy/admin/cms/arrow_bottom.gif"
5
- //= depend_on_asset "comfy/admin/cms/arrow_right.gif"
6
- //= depend_on_asset "comfy/admin/cms/icon_draft.gif"
7
- //= depend_on_asset "comfy/admin/cms/icon_site.gif"
8
- //= depend_on_asset "comfy/admin/cms/icon_layout.gif"
9
- //= depend_on_asset "comfy/admin/cms/icon_snippet.gif"
10
- //= depend_on_asset "comfy/admin/cms/icon_file.gif"
11
-
12
- html, body#comfy
13
- height: 100%
14
-
15
- body#comfy.in-iframe
16
- background: transparent
17
- .left-column, .right-column, .body-footer
18
- display: none
19
- .body-wrapper .center-column
20
- background: transparent
21
- margin: 0
22
-
23
1
  body#comfy
24
- background-color: #252525
25
-
26
- // -- Containers ----------------------------------------------------------
27
- .body-wrapper
28
- height: 100%
29
- .left-column
30
- width: 175px
31
- float: left
32
- .left-column-content
33
- padding: 25px 0px
34
- width: 175px
35
- position: fixed
36
- .center-column
37
- position: relative
38
- margin: 0px 250px 0px 175px
39
- min-height: 100%
40
- background-color: #fff
41
- .center-column-content
42
- padding: 25px
43
- .right-column
44
- width: 250px
45
- float: right
46
- .right-column-content
47
- padding: 25px 10px
48
- width: 250px
49
- position: fixed
50
- height: 100%
51
- background-color: #f5f5f5
52
-
53
- // -- Navigation ----------------------------------------------------------
54
- .left-column-content ul.navigation
55
- list-style: none
56
- margin: 0
57
- padding: 0
58
- a
59
- position: relative
60
- display: block
61
- padding: 7px 15px
62
- color: #777
63
- border-bottom: 1px solid #333
64
- text-decoration: none
65
- text-shadow: 0 0 2px #000
66
- a:hover, a.active
67
- color: #ddd
68
- a.active
69
- background-color: #1f1f1f
70
- box-shadow: inset 0px 0px 10px #000
71
- a.active:after
72
- border: 7px solid transparent
73
- border-right-color: #fff
74
- position: absolute
75
- top: 10px
76
- right: 0px
77
- z-index: 2
78
- content: ''
79
- display: block
80
- a.cms-files-open-modal
81
- float: right
82
- position: relative
83
- z-index: 2
84
- ul
85
- list-style: none
86
- margin: 0
87
- padding: 0
88
- a
89
- padding: 7px 15px 7px 30px
90
-
91
- // -- Right Side Boxes ----------------------------------------------------
92
- .right-column-content
93
- .box
94
- background-color: #fff
95
- padding: 5px
96
- border-radius: 3px
97
- margin-bottom: 10px
98
- overflow: auto
99
- #mirrors select
100
- width: 100%
101
- margin-bottom: 0
102
- #form-save
103
- label
104
- padding-top: 0
105
-
106
- // -- Common Elements -----------------------------------------------------
107
- table.table, ul.list
108
- .icon
109
- width: 28px
110
- height: 28px
111
- background: url(image-path("comfy/admin/cms/icon_page.gif"))
112
- .dragger
113
- width: 28px
114
- height: 28px
115
- background: url(image-path("comfy/admin/cms/icon_move.gif"))
116
- cursor: move
117
- display: none
118
- span
119
- display: none
120
- &:hover .dragger
121
- display: block
122
- div.category
123
- display: inline-block
124
- vertical-align: top
125
- font-size: 11px
126
- line-height: 11px
127
- border: 1px solid #ddd
128
- padding: 2px 5px
129
- background-color: #fff
130
- border-radius: 3px
131
- border-left-width: 7px
132
- .item-title
133
- color: #000
134
- a
135
- color: #000
136
- .item-meta
137
- font-size: 11px
138
- line-height: 14px
139
2
 
140
- .cms-partial
141
- background-color: #252525
142
- color: #fff
143
- outline: 1px dotted #444
3
+ .comfy-admin-partial
4
+ background-color: $gray-200
5
+ color: $black
144
6
  font-size: 9px
145
7
  line-height: 11px
146
8
  padding: 5px
147
- margin: 3px
148
- background-image: linear-gradient(-45deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent)
9
+ background-image: linear-gradient(-45deg, rgba(0, 0, 0, .05) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .05) 50%, rgba(0, 0, 0, .05) 75%, transparent 75%, transparent)
149
10
  background-size: 50px 50px
11
+ overflow: hidden
12
+ width: 100%
150
13
 
151
- // -- Sofa Version --------------------------------------------------------
152
- .center-column .body-footer
153
- position: absolute
154
- background: #000
155
- bottom: 0px
156
- left: -175px
157
- width: 175px
158
- padding: 5px 10px
159
- font-size: 10px
160
- a
161
- color: #484848
162
- text-decoration: none
163
- a:hover
164
- color: #f1f1f1
165
- span.version
166
- color: #f1f1f1
167
- margin-left: 2px
14
+ &.in-iframe
15
+ height: 100%
16
+ #cms-left, #cms-right
17
+ display: none
18
+ #cms-main
19
+ padding-top: 0
20
+
21
+ .alert
22
+ border-radius: 0
23
+ margin: 0 -15px 1rem -15px
24
+ text-align: center
25
+
26
+ #cms-left
27
+ position: fixed
28
+ top: 0
29
+ bottom: 0
30
+ left: 0
31
+ z-index: 1001
32
+ padding: 0
168
33
 
169
- // -- Categories Widget ---------------------------------------------------
170
- .categories-widget
171
- background: #f5f5f5
172
- border-radius: 3px
173
- border: 1px solid #ddd
174
- padding: 5px 10px
175
- margin-bottom: 10px
176
- .categories-widget-label
177
- width: 100px
178
- float: left
179
- color: #777
180
- .categories
181
- overflow: hidden
182
- margin: 0px 50px 0px 110px
183
- &.editable
184
- display: none
185
- .category
186
- display: inline-block
187
- font-size: 11px
188
- line-height: 20px
189
- border-radius: 3px
190
- background-color: #fff
191
- padding: 0 7px
192
- border: 1px solid #eee
193
- &.active
194
- border-color: #a5a5a5
195
- form
196
- display: inline-block
197
- vertical-align: middle
198
- .action-links
199
- float: right
200
- margin-left: 10px
201
- .done
34
+ button.navbar-toggler
35
+ color: $white
36
+
37
+ nav.navbar
38
+ padding: 1rem
39
+
40
+ ul.nav
41
+ width: 100%
42
+ li
43
+ position: relative
44
+ width: 100%
45
+ a
46
+ color: $gray-500
47
+ a:hover, a.active
48
+ color: $white
49
+ background-color: $gray-700
50
+ a.cms-files-open-modal
51
+ height: 26px
52
+ width: 26px
53
+ line-height: 26px
54
+ position: absolute
55
+ text-align: center
56
+ right: 0
57
+ top: 7px
58
+ border-radius: 0.25rem
59
+
60
+ .left-footer
61
+ padding: 5px
62
+ position: absolute
63
+ width: 100%
64
+ text-align: center
65
+ bottom: 0
66
+ font-size: 12px
67
+ color: $white
68
+ a
69
+ color: $gray-500
70
+
71
+ @media (max-width: map-get($grid-breakpoints, lg))
72
+ right: 0
73
+ bottom: auto
74
+ nav.navbar
75
+ padding: 0.5rem
76
+ .left-footer
202
77
  display: none
203
- form
204
- margin: 0
205
- .input-group
206
- input.form-control
207
- width: 125px
208
- height: 22px
209
- padding: 3px
210
- font-size: 11px
211
- line-height: 11px
212
78
 
213
- // -- Sortable List -------------------------------------------------------
214
- ul.list
79
+ #cms-right
80
+ background-color: $gray-100
81
+ position: fixed
82
+ top: 0
83
+ bottom: 0
84
+ right: 0
85
+ z-index: 999
215
86
  padding: 0
216
- margin: 0
217
- list-style: none
218
- .item
219
- overflow: hidden
220
- padding: 5px
221
- border-radius: 3px
222
- margin-bottom: 5px
223
- border: 1px solid #ddd
224
- &:hover
225
- background-color: #f5f5f5
226
- .toggle
227
- float: left
228
- height: 28px
229
- width: 28px
230
- &.open a
231
- background-image: url(image-path("comfy/admin/cms/arrow_bottom.gif"))
232
- a
233
- display: block
234
- height: 28px
235
- width: 28px
236
- background: url(image-path("comfy/admin/cms/arrow_right.gif")) center center no-repeat
237
- span
238
- display: none
239
- .icon
240
- float: left
241
- &.draft
242
- background: url(image-path("comfy/admin/cms/icon_draft.gif"))
243
- .item-content
244
- margin-left: 60px
245
- a.item-label
246
- color: #000
247
- .btn-group
248
- float: right
249
- li ul
250
- list-style: none
251
- padding: 0
252
- margin: 0 0 0 28px
253
87
 
254
- // -- Sites ---------------------------------------------------------------
255
- &.c-comfy-admin-cms-sites
256
- table .icon
257
- background: url(image-path("comfy/admin/cms/icon_site.gif"))
88
+ @media (max-width: map-get($grid-breakpoints, lg))
89
+ position: relative
90
+ padding-bottom: 3.5rem
258
91
 
259
- // -- Layouts -------------------------------------------------------------
260
- &.c-comfy-admin-cms-layouts
261
- ul.list
262
- .item
263
- .icon
264
- background: url(image-path("comfy/admin/cms/icon_layout.gif"))
265
- .item-content
266
- margin-left: 35px
92
+ .box
93
+ padding: 1rem
94
+ margin: 0.5rem 0
95
+ background-color: $white
96
+ border: 1px solid $gray-200
97
+
98
+ #cms-main
99
+ padding-bottom: 3.5rem
100
+
101
+ @media (max-width: map-get($grid-breakpoints, lg))
102
+ padding-top: 3rem
103
+ padding-bottom: 0
104
+
105
+ .page-header
106
+ margin: 1rem 0
107
+ border-bottom: 1px solid $gray-300
108
+
109
+ .form-actions
110
+ padding: 0.5rem
111
+ position: fixed
112
+ bottom: 0
113
+ left: 0
114
+ right: 0
115
+ z-index: 1000
116
+ border-top: 1px solid $gray-200
117
+
118
+ .categories-widget
119
+ background-color: $gray-100
120
+ border: 1px solid $gray-300
121
+ padding: 10px 10px 5px 10px
122
+ margin-bottom: 1rem
123
+ .categories
124
+ .category, .edit_category
125
+ display: inline-block
126
+ margin-bottom: 5px
127
+ .toggle-cat-edit
128
+ float: right
129
+ margin-left: 5px
130
+ &.editable
131
+ display: none
267
132
 
268
- // -- Pages ---------------------------------------------------------------
133
+ ul.list
134
+ padding: 0
135
+ li
136
+ list-style: none
137
+ .row
138
+ background-color: $gray-100
139
+ margin-bottom: 5px
140
+ padding: 5px 0
141
+ .item
142
+ display: flex
143
+ .item-controls
144
+ width: 30px
145
+ padding: 2px 0
146
+ .dragger, .toggle
147
+ display: block
148
+ color: $gray-500
149
+ &:hover
150
+ color: $gray-800
151
+ .dragger
152
+ cursor: move
153
+ .toggle
154
+ .collapse
155
+ display: none
156
+ .expand
157
+ display: inline
158
+ .toggle.open
159
+ .collapse
160
+ display: inline
161
+ .expand
162
+ display: none
163
+
164
+ .item-content
165
+ .item-title
166
+ a
167
+ font-size: 1.2rem
168
+ color: $black
169
+ a.draft
170
+ color: $gray-600
171
+ .item-meta
172
+ font-size: 0.75rem
173
+ .btn-group
174
+ background-color: $white
175
+ .row:hover
176
+ background-color: $white
177
+ ul.list
178
+ padding-left: 2rem
179
+
180
+ // -- Pages ------------------------------------------------------------------
269
181
  &.c-comfy-admin-cms-pages
270
- #form-blocks
182
+ #form-fragments
271
183
  ul.nav-tabs
272
- margin-bottom: 10px
273
- .no-tags
274
- text-align: center
275
- padding: 10px
276
- background-color: #f5f5f5
277
- margin-bottom: 10px
184
+ margin-bottom: 1rem
185
+ label.renderable-false
186
+ color: $gray-600
278
187
  .files
279
- margin: 5px 0
280
- .file
281
- display: inline-block
282
- border: 1px solid #ccc
283
- border-radius: 3px
284
- padding: 0 5px
188
+ padding: 5px 0
189
+ .btn
285
190
  margin-bottom: 5px
286
- font-size: 12px
287
-
288
- // -- Snippets ------------------------------------------------------------
289
- &.c-comfy-admin-cms-snippets
290
- table .icon
291
- background: url(image-path("comfy/admin/cms/icon_snippet.gif"))
292
-
293
- // -- Files ---------------------------------------------------------------
191
+ .custom-checkbox
192
+ margin: 0
193
+ vertical-align: middle
194
+ padding-left: 1rem
195
+ .custom-control-indicator
196
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M1.41 0l-1.41 1.41.72.72 1.78 1.81-1.78 1.78-.72.69 1.41 1.44.72-.72 1.81-1.81 1.78 1.81.69.72 1.44-1.44-.72-.69-1.81-1.78 1.81-1.81.72-.72-1.44-1.41-.69.72-1.78 1.78-1.81-1.78-.72-.72z' /%3E%3C/svg%3E")
197
+ .custom-control-input:checked ~ .custom-control-indicator
198
+ background-color: $red
199
+ .box.translations
200
+ a.translation
201
+ text-align: left
202
+ overflow: hidden
203
+ color: $black
204
+ a.draft
205
+ color: $gray-600
206
+
207
+ // -- Files ------------------------------------------------------------------
294
208
  .cms-files-modal
295
209
  z-index: 99999
296
210
  iframe
@@ -299,69 +213,32 @@ body#comfy
299
213
  border: 0
300
214
 
301
215
  &.c-comfy-admin-cms-files
302
- .file-image img
303
- width: 100%
304
- table
305
- .icon
306
- background: url(image-path("comfy/admin/cms/icon_file.gif"))
307
- .content-type
308
- font-size: 9px
309
- text-transform: uppercase
216
+ ul.list
310
217
  input.file-path
311
- width: 400px
312
- font-size: 10px
313
-
314
- tr.temp td.main
315
- vertical-align: middle
316
- .progress
317
- margin: 0
318
- box-shadow: none
319
- background-color: #424242
320
- .progress-bar
321
- text-align: left
322
- padding-left: 8px
323
- span
324
- white-space: nowrap
325
-
326
- .cms-uploader-drag-drop-target-active
327
- position: fixed !important
328
- z-index: 1000
329
- top: 0
330
- left: 0
331
- width: 100%
332
- height: 100%
333
- border: dotted #ccc 1px
334
- background-color: rgba(255, 255, 255, 0.7)
218
+ border: 0
219
+ color: $gray-500
220
+ background: inherit
221
+ .progress
222
+ width: 100%
223
+ height: 25px
224
+ form
225
+ .file-image
226
+ img
227
+ width: 100%
335
228
 
336
- // -- Revisions -----------------------------------------------------------
229
+ // -- Revisions --------------------------------------------------------------
337
230
  &.c-comfy-admin-cms-revisions
338
- td.with-table
339
- padding: 0
340
- table.diff
341
- th, td
342
- border: 0
343
- th
344
- color: #ccc
345
- width: 100%
346
- ins, del
347
- display: inline
348
- ins
349
- background-color: #c6ffc6
350
- text-decoration: none
351
- del
352
- background-color: #ffc6c6
353
- tr.hide
354
- display: none
355
- .box.revisions
356
- a
357
- font-size: 11px
358
- border: 1px solid #ddd
359
- display: block
360
- padding: 0 7px
361
- border-radius: 3px
362
- margin-bottom: 2px
363
- text-decoration: none
364
- a:hover
365
- background-color: #f5f5f5
366
- a.active
367
- border-color: #0088CC
231
+ .label
232
+ padding: 15px 0
233
+ font-weight: bold
234
+ .revision
235
+ margin-bottom: 5px
236
+ .content
237
+ padding: 15px 0
238
+ ins, del
239
+ display: inline
240
+ ins
241
+ background-color: #c6ffc6
242
+ text-decoration: none
243
+ del
244
+ background-color: #ffc6c6